#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*/ fprintf(int /*<<< orphan*/, char *);
int /*<<< orphan*/ stderr;
void print_help(void) {
  fprintf(
      stderr,
      "Usage:\n"
      "kvazaar -i <input> --input-res <width>x<height> -o <output>\n"
      "\n"
      "Optional parameters:\n"
      "      -n, --frames <integer>     : Number of frames to code [all]\n"
      "      --seek <integer>           : First frame to code [0]\n"
      "      --input-res <int>x<int>    : Input resolution (width x height) "
      "or\n"
      "                  auto           : try to detect from file name [auto]\n"
      "      --input-fps <number>       : Framerate of the input video [25.0]\n"
      "      -q, --qp <integer>         : Quantization Parameter [32]\n"
      "      -p, --period <integer>     : Period of intra pictures [0]\n"
      "                                     0: only first picture is intra\n"
      "                                     1: all pictures are intra\n"
      "                                     2-N: every Nth picture is intra\n"
      "          --vps-period <integer> : Specify how often the video "
      "parameter set is\n"
      "                                   re-sent. [0]\n"
      "                                     0: only send VPS with the first "
      "frame\n"
      "                                     1: send VPS with every intra "
      "frame\n"
      "                                     N: send VPS with every Nth intra "
      "frame\n"
      "      -r, --ref <integer>        : Reference frames, range 1..15 [3]\n"
      "          --no-deblock           : Disable deblocking filter\n"
      "          --deblock <beta:tc>    : Deblocking filter parameters\n"
      "                                   beta and tc range is -6..6 [0:0]\n"
      "          --no-sao               : Disable sample adaptive offset\n"
      "          --no-rdoq              : Disable RDO quantization\n"
      "          --no-signhide          : Disable sign hiding in quantization\n"
      "          --rd <integer>         : Rate-Distortion Optimization level "
      "[1]\n"
      "                                     0: no RDO\n"
      "                                     1: estimated RDO\n"
      "                                     2: full RDO\n"
      "          --full-intra-search    : Try all intra modes.\n"
      "          --me <string>          : Set integer motion estimation "
      "algorithm [\"hexbs\"]\n"
      "                                     \"hexbs\": Hexagon Based Search "
      "(faster)\n"
      "                                     \"tz\":    Test Zone Search "
      "(better quality)\n"
      "          --no-transform-skip    : Disable transform skip\n"
      "          --aud                  : Use access unit delimiters\n"
      "          --cqmfile <string>     : Custom Quantization Matrices from a "
      "file\n"
      "          --debug <string>       : Output encoders reconstruction.\n"
      "          --cpuid <integer>      : Disable runtime cpu optimizations "
      "with value 0.\n"
      "          --subme <integer>      : Set fractional pixel motion "
      "estimation level [1].\n"
      "                                     0: only integer motion estimation\n"
      "                                     1: fractional pixel motion "
      "estimation enabled\n"
      "          --source-scan-type <string> : Set source scan type "
      "[\"progressive\"].\n"
      "                                     \"progressive\": progressive scan\n"
      "                                     \"tff\": top field first\n"
      "                                     \"bff\": bottom field first\n"
      "          --pu-depth-inter <int>-<int> : Range for sizes of inter "
      "prediction units to try.\n"
      "                                     0: 64x64, 1: 32x32, 2: 16x16, 3: "
      "8x8\n"
      "          --pu-depth-intra <int>-<int> : Range for sizes of intra "
      "prediction units to try.\n"
      "                                     0: 64x64, 1: 32x32, 2: 16x16, 3: "
      "8x8, 4: 4x4\n"
      "          --no-info              : Don't add information about the "
      "encoder to settings.\n"
      "          --gop <int>           : Length of Group of Pictures, must be "
      "8 or 0 [0]\n"
      "          --bipred               : Enable bi-prediction search\n"
      "          --bitrate <integer>    : Target bitrate. [0]\n"
      "                                     0: disable rate-control\n"
      "                                     N: target N bits per second\n"
      "\n"
      "  Video Usability Information:\n"
      "          --sar <width:height>   : Specify Sample Aspect Ratio\n"
      "          --overscan <string>    : Specify crop overscan setting "
      "[\"undef\"]\n"
      "                                     - undef, show, crop\n"
      "          --videoformat <string> : Specify video format [\"undef\"]\n"
      "                                     - component, pal, ntsc, secam, "
      "mac, undef\n"
      "          --range <string>       : Specify color range [\"tv\"]\n"
      "                                     - tv, pc\n"
      "          --colorprim <string>   : Specify color primaries [\"undef\"]\n"
      "                                     - undef, bt709, bt470m, bt470bg,\n"
      "                                       smpte170m, smpte240m, film, "
      "bt2020\n"
      "          --transfer <string>    : Specify transfer characteristics "
      "[\"undef\"]\n"
      "                                     - undef, bt709, bt470m, bt470bg,\n"
      "                                       smpte170m, smpte240m, linear, "
      "log100,\n"
      "                                       log316, iec61966-2-4, bt1361e,\n"
      "                                       iec61966-2-1, bt2020-10, "
      "bt2020-12\n"
      "          --colormatrix <string> : Specify color matrix setting "
      "[\"undef\"]\n"
      "                                     - undef, bt709, fcc, bt470bg, "
      "smpte170m,\n"
      "                                       smpte240m, GBR, YCgCo, bt2020nc, "
      "bt2020c\n"
      "          --chromaloc <integer>  : Specify chroma sample location (0 to "
      "5) [0]\n"
      "\n"
      "  Parallel processing:\n"
      "          --threads <integer>    : Maximum number of threads to use.\n"
      "                                   Disable threads if set to 0.\n"
      "\n"
      "  Tiles:\n"
      "          --tiles-width-split <string>|u<int> : \n"
      "                                   Specifies a comma separated list of "
      "pixel\n"
      "                                   positions of tiles columns "
      "separation coordinates.\n"
      "                                   Can also be u followed by and a "
      "single int n,\n"
      "                                   in which case it produces columns of "
      "uniform width.\n"
      "          --tiles-height-split <string>|u<int> : \n"
      "                                   Specifies a comma separated list of "
      "pixel\n"
      "                                   positions of tiles rows separation "
      "coordinates.\n"
      "                                   Can also be u followed by and a "
      "single int n,\n"
      "                                   in which case it produces rows of "
      "uniform height.\n"
      "\n"
      "  Wpp:\n"
      "          --wpp                  : Enable wavefront parallel "
      "processing\n"
      "          --owf <integer>|auto   : Number of parallel frames to "
      "process. 0 to disable.\n"
      "\n"
      "  Slices:\n"
      "          --slice-addresses <string>|u<int>: \n"
      "                                   Specifies a comma separated list of "
      "LCU\n"
      "                                   positions in tile scan order of tile "
      "separations.\n"
      "                                   Can also be u followed by and a "
      "single int n,\n"
      "                                   in which case it produces uniform "
      "slice length.\n"
      "\n"
      "  Deprecated parameters: (might be removed at some point)\n"
      "     Use --input-res:\n"
      "       -w, --width               : Width of input in pixels\n"
      "       -h, --height              : Height of input in pixels\n");
}


x86 assembly (clang, -O0):
<print_help>:
push   %rbp
mov    %rsp,%rbp
mov    0x3ec5(%rip),%rax
mov    (%rax),%edi
lea    0xedc(%rip),%rsi
call   1030 <fprintf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help>:
mov    0x3ec9(%rip),%rax
mov    (%rax),%edi
lea    0xee0(%rip),%rsi
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@stderr = global i32 0
@.str = [6740 x i8] c"Usage:\0Akvazaar -i <input> --input-res <width>x<height> -o <output>\0A\0AOptional parameters:\0A -n, --frames <integer> : Number of frames to code [all]\0A --seek <integer> : First frame to code [0]\0A --input-res <int>x<int> : Input resolution (width x height) or\0A auto : try to detect from file name [auto]\0A --input-fps <number> : Framerate of the input video [25.0]\0A -q, --qp <integer> : Quantization Parameter [32]\0A -p, --period <integer> : Period of intra pictures [0]\0A 0: only first picture is intra\0A 1: all pictures are intra\0A 2-N: every Nth picture is intra\0A --vps-period <integer> : Specify how often the video parameter set is\0A re-sent. [0]\0A 0: only send VPS with the first frame\0A 1: send VPS with every intra frame\0A N: send VPS with every Nth intra frame\0A -r, --ref <integer> : Reference frames, range 1..15 [3]\0A --no-deblock : Disable deblocking filter\0A --deblock <beta:tc> : Deblocking filter parameters\0A beta and tc range is -6..6 [0:0]\0A --no-sao : Disable sample adaptive offset\0A --no-rdoq : Disable RDO quantization\0A --no-signhide : Disable sign hiding in quantization\0A --rd <integer> : Rate-Distortion Optimization level [1]\0A 0: no RDO\0A 1: estimated RDO\0A 2: full RDO\0A --full-intra-search : Try all intra modes.\0A --me <string> : Set integer motion estimation algorithm [\22hexbs\22]\0A \22hexbs\22: Hexagon Based Search (faster)\0A \22tz\22: Test Zone Search (better quality)\0A --no-transform-skip : Disable transform skip\0A --aud : Use access unit delimiters\0A --cqmfile <string> : Custom Quantization Matrices from a file\0A --debug <string> : Output encoders reconstruction.\0A --cpuid <integer> : Disable runtime cpu optimizations with value 0.\0A --subme <integer> : Set fractional pixel motion estimation level [1].\0A 0: only integer motion estimation\0A 1: fractional pixel motion estimation enabled\0A --source-scan-type <string> : Set source scan type [\22progressive\22].\0A \22progressive\22: progressive scan\0A \22tff\22: top field first\0A \22bff\22: bottom field first\0A --pu-depth-inter <int>-<int> : Range for sizes of inter prediction units to try.\0A 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8\0A --pu-depth-intra <int>-<int> : Range for sizes of intra prediction units to try.\0A 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4\0A --no-info : Don't add information about the encoder to settings.\0A --gop <int> : Length of Group of Pictures, must be 8 or 0 [0]\0A --bipred : Enable bi-prediction search\0A --bitrate <integer> : Target bitrate. [0]\0A 0: disable rate-control\0A N: target N bits per second\0A\0A Video Usability Information:\0A --sar <width:height> : Specify Sample Aspect Ratio\0A --overscan <string> : Specify crop overscan setting [\22undef\22]\0A - undef, show, crop\0A --videoformat <string> : Specify video format [\22undef\22]\0A - component, pal, ntsc, secam, mac, undef\0A --range <string> : Specify color range [\22tv\22]\0A - tv, pc\0A --colorprim <string> : Specify color primaries [\22undef\22]\0A - undef, bt709, bt470m, bt470bg,\0A smpte170m, smpte240m, film, bt2020\0A --transfer <string> : Specify transfer characteristics [\22undef\22]\0A - undef, bt709, bt470m, bt470bg,\0A smpte170m, smpte240m, linear, log100,\0A log316, iec61966-2-4, bt1361e,\0A iec61966-2-1, bt2020-10, bt2020-12\0A --colormatrix <string> : Specify color matrix setting [\22undef\22]\0A - undef, bt709, fcc, bt470bg, smpte170m,\0A smpte240m, GBR, YCgCo, bt2020nc, bt2020c\0A --chromaloc <integer> : Specify chroma sample location (0 to 5) [0]\0A\0A Parallel processing:\0A --threads <integer> : Maximum number of threads to use.\0A Disable threads if set to 0.\0A\0A Tiles:\0A --tiles-width-split <string>|u<int> : \0A Specifies a comma separated list of pixel\0A positions of tiles columns separation coordinates.\0A Can also be u followed by and a single int n,\0A in which case it produces columns of uniform width.\0A --tiles-height-split <string>|u<int> : \0A Specifies a comma separated list of pixel\0A positions of tiles rows separation coordinates.\0A Can also be u followed by and a single int n,\0A in which case it produces rows of uniform height.\0A\0A Wpp:\0A --wpp : Enable wavefront parallel processing\0A --owf <integer>|auto : Number of parallel frames to process. 0 to disable.\0A\0A Slices:\0A --slice-addresses <string>|u<int>: \0A Specifies a comma separated list of LCU\0A positions in tile scan order of tile separations.\0A Can also be u followed by and a single int n,\0A in which case it produces uniform slice length.\0A\0A Deprecated parameters: (might be removed at some point)\0A Use --input-res:\0A -w, --width : Width of input in pixels\0A -h, --height : Height of input in pixels\0A\00"
define void @print_help() {
%1 = load i32, i32* @stderr
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([6740 x i8], [6740 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@stderr = global i32 0
@.str = [6740 x i8] c"Usage:\0Akvazaar -i <input> --input-res <width>x<height> -o <output>\0A\0AOptional parameters:\0A -n, --frames <integer> : Number of frames to code [all]\0A --seek <integer> : First frame to code [0]\0A --input-res <int>x<int> : Input resolution (width x height) or\0A auto : try to detect from file name [auto]\0A --input-fps <number> : Framerate of the input video [25.0]\0A -q, --qp <integer> : Quantization Parameter [32]\0A -p, --period <integer> : Period of intra pictures [0]\0A 0: only first picture is intra\0A 1: all pictures are intra\0A 2-N: every Nth picture is intra\0A --vps-period <integer> : Specify how often the video parameter set is\0A re-sent. [0]\0A 0: only send VPS with the first frame\0A 1: send VPS with every intra frame\0A N: send VPS with every Nth intra frame\0A -r, --ref <integer> : Reference frames, range 1..15 [3]\0A --no-deblock : Disable deblocking filter\0A --deblock <beta:tc> : Deblocking filter parameters\0A beta and tc range is -6..6 [0:0]\0A --no-sao : Disable sample adaptive offset\0A --no-rdoq : Disable RDO quantization\0A --no-signhide : Disable sign hiding in quantization\0A --rd <integer> : Rate-Distortion Optimization level [1]\0A 0: no RDO\0A 1: estimated RDO\0A 2: full RDO\0A --full-intra-search : Try all intra modes.\0A --me <string> : Set integer motion estimation algorithm [\22hexbs\22]\0A \22hexbs\22: Hexagon Based Search (faster)\0A \22tz\22: Test Zone Search (better quality)\0A --no-transform-skip : Disable transform skip\0A --aud : Use access unit delimiters\0A --cqmfile <string> : Custom Quantization Matrices from a file\0A --debug <string> : Output encoders reconstruction.\0A --cpuid <integer> : Disable runtime cpu optimizations with value 0.\0A --subme <integer> : Set fractional pixel motion estimation level [1].\0A 0: only integer motion estimation\0A 1: fractional pixel motion estimation enabled\0A --source-scan-type <string> : Set source scan type [\22progressive\22].\0A \22progressive\22: progressive scan\0A \22tff\22: top field first\0A \22bff\22: bottom field first\0A --pu-depth-inter <int>-<int> : Range for sizes of inter prediction units to try.\0A 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8\0A --pu-depth-intra <int>-<int> : Range for sizes of intra prediction units to try.\0A 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4\0A --no-info : Don't add information about the encoder to settings.\0A --gop <int> : Length of Group of Pictures, must be 8 or 0 [0]\0A --bipred : Enable bi-prediction search\0A --bitrate <integer> : Target bitrate. [0]\0A 0: disable rate-control\0A N: target N bits per second\0A\0A Video Usability Information:\0A --sar <width:height> : Specify Sample Aspect Ratio\0A --overscan <string> : Specify crop overscan setting [\22undef\22]\0A - undef, show, crop\0A --videoformat <string> : Specify video format [\22undef\22]\0A - component, pal, ntsc, secam, mac, undef\0A --range <string> : Specify color range [\22tv\22]\0A - tv, pc\0A --colorprim <string> : Specify color primaries [\22undef\22]\0A - undef, bt709, bt470m, bt470bg,\0A smpte170m, smpte240m, film, bt2020\0A --transfer <string> : Specify transfer characteristics [\22undef\22]\0A - undef, bt709, bt470m, bt470bg,\0A smpte170m, smpte240m, linear, log100,\0A log316, iec61966-2-4, bt1361e,\0A iec61966-2-1, bt2020-10, bt2020-12\0A --colormatrix <string> : Specify color matrix setting [\22undef\22]\0A - undef, bt709, fcc, bt470bg, smpte170m,\0A smpte240m, GBR, YCgCo, bt2020nc, bt2020c\0A --chromaloc <integer> : Specify chroma sample location (0 to 5) [0]\0A\0A Parallel processing:\0A --threads <integer> : Maximum number of threads to use.\0A Disable threads if set to 0.\0A\0A Tiles:\0A --tiles-width-split <string>|u<int> : \0A Specifies a comma separated list of pixel\0A positions of tiles columns separation coordinates.\0A Can also be u followed by and a single int n,\0A in which case it produces columns of uniform width.\0A --tiles-height-split <string>|u<int> : \0A Specifies a comma separated list of pixel\0A positions of tiles rows separation coordinates.\0A Can also be u followed by and a single int n,\0A in which case it produces rows of uniform height.\0A\0A Wpp:\0A --wpp : Enable wavefront parallel processing\0A --owf <integer>|auto : Number of parallel frames to process. 0 to disable.\0A\0A Slices:\0A --slice-addresses <string>|u<int>: \0A Specifies a comma separated list of LCU\0A positions in tile scan order of tile separations.\0A Can also be u followed by and a single int n,\0A in which case it produces uniform slice length.\0A\0A Deprecated parameters: (might be removed at some point)\0A Use --input-res:\0A -w, --width : Width of input in pixels\0A -h, --height : Height of input in pixels\0A\00"
define void @print_help() {
%1 = load i32, i32* @stderr
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([6740 x i8], [6740 x i8]* @.str, i64 0, i64 0))
ret void
}