#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*/ string_append(int, char *, char *);
void handle_arm(int which, int part, char *model_string) {
  switch (part) {
  case 0x810:
    string_append(which, "ARM810", model_string);
    break;
  case 0x920:
    string_append(which, "ARM920", model_string);
    break;
  case 0x922:
    string_append(which, "ARM922", model_string);
    break;
  case 0x926:
    string_append(which, "ARM926", model_string);
    break;
  case 0x940:
    string_append(which, "ARM940", model_string);
    break;
  case 0x946:
    string_append(which, "ARM946", model_string);
    break;
  case 0x966:
    string_append(which, "ARM966", model_string);
    break;
  case 0xa20:
    string_append(which, "ARM1020", model_string);
    break;
  case 0xa22:
    string_append(which, "ARM1022", model_string);
    break;
  case 0xa26:
    string_append(which, "ARM1026", model_string);
    break;
  case 0xb02:
    string_append(which, "ARM11 MPCore", model_string);
    break;
  case 0xb36:
    string_append(which, "ARM1136", model_string);
    break;
  case 0xb56:
    string_append(which, "ARM1156", model_string);
    break;
  case 0xb76:
    string_append(which, "ARM1176", model_string);
    break;
  case 0xc05:
    string_append(which, "Cortex-A5", model_string);
    break;
  case 0xc07:
    string_append(which, "Cortex-A7", model_string);
    break;
  case 0xc08:
    string_append(which, "Cortex-A8", model_string);
    break;
  case 0xc09:
    string_append(which, "Cortex-A9", model_string);
    break;
  case 0xc0d:
    string_append(which, "Cortex-A17", model_string);
    break;
  case 0xc0e:
    string_append(which, "Cortex-A17", model_string);
    break;
  case 0xc0f:
    string_append(which, "Cortex-A15", model_string);
    break;
  case 0xc14:
    string_append(which, "Cortex-R4", model_string);
    break;
  case 0xc15:
    string_append(which, "Cortex-R5", model_string);
    break;
  case 0xc17:
    string_append(which, "Cortex-R7", model_string);
    break;
  case 0xc18:
    string_append(which, "Cortex-R8", model_string);
    break;
  case 0xc20:
    string_append(which, "Cortex-M0", model_string);
    break;
  case 0xc21:
    string_append(which, "Cortex-M1", model_string);
    break;
  case 0xc23:
    string_append(which, "Cortex-M3", model_string);
    break;
  case 0xc24:
    string_append(which, "Cortex-M4", model_string);
    break;
  case 0xc27:
    string_append(which, "Cortex-M7", model_string);
    break;
  case 0xc60:
    string_append(which, "Cortex-M0+", model_string);
    break;
  case 0xd00:
    string_append(which, "Foundation", model_string);
    break;
  case 0xd01:
    string_append(which, "Cortex-A32", model_string);
    break;
  case 0xd03:
    string_append(which, "Cortex-A53", model_string);
    break;
  case 0xd04:
    string_append(which, "Cortex-A35", model_string);
    break;
  case 0xd05:
    string_append(which, "Cortex-A55", model_string);
    break;
  case 0xd07:
    string_append(which, "Cortex-A57", model_string);
    break;
  case 0xd08:
    string_append(which, "Cortex-A72", model_string);
    break;
  case 0xd09:
    string_append(which, "Cortex-A73", model_string);
    break;
  case 0xd0a:
    string_append(which, "Cortex-A75", model_string);
    break;
  case 0xd0b:
    string_append(which, "Cortex-A76", model_string);
    break;
  case 0xd0c:
    string_append(which, "Neoverse-N1", model_string);
    break;
  case 0xd13:
    string_append(which, "Cortex-R52", model_string);
    break;
  case 0xd20:
    string_append(which, "Cortex-M23", model_string);
    break;
  case 0xd21:
    string_append(which, "Cortex-M33", model_string);
    break;
  case 0xd4a:
    string_append(which, "Neoverse-E1", model_string);
    break;
  default:
    string_append(which, "Unknown", model_string);
    break;
  }
}


x86 assembly (clang, -O0):
<handle_arm>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %rdx,-0x10(%rbp)
mov    -0x8(%rbp),%eax
mov    %eax,-0x14(%rbp)
sub    $0x810,%eax
je     148f <handle_arm+0x37f>
jmp    1138 <handle_arm+0x28>
mov    -0x14(%rbp),%eax
sub    $0x920,%eax
je     14a7 <handle_arm+0x397>
jmp    114b <handle_arm+0x3b>
mov    -0x14(%rbp),%eax
sub    $0x922,%eax
je     14bf <handle_arm+0x3af>
jmp    115e <handle_arm+0x4e>
mov    -0x14(%rbp),%eax
sub    $0x926,%eax
je     14d7 <handle_arm+0x3c7>
jmp    1171 <handle_arm+0x61>
mov    -0x14(%rbp),%eax
sub    $0x940,%eax
je     14ef <handle_arm+0x3df>
jmp    1184 <handle_arm+0x74>
mov    -0x14(%rbp),%eax
sub    $0x946,%eax
je     1507 <handle_arm+0x3f7>
jmp    1197 <handle_arm+0x87>
mov    -0x14(%rbp),%eax
sub    $0x966,%eax
je     151f <handle_arm+0x40f>
jmp    11aa <handle_arm+0x9a>
mov    -0x14(%rbp),%eax
sub    $0xa20,%eax
je     1537 <handle_arm+0x427>
jmp    11bd <handle_arm+0xad>
mov    -0x14(%rbp),%eax
sub    $0xa22,%eax
je     154f <handle_arm+0x43f>
jmp    11d0 <handle_arm+0xc0>
mov    -0x14(%rbp),%eax
sub    $0xa26,%eax
je     1567 <handle_arm+0x457>
jmp    11e3 <handle_arm+0xd3>
mov    -0x14(%rbp),%eax
sub    $0xb02,%eax
je     157f <handle_arm+0x46f>
jmp    11f6 <handle_arm+0xe6>
mov    -0x14(%rbp),%eax
sub    $0xb36,%eax
je     1597 <handle_arm+0x487>
jmp    1209 <handle_arm+0xf9>
mov    -0x14(%rbp),%eax
sub    $0xb56,%eax
je     15af <handle_arm+0x49f>
jmp    121c <handle_arm+0x10c>
mov    -0x14(%rbp),%eax
sub    $0xb76,%eax
je     15c7 <handle_arm+0x4b7>
jmp    122f <handle_arm+0x11f>
mov    -0x14(%rbp),%eax
sub    $0xc05,%eax
je     15df <handle_arm+0x4cf>
jmp    1242 <handle_arm+0x132>
mov    -0x14(%rbp),%eax
sub    $0xc07,%eax
je     15f7 <handle_arm+0x4e7>
jmp    1255 <handle_arm+0x145>
mov    -0x14(%rbp),%eax
sub    $0xc08,%eax
je     160f <handle_arm+0x4ff>
jmp    1268 <handle_arm+0x158>
mov    -0x14(%rbp),%eax
sub    $0xc09,%eax
je     1627 <handle_arm+0x517>
jmp    127b <handle_arm+0x16b>
mov    -0x14(%rbp),%eax
sub    $0xc0d,%eax
je     163f <handle_arm+0x52f>
jmp    128e <handle_arm+0x17e>
mov    -0x14(%rbp),%eax
sub    $0xc0e,%eax
je     1657 <handle_arm+0x547>
jmp    12a1 <handle_arm+0x191>
mov    -0x14(%rbp),%eax
sub    $0xc0f,%eax
je     166f <handle_arm+0x55f>
jmp    12b4 <handle_arm+0x1a4>
mov    -0x14(%rbp),%eax
sub    $0xc14,%eax
je     1687 <handle_arm+0x577>
jmp    12c7 <handle_arm+0x1b7>
mov    -0x14(%rbp),%eax
sub    $0xc15,%eax
je     169f <handle_arm+0x58f>
jmp    12da <handle_arm+0x1ca>
mov    -0x14(%rbp),%eax
sub    $0xc17,%eax
je     16b7 <handle_arm+0x5a7>
jmp    12ed <handle_arm+0x1dd>
mov    -0x14(%rbp),%eax
sub    $0xc18,%eax
je     16cf <handle_arm+0x5bf>
jmp    1300 <handle_arm+0x1f0>
mov    -0x14(%rbp),%eax
sub    $0xc20,%eax
je     16e7 <handle_arm+0x5d7>
jmp    1313 <handle_arm+0x203>
mov    -0x14(%rbp),%eax
sub    $0xc21,%eax
je     16ff <handle_arm+0x5ef>
jmp    1326 <handle_arm+0x216>
mov    -0x14(%rbp),%eax
sub    $0xc23,%eax
je     1717 <handle_arm+0x607>
jmp    1339 <handle_arm+0x229>
mov    -0x14(%rbp),%eax
sub    $0xc24,%eax
je     172f <handle_arm+0x61f>
jmp    134c <handle_arm+0x23c>
mov    -0x14(%rbp),%eax
sub    $0xc27,%eax
je     1747 <handle_arm+0x637>
jmp    135f <handle_arm+0x24f>
mov    -0x14(%rbp),%eax
sub    $0xc60,%eax
je     175f <handle_arm+0x64f>
jmp    1372 <handle_arm+0x262>
mov    -0x14(%rbp),%eax
sub    $0xd00,%eax
je     1777 <handle_arm+0x667>
jmp    1385 <handle_arm+0x275>
mov    -0x14(%rbp),%eax
sub    $0xd01,%eax
je     178f <handle_arm+0x67f>
jmp    1398 <handle_arm+0x288>
mov    -0x14(%rbp),%eax
sub    $0xd03,%eax
je     17a7 <handle_arm+0x697>
jmp    13ab <handle_arm+0x29b>
mov    -0x14(%rbp),%eax
sub    $0xd04,%eax
je     17bf <handle_arm+0x6af>
jmp    13be <handle_arm+0x2ae>
mov    -0x14(%rbp),%eax
sub    $0xd05,%eax
je     17d7 <handle_arm+0x6c7>
jmp    13d1 <handle_arm+0x2c1>
mov    -0x14(%rbp),%eax
sub    $0xd07,%eax
je     17ef <handle_arm+0x6df>
jmp    13e4 <handle_arm+0x2d4>
mov    -0x14(%rbp),%eax
sub    $0xd08,%eax
je     1807 <handle_arm+0x6f7>
jmp    13f7 <handle_arm+0x2e7>
mov    -0x14(%rbp),%eax
sub    $0xd09,%eax
je     181f <handle_arm+0x70f>
jmp    140a <handle_arm+0x2fa>
mov    -0x14(%rbp),%eax
sub    $0xd0a,%eax
je     1837 <handle_arm+0x727>
jmp    141d <handle_arm+0x30d>
mov    -0x14(%rbp),%eax
sub    $0xd0b,%eax
je     184f <handle_arm+0x73f>
jmp    1430 <handle_arm+0x320>
mov    -0x14(%rbp),%eax
sub    $0xd0c,%eax
je     1867 <handle_arm+0x757>
jmp    1443 <handle_arm+0x333>
mov    -0x14(%rbp),%eax
sub    $0xd13,%eax
je     187f <handle_arm+0x76f>
jmp    1456 <handle_arm+0x346>
mov    -0x14(%rbp),%eax
sub    $0xd20,%eax
je     1897 <handle_arm+0x787>
jmp    1469 <handle_arm+0x359>
mov    -0x14(%rbp),%eax
sub    $0xd21,%eax
je     18af <handle_arm+0x79f>
jmp    147c <handle_arm+0x36c>
mov    -0x14(%rbp),%eax
sub    $0xd4a,%eax
je     18c7 <handle_arm+0x7b7>
jmp    18df <handle_arm+0x7cf>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xb63(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xb52(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xb41(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xb30(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xb1f(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xb0e(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xafd(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xaec(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xadc(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xacc(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xabc(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xab1(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xaa1(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa91(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa81(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa73(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa65(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa57(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa49(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa31(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa24(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa17(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa09(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x9fb(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x9ed(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x9df(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x9d1(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x9c3(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x9b5(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x9a7(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x999(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x98c(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x97f(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x972(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x965(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x958(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x94b(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x93e(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x931(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x924(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x917(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x90a(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x8fe(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x8f1(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x8e4(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x8d7(%rip),%rsi
call   1030 <string_append@plt>
jmp    18f2 <handle_arm+0x7e2>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0x8cb(%rip),%rsi
call   1030 <string_append@plt>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<handle_arm>:
cmp    $0xb75,%esi
jle    1145 <handle_arm+0x35>
lea    -0xc05(%rsi),%eax
cmp    $0x11c,%eax
ja     11fc <handle_arm+0xec>
lea    0xf6c(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1466(%rip),%rsi
jmp    1030 <string_append@plt>
cmp    $0x965,%esi
jle    1181 <handle_arm+0x71>
cmp    $0xa25,%esi
jle    11ac <handle_arm+0x9c>
cmp    $0xb35,%esi
jg     11dc <handle_arm+0xcc>
cmp    $0xa26,%esi
je     126c <handle_arm+0x15c>
cmp    $0xb02,%esi
jne    1260 <handle_arm+0x150>
lea    0x13dd(%rip),%rsi
jmp    1030 <string_append@plt>
lea    -0x920(%rsi),%eax
cmp    $0x26,%eax
ja     121c <handle_arm+0x10c>
lea    0xe69(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1370(%rip),%rsi
jmp    1030 <string_append@plt>
cmp    $0x966,%esi
je     1278 <handle_arm+0x168>
cmp    $0xa20,%esi
je     1284 <handle_arm+0x174>
cmp    $0xa22,%esi
jne    1260 <handle_arm+0x150>
lea    0x1372(%rip),%rsi
jmp    1030 <string_append@plt>
cmp    $0xb36,%esi
je     1290 <handle_arm+0x180>
cmp    $0xb56,%esi
jne    1260 <handle_arm+0x150>
lea    0x1377(%rip),%rsi
jmp    1030 <string_append@plt>
cmp    $0xb76,%esi
je     13f8 <handle_arm+0x2e8>
cmp    $0xd4a,%esi
jne    1260 <handle_arm+0x150>
lea    0x14a5(%rip),%rsi
jmp    1030 <string_append@plt>
cmp    $0x810,%esi
jne    1260 <handle_arm+0x150>
lea    0x12e5(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12e7(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12e2(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12dd(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12d8(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x1461(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12de(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12bb(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12b6(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12cf(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12db(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12d9(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12d7(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12d5(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12de(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12dd(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12db(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12d9(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12d7(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12d5(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12d3(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12d1(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12cf(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12cd(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12cb(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12ca(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c9(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c8(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c7(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c6(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c5(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c4(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c3(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c2(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c1(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c0(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12c0(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12bf(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x12be(%rip),%rsi
jmp    1030 <string_append@plt>
lea    0x1177(%rip),%rsi
jmp    1030 <string_append@plt>

LLVM IR (-O0):
@.str = [7 x i8] c"ARM810\00"
@.str.1 = [7 x i8] c"ARM920\00"
@.str.2 = [7 x i8] c"ARM922\00"
@.str.3 = [7 x i8] c"ARM926\00"
@.str.4 = [7 x i8] c"ARM940\00"
@.str.5 = [7 x i8] c"ARM946\00"
@.str.6 = [7 x i8] c"ARM966\00"
@.str.7 = [8 x i8] c"ARM1020\00"
@.str.8 = [8 x i8] c"ARM1022\00"
@.str.9 = [8 x i8] c"ARM1026\00"
@.str.10 = [13 x i8] c"ARM11 MPCore\00"
@.str.11 = [8 x i8] c"ARM1136\00"
@.str.12 = [8 x i8] c"ARM1156\00"
@.str.13 = [8 x i8] c"ARM1176\00"
@.str.14 = [10 x i8] c"Cortex-A5\00"
@.str.15 = [10 x i8] c"Cortex-A7\00"
@.str.16 = [10 x i8] c"Cortex-A8\00"
@.str.17 = [10 x i8] c"Cortex-A9\00"
@.str.18 = [11 x i8] c"Cortex-A17\00"
@.str.19 = [11 x i8] c"Cortex-A15\00"
@.str.20 = [10 x i8] c"Cortex-R4\00"
@.str.21 = [10 x i8] c"Cortex-R5\00"
@.str.22 = [10 x i8] c"Cortex-R7\00"
@.str.23 = [10 x i8] c"Cortex-R8\00"
@.str.24 = [10 x i8] c"Cortex-M0\00"
@.str.25 = [10 x i8] c"Cortex-M1\00"
@.str.26 = [10 x i8] c"Cortex-M3\00"
@.str.27 = [10 x i8] c"Cortex-M4\00"
@.str.28 = [10 x i8] c"Cortex-M7\00"
@.str.29 = [11 x i8] c"Cortex-M0+\00"
@.str.30 = [11 x i8] c"Foundation\00"
@.str.31 = [11 x i8] c"Cortex-A32\00"
@.str.32 = [11 x i8] c"Cortex-A53\00"
@.str.33 = [11 x i8] c"Cortex-A35\00"
@.str.34 = [11 x i8] c"Cortex-A55\00"
@.str.35 = [11 x i8] c"Cortex-A57\00"
@.str.36 = [11 x i8] c"Cortex-A72\00"
@.str.37 = [11 x i8] c"Cortex-A73\00"
@.str.38 = [11 x i8] c"Cortex-A75\00"
@.str.39 = [11 x i8] c"Cortex-A76\00"
@.str.40 = [12 x i8] c"Neoverse-N1\00"
@.str.41 = [11 x i8] c"Cortex-R52\00"
@.str.42 = [11 x i8] c"Cortex-M23\00"
@.str.43 = [11 x i8] c"Cortex-M33\00"
@.str.44 = [12 x i8] c"Neoverse-E1\00"
@.str.45 = [8 x i8] c"Unknown\00"
define void @handle_arm(i32 %0, i32 %1, i8* %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca i8*
store i32 %0, i32* %4
store i32 %1, i32* %5
store i8* %2, i8** %6
%7 = load i32, i32* %5
switch i32 %7, label %192 [
i32 2064, label %8
i32 2336, label %12
i32 2338, label %16
i32 2342, label %20
i32 2368, label %24
i32 2374, label %28
i32 2406, label %32
i32 2592, label %36
i32 2594, label %40
i32 2598, label %44
i32 2818, label %48
i32 2870, label %52
i32 2902, label %56
i32 2934, label %60
i32 3077, label %64
i32 3079, label %68
i32 3080, label %72
i32 3081, label %76
i32 3085, label %80
i32 3086, label %84
i32 3087, label %88
i32 3092, label %92
i32 3093, label %96
i32 3095, label %100
i32 3096, label %104
i32 3104, label %108
i32 3105, label %112
i32 3107, label %116
i32 3108, label %120
i32 3111, label %124
i32 3168, label %128
i32 3328, label %132
i32 3329, label %136
i32 3331, label %140
i32 3332, label %144
i32 3333, label %148
i32 3335, label %152
i32 3336, label %156
i32 3337, label %160
i32 3338, label %164
i32 3339, label %168
i32 3340, label %172
i32 3347, label %176
i32 3360, label %180
i32 3361, label %184
i32 3402, label %188
]
8: ; preds = %3
%9 = load i32, i32* %4
%10 = load i8*, i8** %6
%11 = call i32 @string_append(i32 %9, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), i8* %10)
br label %196
12: ; preds = %3
%13 = load i32, i32* %4
%14 = load i8*, i8** %6
%15 = call i32 @string_append(i32 %13, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0), i8* %14)
br label %196
16: ; preds = %3
%17 = load i32, i32* %4
%18 = load i8*, i8** %6
%19 = call i32 @string_append(i32 %17, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0), i8* %18)
br label %196
20: ; preds = %3
%21 = load i32, i32* %4
%22 = load i8*, i8** %6
%23 = call i32 @string_append(i32 %21, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3, i64 0, i64 0), i8* %22)
br label %196
24: ; preds = %3
%25 = load i32, i32* %4
%26 = load i8*, i8** %6
%27 = call i32 @string_append(i32 %25, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.4, i64 0, i64 0), i8* %26)
br label %196
28: ; preds = %3
%29 = load i32, i32* %4
%30 = load i8*, i8** %6
%31 = call i32 @string_append(i32 %29, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5, i64 0, i64 0), i8* %30)
br label %196
32: ; preds = %3
%33 = load i32, i32* %4
%34 = load i8*, i8** %6
%35 = call i32 @string_append(i32 %33, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6, i64 0, i64 0), i8* %34)
br label %196
36: ; preds = %3
%37 = load i32, i32* %4
%38 = load i8*, i8** %6
%39 = call i32 @string_append(i32 %37, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i64 0, i64 0), i8* %38)
br label %196
40: ; preds = %3
%41 = load i32, i32* %4
%42 = load i8*, i8** %6
%43 = call i32 @string_append(i32 %41, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.8, i64 0, i64 0), i8* %42)
br label %196
44: ; preds = %3
%45 = load i32, i32* %4
%46 = load i8*, i8** %6
%47 = call i32 @string_append(i32 %45, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i64 0, i64 0), i8* %46)
br label %196
48: ; preds = %3
%49 = load i32, i32* %4
%50 = load i8*, i8** %6
%51 = call i32 @string_append(i32 %49, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.10, i64 0, i64 0), i8* %50)
br label %196
52: ; preds = %3
%53 = load i32, i32* %4
%54 = load i8*, i8** %6
%55 = call i32 @string_append(i32 %53, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0), i8* %54)
br label %196
56: ; preds = %3
%57 = load i32, i32* %4
%58 = load i8*, i8** %6
%59 = call i32 @string_append(i32 %57, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.12, i64 0, i64 0), i8* %58)
br label %196
60: ; preds = %3
%61 = load i32, i32* %4
%62 = load i8*, i8** %6
%63 = call i32 @string_append(i32 %61, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.13, i64 0, i64 0), i8* %62)
br label %196
64: ; preds = %3
%65 = load i32, i32* %4
%66 = load i8*, i8** %6
%67 = call i32 @string_append(i32 %65, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), i8* %66)
br label %196
68: ; preds = %3
%69 = load i32, i32* %4
%70 = load i8*, i8** %6
%71 = call i32 @string_append(i32 %69, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i64 0, i64 0), i8* %70)
br label %196
72: ; preds = %3
%73 = load i32, i32* %4
%74 = load i8*, i8** %6
%75 = call i32 @string_append(i32 %73, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16, i64 0, i64 0), i8* %74)
br label %196
76: ; preds = %3
%77 = load i32, i32* %4
%78 = load i8*, i8** %6
%79 = call i32 @string_append(i32 %77, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0), i8* %78)
br label %196
80: ; preds = %3
%81 = load i32, i32* %4
%82 = load i8*, i8** %6
%83 = call i32 @string_append(i32 %81, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18, i64 0, i64 0), i8* %82)
br label %196
84: ; preds = %3
%85 = load i32, i32* %4
%86 = load i8*, i8** %6
%87 = call i32 @string_append(i32 %85, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18, i64 0, i64 0), i8* %86)
br label %196
88: ; preds = %3
%89 = load i32, i32* %4
%90 = load i8*, i8** %6
%91 = call i32 @string_append(i32 %89, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.19, i64 0, i64 0), i8* %90)
br label %196
92: ; preds = %3
%93 = load i32, i32* %4
%94 = load i8*, i8** %6
%95 = call i32 @string_append(i32 %93, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20, i64 0, i64 0), i8* %94)
br label %196
96: ; preds = %3
%97 = load i32, i32* %4
%98 = load i8*, i8** %6
%99 = call i32 @string_append(i32 %97, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21, i64 0, i64 0), i8* %98)
br label %196
100: ; preds = %3
%101 = load i32, i32* %4
%102 = load i8*, i8** %6
%103 = call i32 @string_append(i32 %101, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22, i64 0, i64 0), i8* %102)
br label %196
104: ; preds = %3
%105 = load i32, i32* %4
%106 = load i8*, i8** %6
%107 = call i32 @string_append(i32 %105, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.23, i64 0, i64 0), i8* %106)
br label %196
108: ; preds = %3
%109 = load i32, i32* %4
%110 = load i8*, i8** %6
%111 = call i32 @string_append(i32 %109, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24, i64 0, i64 0), i8* %110)
br label %196
112: ; preds = %3
%113 = load i32, i32* %4
%114 = load i8*, i8** %6
%115 = call i32 @string_append(i32 %113, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.25, i64 0, i64 0), i8* %114)
br label %196
116: ; preds = %3
%117 = load i32, i32* %4
%118 = load i8*, i8** %6
%119 = call i32 @string_append(i32 %117, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26, i64 0, i64 0), i8* %118)
br label %196
120: ; preds = %3
%121 = load i32, i32* %4
%122 = load i8*, i8** %6
%123 = call i32 @string_append(i32 %121, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27, i64 0, i64 0), i8* %122)
br label %196
124: ; preds = %3
%125 = load i32, i32* %4
%126 = load i8*, i8** %6
%127 = call i32 @string_append(i32 %125, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.28, i64 0, i64 0), i8* %126)
br label %196
128: ; preds = %3
%129 = load i32, i32* %4
%130 = load i8*, i8** %6
%131 = call i32 @string_append(i32 %129, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.29, i64 0, i64 0), i8* %130)
br label %196
132: ; preds = %3
%133 = load i32, i32* %4
%134 = load i8*, i8** %6
%135 = call i32 @string_append(i32 %133, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.30, i64 0, i64 0), i8* %134)
br label %196
136: ; preds = %3
%137 = load i32, i32* %4
%138 = load i8*, i8** %6
%139 = call i32 @string_append(i32 %137, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.31, i64 0, i64 0), i8* %138)
br label %196
140: ; preds = %3
%141 = load i32, i32* %4
%142 = load i8*, i8** %6
%143 = call i32 @string_append(i32 %141, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.32, i64 0, i64 0), i8* %142)
br label %196
144: ; preds = %3
%145 = load i32, i32* %4
%146 = load i8*, i8** %6
%147 = call i32 @string_append(i32 %145, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.33, i64 0, i64 0), i8* %146)
br label %196
148: ; preds = %3
%149 = load i32, i32* %4
%150 = load i8*, i8** %6
%151 = call i32 @string_append(i32 %149, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.34, i64 0, i64 0), i8* %150)
br label %196
152: ; preds = %3
%153 = load i32, i32* %4
%154 = load i8*, i8** %6
%155 = call i32 @string_append(i32 %153, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0), i8* %154)
br label %196
156: ; preds = %3
%157 = load i32, i32* %4
%158 = load i8*, i8** %6
%159 = call i32 @string_append(i32 %157, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.36, i64 0, i64 0), i8* %158)
br label %196
160: ; preds = %3
%161 = load i32, i32* %4
%162 = load i8*, i8** %6
%163 = call i32 @string_append(i32 %161, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.37, i64 0, i64 0), i8* %162)
br label %196
164: ; preds = %3
%165 = load i32, i32* %4
%166 = load i8*, i8** %6
%167 = call i32 @string_append(i32 %165, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.38, i64 0, i64 0), i8* %166)
br label %196
168: ; preds = %3
%169 = load i32, i32* %4
%170 = load i8*, i8** %6
%171 = call i32 @string_append(i32 %169, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.39, i64 0, i64 0), i8* %170)
br label %196
172: ; preds = %3
%173 = load i32, i32* %4
%174 = load i8*, i8** %6
%175 = call i32 @string_append(i32 %173, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.40, i64 0, i64 0), i8* %174)
br label %196
176: ; preds = %3
%177 = load i32, i32* %4
%178 = load i8*, i8** %6
%179 = call i32 @string_append(i32 %177, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.41, i64 0, i64 0), i8* %178)
br label %196
180: ; preds = %3
%181 = load i32, i32* %4
%182 = load i8*, i8** %6
%183 = call i32 @string_append(i32 %181, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.42, i64 0, i64 0), i8* %182)
br label %196
184: ; preds = %3
%185 = load i32, i32* %4
%186 = load i8*, i8** %6
%187 = call i32 @string_append(i32 %185, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.43, i64 0, i64 0), i8* %186)
br label %196
188: ; preds = %3
%189 = load i32, i32* %4
%190 = load i8*, i8** %6
%191 = call i32 @string_append(i32 %189, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.44, i64 0, i64 0), i8* %190)
br label %196
192: ; preds = %3
%193 = load i32, i32* %4
%194 = load i8*, i8** %6
%195 = call i32 @string_append(i32 %193, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.45, i64 0, i64 0), i8* %194)
br label %196
196: ; preds = %192, %188, %184, %180, %176, %172, %168, %164, %160, %156, %152, %148, %144, %140, %136, %132, %128, %124, %120, %116, %112, %108, %104, %100, %96, %92, %88, %84, %80, %76, %72, %68, %64, %60, %56, %52, %48, %44, %40, %36, %32, %28, %24, %20, %16, %12, %8
ret void
}

LLVM IR (-O2):
@.str = [7 x i8] c"ARM810\00"
@.str.1 = [7 x i8] c"ARM920\00"
@.str.2 = [7 x i8] c"ARM922\00"
@.str.3 = [7 x i8] c"ARM926\00"
@.str.4 = [7 x i8] c"ARM940\00"
@.str.5 = [7 x i8] c"ARM946\00"
@.str.6 = [7 x i8] c"ARM966\00"
@.str.7 = [8 x i8] c"ARM1020\00"
@.str.8 = [8 x i8] c"ARM1022\00"
@.str.9 = [8 x i8] c"ARM1026\00"
@.str.10 = [13 x i8] c"ARM11 MPCore\00"
@.str.11 = [8 x i8] c"ARM1136\00"
@.str.12 = [8 x i8] c"ARM1156\00"
@.str.13 = [8 x i8] c"ARM1176\00"
@.str.14 = [10 x i8] c"Cortex-A5\00"
@.str.15 = [10 x i8] c"Cortex-A7\00"
@.str.16 = [10 x i8] c"Cortex-A8\00"
@.str.17 = [10 x i8] c"Cortex-A9\00"
@.str.18 = [11 x i8] c"Cortex-A17\00"
@.str.19 = [11 x i8] c"Cortex-A15\00"
@.str.20 = [10 x i8] c"Cortex-R4\00"
@.str.21 = [10 x i8] c"Cortex-R5\00"
@.str.22 = [10 x i8] c"Cortex-R7\00"
@.str.23 = [10 x i8] c"Cortex-R8\00"
@.str.24 = [10 x i8] c"Cortex-M0\00"
@.str.25 = [10 x i8] c"Cortex-M1\00"
@.str.26 = [10 x i8] c"Cortex-M3\00"
@.str.27 = [10 x i8] c"Cortex-M4\00"
@.str.28 = [10 x i8] c"Cortex-M7\00"
@.str.29 = [11 x i8] c"Cortex-M0+\00"
@.str.30 = [11 x i8] c"Foundation\00"
@.str.31 = [11 x i8] c"Cortex-A32\00"
@.str.32 = [11 x i8] c"Cortex-A53\00"
@.str.33 = [11 x i8] c"Cortex-A35\00"
@.str.34 = [11 x i8] c"Cortex-A55\00"
@.str.35 = [11 x i8] c"Cortex-A57\00"
@.str.36 = [11 x i8] c"Cortex-A72\00"
@.str.37 = [11 x i8] c"Cortex-A73\00"
@.str.38 = [11 x i8] c"Cortex-A75\00"
@.str.39 = [11 x i8] c"Cortex-A76\00"
@.str.40 = [12 x i8] c"Neoverse-N1\00"
@.str.41 = [11 x i8] c"Cortex-R52\00"
@.str.42 = [11 x i8] c"Cortex-M23\00"
@.str.43 = [11 x i8] c"Cortex-M33\00"
@.str.44 = [12 x i8] c"Neoverse-E1\00"
@.str.45 = [8 x i8] c"Unknown\00"
define void @handle_arm(i32 %0, i32 %1, i8* %2) {
switch i32 %1, label %49 [
i32 2064, label %50
i32 2336, label %4
i32 2338, label %5
i32 2342, label %6
i32 2368, label %7
i32 2374, label %8
i32 2406, label %9
i32 2592, label %10
i32 2594, label %11
i32 2598, label %12
i32 2818, label %13
i32 2870, label %14
i32 2902, label %15
i32 2934, label %16
i32 3077, label %17
i32 3079, label %18
i32 3080, label %19
i32 3081, label %20
i32 3085, label %21
i32 3086, label %22
i32 3087, label %23
i32 3092, label %24
i32 3093, label %25
i32 3095, label %26
i32 3096, label %27
i32 3104, label %28
i32 3105, label %29
i32 3107, label %30
i32 3108, label %31
i32 3111, label %32
i32 3168, label %33
i32 3328, label %34
i32 3329, label %35
i32 3331, label %36
i32 3332, label %37
i32 3333, label %38
i32 3335, label %39
i32 3336, label %40
i32 3337, label %41
i32 3338, label %42
i32 3339, label %43
i32 3340, label %44
i32 3347, label %45
i32 3360, label %46
i32 3361, label %47
i32 3402, label %48
]
4: ; preds = %3
br label %50
5: ; preds = %3
br label %50
6: ; preds = %3
br label %50
7: ; preds = %3
br label %50
8: ; preds = %3
br label %50
9: ; preds = %3
br label %50
10: ; preds = %3
br label %50
11: ; preds = %3
br label %50
12: ; preds = %3
br label %50
13: ; preds = %3
br label %50
14: ; preds = %3
br label %50
15: ; preds = %3
br label %50
16: ; preds = %3
br label %50
17: ; preds = %3
br label %50
18: ; preds = %3
br label %50
19: ; preds = %3
br label %50
20: ; preds = %3
br label %50
21: ; preds = %3
br label %50
22: ; preds = %3
br label %50
23: ; preds = %3
br label %50
24: ; preds = %3
br label %50
25: ; preds = %3
br label %50
26: ; preds = %3
br label %50
27: ; preds = %3
br label %50
28: ; preds = %3
br label %50
29: ; preds = %3
br label %50
30: ; preds = %3
br label %50
31: ; preds = %3
br label %50
32: ; preds = %3
br label %50
33: ; preds = %3
br label %50
34: ; preds = %3
br label %50
35: ; preds = %3
br label %50
36: ; preds = %3
br label %50
37: ; preds = %3
br label %50
38: ; preds = %3
br label %50
39: ; preds = %3
br label %50
40: ; preds = %3
br label %50
41: ; preds = %3
br label %50
42: ; preds = %3
br label %50
43: ; preds = %3
br label %50
44: ; preds = %3
br label %50
45: ; preds = %3
br label %50
46: ; preds = %3
br label %50
47: ; preds = %3
br label %50
48: ; preds = %3
br label %50
49: ; preds = %3
br label %50
50: ; preds = %3, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6, %5, %4
%51 = phi i8* [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.45, i64 0, i64 0), %49 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.44, i64 0, i64 0), %48 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.43, i64 0, i64 0), %47 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.42, i64 0, i64 0), %46 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.41, i64 0, i64 0), %45 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.40, i64 0, i64 0), %44 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.39, i64 0, i64 0), %43 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.38, i64 0, i64 0), %42 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.37, i64 0, i64 0), %41 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.36, i64 0, i64 0), %40 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0), %39 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.34, i64 0, i64 0), %38 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.33, i64 0, i64 0), %37 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.32, i64 0, i64 0), %36 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.31, i64 0, i64 0), %35 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.30, i64 0, i64 0), %34 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.29, i64 0, i64 0), %33 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.28, i64 0, i64 0), %32 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27, i64 0, i64 0), %31 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26, i64 0, i64 0), %30 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.25, i64 0, i64 0), %29 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24, i64 0, i64 0), %28 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.23, i64 0, i64 0), %27 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22, i64 0, i64 0), %26 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21, i64 0, i64 0), %25 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20, i64 0, i64 0), %24 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.19, i64 0, i64 0), %23 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18, i64 0, i64 0), %22 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18, i64 0, i64 0), %21 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0), %20 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16, i64 0, i64 0), %19 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i64 0, i64 0), %18 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), %17 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.13, i64 0, i64 0), %16 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.12, i64 0, i64 0), %15 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0), %14 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.10, i64 0, i64 0), %13 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i64 0, i64 0), %12 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.8, i64 0, i64 0), %11 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i64 0, i64 0), %10 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6, i64 0, i64 0), %9 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5, i64 0, i64 0), %8 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.4, i64 0, i64 0), %7 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3, i64 0, i64 0), %6 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0), %5 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0), %4 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), %3 ]
%52 = tail call i32 @string_append(i32 %0, i8* %51, i8* %2)
ret void
}