#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*/ printUsage();
int /*<<< orphan*/ printf(char *, char *);
scalar_t__ strcmp(char *, char *);
void printExtendedUsage() {
  printUsage();
  printf("\t\033[1m"
         "-?"
         "%s"
         "--help"
         " "
         ""
         "\033[m\n\t\t"
         "Displays this help."
         "\n\n",
         strcmp("", "--help") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-h"
         "%s"
         "--hex"
         " "
         ""
         "\033[m\n\t\t"
         "Print all 32-bit ints in hexidecimal notation"
         "\n\n",
         strcmp("", "--hex") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-sid"
         "%s"
         "--system-id"
         " "
         "<id>"
         "\033[m\n\t\t"
         "Set the systemID to "
         "<id>"
         " (G, U)"
         "\n\n",
         strcmp("", "--system-id") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-gid"
         "%s"
         "--game-id"
         " "
         "<id>"
         "\033[m\n\t\t"
         "Set the gameID to "
         "<id>"
         " (2 characters)"
         "\n\n",
         strcmp("", "--game-id") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-r"
         "%s"
         "--region"
         " "
         "<region>"
         "\033[m\n\t\t"
         "Set the region to "
         "<region>"
         " (E, P, J)"
         "\n\n",
         strcmp("", "--region") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-m"
         "%s"
         "--maker-code"
         " "
         "<code>"
         "\033[m\n\t\t"
         "Set the maker-code to "
         "<code>"
         " (2 characters, A-Z, a-z, 0-9)"
         "\n\n",
         strcmp("", "--maker-code") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-d"
         "%s"
         "--disk-id"
         " "
         "<id>"
         "\033[m\n\t\t"
         "Set the diskID to "
         "<id>"
         " (0-255)"
         "\n\n",
         strcmp("", "--disk-id") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-V"
         "%s"
         "--version"
         " "
         "<version>"
         "\033[m\n\t\t"
         "Set the version to "
         "<version>"
         " (0-255)"
         "\n\n",
         strcmp("", "--version") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-s"
         "%s"
         "--streaming"
         " "
         "<streaming>"
         "\033[m\n\t\t"
         "Set streaming to "
         "<streaming>"
         " (0-255)"
         "\n\n",
         strcmp("", "--streaming") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-sb"
         "%s"
         "--streaming-buf-size"
         " "
         "<size>"
         "\033[m\n\t\t"
         "Set streaming buffer size to "
         "<size>"
         " (0-255)"
         "\n\n",
         strcmp("", "--streaming-buf-size") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-u1"
         "%s"
         "--unknown-1"
         " "
         "<value>"
         "\033[m\n\t\t"
         "Set unknown1 to "
         "<value>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--unknown-1") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-n"
         "%s"
         "--game-name"
         " "
         "<name>"
         "\033[m\n\t\t"
         "Set game's name to "
         "<name>"
         " (string, max-chars: \" GCM_GAME_NAME_LENGTH \")"
         "\n\n",
         strcmp("", "--game-name") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-dmo"
         "%s"
         "--debug-monitor-offset"
         " "
         "<offset>"
         "\033[m\n\t\t"
         "Set the debug monitor offset to "
         "<offset>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--debug-monitor-offset") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-dma"
         "%s"
         "--debug-monitor-address"
         " "
         "<address>"
         "\033[m\n\t\t"
         "Set the debug monitor address to "
         "<address>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--debug-monitor-address") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-do"
         "%s"
         "--dol-offset"
         " "
         "<offset>"
         "\033[m\n\t\t"
         "Set the offset of the main executable DOL to "
         "<offset>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--dol-offset") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-fo"
         "%s"
         "--fst-offset"
         " "
         "<offset>"
         "\033[m\n\t\t"
         "Set the offset of the FST to "
         "<offset>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--fst-offset") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-fs"
         "%s"
         "--fst-size"
         " "
         "<size>"
         "\033[m\n\t\t"
         "Set the size of the FST to "
         "<size>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--fst-size") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-fsm"
         "%s"
         "--fst-size-max"
         " "
         "<size>"
         "\033[m\n\t\t"
         "Set the size of FST Size-Max (for multi-disc games) to "
         "<size>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--fst-size-max") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-up"
         "%s"
         "--user-position"
         " "
         "<position>"
         "\033[m\n\t\t"
         "Set the user position to "
         "<position>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--user-position") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-ul"
         "%s"
         "--user-length"
         " "
         "<length>"
         "\033[m\n\t\t"
         "Set the user length to "
         "<length>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--user-length") == 0 ? "" : ", ");
  ;
  printf("\t\033[1m"
         "-u2"
         "%s"
         "--unknown-2"
         " "
         "<value>"
         "\033[m\n\t\t"
         "Set unknown2 to "
         "<value>"
         " (unsigned 32-bit int)"
         "\n\n",
         strcmp("", "--unknown-2") == 0 ? "" : ", ");
  ;
}


x86 assembly (clang, -O0):
<printExtendedUsage>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   1050 <printUsage@plt>
lea    0x12c6(%rip),%rdi
lea    0xee3(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xedb(%rip),%rsi
lea    0x12a9(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xe92(%rip),%rdi
call   1030 <printf@plt>
lea    0x128e(%rip),%rdi
lea    0xefa(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xea3(%rip),%rsi
lea    0x1271(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xe90(%rip),%rdi
call   1030 <printf@plt>
lea    0x1256(%rip),%rdi
lea    0xf0b(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xe6b(%rip),%rsi
lea    0x1239(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xea3(%rip),%rdi
call   1030 <printf@plt>
lea    0x121e(%rip),%rdi
lea    0xf26(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xe33(%rip),%rsi
lea    0x1201(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xeba(%rip),%rdi
call   1030 <printf@plt>
lea    0x11e6(%rip),%rdi
lea    0xf3f(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xdfb(%rip),%rsi
lea    0x11c9(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xed3(%rip),%rdi
call   1030 <printf@plt>
lea    0x11ae(%rip),%rdi
lea    0xf6f(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xdc3(%rip),%rsi
lea    0x1191(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xeeb(%rip),%rdi
call   1030 <printf@plt>
lea    0x1176(%rip),%rdi
lea    0xf82(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xd8b(%rip),%rsi
lea    0x1159(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xf1f(%rip),%rdi
call   1030 <printf@plt>
lea    0x113e(%rip),%rdi
lea    0xf9d(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xd53(%rip),%rsi
lea    0x1121(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xf2f(%rip),%rdi
call   1030 <printf@plt>
lea    0x1106(%rip),%rdi
lea    0xfbc(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xd1b(%rip),%rsi
lea    0x10e9(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xf4a(%rip),%rdi
call   1030 <printf@plt>
lea    0x10ce(%rip),%rdi
lea    0xfe9(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xce3(%rip),%rsi
lea    0x10b1(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xf6b(%rip),%rdi
call   1030 <printf@plt>
lea    0x1096(%rip),%rdi
lea    0x1019(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xcab(%rip),%rsi
lea    0x1079(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xfa1(%rip),%rdi
call   1030 <printf@plt>
lea    0x105e(%rip),%rdi
lea    0x1058(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xc73(%rip),%rsi
lea    0x1041(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0xfc8(%rip),%rdi
call   1030 <printf@plt>
lea    0x1026(%rip),%rdi
lea    0x109d(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xc3b(%rip),%rsi
lea    0x1009(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0x1007(%rip),%rdi
call   1030 <printf@plt>
lea    0xfee(%rip),%rdi
lea    0x10f1(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xc03(%rip),%rsi
lea    0xfd1(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0x1057(%rip),%rdi
call   1030 <printf@plt>
lea    0xfb6(%rip),%rdi
lea    0x1144(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xbcb(%rip),%rsi
lea    0xf99(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0x10ac(%rip),%rdi
call   1030 <printf@plt>
lea    0xf7e(%rip),%rdi
lea    0x117c(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xb93(%rip),%rsi
lea    0xf61(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0x10f4(%rip),%rdi
call   1030 <printf@plt>
lea    0xf46(%rip),%rdi
lea    0x11ac(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xb5b(%rip),%rsi
lea    0xf29(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0x112c(%rip),%rdi
call   1030 <printf@plt>
lea    0xf0e(%rip),%rdi
lea    0x11fb(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xb23(%rip),%rsi
lea    0xef1(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0x115a(%rip),%rdi
call   1030 <printf@plt>
lea    0xed6(%rip),%rdi
lea    0x1238(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xaeb(%rip),%rsi
lea    0xeb9(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0x11ad(%rip),%rdi
call   1030 <printf@plt>
lea    0xe9e(%rip),%rdi
lea    0x126e(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xab3(%rip),%rsi
lea    0xe81(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0x11eb(%rip),%rdi
call   1030 <printf@plt>
lea    0xe66(%rip),%rdi
lea    0x1297(%rip),%rsi
call   1040 <strcmp@plt>
mov    %rax,%rcx
lea    0xa7b(%rip),%rsi
lea    0xe49(%rip),%rax
cmp    $0x0,%rcx
cmove  %rax,%rsi
lea    0x121f(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<printExtendedUsage>:
push   %r14
push   %rbx
push   %rax
xor    %eax,%eax
call   1050 <printUsage@plt>
lea    0x12c6(%rip),%r14
lea    0xee3(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
lea    0xed8(%rip),%rbx
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0xe97(%rip),%rdi
call   1030 <printf@plt>
lea    0xf06(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0xea8(%rip),%rdi
call   1030 <printf@plt>
lea    0xf2a(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0xece(%rip),%rdi
call   1030 <printf@plt>
lea    0xf58(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0xef8(%rip),%rdi
call   1030 <printf@plt>
lea    0xf84(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0xf24(%rip),%rdi
call   1030 <printf@plt>
lea    0xfc7(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0xf4f(%rip),%rdi
call   1030 <printf@plt>
lea    0xfed(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0xf96(%rip),%rdi
call   1030 <printf@plt>
lea    0x101b(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0xfb9(%rip),%rdi
call   1030 <printf@plt>
lea    0x104d(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0xfe7(%rip),%rdi
call   1030 <printf@plt>
lea    0x108d(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x101b(%rip),%rdi
call   1030 <printf@plt>
lea    0x10d0(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x1064(%rip),%rdi
call   1030 <printf@plt>
lea    0x1122(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x109e(%rip),%rdi
call   1030 <printf@plt>
lea    0x117a(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x10f0(%rip),%rdi
call   1030 <printf@plt>
lea    0x11e1(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x1153(%rip),%rdi
call   1030 <printf@plt>
lea    0x1247(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x11bb(%rip),%rdi
call   1030 <printf@plt>
lea    0x1292(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x1216(%rip),%rdi
call   1030 <printf@plt>
lea    0x12d5(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x1261(%rip),%rdi
call   1030 <printf@plt>
lea    0x1337(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x12a2(%rip),%rdi
call   1030 <printf@plt>
lea    0x1387(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x1308(%rip),%rdi
call   1030 <printf@plt>
lea    0x13d0(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
mov    %rbx,%rsi
cmove  %r14,%rsi
lea    0x1359(%rip),%rdi
call   1030 <printf@plt>
lea    0x140c(%rip),%rsi
mov    %r14,%rdi
call   1040 <strcmp@plt>
test   %rax,%rax
cmove  %r14,%rbx
lea    0x13a3(%rip),%rdi
mov    %rbx,%rsi
add    $0x8,%rsp
pop    %rbx
pop    %r14
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [44 x i8] c"\09\1B[1m-?%s--help \1B[m\0A\09\09Displays this help.\0A\0A\00"
@.str.1 = [1 x i8] zeroinitializer
@.str.2 = [7 x i8] c"--help\00"
@.str.3 = [3 x i8] c", \00"
@.str.4 = [69 x i8] c"\09\1B[1m-h%s--hex \1B[m\0A\09\09Print all 32-bit ints in hexidecimal notation\0A\0A\00"
@.str.5 = [6 x i8] c"--hex\00"
@.str.6 = [67 x i8] c"\09\1B[1m-sid%s--system-id <id>\1B[m\0A\09\09Set the systemID to <id> (G, U)\0A\0A\00"
@.str.7 = [12 x i8] c"--system-id\00"
@.str.8 = [71 x i8] c"\09\1B[1m-gid%s--game-id <id>\1B[m\0A\09\09Set the gameID to <id> (2 characters)\0A\0A\00"
@.str.9 = [10 x i8] c"--game-id\00"
@.str.10 = [71 x i8] c"\09\1B[1m-r%s--region <region>\1B[m\0A\09\09Set the region to <region> (E, P, J)\0A\0A\00"
@.str.11 = [9 x i8] c"--region\00"
@.str.12 = [95 x i8] c"\09\1B[1m-m%s--maker-code <code>\1B[m\0A\09\09Set the maker-code to <code> (2 characters, A-Z, a-z, 0-9)\0A\0A\00"
@.str.13 = [13 x i8] c"--maker-code\00"
@.str.14 = [62 x i8] c"\09\1B[1m-d%s--disk-id <id>\1B[m\0A\09\09Set the diskID to <id> (0-255)\0A\0A\00"
@.str.15 = [10 x i8] c"--disk-id\00"
@.str.16 = [73 x i8] c"\09\1B[1m-V%s--version <version>\1B[m\0A\09\09Set the version to <version> (0-255)\0A\0A\00"
@.str.17 = [10 x i8] c"--version\00"
@.str.18 = [77 x i8] c"\09\1B[1m-s%s--streaming <streaming>\1B[m\0A\09\09Set streaming to <streaming> (0-255)\0A\0A\00"
@.str.19 = [12 x i8] c"--streaming\00"
@.str.20 = [89 x i8] c"\09\1B[1m-sb%s--streaming-buf-size <size>\1B[m\0A\09\09Set streaming buffer size to <size> (0-255)\0A\0A\00"
@.str.21 = [21 x i8] c"--streaming-buf-size\00"
@.str.22 = [83 x i8] c"\09\1B[1m-u1%s--unknown-1 <value>\1B[m\0A\09\09Set unknown1 to <value> (unsigned 32-bit int)\0A\0A\00"
@.str.23 = [12 x i8] c"--unknown-1\00"
@.str.24 = [107 x i8] c"\09\1B[1m-n%s--game-name <name>\1B[m\0A\09\09Set game's name to <name> (string, max-chars: \22 GCM_GAME_NAME_LENGTH \22)\0A\0A\00"
@.str.25 = [12 x i8] c"--game-name\00"
@.str.26 = [113 x i8] c"\09\1B[1m-dmo%s--debug-monitor-offset <offset>\1B[m\0A\09\09Set the debug monitor offset to <offset> (unsigned 32-bit int)\0A\0A\00"
@.str.27 = [23 x i8] c"--debug-monitor-offset\00"
@.str.28 = [117 x i8] c"\09\1B[1m-dma%s--debug-monitor-address <address>\1B[m\0A\09\09Set the debug monitor address to <address> (unsigned 32-bit int)\0A\0A\00"
@.str.29 = [24 x i8] c"--debug-monitor-address\00"
@.str.30 = [115 x i8] c"\09\1B[1m-do%s--dol-offset <offset>\1B[m\0A\09\09Set the offset of the main executable DOL to <offset> (unsigned 32-bit int)\0A\0A\00"
@.str.31 = [13 x i8] c"--dol-offset\00"
@.str.32 = [99 x i8] c"\09\1B[1m-fo%s--fst-offset <offset>\1B[m\0A\09\09Set the offset of the FST to <offset> (unsigned 32-bit int)\0A\0A\00"
@.str.33 = [13 x i8] c"--fst-offset\00"
@.str.34 = [91 x i8] c"\09\1B[1m-fs%s--fst-size <size>\1B[m\0A\09\09Set the size of the FST to <size> (unsigned 32-bit int)\0A\0A\00"
@.str.35 = [11 x i8] c"--fst-size\00"
@.str.36 = [124 x i8] c"\09\1B[1m-fsm%s--fst-size-max <size>\1B[m\0A\09\09Set the size of FST Size-Max (for multi-disc games) to <size> (unsigned 32-bit int)\0A\0A\00"
@.str.37 = [15 x i8] c"--fst-size-max\00"
@.str.38 = [102 x i8] c"\09\1B[1m-up%s--user-position <position>\1B[m\0A\09\09Set the user position to <position> (unsigned 32-bit int)\0A\0A\00"
@.str.39 = [16 x i8] c"--user-position\00"
@.str.40 = [94 x i8] c"\09\1B[1m-ul%s--user-length <length>\1B[m\0A\09\09Set the user length to <length> (unsigned 32-bit int)\0A\0A\00"
@.str.41 = [14 x i8] c"--user-length\00"
@.str.42 = [83 x i8] c"\09\1B[1m-u2%s--unknown-2 <value>\1B[m\0A\09\09Set unknown2 to <value> (unsigned 32-bit int)\0A\0A\00"
@.str.43 = [12 x i8] c"--unknown-2\00"
define void @printExtendedUsage() {
%1 = call i32 (...) @printUsage()
%2 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%3 = icmp eq i64 %2, 0
%4 = zext i1 %3 to i64
%5 = select i1 %3, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%6 = call i32 @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str, i64 0, i64 0), i8* %5)
%7 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.5, i64 0, i64 0))
%8 = icmp eq i64 %7, 0
%9 = zext i1 %8 to i64
%10 = select i1 %8, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%11 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.4, i64 0, i64 0), i8* %10)
%12 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%13 = icmp eq i64 %12, 0
%14 = zext i1 %13 to i64
%15 = select i1 %13, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%16 = call i32 @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.6, i64 0, i64 0), i8* %15)
%17 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0))
%18 = icmp eq i64 %17, 0
%19 = zext i1 %18 to i64
%20 = select i1 %18, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%21 = call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.8, i64 0, i64 0), i8* %20)
%22 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i64 0, i64 0))
%23 = icmp eq i64 %22, 0
%24 = zext i1 %23 to i64
%25 = select i1 %23, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%26 = call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.10, i64 0, i64 0), i8* %25)
%27 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.13, i64 0, i64 0))
%28 = icmp eq i64 %27, 0
%29 = zext i1 %28 to i64
%30 = select i1 %28, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%31 = call i32 @printf(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.12, i64 0, i64 0), i8* %30)
%32 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i64 0, i64 0))
%33 = icmp eq i64 %32, 0
%34 = zext i1 %33 to i64
%35 = select i1 %33, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%36 = call i32 @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.14, i64 0, i64 0), i8* %35)
%37 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0))
%38 = icmp eq i64 %37, 0
%39 = zext i1 %38 to i64
%40 = select i1 %38, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%41 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.16, i64 0, i64 0), i8* %40)
%42 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.19, i64 0, i64 0))
%43 = icmp eq i64 %42, 0
%44 = zext i1 %43 to i64
%45 = select i1 %43, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%46 = call i32 @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.18, i64 0, i64 0), i8* %45)
%47 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
%48 = icmp eq i64 %47, 0
%49 = zext i1 %48 to i64
%50 = select i1 %48, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%51 = call i32 @printf(i8* getelementptr inbounds ([89 x i8], [89 x i8]* @.str.20, i64 0, i64 0), i8* %50)
%52 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.23, i64 0, i64 0))
%53 = icmp eq i64 %52, 0
%54 = zext i1 %53 to i64
%55 = select i1 %53, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%56 = call i32 @printf(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.22, i64 0, i64 0), i8* %55)
%57 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.25, i64 0, i64 0))
%58 = icmp eq i64 %57, 0
%59 = zext i1 %58 to i64
%60 = select i1 %58, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%61 = call i32 @printf(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.24, i64 0, i64 0), i8* %60)
%62 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.27, i64 0, i64 0))
%63 = icmp eq i64 %62, 0
%64 = zext i1 %63 to i64
%65 = select i1 %63, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%66 = call i32 @printf(i8* getelementptr inbounds ([113 x i8], [113 x i8]* @.str.26, i64 0, i64 0), i8* %65)
%67 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.29, i64 0, i64 0))
%68 = icmp eq i64 %67, 0
%69 = zext i1 %68 to i64
%70 = select i1 %68, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%71 = call i32 @printf(i8* getelementptr inbounds ([117 x i8], [117 x i8]* @.str.28, i64 0, i64 0), i8* %70)
%72 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.31, i64 0, i64 0))
%73 = icmp eq i64 %72, 0
%74 = zext i1 %73 to i64
%75 = select i1 %73, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%76 = call i32 @printf(i8* getelementptr inbounds ([115 x i8], [115 x i8]* @.str.30, i64 0, i64 0), i8* %75)
%77 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.33, i64 0, i64 0))
%78 = icmp eq i64 %77, 0
%79 = zext i1 %78 to i64
%80 = select i1 %78, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%81 = call i32 @printf(i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.32, i64 0, i64 0), i8* %80)
%82 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0))
%83 = icmp eq i64 %82, 0
%84 = zext i1 %83 to i64
%85 = select i1 %83, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%86 = call i32 @printf(i8* getelementptr inbounds ([91 x i8], [91 x i8]* @.str.34, i64 0, i64 0), i8* %85)
%87 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.37, i64 0, i64 0))
%88 = icmp eq i64 %87, 0
%89 = zext i1 %88 to i64
%90 = select i1 %88, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%91 = call i32 @printf(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.36, i64 0, i64 0), i8* %90)
%92 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.39, i64 0, i64 0))
%93 = icmp eq i64 %92, 0
%94 = zext i1 %93 to i64
%95 = select i1 %93, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%96 = call i32 @printf(i8* getelementptr inbounds ([102 x i8], [102 x i8]* @.str.38, i64 0, i64 0), i8* %95)
%97 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.41, i64 0, i64 0))
%98 = icmp eq i64 %97, 0
%99 = zext i1 %98 to i64
%100 = select i1 %98, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%101 = call i32 @printf(i8* getelementptr inbounds ([94 x i8], [94 x i8]* @.str.40, i64 0, i64 0), i8* %100)
%102 = call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.43, i64 0, i64 0))
%103 = icmp eq i64 %102, 0
%104 = zext i1 %103 to i64
%105 = select i1 %103, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%106 = call i32 @printf(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.42, i64 0, i64 0), i8* %105)
ret void
}

LLVM IR (-O2):
@.str = [44 x i8] c"\09\1B[1m-?%s--help \1B[m\0A\09\09Displays this help.\0A\0A\00"
@.str.1 = [1 x i8] zeroinitializer
@.str.2 = [7 x i8] c"--help\00"
@.str.3 = [3 x i8] c", \00"
@.str.4 = [69 x i8] c"\09\1B[1m-h%s--hex \1B[m\0A\09\09Print all 32-bit ints in hexidecimal notation\0A\0A\00"
@.str.5 = [6 x i8] c"--hex\00"
@.str.6 = [67 x i8] c"\09\1B[1m-sid%s--system-id <id>\1B[m\0A\09\09Set the systemID to <id> (G, U)\0A\0A\00"
@.str.7 = [12 x i8] c"--system-id\00"
@.str.8 = [71 x i8] c"\09\1B[1m-gid%s--game-id <id>\1B[m\0A\09\09Set the gameID to <id> (2 characters)\0A\0A\00"
@.str.9 = [10 x i8] c"--game-id\00"
@.str.10 = [71 x i8] c"\09\1B[1m-r%s--region <region>\1B[m\0A\09\09Set the region to <region> (E, P, J)\0A\0A\00"
@.str.11 = [9 x i8] c"--region\00"
@.str.12 = [95 x i8] c"\09\1B[1m-m%s--maker-code <code>\1B[m\0A\09\09Set the maker-code to <code> (2 characters, A-Z, a-z, 0-9)\0A\0A\00"
@.str.13 = [13 x i8] c"--maker-code\00"
@.str.14 = [62 x i8] c"\09\1B[1m-d%s--disk-id <id>\1B[m\0A\09\09Set the diskID to <id> (0-255)\0A\0A\00"
@.str.15 = [10 x i8] c"--disk-id\00"
@.str.16 = [73 x i8] c"\09\1B[1m-V%s--version <version>\1B[m\0A\09\09Set the version to <version> (0-255)\0A\0A\00"
@.str.17 = [10 x i8] c"--version\00"
@.str.18 = [77 x i8] c"\09\1B[1m-s%s--streaming <streaming>\1B[m\0A\09\09Set streaming to <streaming> (0-255)\0A\0A\00"
@.str.19 = [12 x i8] c"--streaming\00"
@.str.20 = [89 x i8] c"\09\1B[1m-sb%s--streaming-buf-size <size>\1B[m\0A\09\09Set streaming buffer size to <size> (0-255)\0A\0A\00"
@.str.21 = [21 x i8] c"--streaming-buf-size\00"
@.str.22 = [83 x i8] c"\09\1B[1m-u1%s--unknown-1 <value>\1B[m\0A\09\09Set unknown1 to <value> (unsigned 32-bit int)\0A\0A\00"
@.str.23 = [12 x i8] c"--unknown-1\00"
@.str.24 = [107 x i8] c"\09\1B[1m-n%s--game-name <name>\1B[m\0A\09\09Set game's name to <name> (string, max-chars: \22 GCM_GAME_NAME_LENGTH \22)\0A\0A\00"
@.str.25 = [12 x i8] c"--game-name\00"
@.str.26 = [113 x i8] c"\09\1B[1m-dmo%s--debug-monitor-offset <offset>\1B[m\0A\09\09Set the debug monitor offset to <offset> (unsigned 32-bit int)\0A\0A\00"
@.str.27 = [23 x i8] c"--debug-monitor-offset\00"
@.str.28 = [117 x i8] c"\09\1B[1m-dma%s--debug-monitor-address <address>\1B[m\0A\09\09Set the debug monitor address to <address> (unsigned 32-bit int)\0A\0A\00"
@.str.29 = [24 x i8] c"--debug-monitor-address\00"
@.str.30 = [115 x i8] c"\09\1B[1m-do%s--dol-offset <offset>\1B[m\0A\09\09Set the offset of the main executable DOL to <offset> (unsigned 32-bit int)\0A\0A\00"
@.str.31 = [13 x i8] c"--dol-offset\00"
@.str.32 = [99 x i8] c"\09\1B[1m-fo%s--fst-offset <offset>\1B[m\0A\09\09Set the offset of the FST to <offset> (unsigned 32-bit int)\0A\0A\00"
@.str.33 = [13 x i8] c"--fst-offset\00"
@.str.34 = [91 x i8] c"\09\1B[1m-fs%s--fst-size <size>\1B[m\0A\09\09Set the size of the FST to <size> (unsigned 32-bit int)\0A\0A\00"
@.str.35 = [11 x i8] c"--fst-size\00"
@.str.36 = [124 x i8] c"\09\1B[1m-fsm%s--fst-size-max <size>\1B[m\0A\09\09Set the size of FST Size-Max (for multi-disc games) to <size> (unsigned 32-bit int)\0A\0A\00"
@.str.37 = [15 x i8] c"--fst-size-max\00"
@.str.38 = [102 x i8] c"\09\1B[1m-up%s--user-position <position>\1B[m\0A\09\09Set the user position to <position> (unsigned 32-bit int)\0A\0A\00"
@.str.39 = [16 x i8] c"--user-position\00"
@.str.40 = [94 x i8] c"\09\1B[1m-ul%s--user-length <length>\1B[m\0A\09\09Set the user length to <length> (unsigned 32-bit int)\0A\0A\00"
@.str.41 = [14 x i8] c"--user-length\00"
@.str.42 = [83 x i8] c"\09\1B[1m-u2%s--unknown-2 <value>\1B[m\0A\09\09Set unknown2 to <value> (unsigned 32-bit int)\0A\0A\00"
@.str.43 = [12 x i8] c"--unknown-2\00"
define void @printExtendedUsage() {
%1 = tail call i32 (...) @printUsage()
%2 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%3 = icmp eq i64 %2, 0
%4 = select i1 %3, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%5 = tail call i32 @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str, i64 0, i64 0), i8* %4)
%6 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.5, i64 0, i64 0))
%7 = icmp eq i64 %6, 0
%8 = select i1 %7, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%9 = tail call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.4, i64 0, i64 0), i8* %8)
%10 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%11 = icmp eq i64 %10, 0
%12 = select i1 %11, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%13 = tail call i32 @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.6, i64 0, i64 0), i8* %12)
%14 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0))
%15 = icmp eq i64 %14, 0
%16 = select i1 %15, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%17 = tail call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.8, i64 0, i64 0), i8* %16)
%18 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i64 0, i64 0))
%19 = icmp eq i64 %18, 0
%20 = select i1 %19, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%21 = tail call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.10, i64 0, i64 0), i8* %20)
%22 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.13, i64 0, i64 0))
%23 = icmp eq i64 %22, 0
%24 = select i1 %23, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%25 = tail call i32 @printf(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.12, i64 0, i64 0), i8* %24)
%26 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i64 0, i64 0))
%27 = icmp eq i64 %26, 0
%28 = select i1 %27, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%29 = tail call i32 @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.14, i64 0, i64 0), i8* %28)
%30 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0))
%31 = icmp eq i64 %30, 0
%32 = select i1 %31, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%33 = tail call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.16, i64 0, i64 0), i8* %32)
%34 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.19, i64 0, i64 0))
%35 = icmp eq i64 %34, 0
%36 = select i1 %35, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%37 = tail call i32 @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.18, i64 0, i64 0), i8* %36)
%38 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
%39 = icmp eq i64 %38, 0
%40 = select i1 %39, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%41 = tail call i32 @printf(i8* getelementptr inbounds ([89 x i8], [89 x i8]* @.str.20, i64 0, i64 0), i8* %40)
%42 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.23, i64 0, i64 0))
%43 = icmp eq i64 %42, 0
%44 = select i1 %43, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%45 = tail call i32 @printf(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.22, i64 0, i64 0), i8* %44)
%46 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.25, i64 0, i64 0))
%47 = icmp eq i64 %46, 0
%48 = select i1 %47, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%49 = tail call i32 @printf(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.24, i64 0, i64 0), i8* %48)
%50 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.27, i64 0, i64 0))
%51 = icmp eq i64 %50, 0
%52 = select i1 %51, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%53 = tail call i32 @printf(i8* getelementptr inbounds ([113 x i8], [113 x i8]* @.str.26, i64 0, i64 0), i8* %52)
%54 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.29, i64 0, i64 0))
%55 = icmp eq i64 %54, 0
%56 = select i1 %55, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%57 = tail call i32 @printf(i8* getelementptr inbounds ([117 x i8], [117 x i8]* @.str.28, i64 0, i64 0), i8* %56)
%58 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.31, i64 0, i64 0))
%59 = icmp eq i64 %58, 0
%60 = select i1 %59, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%61 = tail call i32 @printf(i8* getelementptr inbounds ([115 x i8], [115 x i8]* @.str.30, i64 0, i64 0), i8* %60)
%62 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.33, i64 0, i64 0))
%63 = icmp eq i64 %62, 0
%64 = select i1 %63, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%65 = tail call i32 @printf(i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.32, i64 0, i64 0), i8* %64)
%66 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0))
%67 = icmp eq i64 %66, 0
%68 = select i1 %67, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%69 = tail call i32 @printf(i8* getelementptr inbounds ([91 x i8], [91 x i8]* @.str.34, i64 0, i64 0), i8* %68)
%70 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.37, i64 0, i64 0))
%71 = icmp eq i64 %70, 0
%72 = select i1 %71, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%73 = tail call i32 @printf(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.36, i64 0, i64 0), i8* %72)
%74 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.39, i64 0, i64 0))
%75 = icmp eq i64 %74, 0
%76 = select i1 %75, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%77 = tail call i32 @printf(i8* getelementptr inbounds ([102 x i8], [102 x i8]* @.str.38, i64 0, i64 0), i8* %76)
%78 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.41, i64 0, i64 0))
%79 = icmp eq i64 %78, 0
%80 = select i1 %79, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%81 = tail call i32 @printf(i8* getelementptr inbounds ([94 x i8], [94 x i8]* @.str.40, i64 0, i64 0), i8* %80)
%82 = tail call i64 @strcmp(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.43, i64 0, i64 0))
%83 = icmp eq i64 %82, 0
%84 = select i1 %83, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0)
%85 = tail call i32 @printf(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.42, i64 0, i64 0), i8* %84)
ret void
}