#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*/ sprintf(char *, char *, ...);
void GetError(int res, char st[]) {
  switch (res) {
  case 1:
    sprintf(st, "Error opening COM/USB Port / LAN Device\n");
    break;
  case 2:
    sprintf(st, "No IR Transceiver found (Reset not possible)\n");
    break;
  case 5:
    sprintf(st, "Could not get Transceiver Version\n");
    break;
  case 3:
    sprintf(st, "Wrong IR Transceiver SW Version. Minimum Version: %s\n",
            "2.18.04");
    break;
  case 4:
    sprintf(st, "Timeout (Connection lost ?)\n");
    break;
  case 17:
    sprintf(st, "Error opening USB Device / Device not found\n");
    break;
  case 11:
    sprintf(st, "Error opening Database file (Access rights ?)\n");
    break;
  case 12:
    sprintf(st, "Specified Remote Control [%%s] not found\n");
    break;
  case 13:
    sprintf(st, "Specified Remote Command [%%s] not found\n");
    break;
  case 14:
    sprintf(st, "Specified Remote Timing not found\n");
    break;
  case 15:
    sprintf(st, "Could not create new Remote file (Access rights ?)\n");
    break;
  case 16:
    sprintf(st, "Could not open Remote Database (No folder 'remotes' / Access "
                "rights ?)\n");
    break;
  case 19:
    sprintf(st,
            "Could not record Toggle Command (No commands yet learned ?)\n");
    break;
  case 20:
    sprintf(st, "Specified Include File not found\n");
    break;
  case 21:
    sprintf(st, "No Remote opened to learn new commands\n");
    break;
  case 22:
    sprintf(st, "Could not lock input file (USB / TTY)\n");
    break;
  case 23:
    sprintf(st, "Could not set serial parameters\n");
    break;
  case 100:
    sprintf(st, "Could not open IP socket\n");
    break;
  case 101:
    sprintf(st, "Could not bind to IP socket (Another server running ?)\n");
    break;
  case 24:
    sprintf(st, "Hotcode %%s-%%s not found\n");
    break;
  case 25:
    sprintf(st, "No timing learned for new commands\n");
    break;
  case 26:
    sprintf(st, "Illegal Temparature Command: %%s\n");
    break;
  case 27:
    sprintf(st, "Error opening translation table file\n");
    break;
  case 33:
    sprintf(st, "Specified Bus does not exist\n");
    break;
  case 30:
    sprintf(st, "Cannot get the Device Data for a macro\n");
    break;
  case 108:
    sprintf(st, "IR Code received from unknown device: %%s\n");
    break;
  case 107:
    sprintf(
        st,
        "Cannot bind to Web Port. Another Webserver running ? Try -no_web.\n");
    break;
  case 35:
    sprintf(st, "File already exists. Overwrite ?\n");
    break;
  case 41:
    sprintf(st, "No IRTrans Device with AUX RS232 port connected\n");
    break;
  case 36:
    sprintf(st, "Illegal CCF Code\n");
    break;
  case 45:
    sprintf(st, "Syntax Error in CCF Code\n");
    break;
  case 43:
    sprintf(st, "Wrong CCF Code length\n");
    break;
  case 46:
    sprintf(st, "WLAN Radio status can only be retrieved via USB\n");
    break;
  case 95:
    sprintf(st, "IR Code length > max. length - Code might not work\n");
    break;
  case 96:
    sprintf(st, "IR RAW Code length > max. length - Code might not work\n");
    break;
  case 97:
    sprintf(
        st,
        "Number of timings to large - use RAW Code - Code might not work\n");
    break;
  case 98:
    sprintf(
        st,
        "IR Code too long for large number of timings - Code might not work\n");
    break;
  default:
    sprintf(st, "Error %d\n", res);
    break;
  }
}


x86 assembly (clang, -O0):
<GetError>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x4(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x18(%rbp)
sub    $0x6b,%eax
ja     14a2 <GetError+0x392>
mov    -0x18(%rbp),%rax
lea    0xec1(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x10(%rbp),%rdi
lea    0x105d(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x106f(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1086(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1092(%rip),%rsi
lea    0x10c1(%rip),%rdx
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x10b2(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x10b8(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x10ce(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x10e6(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x10f9(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x110c(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1118(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1135(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1166(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x118c(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1197(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x11a8(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x11b8(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x11c2(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x11c5(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x11e6(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x11ea(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x11f7(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1202(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1211(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1218(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1229(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x123d(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1269(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1274(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x128e(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x1289(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x128c(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x128c(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x12a6(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x12c3(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x12e4(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
lea    0x130e(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
jmp    14b7 <GetError+0x3a7>
mov    -0x10(%rbp),%rdi
mov    -0x4(%rbp),%edx
lea    0x1338(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<GetError>:
mov    %edi,%edx
lea    -0x1(%rdx),%eax
cmp    $0x6b,%eax
ja     11be <GetError+0xae>
lea    0xedb(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movups 0x1094(%rip),%xmm0
movups %xmm0,0x19(%rsi)
movups 0x1080(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1065(%rip),%xmm0
movups %xmm0,(%rsi)
ret
movups 0x10a1(%rip),%xmm0
movups %xmm0,0x1e(%rsi)
movups 0x1088(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x106d(%rip),%xmm0
movups %xmm0,(%rsi)
ret
lea    0x10b3(%rip),%rax
lea    0x10e2(%rip),%rdx
mov    %rsi,%rdi
mov    %rax,%rsi
xor    %eax,%eax
jmp    1030 <sprintf@plt>
movups 0x10e3(%rip),%xmm0
movups %xmm0,0xd(%rsi)
movups 0x10cb(%rip),%xmm0
movups %xmm0,(%rsi)
ret
movups 0x106f(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1054(%rip),%xmm0
movups %xmm0,(%rsi)
movl   $0xa6e6f,0x1f(%rsi)
ret
lea    0x1623(%rip),%rax
mov    %rsi,%rdi
mov    %rax,%rsi
xor    %eax,%eax
jmp    1030 <sprintf@plt>
movups 0x10f8(%rip),%xmm0
movups %xmm0,0x1f(%rsi)
movups 0x10de(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x10c3(%rip),%xmm0
movups %xmm0,(%rsi)
ret
lea    0x10e7(%rip),%rax
jmp    15bc <GetError+0x4ac>
lea    0x1105(%rip),%rax
jmp    15bc <GetError+0x4ac>
movups 0x1133(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1118(%rip),%xmm0
movups %xmm0,(%rsi)
movl   $0xa646e,0x1f(%rsi)
ret
movups 0x1149(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x112e(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1113(%rip),%xmm0
movups %xmm0,(%rsi)
movl   $0xa293f,0x30(%rsi)
ret
movups 0x1165(%rip),%xmm0
movups %xmm0,0x30(%rsi)
movups 0x114a(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x112f(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1114(%rip),%xmm0
movups %xmm0,(%rsi)
movabs $0xa293f20737468,%rax
mov    %rax,0x40(%rsi)
ret
movups 0x1011(%rip),%xmm0
movups %xmm0,0x1d(%rsi)
movups 0xff9(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0xfde(%rip),%xmm0
movups %xmm0,(%rsi)
ret
movups 0x114f(%rip),%xmm0
movups %xmm0,0x2d(%rsi)
movups 0x1137(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x111c(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1101(%rip),%xmm0
movups %xmm0,(%rsi)
ret
movups 0x1143(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1128(%rip),%xmm0
jmp    13f5 <GetError+0x2e5>
movups 0x114e(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1133(%rip),%xmm0
movups %xmm0,(%rsi)
movabs $0xa73646e616d6d,%rax
mov    %rax,0x20(%rsi)
ret
movups 0x1152(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1137(%rip),%xmm0
movups %xmm0,(%rsi)
movabs $0xa29595454202f,%rax
mov    %rax,0x1f(%rsi)
ret
movups 0x1155(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x113a(%rip),%xmm0
movups %xmm0,(%rsi)
movb   $0x0,0x20(%rsi)
ret
lea    0x119e(%rip),%rax
jmp    15bc <GetError+0x4ac>
movups 0x11bd(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x11a2(%rip),%xmm0
movups %xmm0,(%rsi)
movl   $0xa7364,0x20(%rsi)
ret
lea    0x11b4(%rip),%rax
jmp    15bc <GetError+0x4ac>
movups 0x11da(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x11bf(%rip),%xmm0
movups %xmm0,(%rsi)
movabs $0xa656c69662065,%rax
mov    %rax,0x1e(%rsi)
ret
movups 0x11fa(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x11df(%rip),%xmm0
movups %xmm0,(%rsi)
movabs $0xa6f7263616d20,%rax
mov    %rax,0x20(%rsi)
ret
movups 0x11b6(%rip),%xmm0
movups %xmm0,0xe(%rsi)
movups 0x119d(%rip),%xmm0
movups %xmm0,(%rsi)
ret
movups 0x1256(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x123b(%rip),%xmm0
movups %xmm0,(%rsi)
movw   $0xa,0x20(%rsi)
ret
movups 0x127d(%rip),%xmm0
movups %xmm0,(%rsi)
movw   $0xa,0x10(%rsi)
ret
movups 0x125b(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x1240(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1225(%rip),%xmm0
jmp    147b <GetError+0x36b>
movups 0x1279(%rip),%xmm0
movups %xmm0,(%rsi)
movabs $0xa6874676e656c,%rax
mov    %rax,0xf(%rsi)
ret
movups 0x1250(%rip),%xmm0
movups %xmm0,0xa(%rsi)
movups 0x123b(%rip),%xmm0
movups %xmm0,(%rsi)
ret
movups 0x1281(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x1266(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x124b(%rip),%xmm0
movups %xmm0,(%rsi)
movb   $0x0,0x30(%rsi)
ret
movups 0x128d(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x1272(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1257(%rip),%xmm0
movups %xmm0,(%rsi)
movl   $0xa6b72,0x30(%rsi)
ret
movups 0x1299(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x127e(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1263(%rip),%xmm0
movups %xmm0,(%rsi)
movabs $0xa6b726f772074,%rax
mov    %rax,0x30(%rsi)
ret
movups 0x12b2(%rip),%xmm0
movups %xmm0,0x30(%rsi)
movups 0x1297(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x127c(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1261(%rip),%xmm0
movups %xmm0,(%rsi)
movb   $0x0,0x40(%rsi)
ret
movups 0x12c3(%rip),%xmm0
movups %xmm0,0x30(%rsi)
movups 0x12a8(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x128d(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1272(%rip),%xmm0
movups %xmm0,(%rsi)
movl   $0xa6b72,0x40(%rsi)
ret
movups 0xf69(%rip),%xmm0
movups %xmm0,0xa(%rsi)
movups 0xf54(%rip),%xmm0
movups %xmm0,(%rsi)
ret
movups 0xf83(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0xf68(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0xf4d(%rip),%xmm0
movups %xmm0,(%rsi)
movabs $0xa293f20676e69,%rax
mov    %rax,0x30(%rsi)
ret
movups 0x1094(%rip),%xmm0
movups %xmm0,0x30(%rsi)
movups 0x1079(%rip),%xmm0
movups %xmm0,0x20(%rsi)
movups 0x105e(%rip),%xmm0
movups %xmm0,0x10(%rsi)
movups 0x1043(%rip),%xmm0
movups %xmm0,(%rsi)
movl   $0xa2e62,0x3f(%rsi)
ret
lea    0x1006(%rip),%rax
mov    %rsi,%rdi
mov    %rax,%rsi
xor    %eax,%eax
jmp    1030 <sprintf@plt>

LLVM IR (-O0):
@.str = [41 x i8] c"Error opening COM/USB Port / LAN Device\0A\00"
@.str.1 = [46 x i8] c"No IR Transceiver found (Reset not possible)\0A\00"
@.str.2 = [35 x i8] c"Could not get Transceiver Version\0A\00"
@.str.3 = [54 x i8] c"Wrong IR Transceiver SW Version. Minimum Version: %s\0A\00"
@.str.4 = [8 x i8] c"2.18.04\00"
@.str.5 = [29 x i8] c"Timeout (Connection lost ?)\0A\00"
@.str.6 = [45 x i8] c"Error opening USB Device / Device not found\0A\00"
@.str.7 = [47 x i8] c"Error opening Database file (Access rights ?)\0A\00"
@.str.8 = [42 x i8] c"Specified Remote Control [%%s] not found\0A\00"
@.str.9 = [42 x i8] c"Specified Remote Command [%%s] not found\0A\00"
@.str.10 = [35 x i8] c"Specified Remote Timing not found\0A\00"
@.str.11 = [52 x i8] c"Could not create new Remote file (Access rights ?)\0A\00"
@.str.12 = [72 x i8] c"Could not open Remote Database (No folder 'remotes' / Access rights ?)\0A\00"
@.str.13 = [61 x i8] c"Could not record Toggle Command (No commands yet learned ?)\0A\00"
@.str.14 = [34 x i8] c"Specified Include File not found\0A\00"
@.str.15 = [40 x i8] c"No Remote opened to learn new commands\0A\00"
@.str.16 = [39 x i8] c"Could not lock input file (USB / TTY)\0A\00"
@.str.17 = [33 x i8] c"Could not set serial parameters\0A\00"
@.str.18 = [26 x i8] c"Could not open IP socket\0A\00"
@.str.19 = [56 x i8] c"Could not bind to IP socket (Another server running ?)\0A\00"
@.str.20 = [27 x i8] c"Hotcode %%s-%%s not found\0A\00"
@.str.21 = [36 x i8] c"No timing learned for new commands\0A\00"
@.str.22 = [34 x i8] c"Illegal Temparature Command: %%s\0A\00"
@.str.23 = [38 x i8] c"Error opening translation table file\0A\00"
@.str.24 = [30 x i8] c"Specified Bus does not exist\0A\00"
@.str.25 = [40 x i8] c"Cannot get the Device Data for a macro\0A\00"
@.str.26 = [43 x i8] c"IR Code received from unknown device: %%s\0A\00"
@.str.27 = [67 x i8] c"Cannot bind to Web Port. Another Webserver running ? Try -no_web.\0A\00"
@.str.28 = [34 x i8] c"File already exists. Overwrite ?\0A\00"
@.str.29 = [49 x i8] c"No IRTrans Device with AUX RS232 port connected\0A\00"
@.str.30 = [18 x i8] c"Illegal CCF Code\0A\00"
@.str.31 = [26 x i8] c"Syntax Error in CCF Code\0A\00"
@.str.32 = [23 x i8] c"Wrong CCF Code length\0A\00"
@.str.33 = [49 x i8] c"WLAN Radio status can only be retrieved via USB\0A\00"
@.str.34 = [52 x i8] c"IR Code length > max. length - Code might not work\0A\00"
@.str.35 = [56 x i8] c"IR RAW Code length > max. length - Code might not work\0A\00"
@.str.36 = [65 x i8] c"Number of timings to large - use RAW Code - Code might not work\0A\00"
@.str.37 = [68 x i8] c"IR Code too long for large number of timings - Code might not work\0A\00"
@.str.38 = [10 x i8] c"Error %d\0A\00"
define void @GetError(i32 %0, i8* %1) {
%3 = alloca i32
%4 = alloca i8*
store i32 %0, i32* %3
store i8* %1, i8** %4
%5 = load i32, i32* %3
switch i32 %5, label %117 [
i32 1, label %6
i32 2, label %9
i32 5, label %12
i32 3, label %15
i32 4, label %18
i32 17, label %21
i32 11, label %24
i32 12, label %27
i32 13, label %30
i32 14, label %33
i32 15, label %36
i32 16, label %39
i32 19, label %42
i32 20, label %45
i32 21, label %48
i32 22, label %51
i32 23, label %54
i32 100, label %57
i32 101, label %60
i32 24, label %63
i32 25, label %66
i32 26, label %69
i32 27, label %72
i32 33, label %75
i32 30, label %78
i32 108, label %81
i32 107, label %84
i32 35, label %87
i32 41, label %90
i32 36, label %93
i32 45, label %96
i32 43, label %99
i32 46, label %102
i32 95, label %105
i32 96, label %108
i32 97, label %111
i32 98, label %114
]
6: ; preds = %2
%7 = load i8*, i8** %4
%8 = call i32 (i8*, i8*, ...) @sprintf(i8* %7, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str, i64 0, i64 0))
br label %121
9: ; preds = %2
%10 = load i8*, i8** %4
%11 = call i32 (i8*, i8*, ...) @sprintf(i8* %10, i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.1, i64 0, i64 0))
br label %121
12: ; preds = %2
%13 = load i8*, i8** %4
%14 = call i32 (i8*, i8*, ...) @sprintf(i8* %13, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.2, i64 0, i64 0))
br label %121
15: ; preds = %2
%16 = load i8*, i8** %4
%17 = call i32 (i8*, i8*, ...) @sprintf(i8* %16, i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4, i64 0, i64 0))
br label %121
18: ; preds = %2
%19 = load i8*, i8** %4
%20 = call i32 (i8*, i8*, ...) @sprintf(i8* %19, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.5, i64 0, i64 0))
br label %121
21: ; preds = %2
%22 = load i8*, i8** %4
%23 = call i32 (i8*, i8*, ...) @sprintf(i8* %22, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.6, i64 0, i64 0))
br label %121
24: ; preds = %2
%25 = load i8*, i8** %4
%26 = call i32 (i8*, i8*, ...) @sprintf(i8* %25, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.7, i64 0, i64 0))
br label %121
27: ; preds = %2
%28 = load i8*, i8** %4
%29 = call i32 (i8*, i8*, ...) @sprintf(i8* %28, i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.8, i64 0, i64 0))
br label %121
30: ; preds = %2
%31 = load i8*, i8** %4
%32 = call i32 (i8*, i8*, ...) @sprintf(i8* %31, i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.9, i64 0, i64 0))
br label %121
33: ; preds = %2
%34 = load i8*, i8** %4
%35 = call i32 (i8*, i8*, ...) @sprintf(i8* %34, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.10, i64 0, i64 0))
br label %121
36: ; preds = %2
%37 = load i8*, i8** %4
%38 = call i32 (i8*, i8*, ...) @sprintf(i8* %37, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.11, i64 0, i64 0))
br label %121
39: ; preds = %2
%40 = load i8*, i8** %4
%41 = call i32 (i8*, i8*, ...) @sprintf(i8* %40, i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.12, i64 0, i64 0))
br label %121
42: ; preds = %2
%43 = load i8*, i8** %4
%44 = call i32 (i8*, i8*, ...) @sprintf(i8* %43, i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.13, i64 0, i64 0))
br label %121
45: ; preds = %2
%46 = load i8*, i8** %4
%47 = call i32 (i8*, i8*, ...) @sprintf(i8* %46, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.14, i64 0, i64 0))
br label %121
48: ; preds = %2
%49 = load i8*, i8** %4
%50 = call i32 (i8*, i8*, ...) @sprintf(i8* %49, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.15, i64 0, i64 0))
br label %121
51: ; preds = %2
%52 = load i8*, i8** %4
%53 = call i32 (i8*, i8*, ...) @sprintf(i8* %52, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.16, i64 0, i64 0))
br label %121
54: ; preds = %2
%55 = load i8*, i8** %4
%56 = call i32 (i8*, i8*, ...) @sprintf(i8* %55, i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.17, i64 0, i64 0))
br label %121
57: ; preds = %2
%58 = load i8*, i8** %4
%59 = call i32 (i8*, i8*, ...) @sprintf(i8* %58, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.18, i64 0, i64 0))
br label %121
60: ; preds = %2
%61 = load i8*, i8** %4
%62 = call i32 (i8*, i8*, ...) @sprintf(i8* %61, i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.19, i64 0, i64 0))
br label %121
63: ; preds = %2
%64 = load i8*, i8** %4
%65 = call i32 (i8*, i8*, ...) @sprintf(i8* %64, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.20, i64 0, i64 0))
br label %121
66: ; preds = %2
%67 = load i8*, i8** %4
%68 = call i32 (i8*, i8*, ...) @sprintf(i8* %67, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.21, i64 0, i64 0))
br label %121
69: ; preds = %2
%70 = load i8*, i8** %4
%71 = call i32 (i8*, i8*, ...) @sprintf(i8* %70, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.22, i64 0, i64 0))
br label %121
72: ; preds = %2
%73 = load i8*, i8** %4
%74 = call i32 (i8*, i8*, ...) @sprintf(i8* %73, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.23, i64 0, i64 0))
br label %121
75: ; preds = %2
%76 = load i8*, i8** %4
%77 = call i32 (i8*, i8*, ...) @sprintf(i8* %76, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.24, i64 0, i64 0))
br label %121
78: ; preds = %2
%79 = load i8*, i8** %4
%80 = call i32 (i8*, i8*, ...) @sprintf(i8* %79, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.25, i64 0, i64 0))
br label %121
81: ; preds = %2
%82 = load i8*, i8** %4
%83 = call i32 (i8*, i8*, ...) @sprintf(i8* %82, i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.26, i64 0, i64 0))
br label %121
84: ; preds = %2
%85 = load i8*, i8** %4
%86 = call i32 (i8*, i8*, ...) @sprintf(i8* %85, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.27, i64 0, i64 0))
br label %121
87: ; preds = %2
%88 = load i8*, i8** %4
%89 = call i32 (i8*, i8*, ...) @sprintf(i8* %88, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.28, i64 0, i64 0))
br label %121
90: ; preds = %2
%91 = load i8*, i8** %4
%92 = call i32 (i8*, i8*, ...) @sprintf(i8* %91, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.29, i64 0, i64 0))
br label %121
93: ; preds = %2
%94 = load i8*, i8** %4
%95 = call i32 (i8*, i8*, ...) @sprintf(i8* %94, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.30, i64 0, i64 0))
br label %121
96: ; preds = %2
%97 = load i8*, i8** %4
%98 = call i32 (i8*, i8*, ...) @sprintf(i8* %97, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.31, i64 0, i64 0))
br label %121
99: ; preds = %2
%100 = load i8*, i8** %4
%101 = call i32 (i8*, i8*, ...) @sprintf(i8* %100, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.32, i64 0, i64 0))
br label %121
102: ; preds = %2
%103 = load i8*, i8** %4
%104 = call i32 (i8*, i8*, ...) @sprintf(i8* %103, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.33, i64 0, i64 0))
br label %121
105: ; preds = %2
%106 = load i8*, i8** %4
%107 = call i32 (i8*, i8*, ...) @sprintf(i8* %106, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.34, i64 0, i64 0))
br label %121
108: ; preds = %2
%109 = load i8*, i8** %4
%110 = call i32 (i8*, i8*, ...) @sprintf(i8* %109, i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.35, i64 0, i64 0))
br label %121
111: ; preds = %2
%112 = load i8*, i8** %4
%113 = call i32 (i8*, i8*, ...) @sprintf(i8* %112, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.36, i64 0, i64 0))
br label %121
114: ; preds = %2
%115 = load i8*, i8** %4
%116 = call i32 (i8*, i8*, ...) @sprintf(i8* %115, i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.37, i64 0, i64 0))
br label %121
117: ; preds = %2
%118 = load i8*, i8** %4
%119 = load i32, i32* %3
%120 = call i32 (i8*, i8*, ...) @sprintf(i8* %118, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.38, i64 0, i64 0), i32 %119)
br label %121
121: ; preds = %117, %114, %111, %108, %105, %102, %99, %96, %93, %90, %87, %84, %81, %78, %75, %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %9, %6
ret void
}

LLVM IR (-O2):
@.str = [41 x i8] c"Error opening COM/USB Port / LAN Device\0A\00"
@.str.1 = [46 x i8] c"No IR Transceiver found (Reset not possible)\0A\00"
@.str.2 = [35 x i8] c"Could not get Transceiver Version\0A\00"
@.str.3 = [54 x i8] c"Wrong IR Transceiver SW Version. Minimum Version: %s\0A\00"
@.str.4 = [8 x i8] c"2.18.04\00"
@.str.5 = [29 x i8] c"Timeout (Connection lost ?)\0A\00"
@.str.6 = [45 x i8] c"Error opening USB Device / Device not found\0A\00"
@.str.7 = [47 x i8] c"Error opening Database file (Access rights ?)\0A\00"
@.str.8 = [42 x i8] c"Specified Remote Control [%%s] not found\0A\00"
@.str.9 = [42 x i8] c"Specified Remote Command [%%s] not found\0A\00"
@.str.10 = [35 x i8] c"Specified Remote Timing not found\0A\00"
@.str.11 = [52 x i8] c"Could not create new Remote file (Access rights ?)\0A\00"
@.str.12 = [72 x i8] c"Could not open Remote Database (No folder 'remotes' / Access rights ?)\0A\00"
@.str.13 = [61 x i8] c"Could not record Toggle Command (No commands yet learned ?)\0A\00"
@.str.14 = [34 x i8] c"Specified Include File not found\0A\00"
@.str.15 = [40 x i8] c"No Remote opened to learn new commands\0A\00"
@.str.16 = [39 x i8] c"Could not lock input file (USB / TTY)\0A\00"
@.str.17 = [33 x i8] c"Could not set serial parameters\0A\00"
@.str.18 = [26 x i8] c"Could not open IP socket\0A\00"
@.str.19 = [56 x i8] c"Could not bind to IP socket (Another server running ?)\0A\00"
@.str.20 = [27 x i8] c"Hotcode %%s-%%s not found\0A\00"
@.str.21 = [36 x i8] c"No timing learned for new commands\0A\00"
@.str.22 = [34 x i8] c"Illegal Temparature Command: %%s\0A\00"
@.str.23 = [38 x i8] c"Error opening translation table file\0A\00"
@.str.24 = [30 x i8] c"Specified Bus does not exist\0A\00"
@.str.25 = [40 x i8] c"Cannot get the Device Data for a macro\0A\00"
@.str.26 = [43 x i8] c"IR Code received from unknown device: %%s\0A\00"
@.str.27 = [67 x i8] c"Cannot bind to Web Port. Another Webserver running ? Try -no_web.\0A\00"
@.str.28 = [34 x i8] c"File already exists. Overwrite ?\0A\00"
@.str.29 = [49 x i8] c"No IRTrans Device with AUX RS232 port connected\0A\00"
@.str.30 = [18 x i8] c"Illegal CCF Code\0A\00"
@.str.31 = [26 x i8] c"Syntax Error in CCF Code\0A\00"
@.str.32 = [23 x i8] c"Wrong CCF Code length\0A\00"
@.str.33 = [49 x i8] c"WLAN Radio status can only be retrieved via USB\0A\00"
@.str.34 = [52 x i8] c"IR Code length > max. length - Code might not work\0A\00"
@.str.35 = [56 x i8] c"IR RAW Code length > max. length - Code might not work\0A\00"
@.str.36 = [65 x i8] c"Number of timings to large - use RAW Code - Code might not work\0A\00"
@.str.37 = [68 x i8] c"IR Code too long for large number of timings - Code might not work\0A\00"
@.str.38 = [10 x i8] c"Error %d\0A\00"
define void @GetError(i32 %0, i8* writeonly %1) {
switch i32 %0, label %46 [
i32 1, label %3
i32 2, label %4
i32 5, label %5
i32 3, label %6
i32 4, label %8
i32 17, label %9
i32 11, label %10
i32 12, label %11
i32 13, label %13
i32 14, label %15
i32 15, label %16
i32 16, label %17
i32 19, label %18
i32 20, label %19
i32 21, label %20
i32 22, label %21
i32 23, label %22
i32 100, label %23
i32 101, label %24
i32 24, label %25
i32 25, label %27
i32 26, label %28
i32 27, label %30
i32 33, label %31
i32 30, label %32
i32 108, label %33
i32 107, label %35
i32 35, label %36
i32 41, label %37
i32 36, label %38
i32 45, label %39
i32 43, label %40
i32 46, label %41
i32 95, label %42
i32 96, label %43
i32 97, label %44
i32 98, label %45
]
3: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(41) %1, i8* align 1 dereferenceable(41) getelementptr inbounds ([41 x i8], [41 x i8]* @.str, i64 0, i64 0), i64 41, i1 false)
br label %48
4: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(46) %1, i8* align 1 dereferenceable(46) getelementptr inbounds ([46 x i8], [46 x i8]* @.str.1, i64 0, i64 0), i64 46, i1 false)
br label %48
5: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(35) %1, i8* align 1 dereferenceable(35) getelementptr inbounds ([35 x i8], [35 x i8]* @.str.2, i64 0, i64 0), i64 35, i1 false)
br label %48
6: ; preds = %2
%7 = tail call i32 (i8*, i8*, ...) @sprintf(i8* dereferenceable(1) %1, i8* dereferenceable(1) getelementptr inbounds ([54 x i8], [54 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4, i64 0, i64 0))
br label %48
8: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(29) %1, i8* align 1 dereferenceable(29) getelementptr inbounds ([29 x i8], [29 x i8]* @.str.5, i64 0, i64 0), i64 29, i1 false)
br label %48
9: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(45) %1, i8* align 1 dereferenceable(45) getelementptr inbounds ([45 x i8], [45 x i8]* @.str.6, i64 0, i64 0), i64 45, i1 false)
br label %48
10: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(47) %1, i8* align 1 dereferenceable(47) getelementptr inbounds ([47 x i8], [47 x i8]* @.str.7, i64 0, i64 0), i64 47, i1 false)
br label %48
11: ; preds = %2
%12 = tail call i32 (i8*, i8*, ...) @sprintf(i8* dereferenceable(1) %1, i8* dereferenceable(1) getelementptr inbounds ([42 x i8], [42 x i8]* @.str.8, i64 0, i64 0))
br label %48
13: ; preds = %2
%14 = tail call i32 (i8*, i8*, ...) @sprintf(i8* dereferenceable(1) %1, i8* dereferenceable(1) getelementptr inbounds ([42 x i8], [42 x i8]* @.str.9, i64 0, i64 0))
br label %48
15: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(35) %1, i8* align 1 dereferenceable(35) getelementptr inbounds ([35 x i8], [35 x i8]* @.str.10, i64 0, i64 0), i64 35, i1 false)
br label %48
16: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(52) %1, i8* align 1 dereferenceable(52) getelementptr inbounds ([52 x i8], [52 x i8]* @.str.11, i64 0, i64 0), i64 52, i1 false)
br label %48
17: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(72) %1, i8* align 1 dereferenceable(72) getelementptr inbounds ([72 x i8], [72 x i8]* @.str.12, i64 0, i64 0), i64 72, i1 false)
br label %48
18: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(61) %1, i8* align 1 dereferenceable(61) getelementptr inbounds ([61 x i8], [61 x i8]* @.str.13, i64 0, i64 0), i64 61, i1 false)
br label %48
19: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(34) %1, i8* align 1 dereferenceable(34) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.14, i64 0, i64 0), i64 34, i1 false)
br label %48
20: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(40) %1, i8* align 1 dereferenceable(40) getelementptr inbounds ([40 x i8], [40 x i8]* @.str.15, i64 0, i64 0), i64 40, i1 false)
br label %48
21: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(39) %1, i8* align 1 dereferenceable(39) getelementptr inbounds ([39 x i8], [39 x i8]* @.str.16, i64 0, i64 0), i64 39, i1 false)
br label %48
22: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(33) %1, i8* align 1 dereferenceable(33) getelementptr inbounds ([33 x i8], [33 x i8]* @.str.17, i64 0, i64 0), i64 33, i1 false)
br label %48
23: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(26) %1, i8* align 1 dereferenceable(26) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.18, i64 0, i64 0), i64 26, i1 false)
br label %48
24: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(56) %1, i8* align 1 dereferenceable(56) getelementptr inbounds ([56 x i8], [56 x i8]* @.str.19, i64 0, i64 0), i64 56, i1 false)
br label %48
25: ; preds = %2
%26 = tail call i32 (i8*, i8*, ...) @sprintf(i8* dereferenceable(1) %1, i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.20, i64 0, i64 0))
br label %48
27: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(36) %1, i8* align 1 dereferenceable(36) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.21, i64 0, i64 0), i64 36, i1 false)
br label %48
28: ; preds = %2
%29 = tail call i32 (i8*, i8*, ...) @sprintf(i8* dereferenceable(1) %1, i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.22, i64 0, i64 0))
br label %48
30: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(38) %1, i8* align 1 dereferenceable(38) getelementptr inbounds ([38 x i8], [38 x i8]* @.str.23, i64 0, i64 0), i64 38, i1 false)
br label %48
31: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(30) %1, i8* align 1 dereferenceable(30) getelementptr inbounds ([30 x i8], [30 x i8]* @.str.24, i64 0, i64 0), i64 30, i1 false)
br label %48
32: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(40) %1, i8* align 1 dereferenceable(40) getelementptr inbounds ([40 x i8], [40 x i8]* @.str.25, i64 0, i64 0), i64 40, i1 false)
br label %48
33: ; preds = %2
%34 = tail call i32 (i8*, i8*, ...) @sprintf(i8* dereferenceable(1) %1, i8* dereferenceable(1) getelementptr inbounds ([43 x i8], [43 x i8]* @.str.26, i64 0, i64 0))
br label %48
35: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(67) %1, i8* align 1 dereferenceable(67) getelementptr inbounds ([67 x i8], [67 x i8]* @.str.27, i64 0, i64 0), i64 67, i1 false)
br label %48
36: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(34) %1, i8* align 1 dereferenceable(34) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.28, i64 0, i64 0), i64 34, i1 false)
br label %48
37: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(49) %1, i8* align 1 dereferenceable(49) getelementptr inbounds ([49 x i8], [49 x i8]* @.str.29, i64 0, i64 0), i64 49, i1 false)
br label %48
38: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(18) %1, i8* align 1 dereferenceable(18) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.30, i64 0, i64 0), i64 18, i1 false)
br label %48
39: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(26) %1, i8* align 1 dereferenceable(26) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.31, i64 0, i64 0), i64 26, i1 false)
br label %48
40: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(23) %1, i8* align 1 dereferenceable(23) getelementptr inbounds ([23 x i8], [23 x i8]* @.str.32, i64 0, i64 0), i64 23, i1 false)
br label %48
41: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(49) %1, i8* align 1 dereferenceable(49) getelementptr inbounds ([49 x i8], [49 x i8]* @.str.33, i64 0, i64 0), i64 49, i1 false)
br label %48
42: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(52) %1, i8* align 1 dereferenceable(52) getelementptr inbounds ([52 x i8], [52 x i8]* @.str.34, i64 0, i64 0), i64 52, i1 false)
br label %48
43: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(56) %1, i8* align 1 dereferenceable(56) getelementptr inbounds ([56 x i8], [56 x i8]* @.str.35, i64 0, i64 0), i64 56, i1 false)
br label %48
44: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(65) %1, i8* align 1 dereferenceable(65) getelementptr inbounds ([65 x i8], [65 x i8]* @.str.36, i64 0, i64 0), i64 65, i1 false)
br label %48
45: ; preds = %2
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 dereferenceable(68) %1, i8* align 1 dereferenceable(68) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.37, i64 0, i64 0), i64 68, i1 false)
br label %48
46: ; preds = %2
%47 = tail call i32 (i8*, i8*, ...) @sprintf(i8* dereferenceable(1) %1, i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.38, i64 0, i64 0), i32 %0)
br label %48
48: ; preds = %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %33, %32, %31, %30, %28, %27, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %13, %11, %10, %9, %8, %6, %5, %4, %3
ret void
}