#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 */
typedef int wint_t;

/* Variables and functions */
int sbcs_convert(wint_t x) {
  if (x >= 0x2080 && x <= 0x2089)
    return x - 0x2080 + 0x10;
  else if (x >= 0x1D7D8 && x <= 0x1D7E1)
    return x - 0x1D7D8 + 0x90;
  else if (x >= 0x24D0 && x <= 0x24E9)
    return x - 0x24D0 + 0xC0;
  switch (x) {
  case 0x2070:
    return 0;
  case 0x00B9:
    return 1;
  case 0x00B2:
    return 2;
  case 0x00B3:
    return 3;
  case 0x2074:
    return 4;
  case 0x2075:
    return 5;
  case 0x2076:
    return 6;
  case 0x2077:
    return 7;
  case 0x2078:
    return 8;
  case 0x2079:
    return 9;
  case 0x0CA0:
    return 0xA;
  case 0x2295:
    return 0x80;
  case 0xAB:
    return 0x81;
  case 0xBB:
    return 0x82;
  case 0xB7:
    return 0x83;
  case 0x21D2:
    return 0x84;
  case 0xB6:
    return 0x86;
  case 0x25A0:
    return 0x87;
  case 0x25A6:
    return 0x88;
  case 0x21AC:
    return 0x89;
  case 0x21AB:
    return 0x8A;
  case 0x2192:
    return 0x8B;
  case 0x2190:
    return 0x8C;
  case 0x2194:
    return 0x8D;
  case 10:
    return 0x20;
  case 0x1E5A:
    return 0xA0;
  case 0x1E36:
    return 0xA1;
  case 0x1EE4:
    return 0xA2;
  case 0x1E0C:
    return 0xA3;
  case 0x1E1E:
    return 0xA4;
  case 0x1E04:
    return 0xA5;
  case 0x1E42:
    return 0xA6;
  case 0x1EB8:
    return 0xA7;
  case 0x1E62:
    return 0xA8;
  case 0x1E5B:
    return 0xB0;
  case 0x1E37:
    return 0xB1;
  case 0x1EE5:
    return 0xB2;
  case 0x1E0D:
    return 0xB3;
  case 0x1E1F:
    return 0xB4;
  case 0x1E05:
    return 0xB5;
  case 0x1E43:
    return 0xB6;
  case 0x1EB9:
    return 0xB7;
  case 0x1E63:
    return 0xB8;
  case 0x1D540:
    return 0x9A;
  }
  return x;
}


x86 assembly (clang, -O0):
<sbcs_convert>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x8(%rbp)
cmpl   $0x2080,-0x8(%rbp)
jl     1134 <sbcs_convert+0x34>
cmpl   $0x2089,-0x8(%rbp)
jg     1134 <sbcs_convert+0x34>
mov    -0x8(%rbp),%eax
sub    $0x2080,%eax
add    $0x10,%eax
mov    %eax,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
cmpl   $0x1d7d8,-0x8(%rbp)
jl     1163 <sbcs_convert+0x63>
cmpl   $0x1d7e1,-0x8(%rbp)
jg     1163 <sbcs_convert+0x63>
mov    -0x8(%rbp),%eax
sub    $0x1d7d8,%eax
add    $0x90,%eax
mov    %eax,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
cmpl   $0x24d0,-0x8(%rbp)
jl     1192 <sbcs_convert+0x92>
cmpl   $0x24e9,-0x8(%rbp)
jg     1192 <sbcs_convert+0x92>
mov    -0x8(%rbp),%eax
sub    $0x24d0,%eax
add    $0xc0,%eax
mov    %eax,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
jmp    1197 <sbcs_convert+0x97>
jmp    119c <sbcs_convert+0x9c>
mov    -0x8(%rbp),%eax
mov    %eax,-0xc(%rbp)
sub    $0xa,%eax
je     1601 <sbcs_convert+0x501>
jmp    11b0 <sbcs_convert+0xb0>
mov    -0xc(%rbp),%eax
sub    $0xab,%eax
je     1571 <sbcs_convert+0x471>
jmp    11c3 <sbcs_convert+0xc3>
mov    -0xc(%rbp),%eax
sub    $0xb2,%eax
je     14f9 <sbcs_convert+0x3f9>
jmp    11d6 <sbcs_convert+0xd6>
mov    -0xc(%rbp),%eax
sub    $0xb3,%eax
je     1505 <sbcs_convert+0x405>
jmp    11e9 <sbcs_convert+0xe9>
mov    -0xc(%rbp),%eax
sub    $0xb6,%eax
je     15a1 <sbcs_convert+0x4a1>
jmp    11fc <sbcs_convert+0xfc>
mov    -0xc(%rbp),%eax
sub    $0xb7,%eax
je     1589 <sbcs_convert+0x489>
jmp    120f <sbcs_convert+0x10f>
mov    -0xc(%rbp),%eax
sub    $0xb9,%eax
je     14ed <sbcs_convert+0x3ed>
jmp    1222 <sbcs_convert+0x122>
mov    -0xc(%rbp),%eax
sub    $0xbb,%eax
je     157d <sbcs_convert+0x47d>
jmp    1235 <sbcs_convert+0x135>
mov    -0xc(%rbp),%eax
sub    $0xca0,%eax
je     1559 <sbcs_convert+0x459>
jmp    1248 <sbcs_convert+0x148>
mov    -0xc(%rbp),%eax
sub    $0x1e04,%eax
je     1649 <sbcs_convert+0x549>
jmp    125b <sbcs_convert+0x15b>
mov    -0xc(%rbp),%eax
sub    $0x1e05,%eax
je     16b5 <sbcs_convert+0x5b5>
jmp    126e <sbcs_convert+0x16e>
mov    -0xc(%rbp),%eax
sub    $0x1e0c,%eax
je     1631 <sbcs_convert+0x531>
jmp    1281 <sbcs_convert+0x181>
mov    -0xc(%rbp),%eax
sub    $0x1e0d,%eax
je     169d <sbcs_convert+0x59d>
jmp    1294 <sbcs_convert+0x194>
mov    -0xc(%rbp),%eax
sub    $0x1e1e,%eax
je     163d <sbcs_convert+0x53d>
jmp    12a7 <sbcs_convert+0x1a7>
mov    -0xc(%rbp),%eax
sub    $0x1e1f,%eax
je     16a9 <sbcs_convert+0x5a9>
jmp    12ba <sbcs_convert+0x1ba>
mov    -0xc(%rbp),%eax
sub    $0x1e36,%eax
je     1619 <sbcs_convert+0x519>
jmp    12cd <sbcs_convert+0x1cd>
mov    -0xc(%rbp),%eax
sub    $0x1e37,%eax
je     1685 <sbcs_convert+0x585>
jmp    12e0 <sbcs_convert+0x1e0>
mov    -0xc(%rbp),%eax
sub    $0x1e42,%eax
je     1655 <sbcs_convert+0x555>
jmp    12f3 <sbcs_convert+0x1f3>
mov    -0xc(%rbp),%eax
sub    $0x1e43,%eax
je     16c1 <sbcs_convert+0x5c1>
jmp    1306 <sbcs_convert+0x206>
mov    -0xc(%rbp),%eax
sub    $0x1e5a,%eax
je     160d <sbcs_convert+0x50d>
jmp    1319 <sbcs_convert+0x219>
mov    -0xc(%rbp),%eax
sub    $0x1e5b,%eax
je     1679 <sbcs_convert+0x579>
jmp    132c <sbcs_convert+0x22c>
mov    -0xc(%rbp),%eax
sub    $0x1e62,%eax
je     166d <sbcs_convert+0x56d>
jmp    133f <sbcs_convert+0x23f>
mov    -0xc(%rbp),%eax
sub    $0x1e63,%eax
je     16d9 <sbcs_convert+0x5d9>
jmp    1352 <sbcs_convert+0x252>
mov    -0xc(%rbp),%eax
sub    $0x1eb8,%eax
je     1661 <sbcs_convert+0x561>
jmp    1365 <sbcs_convert+0x265>
mov    -0xc(%rbp),%eax
sub    $0x1eb9,%eax
je     16cd <sbcs_convert+0x5cd>
jmp    1378 <sbcs_convert+0x278>
mov    -0xc(%rbp),%eax
sub    $0x1ee4,%eax
je     1625 <sbcs_convert+0x525>
jmp    138b <sbcs_convert+0x28b>
mov    -0xc(%rbp),%eax
sub    $0x1ee5,%eax
je     1691 <sbcs_convert+0x591>
jmp    139e <sbcs_convert+0x29e>
mov    -0xc(%rbp),%eax
sub    $0x2070,%eax
je     14e1 <sbcs_convert+0x3e1>
jmp    13b1 <sbcs_convert+0x2b1>
mov    -0xc(%rbp),%eax
sub    $0x2074,%eax
je     1511 <sbcs_convert+0x411>
jmp    13c4 <sbcs_convert+0x2c4>
mov    -0xc(%rbp),%eax
sub    $0x2075,%eax
je     151d <sbcs_convert+0x41d>
jmp    13d7 <sbcs_convert+0x2d7>
mov    -0xc(%rbp),%eax
sub    $0x2076,%eax
je     1529 <sbcs_convert+0x429>
jmp    13ea <sbcs_convert+0x2ea>
mov    -0xc(%rbp),%eax
sub    $0x2077,%eax
je     1535 <sbcs_convert+0x435>
jmp    13fd <sbcs_convert+0x2fd>
mov    -0xc(%rbp),%eax
sub    $0x2078,%eax
je     1541 <sbcs_convert+0x441>
jmp    1410 <sbcs_convert+0x310>
mov    -0xc(%rbp),%eax
sub    $0x2079,%eax
je     154d <sbcs_convert+0x44d>
jmp    1423 <sbcs_convert+0x323>
mov    -0xc(%rbp),%eax
sub    $0x2190,%eax
je     15e9 <sbcs_convert+0x4e9>
jmp    1436 <sbcs_convert+0x336>
mov    -0xc(%rbp),%eax
sub    $0x2192,%eax
je     15dd <sbcs_convert+0x4dd>
jmp    1449 <sbcs_convert+0x349>
mov    -0xc(%rbp),%eax
sub    $0x2194,%eax
je     15f5 <sbcs_convert+0x4f5>
jmp    145c <sbcs_convert+0x35c>
mov    -0xc(%rbp),%eax
sub    $0x21ab,%eax
je     15d1 <sbcs_convert+0x4d1>
jmp    146f <sbcs_convert+0x36f>
mov    -0xc(%rbp),%eax
sub    $0x21ac,%eax
je     15c5 <sbcs_convert+0x4c5>
jmp    1482 <sbcs_convert+0x382>
mov    -0xc(%rbp),%eax
sub    $0x21d2,%eax
je     1595 <sbcs_convert+0x495>
jmp    1495 <sbcs_convert+0x395>
mov    -0xc(%rbp),%eax
sub    $0x2295,%eax
je     1565 <sbcs_convert+0x465>
jmp    14a8 <sbcs_convert+0x3a8>
mov    -0xc(%rbp),%eax
sub    $0x25a0,%eax
je     15ad <sbcs_convert+0x4ad>
jmp    14bb <sbcs_convert+0x3bb>
mov    -0xc(%rbp),%eax
sub    $0x25a6,%eax
je     15b9 <sbcs_convert+0x4b9>
jmp    14ce <sbcs_convert+0x3ce>
mov    -0xc(%rbp),%eax
sub    $0x1d540,%eax
je     16e5 <sbcs_convert+0x5e5>
jmp    16f1 <sbcs_convert+0x5f1>
movl   $0x0,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x1,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x2,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x3,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x4,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x5,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x6,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x7,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x8,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x9,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x80,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x81,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x82,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x83,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x84,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x86,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x87,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x88,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x89,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x8a,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x8b,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x8c,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x8d,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x20,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa0,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa1,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa2,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa3,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa4,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa5,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa6,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa7,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xa8,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xb0,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xb1,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xb2,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xb3,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xb4,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xb5,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xb6,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xb7,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0xb8,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
movl   $0x9a,-0x4(%rbp)
jmp    16f7 <sbcs_convert+0x5f7>
mov    -0x8(%rbp),%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<sbcs_convert>:
lea    -0x2080(%rdi),%eax
cmp    $0x9,%eax
ja     1114 <sbcs_convert+0x14>
add    $0xffffdf90,%edi
mov    %edi,%eax
ret
lea    -0x1d7d8(%rdi),%eax
cmp    $0x9,%eax
ja     1128 <sbcs_convert+0x28>
add    $0xfffe28b8,%edi
mov    %edi,%eax
ret
lea    -0x24d0(%rdi),%eax
cmp    $0x19,%eax
ja     113c <sbcs_convert+0x3c>
add    $0xffffdbf0,%edi
mov    %edi,%eax
ret
cmp    $0x1eb7,%edi
jg     1171 <sbcs_convert+0x71>
cmp    $0x1e03,%edi
jle    11d9 <sbcs_convert+0xd9>
lea    -0x1e04(%rdi),%eax
cmp    $0x5f,%eax
ja     1139 <sbcs_convert+0x39>
lea    0xee2(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    $0xa5,%eax
ret
cmp    $0x218f,%edi
jg     11ac <sbcs_convert+0xac>
cmp    $0x1ee4,%edi
jle    122c <sbcs_convert+0x12c>
lea    -0x2070(%rdi),%ecx
cmp    $0x9,%ecx
ja     1335 <sbcs_convert+0x235>
xor    %eax,%eax
lea    0x1027(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    $0x4,%eax
ret
cmp    $0x21d1,%edi
jg     11fa <sbcs_convert+0xfa>
lea    -0x2190(%rdi),%eax
cmp    $0x1c,%eax
ja     1139 <sbcs_convert+0x39>
lea    0x1022(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    $0x8c,%eax
ret
lea    -0xab(%rdi),%eax
cmp    $0x10,%eax
ja     124e <sbcs_convert+0x14e>
lea    0xe15(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    $0x81,%eax
ret
cmp    $0x259f,%edi
jle    1269 <sbcs_convert+0x169>
cmp    $0x25a0,%edi
je     131d <sbcs_convert+0x21d>
cmp    $0x25a6,%edi
je     1323 <sbcs_convert+0x223>
cmp    $0x1d540,%edi
jne    1139 <sbcs_convert+0x39>
mov    $0x9a,%eax
ret
cmp    $0x1eb8,%edi
je     1287 <sbcs_convert+0x187>
cmp    $0x1eb9,%edi
je     128d <sbcs_convert+0x18d>
cmp    $0x1ee4,%edi
jne    1139 <sbcs_convert+0x39>
mov    $0xa2,%eax
ret
cmp    $0xa,%edi
je     1329 <sbcs_convert+0x229>
cmp    $0xca0,%edi
jne    1139 <sbcs_convert+0x39>
mov    $0xa,%eax
ret
cmp    $0x21d2,%edi
je     132f <sbcs_convert+0x22f>
cmp    $0x2295,%edi
jne    1139 <sbcs_convert+0x39>
mov    $0x80,%eax
ret
mov    $0xa7,%eax
ret
mov    $0xb7,%eax
ret
mov    $0xb5,%eax
ret
mov    $0xa3,%eax
ret
mov    $0xb3,%eax
ret
mov    $0xa4,%eax
ret
mov    $0xb4,%eax
ret
mov    $0xa1,%eax
ret
mov    $0xb1,%eax
ret
mov    $0xa6,%eax
ret
mov    $0xb6,%eax
ret
mov    $0xa0,%eax
ret
mov    $0xb0,%eax
ret
mov    $0xa8,%eax
ret
mov    $0xb8,%eax
ret
mov    $0x8b,%eax
ret
mov    $0x8d,%eax
ret
mov    $0x8a,%eax
ret
mov    $0x89,%eax
ret
mov    $0x2,%eax
ret
mov    $0x3,%eax
ret
mov    $0x86,%eax
ret
mov    $0x83,%eax
ret
mov    $0x1,%eax
ret
mov    $0x82,%eax
ret
mov    $0x87,%eax
ret
mov    $0x88,%eax
ret
mov    $0x20,%eax
ret
mov    $0x84,%eax
ret
cmp    $0x1ee5,%edi
jne    1139 <sbcs_convert+0x39>
mov    $0xb2,%eax
ret
mov    $0x5,%eax
ret
mov    $0x6,%eax
ret
mov    $0x7,%eax
ret
mov    $0x8,%eax
ret
mov    $0x9,%eax
ret

LLVM IR (-O0):
define i32 @sbcs_convert(i32 %0) {
%2 = alloca i32
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
%5 = icmp sge i32 %4, 8320
br i1 %5, label %6, label %13
6: ; preds = %1
%7 = load i32, i32* %3
%8 = icmp sle i32 %7, 8329
br i1 %8, label %9, label %13
9: ; preds = %6
%10 = load i32, i32* %3
%11 = sub nsw i32 %10, 8320
%12 = add nsw i32 %11, 16
store i32 %12, i32* %2
br label %83
13: ; preds = %6, %1
%14 = load i32, i32* %3
%15 = icmp sge i32 %14, 120792
br i1 %15, label %16, label %23
16: ; preds = %13
%17 = load i32, i32* %3
%18 = icmp sle i32 %17, 120801
br i1 %18, label %19, label %23
19: ; preds = %16
%20 = load i32, i32* %3
%21 = sub nsw i32 %20, 120792
%22 = add nsw i32 %21, 144
store i32 %22, i32* %2
br label %83
23: ; preds = %16, %13
%24 = load i32, i32* %3
%25 = icmp sge i32 %24, 9424
br i1 %25, label %26, label %33
26: ; preds = %23
%27 = load i32, i32* %3
%28 = icmp sle i32 %27, 9449
br i1 %28, label %29, label %33
29: ; preds = %26
%30 = load i32, i32* %3
%31 = sub nsw i32 %30, 9424
%32 = add nsw i32 %31, 192
store i32 %32, i32* %2
br label %83
33: ; preds = %26, %23
br label %34
34: ; preds = %33
br label %35
35: ; preds = %34
%36 = load i32, i32* %3
switch i32 %36, label %81 [
i32 8304, label %37
i32 185, label %38
i32 178, label %39
i32 179, label %40
i32 8308, label %41
i32 8309, label %42
i32 8310, label %43
i32 8311, label %44
i32 8312, label %45
i32 8313, label %46
i32 3232, label %47
i32 8853, label %48
i32 171, label %49
i32 187, label %50
i32 183, label %51
i32 8658, label %52
i32 182, label %53
i32 9632, label %54
i32 9638, label %55
i32 8620, label %56
i32 8619, label %57
i32 8594, label %58
i32 8592, label %59
i32 8596, label %60
i32 10, label %61
i32 7770, label %62
i32 7734, label %63
i32 7908, label %64
i32 7692, label %65
i32 7710, label %66
i32 7684, label %67
i32 7746, label %68
i32 7864, label %69
i32 7778, label %70
i32 7771, label %71
i32 7735, label %72
i32 7909, label %73
i32 7693, label %74
i32 7711, label %75
i32 7685, label %76
i32 7747, label %77
i32 7865, label %78
i32 7779, label %79
i32 120128, label %80
]
37: ; preds = %35
store i32 0, i32* %2
br label %83
38: ; preds = %35
store i32 1, i32* %2
br label %83
39: ; preds = %35
store i32 2, i32* %2
br label %83
40: ; preds = %35
store i32 3, i32* %2
br label %83
41: ; preds = %35
store i32 4, i32* %2
br label %83
42: ; preds = %35
store i32 5, i32* %2
br label %83
43: ; preds = %35
store i32 6, i32* %2
br label %83
44: ; preds = %35
store i32 7, i32* %2
br label %83
45: ; preds = %35
store i32 8, i32* %2
br label %83
46: ; preds = %35
store i32 9, i32* %2
br label %83
47: ; preds = %35
store i32 10, i32* %2
br label %83
48: ; preds = %35
store i32 128, i32* %2
br label %83
49: ; preds = %35
store i32 129, i32* %2
br label %83
50: ; preds = %35
store i32 130, i32* %2
br label %83
51: ; preds = %35
store i32 131, i32* %2
br label %83
52: ; preds = %35
store i32 132, i32* %2
br label %83
53: ; preds = %35
store i32 134, i32* %2
br label %83
54: ; preds = %35
store i32 135, i32* %2
br label %83
55: ; preds = %35
store i32 136, i32* %2
br label %83
56: ; preds = %35
store i32 137, i32* %2
br label %83
57: ; preds = %35
store i32 138, i32* %2
br label %83
58: ; preds = %35
store i32 139, i32* %2
br label %83
59: ; preds = %35
store i32 140, i32* %2
br label %83
60: ; preds = %35
store i32 141, i32* %2
br label %83
61: ; preds = %35
store i32 32, i32* %2
br label %83
62: ; preds = %35
store i32 160, i32* %2
br label %83
63: ; preds = %35
store i32 161, i32* %2
br label %83
64: ; preds = %35
store i32 162, i32* %2
br label %83
65: ; preds = %35
store i32 163, i32* %2
br label %83
66: ; preds = %35
store i32 164, i32* %2
br label %83
67: ; preds = %35
store i32 165, i32* %2
br label %83
68: ; preds = %35
store i32 166, i32* %2
br label %83
69: ; preds = %35
store i32 167, i32* %2
br label %83
70: ; preds = %35
store i32 168, i32* %2
br label %83
71: ; preds = %35
store i32 176, i32* %2
br label %83
72: ; preds = %35
store i32 177, i32* %2
br label %83
73: ; preds = %35
store i32 178, i32* %2
br label %83
74: ; preds = %35
store i32 179, i32* %2
br label %83
75: ; preds = %35
store i32 180, i32* %2
br label %83
76: ; preds = %35
store i32 181, i32* %2
br label %83
77: ; preds = %35
store i32 182, i32* %2
br label %83
78: ; preds = %35
store i32 183, i32* %2
br label %83
79: ; preds = %35
store i32 184, i32* %2
br label %83
80: ; preds = %35
store i32 154, i32* %2
br label %83
81: ; preds = %35
%82 = load i32, i32* %3
store i32 %82, i32* %2
br label %83
83: ; preds = %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, %39, %38, %37, %29, %19, %9
%84 = load i32, i32* %2
ret i32 %84
}

LLVM IR (-O2):
define i32 @sbcs_convert(i32 %0) {
%2 = add i32 %0, -8320
%3 = icmp ult i32 %2, 10
br i1 %3, label %4, label %6
4: ; preds = %1
%5 = add nsw i32 %0, -8304
br label %61
6: ; preds = %1
%7 = add i32 %0, -120792
%8 = icmp ult i32 %7, 10
br i1 %8, label %9, label %11
9: ; preds = %6
%10 = add nsw i32 %0, -120648
br label %61
11: ; preds = %6
%12 = add i32 %0, -9424
%13 = icmp ult i32 %12, 26
br i1 %13, label %14, label %16
14: ; preds = %11
%15 = add nsw i32 %0, -9232
br label %61
16: ; preds = %11
switch i32 %0, label %60 [
i32 8304, label %61
i32 185, label %17
i32 178, label %18
i32 179, label %19
i32 8308, label %20
i32 8309, label %21
i32 8310, label %22
i32 8311, label %23
i32 8312, label %24
i32 8313, label %25
i32 3232, label %26
i32 8853, label %27
i32 171, label %28
i32 187, label %29
i32 183, label %30
i32 8658, label %31
i32 182, label %32
i32 9632, label %33
i32 9638, label %34
i32 8620, label %35
i32 8619, label %36
i32 8594, label %37
i32 8592, label %38
i32 8596, label %39
i32 10, label %40
i32 7770, label %41
i32 7734, label %42
i32 7908, label %43
i32 7692, label %44
i32 7710, label %45
i32 7684, label %46
i32 7746, label %47
i32 7864, label %48
i32 7778, label %49
i32 7771, label %50
i32 7735, label %51
i32 7909, label %52
i32 7693, label %53
i32 7711, label %54
i32 7685, label %55
i32 7747, label %56
i32 7865, label %57
i32 7779, label %58
i32 120128, label %59
]
17: ; preds = %16
br label %61
18: ; preds = %16
br label %61
19: ; preds = %16
br label %61
20: ; preds = %16
br label %61
21: ; preds = %16
br label %61
22: ; preds = %16
br label %61
23: ; preds = %16
br label %61
24: ; preds = %16
br label %61
25: ; preds = %16
br label %61
26: ; preds = %16
br label %61
27: ; preds = %16
br label %61
28: ; preds = %16
br label %61
29: ; preds = %16
br label %61
30: ; preds = %16
br label %61
31: ; preds = %16
br label %61
32: ; preds = %16
br label %61
33: ; preds = %16
br label %61
34: ; preds = %16
br label %61
35: ; preds = %16
br label %61
36: ; preds = %16
br label %61
37: ; preds = %16
br label %61
38: ; preds = %16
br label %61
39: ; preds = %16
br label %61
40: ; preds = %16
br label %61
41: ; preds = %16
br label %61
42: ; preds = %16
br label %61
43: ; preds = %16
br label %61
44: ; preds = %16
br label %61
45: ; preds = %16
br label %61
46: ; preds = %16
br label %61
47: ; preds = %16
br label %61
48: ; preds = %16
br label %61
49: ; preds = %16
br label %61
50: ; preds = %16
br label %61
51: ; preds = %16
br label %61
52: ; preds = %16
br label %61
53: ; preds = %16
br label %61
54: ; preds = %16
br label %61
55: ; preds = %16
br label %61
56: ; preds = %16
br label %61
57: ; preds = %16
br label %61
58: ; preds = %16
br label %61
59: ; preds = %16
br label %61
60: ; preds = %16
br label %61
61: ; preds = %16, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %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, %14, %9, %4
%62 = phi i32 [ %5, %4 ], [ %10, %9 ], [ %15, %14 ], [ %0, %60 ], [ 154, %59 ], [ 184, %58 ], [ 183, %57 ], [ 182, %56 ], [ 181, %55 ], [ 180, %54 ], [ 179, %53 ], [ 178, %52 ], [ 177, %51 ], [ 176, %50 ], [ 168, %49 ], [ 167, %48 ], [ 166, %47 ], [ 165, %46 ], [ 164, %45 ], [ 163, %44 ], [ 162, %43 ], [ 161, %42 ], [ 160, %41 ], [ 32, %40 ], [ 141, %39 ], [ 140, %38 ], [ 139, %37 ], [ 138, %36 ], [ 137, %35 ], [ 136, %34 ], [ 135, %33 ], [ 134, %32 ], [ 132, %31 ], [ 131, %30 ], [ 130, %29 ], [ 129, %28 ], [ 128, %27 ], [ 10, %26 ], [ 9, %25 ], [ 8, %24 ], [ 7, %23 ], [ 6, %22 ], [ 5, %21 ], [ 4, %20 ], [ 3, %19 ], [ 2, %18 ], [ 1, %17 ], [ 0, %16 ]
ret i32 %62
}