#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 *, int, int, int);
void usage(void) {
  printf(
      "Zint version %d.%d.%d\n"
      "Encode input data in a barcode and save as a PNG, BMP, GIF, PCX, EPS or "
      "SVG file.\n\n"
      "  -b, --barcode=NUMBER  Number of barcode type (default is 20 "
      "(=Code128)).\n"
      "  --batch               Treat each line of input file as a separate "
      "data set\n"
      "  --bg=COLOUR           Specify a background colour (in hex)\n"
      "  --binary              Treat input as raw binary data\n"
      "  --bind                Add boundary bars\n"
      "  --bold                Use bold text\n"
      "  --border=NUMBER       Set width of border in multiples of "
      "x-dimension\n"
      "  --box                 Add a box around the symbol\n"
      "  --cmyk                Use CMYK colour space in EPS symbols\n"
      "  --cols=NUMBER         Set the number of data columns in symbol\n"
      "  -d, --data=DATA       Set the symbol content\n"
      "  --direct              Send output to stdout\n"
      "  --dotsize=NUMBER      Set radius of dots in dotty mode\n"
      "  --dotty               Use dots instead of squares for matrix symbols\n"
      "  --dmre                Allow Data Matrix Rectangular Extended\n"
      "  --dump                Dump hexadecimal representation to stdout\n"
      "  -e, --ecinos          Display table of ECI character encodings\n"
      "  --eci=NUMBER          Set the ECI mode for raw data\n"
      "  --filetype=TYPE       Set output file type "
      "(PNG/EPS/SVG/PNG/EPS/GIF/TXT)\n"
      "  --fg=COLOUR           Specify a foreground colour (in hex)\n"
      "  --gs1                 Treat input as GS1 compatible data\n"
      "  -h, --help            Display help message\n"
      "  --height=NUMBER       Set height of symbol in multiples of "
      "x-dimension\n"
      "  -i, --input=FILE      Read input data from FILE\n"
      "  --init                Create reader initialisation/programming "
      "symbol\n"
      "  --mirror              Use batch data to determine filename\n"
      "  --mode=NUMBER         Set encoding mode (Maxicode/Composite)\n"
      "  --notext              Remove human readable text\n"
      "  -o, --output=FILE     Send output to FILE. (default is out.png)\n"
      "  --primary=STRING      Set structured primary message "
      "(Maxicode/Composite)\n"
      "  --secure=NUMBER       Set error correction level\n"
      "  --scale=NUMBER        Adjust size of x-dimension\n"
      "  --small               Use half-size text in PNG images\n"
      "  --square              Force Data Matrix symbols to be square\n"
      "  -r, --reverse         Reverse colours (white on black)\n"
      "  --rotate=NUMBER       Rotate symbol by NUMBER degrees (PNG/BMP/PCX)\n"
      "  --rows=NUMBER         Set number of rows (Codablock-F)\n"
      "  -t, --types           Display table of barcode types\n"
      "  --vers=NUMBER         Set symbol version (QR Code/Han Xin)\n"
      "  -w, --whitesp=NUMBER  Set Width of whitespace in multiples of "
      "x-dimension\n",
      2, 5, 1);
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
mov    $0x2,%esi
mov    $0x5,%edx
mov    $0x1,%ecx
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<usage>:
lea    0xee9(%rip),%rdi
mov    $0x2,%esi
mov    $0x5,%edx
mov    $0x1,%ecx
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [2523 x i8] c"Zint version %d.%d.%d\0AEncode input data in a barcode and save as a PNG, BMP, GIF, PCX, EPS or SVG file.\0A\0A -b, --barcode=NUMBER Number of barcode type (default is 20 (=Code128)).\0A --batch Treat each line of input file as a separate data set\0A --bg=COLOUR Specify a background colour (in hex)\0A --binary Treat input as raw binary data\0A --bind Add boundary bars\0A --bold Use bold text\0A --border=NUMBER Set width of border in multiples of x-dimension\0A --box Add a box around the symbol\0A --cmyk Use CMYK colour space in EPS symbols\0A --cols=NUMBER Set the number of data columns in symbol\0A -d, --data=DATA Set the symbol content\0A --direct Send output to stdout\0A --dotsize=NUMBER Set radius of dots in dotty mode\0A --dotty Use dots instead of squares for matrix symbols\0A --dmre Allow Data Matrix Rectangular Extended\0A --dump Dump hexadecimal representation to stdout\0A -e, --ecinos Display table of ECI character encodings\0A --eci=NUMBER Set the ECI mode for raw data\0A --filetype=TYPE Set output file type (PNG/EPS/SVG/PNG/EPS/GIF/TXT)\0A --fg=COLOUR Specify a foreground colour (in hex)\0A --gs1 Treat input as GS1 compatible data\0A -h, --help Display help message\0A --height=NUMBER Set height of symbol in multiples of x-dimension\0A -i, --input=FILE Read input data from FILE\0A --init Create reader initialisation/programming symbol\0A --mirror Use batch data to determine filename\0A --mode=NUMBER Set encoding mode (Maxicode/Composite)\0A --notext Remove human readable text\0A -o, --output=FILE Send output to FILE. (default is out.png)\0A --primary=STRING Set structured primary message (Maxicode/Composite)\0A --secure=NUMBER Set error correction level\0A --scale=NUMBER Adjust size of x-dimension\0A --small Use half-size text in PNG images\0A --square Force Data Matrix symbols to be square\0A -r, --reverse Reverse colours (white on black)\0A --rotate=NUMBER Rotate symbol by NUMBER degrees (PNG/BMP/PCX)\0A --rows=NUMBER Set number of rows (Codablock-F)\0A -t, --types Display table of barcode types\0A --vers=NUMBER Set symbol version (QR Code/Han Xin)\0A -w, --whitesp=NUMBER Set Width of whitespace in multiples of x-dimension\0A\00"
define void @usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([2523 x i8], [2523 x i8]* @.str, i64 0, i64 0), i32 2, i32 5, i32 1)
ret void
}

LLVM IR (-O2):
@.str = [2523 x i8] c"Zint version %d.%d.%d\0AEncode input data in a barcode and save as a PNG, BMP, GIF, PCX, EPS or SVG file.\0A\0A -b, --barcode=NUMBER Number of barcode type (default is 20 (=Code128)).\0A --batch Treat each line of input file as a separate data set\0A --bg=COLOUR Specify a background colour (in hex)\0A --binary Treat input as raw binary data\0A --bind Add boundary bars\0A --bold Use bold text\0A --border=NUMBER Set width of border in multiples of x-dimension\0A --box Add a box around the symbol\0A --cmyk Use CMYK colour space in EPS symbols\0A --cols=NUMBER Set the number of data columns in symbol\0A -d, --data=DATA Set the symbol content\0A --direct Send output to stdout\0A --dotsize=NUMBER Set radius of dots in dotty mode\0A --dotty Use dots instead of squares for matrix symbols\0A --dmre Allow Data Matrix Rectangular Extended\0A --dump Dump hexadecimal representation to stdout\0A -e, --ecinos Display table of ECI character encodings\0A --eci=NUMBER Set the ECI mode for raw data\0A --filetype=TYPE Set output file type (PNG/EPS/SVG/PNG/EPS/GIF/TXT)\0A --fg=COLOUR Specify a foreground colour (in hex)\0A --gs1 Treat input as GS1 compatible data\0A -h, --help Display help message\0A --height=NUMBER Set height of symbol in multiples of x-dimension\0A -i, --input=FILE Read input data from FILE\0A --init Create reader initialisation/programming symbol\0A --mirror Use batch data to determine filename\0A --mode=NUMBER Set encoding mode (Maxicode/Composite)\0A --notext Remove human readable text\0A -o, --output=FILE Send output to FILE. (default is out.png)\0A --primary=STRING Set structured primary message (Maxicode/Composite)\0A --secure=NUMBER Set error correction level\0A --scale=NUMBER Adjust size of x-dimension\0A --small Use half-size text in PNG images\0A --square Force Data Matrix symbols to be square\0A -r, --reverse Reverse colours (white on black)\0A --rotate=NUMBER Rotate symbol by NUMBER degrees (PNG/BMP/PCX)\0A --rows=NUMBER Set number of rows (Codablock-F)\0A -t, --types Display table of barcode types\0A --vers=NUMBER Set symbol version (QR Code/Han Xin)\0A -w, --whitesp=NUMBER Set Width of whitespace in multiples of x-dimension\0A\00"
define void @usage() {
%1 = tail call i32 @printf(i8* getelementptr inbounds ([2523 x i8], [2523 x i8]* @.str, i64 0, i64 0), i32 2, i32 5, i32 1)
ret void
}