int extcode(c)
unsigned c;
{
  if (c >= 59 && c < 68)
    return (0x0800 | c - 58 + '0');
  if (c == 68)
    return (0x0800 | '0');
  if (c >= 84 && c < 93)
    return (0x0800 | 0x2000 | c - 83 + '0');
  if (c == 93)
    return (0x0800 | 0x2000 | '0');
  if (c >= 94 && c < 103)
    return (0x0800 | 0x0100 | c - 93 + '0');
  if (c == 103)
    return (0x0800 | 0x0100 | '0');
  if (c >= 104 && c < 113)
    return (0x0800 | 0x4000 | c - 103 + '0');
  if (c == 113)
    return (0x0800 | 0x4000 | '0');
  if (c >= 120 && c < 129)
    return (0x4000 | c - 119 + '0');
  if (c == 130)
    return (0x4000 | '0');
  switch (c) {
  case 3:
    return (0);
  case 15:
    return (0x2000 | 0x0100 | 'I');
  case 16:
    return (0x4000 | 'Q');
  case 17:
    return (0x4000 | 'W');
  case 18:
    return (0x4000 | 'E');
  case 19:
    return (0x4000 | 'R');
  case 20:
    return (0x4000 | 'T');
  case 21:
    return (0x4000 | 'Y');
  case 22:
    return (0x4000 | 'U');
  case 23:
    return (0x4000 | 'I');
  case 24:
    return (0x4000 | 'O');
  case 25:
    return (0x4000 | 'P');
  case 30:
    return (0x4000 | 'A');
  case 31:
    return (0x4000 | 'S');
  case 32:
    return (0x4000 | 'D');
  case 33:
    return (0x4000 | 'F');
  case 34:
    return (0x4000 | 'G');
  case 35:
    return (0x4000 | 'H');
  case 36:
    return (0x4000 | 'J');
  case 37:
    return (0x4000 | 'K');
  case 38:
    return (0x4000 | 'L');
  case 44:
    return (0x4000 | 'Z');
  case 45:
    return (0x4000 | 'X');
  case 46:
    return (0x4000 | 'C');
  case 47:
    return (0x4000 | 'V');
  case 48:
    return (0x4000 | 'B');
  case 49:
    return (0x4000 | 'N');
  case 50:
    return (0x4000 | 'M');
  case 71:
    return (0x0800 | '<');
  case 72:
    return (0x0800 | 'P');
  case 73:
    return (0x0800 | 'Z');
  case 75:
    return (0x0800 | 'B');
  case 77:
    return (0x0800 | 'F');
  case 79:
    return (0x0800 | '>');
  case 80:
    return (0x0800 | 'N');
  case 81:
    return (0x0800 | 'V');
  case 82:
    return (0x0800 | 'C');
  case 83:
    return (0x0800 | 'D');
  case 115:
    return (0x0800 | 0x0100 | 'B');
  case 116:
    return (0x0800 | 0x0100 | 'F');
  case 117:
    return (0x0800 | 0x0100 | '>');
  case 118:
    return (0x0800 | 0x0100 | 'V');
  case 119:
    return (0x0800 | 0x0100 | '<');
  case 132:
    return (0x0800 | 0x0100 | 'Z');
  }
  return (0x4000 | c);
}


x86 assembly (clang, -O0):
<extcode>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x8(%rbp)
cmpl   $0x3b,-0x8(%rbp)
jb     1131 <extcode+0x31>
cmpl   $0x44,-0x8(%rbp)
jae    1131 <extcode+0x31>
mov    -0x8(%rbp),%eax
sub    $0x3a,%eax
add    $0x30,%eax
or     $0x800,%eax
mov    %eax,-0x4(%rbp)
jmp    1493 <extcode+0x393>
cmpl   $0x44,-0x8(%rbp)
jne    1147 <extcode+0x47>
movl   $0x830,-0x4(%rbp)
jmp    1493 <extcode+0x393>
cmpl   $0x54,-0x8(%rbp)
jb     1171 <extcode+0x71>
cmpl   $0x5d,-0x8(%rbp)
jae    1171 <extcode+0x71>
mov    -0x8(%rbp),%eax
sub    $0x53,%eax
add    $0x30,%eax
or     $0x2800,%eax
mov    %eax,-0x4(%rbp)
jmp    1493 <extcode+0x393>
cmpl   $0x5d,-0x8(%rbp)
jne    1187 <extcode+0x87>
movl   $0x2830,-0x4(%rbp)
jmp    1493 <extcode+0x393>
cmpl   $0x5e,-0x8(%rbp)
jb     11b1 <extcode+0xb1>
cmpl   $0x67,-0x8(%rbp)
jae    11b1 <extcode+0xb1>
mov    -0x8(%rbp),%eax
sub    $0x5d,%eax
add    $0x30,%eax
or     $0x900,%eax
mov    %eax,-0x4(%rbp)
jmp    1493 <extcode+0x393>
cmpl   $0x67,-0x8(%rbp)
jne    11c7 <extcode+0xc7>
movl   $0x930,-0x4(%rbp)
jmp    1493 <extcode+0x393>
cmpl   $0x68,-0x8(%rbp)
jb     11f1 <extcode+0xf1>
cmpl   $0x71,-0x8(%rbp)
jae    11f1 <extcode+0xf1>
mov    -0x8(%rbp),%eax
sub    $0x67,%eax
add    $0x30,%eax
or     $0x4800,%eax
mov    %eax,-0x4(%rbp)
jmp    1493 <extcode+0x393>
cmpl   $0x71,-0x8(%rbp)
jne    1207 <extcode+0x107>
movl   $0x4830,-0x4(%rbp)
jmp    1493 <extcode+0x393>
cmpl   $0x78,-0x8(%rbp)
jb     1234 <extcode+0x134>
cmpl   $0x81,-0x8(%rbp)
jae    1234 <extcode+0x134>
mov    -0x8(%rbp),%eax
sub    $0x77,%eax
add    $0x30,%eax
or     $0x4000,%eax
mov    %eax,-0x4(%rbp)
jmp    1493 <extcode+0x393>
cmpl   $0x82,-0x8(%rbp)
jne    124d <extcode+0x14d>
movl   $0x4030,-0x4(%rbp)
jmp    1493 <extcode+0x393>
mov    -0x8(%rbp),%eax
add    $0xfffffffd,%eax
mov    %eax,%ecx
mov    %rcx,-0x10(%rbp)
sub    $0x81,%eax
ja     1488 <extcode+0x388>
mov    -0x10(%rbp),%rax
lea    0xd91(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x0,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x2149,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4051,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4057,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4045,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4052,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4054,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4059,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4055,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4049,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x404f,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4050,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4041,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4053,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4044,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4046,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4047,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4048,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x404a,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x404b,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x404c,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x405a,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4058,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4043,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4056,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x4042,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x404e,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x404d,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x83c,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x850,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x85a,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x842,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x846,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x83e,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x84e,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x856,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x843,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x844,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x942,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x946,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x93e,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x956,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x93c,-0x4(%rbp)
jmp    1493 <extcode+0x393>
movl   $0x95a,-0x4(%rbp)
jmp    1493 <extcode+0x393>
mov    -0x8(%rbp),%eax
or     $0x4000,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<extcode>:
lea    -0x3b(%rdi),%eax
cmp    $0x8,%eax
ja     1114 <extcode+0x14>
add    $0xfffffff6,%edi
or     $0x800,%edi
mov    %edi,%eax
ret
mov    $0x830,%eax
cmp    $0x44,%edi
je     1178 <extcode+0x78>
lea    -0x54(%rdi),%eax
cmp    $0x8,%eax
ja     1132 <extcode+0x32>
add    $0xffffffdd,%edi
or     $0x2800,%edi
mov    %edi,%eax
ret
mov    $0x2830,%eax
cmp    $0x5d,%edi
je     1178 <extcode+0x78>
lea    -0x5e(%rdi),%eax
cmp    $0x8,%eax
ja     1150 <extcode+0x50>
add    $0xffffffd3,%edi
or     $0x900,%edi
mov    %edi,%eax
ret
mov    $0x930,%eax
cmp    $0x67,%edi
je     1178 <extcode+0x78>
lea    -0x68(%rdi),%eax
cmp    $0x8,%eax
ja     116e <extcode+0x6e>
add    $0xffffffc9,%edi
or     $0x4800,%edi
mov    %edi,%eax
ret
mov    $0x4830,%eax
cmp    $0x71,%edi
jne    1179 <extcode+0x79>
ret
lea    -0x78(%rdi),%eax
cmp    $0x8,%eax
ja     118d <extcode+0x8d>
add    $0xffffffb9,%edi
or     $0x4000,%edi
mov    %edi,%eax
ret
lea    -0x3(%rdi),%ecx
cmp    $0x81,%ecx
ja     1184 <extcode+0x84>
mov    $0x4030,%eax
lea    0xe5c(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
xor    %eax,%eax
ret
mov    $0x2149,%eax
ret
mov    $0x4051,%eax
ret
mov    $0x4057,%eax
ret
mov    $0x4045,%eax
ret
mov    $0x4052,%eax
ret
mov    $0x4054,%eax
ret
mov    $0x4059,%eax
ret
mov    $0x4055,%eax
ret
mov    $0x4049,%eax
ret
mov    $0x404f,%eax
ret
mov    $0x4050,%eax
ret
mov    $0x4041,%eax
ret
mov    $0x4053,%eax
ret
mov    $0x4044,%eax
ret
mov    $0x4046,%eax
ret
mov    $0x4047,%eax
ret
mov    $0x4048,%eax
ret
mov    $0x404a,%eax
ret
mov    $0x404b,%eax
ret
mov    $0x404c,%eax
ret
mov    $0x405a,%eax
ret
mov    $0x4058,%eax
ret
mov    $0x4043,%eax
ret
mov    $0x4056,%eax
ret
mov    $0x4042,%eax
ret
mov    $0x404e,%eax
ret
mov    $0x404d,%eax
ret
mov    $0x83c,%eax
ret
mov    $0x850,%eax
ret
mov    $0x85a,%eax
ret
mov    $0x842,%eax
ret
mov    $0x846,%eax
ret
mov    $0x83e,%eax
ret
mov    $0x84e,%eax
ret
mov    $0x856,%eax
ret
mov    $0x843,%eax
ret
mov    $0x844,%eax
ret
mov    $0x942,%eax
ret
mov    $0x946,%eax
ret
mov    $0x93e,%eax
ret
mov    $0x956,%eax
ret
mov    $0x93c,%eax
ret
mov    $0x95a,%eax
ret

LLVM IR (-O0):
define i32 @extcode(i32 %0) {
%2 = alloca i32
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
%5 = icmp uge i32 %4, 59
br i1 %5, label %6, label %14
6: ; preds = %1
%7 = load i32, i32* %3
%8 = icmp ult i32 %7, 68
br i1 %8, label %9, label %14
9: ; preds = %6
%10 = load i32, i32* %3
%11 = sub i32 %10, 58
%12 = add i32 %11, 48
%13 = or i32 2048, %12
store i32 %13, i32* %2
br label %127
14: ; preds = %6, %1
%15 = load i32, i32* %3
%16 = icmp eq i32 %15, 68
br i1 %16, label %17, label %18
17: ; preds = %14
store i32 2096, i32* %2
br label %127
18: ; preds = %14
%19 = load i32, i32* %3
%20 = icmp uge i32 %19, 84
br i1 %20, label %21, label %29
21: ; preds = %18
%22 = load i32, i32* %3
%23 = icmp ult i32 %22, 93
br i1 %23, label %24, label %29
24: ; preds = %21
%25 = load i32, i32* %3
%26 = sub i32 %25, 83
%27 = add i32 %26, 48
%28 = or i32 10240, %27
store i32 %28, i32* %2
br label %127
29: ; preds = %21, %18
%30 = load i32, i32* %3
%31 = icmp eq i32 %30, 93
br i1 %31, label %32, label %33
32: ; preds = %29
store i32 10288, i32* %2
br label %127
33: ; preds = %29
%34 = load i32, i32* %3
%35 = icmp uge i32 %34, 94
br i1 %35, label %36, label %44
36: ; preds = %33
%37 = load i32, i32* %3
%38 = icmp ult i32 %37, 103
br i1 %38, label %39, label %44
39: ; preds = %36
%40 = load i32, i32* %3
%41 = sub i32 %40, 93
%42 = add i32 %41, 48
%43 = or i32 2304, %42
store i32 %43, i32* %2
br label %127
44: ; preds = %36, %33
%45 = load i32, i32* %3
%46 = icmp eq i32 %45, 103
br i1 %46, label %47, label %48
47: ; preds = %44
store i32 2352, i32* %2
br label %127
48: ; preds = %44
%49 = load i32, i32* %3
%50 = icmp uge i32 %49, 104
br i1 %50, label %51, label %59
51: ; preds = %48
%52 = load i32, i32* %3
%53 = icmp ult i32 %52, 113
br i1 %53, label %54, label %59
54: ; preds = %51
%55 = load i32, i32* %3
%56 = sub i32 %55, 103
%57 = add i32 %56, 48
%58 = or i32 18432, %57
store i32 %58, i32* %2
br label %127
59: ; preds = %51, %48
%60 = load i32, i32* %3
%61 = icmp eq i32 %60, 113
br i1 %61, label %62, label %63
62: ; preds = %59
store i32 18480, i32* %2
br label %127
63: ; preds = %59
%64 = load i32, i32* %3
%65 = icmp uge i32 %64, 120
br i1 %65, label %66, label %74
66: ; preds = %63
%67 = load i32, i32* %3
%68 = icmp ult i32 %67, 129
br i1 %68, label %69, label %74
69: ; preds = %66
%70 = load i32, i32* %3
%71 = sub i32 %70, 119
%72 = add i32 %71, 48
%73 = or i32 16384, %72
store i32 %73, i32* %2
br label %127
74: ; preds = %66, %63
%75 = load i32, i32* %3
%76 = icmp eq i32 %75, 130
br i1 %76, label %77, label %78
77: ; preds = %74
store i32 16432, i32* %2
br label %127
78: ; preds = %74
%79 = load i32, i32* %3
switch i32 %79, label %124 [
i32 3, label %80
i32 15, label %81
i32 16, label %82
i32 17, label %83
i32 18, label %84
i32 19, label %85
i32 20, label %86
i32 21, label %87
i32 22, label %88
i32 23, label %89
i32 24, label %90
i32 25, label %91
i32 30, label %92
i32 31, label %93
i32 32, label %94
i32 33, label %95
i32 34, label %96
i32 35, label %97
i32 36, label %98
i32 37, label %99
i32 38, label %100
i32 44, label %101
i32 45, label %102
i32 46, label %103
i32 47, label %104
i32 48, label %105
i32 49, label %106
i32 50, label %107
i32 71, label %108
i32 72, label %109
i32 73, label %110
i32 75, label %111
i32 77, label %112
i32 79, label %113
i32 80, label %114
i32 81, label %115
i32 82, label %116
i32 83, label %117
i32 115, label %118
i32 116, label %119
i32 117, label %120
i32 118, label %121
i32 119, label %122
i32 132, label %123
]
80: ; preds = %78
store i32 0, i32* %2
br label %127
81: ; preds = %78
store i32 8521, i32* %2
br label %127
82: ; preds = %78
store i32 16465, i32* %2
br label %127
83: ; preds = %78
store i32 16471, i32* %2
br label %127
84: ; preds = %78
store i32 16453, i32* %2
br label %127
85: ; preds = %78
store i32 16466, i32* %2
br label %127
86: ; preds = %78
store i32 16468, i32* %2
br label %127
87: ; preds = %78
store i32 16473, i32* %2
br label %127
88: ; preds = %78
store i32 16469, i32* %2
br label %127
89: ; preds = %78
store i32 16457, i32* %2
br label %127
90: ; preds = %78
store i32 16463, i32* %2
br label %127
91: ; preds = %78
store i32 16464, i32* %2
br label %127
92: ; preds = %78
store i32 16449, i32* %2
br label %127
93: ; preds = %78
store i32 16467, i32* %2
br label %127
94: ; preds = %78
store i32 16452, i32* %2
br label %127
95: ; preds = %78
store i32 16454, i32* %2
br label %127
96: ; preds = %78
store i32 16455, i32* %2
br label %127
97: ; preds = %78
store i32 16456, i32* %2
br label %127
98: ; preds = %78
store i32 16458, i32* %2
br label %127
99: ; preds = %78
store i32 16459, i32* %2
br label %127
100: ; preds = %78
store i32 16460, i32* %2
br label %127
101: ; preds = %78
store i32 16474, i32* %2
br label %127
102: ; preds = %78
store i32 16472, i32* %2
br label %127
103: ; preds = %78
store i32 16451, i32* %2
br label %127
104: ; preds = %78
store i32 16470, i32* %2
br label %127
105: ; preds = %78
store i32 16450, i32* %2
br label %127
106: ; preds = %78
store i32 16462, i32* %2
br label %127
107: ; preds = %78
store i32 16461, i32* %2
br label %127
108: ; preds = %78
store i32 2108, i32* %2
br label %127
109: ; preds = %78
store i32 2128, i32* %2
br label %127
110: ; preds = %78
store i32 2138, i32* %2
br label %127
111: ; preds = %78
store i32 2114, i32* %2
br label %127
112: ; preds = %78
store i32 2118, i32* %2
br label %127
113: ; preds = %78
store i32 2110, i32* %2
br label %127
114: ; preds = %78
store i32 2126, i32* %2
br label %127
115: ; preds = %78
store i32 2134, i32* %2
br label %127
116: ; preds = %78
store i32 2115, i32* %2
br label %127
117: ; preds = %78
store i32 2116, i32* %2
br label %127
118: ; preds = %78
store i32 2370, i32* %2
br label %127
119: ; preds = %78
store i32 2374, i32* %2
br label %127
120: ; preds = %78
store i32 2366, i32* %2
br label %127
121: ; preds = %78
store i32 2390, i32* %2
br label %127
122: ; preds = %78
store i32 2364, i32* %2
br label %127
123: ; preds = %78
store i32 2394, i32* %2
br label %127
124: ; preds = %78
%125 = load i32, i32* %3
%126 = or i32 16384, %125
store i32 %126, i32* %2
br label %127
127: ; preds = %124, %123, %122, %121, %120, %119, %118, %117, %116, %115, %114, %113, %112, %111, %110, %109, %108, %107, %106, %105, %104, %103, %102, %101, %100, %99, %98, %97, %96, %95, %94, %93, %92, %91, %90, %89, %88, %87, %86, %85, %84, %83, %82, %81, %80, %77, %69, %62, %54, %47, %39, %32, %24, %17, %9
%128 = load i32, i32* %2
ret i32 %128
}

LLVM IR (-O2):
define i32 @extcode(i32 %0) {
%2 = add i32 %0, -59
%3 = icmp ult i32 %2, 9
br i1 %3, label %4, label %7
4: ; preds = %1
%5 = add nsw i32 %0, -10
%6 = or i32 %5, 2048
br label %86
7: ; preds = %1
%8 = icmp eq i32 %0, 68
br i1 %8, label %86, label %9
9: ; preds = %7
%10 = add i32 %0, -84
%11 = icmp ult i32 %10, 9
br i1 %11, label %12, label %15
12: ; preds = %9
%13 = add nsw i32 %0, -35
%14 = or i32 %13, 10240
br label %86
15: ; preds = %9
%16 = icmp eq i32 %0, 93
br i1 %16, label %86, label %17
17: ; preds = %15
%18 = add i32 %0, -94
%19 = icmp ult i32 %18, 9
br i1 %19, label %20, label %23
20: ; preds = %17
%21 = add nsw i32 %0, -45
%22 = or i32 %21, 2304
br label %86
23: ; preds = %17
%24 = icmp eq i32 %0, 103
br i1 %24, label %86, label %25
25: ; preds = %23
%26 = add i32 %0, -104
%27 = icmp ult i32 %26, 9
br i1 %27, label %28, label %31
28: ; preds = %25
%29 = add nsw i32 %0, -55
%30 = or i32 %29, 18432
br label %86
31: ; preds = %25
%32 = icmp eq i32 %0, 113
br i1 %32, label %86, label %33
33: ; preds = %31
%34 = add i32 %0, -120
%35 = icmp ult i32 %34, 9
br i1 %35, label %36, label %39
36: ; preds = %33
%37 = add nsw i32 %0, -71
%38 = or i32 %37, 16384
br label %86
39: ; preds = %33
switch i32 %0, label %84 [
i32 130, label %86
i32 3, label %40
i32 15, label %41
i32 16, label %42
i32 17, label %43
i32 18, label %44
i32 19, label %45
i32 20, label %46
i32 21, label %47
i32 22, label %48
i32 23, label %49
i32 24, label %50
i32 25, label %51
i32 30, label %52
i32 31, label %53
i32 32, label %54
i32 33, label %55
i32 34, label %56
i32 35, label %57
i32 36, label %58
i32 37, label %59
i32 38, label %60
i32 44, label %61
i32 45, label %62
i32 46, label %63
i32 47, label %64
i32 48, label %65
i32 49, label %66
i32 50, label %67
i32 71, label %68
i32 72, label %69
i32 73, label %70
i32 75, label %71
i32 77, label %72
i32 79, label %73
i32 80, label %74
i32 81, label %75
i32 82, label %76
i32 83, label %77
i32 115, label %78
i32 116, label %79
i32 117, label %80
i32 118, label %81
i32 119, label %82
i32 132, label %83
]
40: ; preds = %39
br label %86
41: ; preds = %39
br label %86
42: ; preds = %39
br label %86
43: ; preds = %39
br label %86
44: ; preds = %39
br label %86
45: ; preds = %39
br label %86
46: ; preds = %39
br label %86
47: ; preds = %39
br label %86
48: ; preds = %39
br label %86
49: ; preds = %39
br label %86
50: ; preds = %39
br label %86
51: ; preds = %39
br label %86
52: ; preds = %39
br label %86
53: ; preds = %39
br label %86
54: ; preds = %39
br label %86
55: ; preds = %39
br label %86
56: ; preds = %39
br label %86
57: ; preds = %39
br label %86
58: ; preds = %39
br label %86
59: ; preds = %39
br label %86
60: ; preds = %39
br label %86
61: ; preds = %39
br label %86
62: ; preds = %39
br label %86
63: ; preds = %39
br label %86
64: ; preds = %39
br label %86
65: ; preds = %39
br label %86
66: ; preds = %39
br label %86
67: ; preds = %39
br label %86
68: ; preds = %39
br label %86
69: ; preds = %39
br label %86
70: ; preds = %39
br label %86
71: ; preds = %39
br label %86
72: ; preds = %39
br label %86
73: ; preds = %39
br label %86
74: ; preds = %39
br label %86
75: ; preds = %39
br label %86
76: ; preds = %39
br label %86
77: ; preds = %39
br label %86
78: ; preds = %39
br label %86
79: ; preds = %39
br label %86
80: ; preds = %39
br label %86
81: ; preds = %39
br label %86
82: ; preds = %39
br label %86
83: ; preds = %39
br label %86
84: ; preds = %39
%85 = or i32 %0, 16384
br label %86
86: ; preds = %39, %31, %23, %15, %7, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %36, %28, %20, %12, %4
%87 = phi i32 [ %6, %4 ], [ %14, %12 ], [ %22, %20 ], [ %30, %28 ], [ %38, %36 ], [ %85, %84 ], [ 2394, %83 ], [ 2364, %82 ], [ 2390, %81 ], [ 2366, %80 ], [ 2374, %79 ], [ 2370, %78 ], [ 2116, %77 ], [ 2115, %76 ], [ 2134, %75 ], [ 2126, %74 ], [ 2110, %73 ], [ 2118, %72 ], [ 2114, %71 ], [ 2138, %70 ], [ 2128, %69 ], [ 2108, %68 ], [ 16461, %67 ], [ 16462, %66 ], [ 16450, %65 ], [ 16470, %64 ], [ 16451, %63 ], [ 16472, %62 ], [ 16474, %61 ], [ 16460, %60 ], [ 16459, %59 ], [ 16458, %58 ], [ 16456, %57 ], [ 16455, %56 ], [ 16454, %55 ], [ 16452, %54 ], [ 16467, %53 ], [ 16449, %52 ], [ 16464, %51 ], [ 16463, %50 ], [ 16457, %49 ], [ 16469, %48 ], [ 16473, %47 ], [ 16468, %46 ], [ 16466, %45 ], [ 16453, %44 ], [ 16471, %43 ], [ 16465, %42 ], [ 8521, %41 ], [ 0, %40 ], [ 2096, %7 ], [ 10288, %15 ], [ 2352, %23 ], [ 18480, %31 ], [ 16432, %39 ]
ret i32 %87
}