#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*/ print_option(char, char *, char *);
int /*<<< orphan*/ printf(char *, ...);
void print_help(const char *basename) {
  printf("Emits live audio from JACK over FM through the Raspberry GPIO.\n");
  printf("\n");
  printf("Usage:\n"
         "  %1$s [options] [PORT]\n"
         "  %1$s [options] [L_PORT R_PORT]\n"
         "  %1$s (--help | --version)\n",
         basename);
  printf("\n");
  printf("Emission options:\n");
  print_option('f', "frequency=FREQ",
               "Set the FM carrier frequency in MHz. [default: 103.3]");
  print_option('s', "stereo", "Enable stereo emission.");
  print_option('R', "rds=FILE", "Encode an RDS blob with the stream.");
  print_option('e', "no-preemp", "Disable the pre-emphasis filter.");
  printf("\n");
  printf("Sampling options:\n");
  print_option('r', "resamp", "Resample sound to 152kHz before emission.");
  print_option('p', "period=FRAMES",
               "Output (emission) period in frames. [default: 512]");
  print_option('r', "ringsize=FRAMES",
               "Size of the ringbuffer in frames. [default: 16384]");
  print_option(0, "resamp-quality=N",
               "Resampling lookup table row size. [default: 5]");
  print_option(0, "resamp-squality=N",
               "Resampling lookup table column size. [default: 10]");
  printf("\n");
  printf("JACK options:\n");
  print_option('n', "name=NAME", "JACK client name. [default: jackpifm]");
  print_option(0, "server-name=NAME", "Force a specific JACK server by name.");
  print_option(0, "force-name", "Force the client to use the given name.");
  printf("\n");
  printf("Other options:\n");
  print_option('h', "help", "Print this help message.");
  print_option('v', "version", "Print program version.");
  printf("\n");
  printf("In the first form, jackpifm will connect its input (or both inputs "
         "if it's stereo) "
         "to the passed port. In the second form, the left input will be "
         "connected to the "
         "first passed port, and the right input to the second.\n\n");
  printf("If you use --stereo or --rds make sure to pass --resamp too, or it "
         "won't start.\n\n");
}


x86 assembly (clang, -O0):
<print_help>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
lea    0xecd(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x133d(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x8(%rbp),%rsi
lea    0xeed(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x131d(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0xf2e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    $0x66,%edi
lea    0xf2e(%rip),%rsi
lea    0xf36(%rip),%rdx
call   1030 <print_option@plt>
mov    $0x73,%edi
lea    0xf5b(%rip),%rsi
lea    0xf5b(%rip),%rdx
call   1030 <print_option@plt>
mov    $0x52,%edi
lea    0xf62(%rip),%rsi
lea    0xf64(%rip),%rdx
call   1030 <print_option@plt>
mov    $0x65,%edi
lea    0xf77(%rip),%rsi
lea    0xf7a(%rip),%rdx
call   1030 <print_option@plt>
lea    0x12a1(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0xf81(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    $0x72,%edi
lea    0xf81(%rip),%rsi
lea    0xf81(%rip),%rdx
call   1030 <print_option@plt>
mov    $0x70,%edi
lea    0xf9a(%rip),%rsi
lea    0xfa1(%rip),%rdx
call   1030 <print_option@plt>
mov    $0x72,%edi
lea    0xfc3(%rip),%rsi
lea    0xfcc(%rip),%rdx
call   1030 <print_option@plt>
xor    %edi,%edi
lea    0xff1(%rip),%rsi
lea    0xffb(%rip),%rdx
call   1030 <print_option@plt>
xor    %edi,%edi
lea    0x101c(%rip),%rsi
lea    0x1027(%rip),%rdx
call   1030 <print_option@plt>
lea    0x1213(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1040(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    $0x6e,%edi
lea    0x1069(%rip),%rsi
lea    0x1035(%rip),%rdx
call   1030 <print_option@plt>
xor    %edi,%edi
lea    0x104d(%rip),%rsi
lea    0x1057(%rip),%rdx
call   1030 <print_option@plt>
xor    %edi,%edi
lea    0x106f(%rip),%rsi
lea    0x1073(%rip),%rdx
call   1030 <print_option@plt>
lea    0x11b5(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1081(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    $0x68,%edi
lea    0x107e(%rip),%rsi
lea    0x107c(%rip),%rdx
call   1030 <print_option@plt>
mov    $0x76,%edi
lea    0x1084(%rip),%rsi
lea    0x1085(%rip),%rdx
call   1030 <print_option@plt>
lea    0x1169(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1082(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x114f(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help>:
push   %rbx
mov    %rdi,%rbx
lea    0x11d5(%rip),%rdi
call   1050 <puts@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0xe9f(%rip),%rdi
mov    %rbx,%rsi
xor    %eax,%eax
call   1060 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x11e3(%rip),%rdi
call   1050 <puts@plt>
lea    0xed5(%rip),%rsi
lea    0xedd(%rip),%rdx
mov    $0x66,%edi
call   1040 <print_option@plt>
lea    0xf02(%rip),%rsi
lea    0xf02(%rip),%rdx
mov    $0x73,%edi
call   1040 <print_option@plt>
lea    0xf09(%rip),%rsi
lea    0xf0b(%rip),%rdx
mov    $0x52,%edi
call   1040 <print_option@plt>
lea    0xf1e(%rip),%rsi
lea    0xf21(%rip),%rdx
mov    $0x65,%edi
call   1040 <print_option@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x117f(%rip),%rdi
call   1050 <puts@plt>
lea    0xf1b(%rip),%rsi
lea    0xf1b(%rip),%rdx
mov    $0x72,%edi
call   1040 <print_option@plt>
lea    0xf34(%rip),%rsi
lea    0xf3b(%rip),%rdx
mov    $0x70,%edi
call   1040 <print_option@plt>
lea    0xf5d(%rip),%rsi
lea    0xf66(%rip),%rdx
mov    $0x72,%edi
call   1040 <print_option@plt>
lea    0xf88(%rip),%rsi
lea    0xf92(%rip),%rdx
xor    %edi,%edi
call   1040 <print_option@plt>
lea    0xfb3(%rip),%rsi
lea    0xfbe(%rip),%rdx
xor    %edi,%edi
call   1040 <print_option@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x1109(%rip),%rdi
call   1050 <puts@plt>
lea    0xffa(%rip),%rsi
lea    0xfc6(%rip),%rdx
mov    $0x6e,%edi
call   1040 <print_option@plt>
lea    0xfdb(%rip),%rsi
lea    0xfe5(%rip),%rdx
xor    %edi,%edi
call   1040 <print_option@plt>
lea    0xffd(%rip),%rsi
lea    0x1001(%rip),%rdx
xor    %edi,%edi
call   1040 <print_option@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x10bf(%rip),%rdi
call   1050 <puts@plt>
lea    0x1005(%rip),%rsi
lea    0x1003(%rip),%rdx
mov    $0x68,%edi
call   1040 <print_option@plt>
lea    0x100b(%rip),%rsi
lea    0x100c(%rip),%rdx
mov    $0x76,%edi
call   1040 <print_option@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x1088(%rip),%rdi
call   1050 <puts@plt>
lea    0x1156(%rip),%rdi
pop    %rbx
jmp    1050 <puts@plt>

LLVM IR (-O0):
@.str = [64 x i8] c"Emits live audio from JACK over FM through the Raspberry GPIO.\0A\00"
@.str.1 = [2 x i8] c"\0A\00"
@.str.2 = [93 x i8] c"Usage:\0A %1$s [options] [PORT]\0A %1$s [options] [L_PORT R_PORT]\0A %1$s (--help | --version)\0A\00"
@.str.3 = [19 x i8] c"Emission options:\0A\00"
@.str.4 = [15 x i8] c"frequency=FREQ\00"
@.str.5 = [54 x i8] c"Set the FM carrier frequency in MHz. [default: 103.3]\00"
@.str.6 = [7 x i8] c"stereo\00"
@.str.7 = [24 x i8] c"Enable stereo emission.\00"
@.str.8 = [9 x i8] c"rds=FILE\00"
@.str.9 = [36 x i8] c"Encode an RDS blob with the stream.\00"
@.str.10 = [10 x i8] c"no-preemp\00"
@.str.11 = [33 x i8] c"Disable the pre-emphasis filter.\00"
@.str.12 = [19 x i8] c"Sampling options:\0A\00"
@.str.13 = [7 x i8] c"resamp\00"
@.str.14 = [42 x i8] c"Resample sound to 152kHz before emission.\00"
@.str.15 = [14 x i8] c"period=FRAMES\00"
@.str.16 = [51 x i8] c"Output (emission) period in frames. [default: 512]\00"
@.str.17 = [16 x i8] c"ringsize=FRAMES\00"
@.str.18 = [51 x i8] c"Size of the ringbuffer in frames. [default: 16384]\00"
@.str.19 = [17 x i8] c"resamp-quality=N\00"
@.str.20 = [47 x i8] c"Resampling lookup table row size. [default: 5]\00"
@.str.21 = [18 x i8] c"resamp-squality=N\00"
@.str.22 = [51 x i8] c"Resampling lookup table column size. [default: 10]\00"
@.str.23 = [15 x i8] c"JACK options:\0A\00"
@.str.24 = [10 x i8] c"name=NAME\00"
@.str.25 = [38 x i8] c"JACK client name. [default: jackpifm]\00"
@.str.26 = [17 x i8] c"server-name=NAME\00"
@.str.27 = [38 x i8] c"Force a specific JACK server by name.\00"
@.str.28 = [11 x i8] c"force-name\00"
@.str.29 = [40 x i8] c"Force the client to use the given name.\00"
@.str.30 = [16 x i8] c"Other options:\0A\00"
@.str.31 = [5 x i8] c"help\00"
@.str.32 = [25 x i8] c"Print this help message.\00"
@.str.33 = [8 x i8] c"version\00"
@.str.34 = [23 x i8] c"Print program version.\00"
@.str.35 = [219 x i8] c"In the first form, jackpifm will connect its input (or both inputs if it's stereo) to the passed port. In the second form, the left input will be connected to the first passed port, and the right input to the second.\0A\0A\00"
@.str.36 = [82 x i8] c"If you use --stereo or --rds make sure to pass --resamp too, or it won't start.\0A\0A\00"
define void @print_help(i8* %0) {
%2 = alloca i8*
store i8* %0, i8** %2
%3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str, i64 0, i64 0))
%4 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%5 = load i8*, i8** %2
%6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([93 x i8], [93 x i8]* @.str.2, i64 0, i64 0), i8* %5)
%7 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%8 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0))
%9 = call i32 @print_option(i8 signext 102, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.5, i64 0, i64 0))
%10 = call i32 @print_option(i8 signext 115, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0))
%11 = call i32 @print_option(i8 signext 82, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.9, i64 0, i64 0))
%12 = call i32 @print_option(i8 signext 101, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0))
%13 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.12, i64 0, i64 0))
%15 = call i32 @print_option(i8 signext 114, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.14, i64 0, i64 0))
%16 = call i32 @print_option(i8 signext 112, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.16, i64 0, i64 0))
%17 = call i32 @print_option(i8 signext 114, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.18, i64 0, i64 0))
%18 = call i32 @print_option(i8 signext 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.19, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.20, i64 0, i64 0))
%19 = call i32 @print_option(i8 signext 0, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.22, i64 0, i64 0))
%20 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.23, i64 0, i64 0))
%22 = call i32 @print_option(i8 signext 110, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24, i64 0, i64 0), i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.25, i64 0, i64 0))
%23 = call i32 @print_option(i8 signext 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.27, i64 0, i64 0))
%24 = call i32 @print_option(i8 signext 0, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.29, i64 0, i64 0))
%25 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%26 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30, i64 0, i64 0))
%27 = call i32 @print_option(i8 signext 104, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.31, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.32, i64 0, i64 0))
%28 = call i32 @print_option(i8 signext 118, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.33, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.34, i64 0, i64 0))
%29 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%30 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([219 x i8], [219 x i8]* @.str.35, i64 0, i64 0))
%31 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.36, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str.2 = [93 x i8] c"Usage:\0A %1$s [options] [PORT]\0A %1$s [options] [L_PORT R_PORT]\0A %1$s (--help | --version)\0A\00"
@.str.4 = [15 x i8] c"frequency=FREQ\00"
@.str.5 = [54 x i8] c"Set the FM carrier frequency in MHz. [default: 103.3]\00"
@.str.6 = [7 x i8] c"stereo\00"
@.str.7 = [24 x i8] c"Enable stereo emission.\00"
@.str.8 = [9 x i8] c"rds=FILE\00"
@.str.9 = [36 x i8] c"Encode an RDS blob with the stream.\00"
@.str.10 = [10 x i8] c"no-preemp\00"
@.str.11 = [33 x i8] c"Disable the pre-emphasis filter.\00"
@.str.13 = [7 x i8] c"resamp\00"
@.str.14 = [42 x i8] c"Resample sound to 152kHz before emission.\00"
@.str.15 = [14 x i8] c"period=FRAMES\00"
@.str.16 = [51 x i8] c"Output (emission) period in frames. [default: 512]\00"
@.str.17 = [16 x i8] c"ringsize=FRAMES\00"
@.str.18 = [51 x i8] c"Size of the ringbuffer in frames. [default: 16384]\00"
@.str.19 = [17 x i8] c"resamp-quality=N\00"
@.str.20 = [47 x i8] c"Resampling lookup table row size. [default: 5]\00"
@.str.21 = [18 x i8] c"resamp-squality=N\00"
@.str.22 = [51 x i8] c"Resampling lookup table column size. [default: 10]\00"
@.str.24 = [10 x i8] c"name=NAME\00"
@.str.25 = [38 x i8] c"JACK client name. [default: jackpifm]\00"
@.str.26 = [17 x i8] c"server-name=NAME\00"
@.str.27 = [38 x i8] c"Force a specific JACK server by name.\00"
@.str.28 = [11 x i8] c"force-name\00"
@.str.29 = [40 x i8] c"Force the client to use the given name.\00"
@.str.31 = [5 x i8] c"help\00"
@.str.32 = [25 x i8] c"Print this help message.\00"
@.str.33 = [8 x i8] c"version\00"
@.str.34 = [23 x i8] c"Print program version.\00"
@str = [63 x i8] c"Emits live audio from JACK over FM through the Raspberry GPIO.\00"
@str.37 = [18 x i8] c"Emission options:\00"
@str.38 = [18 x i8] c"Sampling options:\00"
@str.39 = [14 x i8] c"JACK options:\00"
@str.40 = [15 x i8] c"Other options:\00"
@str.41 = [218 x i8] c"In the first form, jackpifm will connect its input (or both inputs if it's stereo) to the passed port. In the second form, the left input will be connected to the first passed port, and the right input to the second.\0A\00"
@str.42 = [81 x i8] c"If you use --stereo or --rds make sure to pass --resamp too, or it won't start.\0A\00"
define void @print_help(i8* %0) {
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str, i64 0, i64 0))
%3 = tail call i32 @putchar(i32 10)
%4 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([93 x i8], [93 x i8]* @.str.2, i64 0, i64 0), i8* %0)
%5 = tail call i32 @putchar(i32 10)
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str.37, i64 0, i64 0))
%7 = tail call i32 @print_option(i8 signext 102, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.5, i64 0, i64 0))
%8 = tail call i32 @print_option(i8 signext 115, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0))
%9 = tail call i32 @print_option(i8 signext 82, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.9, i64 0, i64 0))
%10 = tail call i32 @print_option(i8 signext 101, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0))
%11 = tail call i32 @putchar(i32 10)
%12 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str.38, i64 0, i64 0))
%13 = tail call i32 @print_option(i8 signext 114, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.14, i64 0, i64 0))
%14 = tail call i32 @print_option(i8 signext 112, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.16, i64 0, i64 0))
%15 = tail call i32 @print_option(i8 signext 114, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.18, i64 0, i64 0))
%16 = tail call i32 @print_option(i8 signext 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.19, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.20, i64 0, i64 0))
%17 = tail call i32 @print_option(i8 signext 0, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.22, i64 0, i64 0))
%18 = tail call i32 @putchar(i32 10)
%19 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @str.39, i64 0, i64 0))
%20 = tail call i32 @print_option(i8 signext 110, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24, i64 0, i64 0), i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.25, i64 0, i64 0))
%21 = tail call i32 @print_option(i8 signext 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.27, i64 0, i64 0))
%22 = tail call i32 @print_option(i8 signext 0, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.29, i64 0, i64 0))
%23 = tail call i32 @putchar(i32 10)
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @str.40, i64 0, i64 0))
%25 = tail call i32 @print_option(i8 signext 104, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.31, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.32, i64 0, i64 0))
%26 = tail call i32 @print_option(i8 signext 118, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.33, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.34, i64 0, i64 0))
%27 = tail call i32 @putchar(i32 10)
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([218 x i8], [218 x i8]* @str.41, i64 0, i64 0))
%29 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([81 x i8], [81 x i8]* @str.42, i64 0, i64 0))
ret void
}