#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *);
usage() {
  printf(
      "\n   lpcplot commands:\n   1) n frame1 frame2\n        will display "
      "frame1 to frame2.  If frame2 is 0 it will begin\n        current chunk "
      "size on frame1.  If frame1 is negative it will\n        backup that "
      "many frames and display current chunk size from \n        there.  If "
      "neither frame1 or frame2 is specified it will\n        simply display "
      "previous segment again.\n   2) p frame1 frame2 mult botcps topcps\n     "
      "   Multiply the pitches of frames frame1 to frame2 by mult if the\n     "
      "   current pitch is >= botcps and <=topcps.  default for botcps\n       "
      " and top cps are 0 and 999999.  If mult is 0 it will interpolate\n      "
      "  pitches in these frames according to the frequencies of frame\n       "
      " frame1-1 and frame2+1.  If frame2 is 0 it defaults to frame1.\n        "
      "Thus p 100 will simply replace the frequency of frame100 by \n        "
      "interpolating between frames 99 and 101.\n   3) v frame1 frame2 "
      "value.\n        This will add value to the error numbers of frames "
      "frame1 to frame2.\n        In this way you can force a voiced or "
      "unvoiced decision by \n        subtracting 1 or adding 1, "
      "respectively.\n   4) s frame1 frame2 ntimes.\n        This will smooth "
      "the pitch values of frames frame1 to frame2.\n        This is "
      "accomplished by a simple 1-pole filter.  This process is \n        "
      "repeated ntimes to allow any desired degree of smoothness.\n   5) S "
      "frame1 frame2 ntimes.\n        This will smooth the amplitude values of "
      "frames frame1 to frame2.\n        This is accomplished in the same "
      "manner as the pitch smoothing.\n   6) null line (blank space-return)\n  "
      "      this will simply display the next chunk of frames according to\n  "
      "      the currently defined chunk size.\n");
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
lea    0xee1(%rip),%rdi
call   1030 <printf@plt>
mov    -0x4(%rbp),%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<usage>:
lea    0xee9(%rip),%rdi
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [1665 x i8] c"\0A lpcplot commands:\0A 1) n frame1 frame2\0A will display frame1 to frame2. If frame2 is 0 it will begin\0A current chunk size on frame1. If frame1 is negative it will\0A backup that many frames and display current chunk size from \0A there. If neither frame1 or frame2 is specified it will\0A simply display previous segment again.\0A 2) p frame1 frame2 mult botcps topcps\0A Multiply the pitches of frames frame1 to frame2 by mult if the\0A current pitch is >= botcps and <=topcps. default for botcps\0A and top cps are 0 and 999999. If mult is 0 it will interpolate\0A pitches in these frames according to the frequencies of frame\0A frame1-1 and frame2+1. If frame2 is 0 it defaults to frame1.\0A Thus p 100 will simply replace the frequency of frame100 by \0A interpolating between frames 99 and 101.\0A 3) v frame1 frame2 value.\0A This will add value to the error numbers of frames frame1 to frame2.\0A In this way you can force a voiced or unvoiced decision by \0A subtracting 1 or adding 1, respectively.\0A 4) s frame1 frame2 ntimes.\0A This will smooth the pitch values of frames frame1 to frame2.\0A This is accomplished by a simple 1-pole filter. This process is \0A repeated ntimes to allow any desired degree of smoothness.\0A 5) S frame1 frame2 ntimes.\0A This will smooth the amplitude values of frames frame1 to frame2.\0A This is accomplished in the same manner as the pitch smoothing.\0A 6) null line (blank space-return)\0A this will simply display the next chunk of frames according to\0A the currently defined chunk size.\0A\00"
define i32 @usage() {
%1 = alloca i32
%2 = call i32 @printf(i8* getelementptr inbounds ([1665 x i8], [1665 x i8]* @.str, i64 0, i64 0))
%3 = load i32, i32* %1
ret i32 %3
}

LLVM IR (-O2):
@str = [1664 x i8] c"\0A lpcplot commands:\0A 1) n frame1 frame2\0A will display frame1 to frame2. If frame2 is 0 it will begin\0A current chunk size on frame1. If frame1 is negative it will\0A backup that many frames and display current chunk size from \0A there. If neither frame1 or frame2 is specified it will\0A simply display previous segment again.\0A 2) p frame1 frame2 mult botcps topcps\0A Multiply the pitches of frames frame1 to frame2 by mult if the\0A current pitch is >= botcps and <=topcps. default for botcps\0A and top cps are 0 and 999999. If mult is 0 it will interpolate\0A pitches in these frames according to the frequencies of frame\0A frame1-1 and frame2+1. If frame2 is 0 it defaults to frame1.\0A Thus p 100 will simply replace the frequency of frame100 by \0A interpolating between frames 99 and 101.\0A 3) v frame1 frame2 value.\0A This will add value to the error numbers of frames frame1 to frame2.\0A In this way you can force a voiced or unvoiced decision by \0A subtracting 1 or adding 1, respectively.\0A 4) s frame1 frame2 ntimes.\0A This will smooth the pitch values of frames frame1 to frame2.\0A This is accomplished by a simple 1-pole filter. This process is \0A repeated ntimes to allow any desired degree of smoothness.\0A 5) S frame1 frame2 ntimes.\0A This will smooth the amplitude values of frames frame1 to frame2.\0A This is accomplished in the same manner as the pitch smoothing.\0A 6) null line (blank space-return)\0A this will simply display the next chunk of frames according to\0A the currently defined chunk size.\00"
define i32 @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1664 x i8], [1664 x i8]* @str, i64 0, i64 0))
ret i32 undef
}