#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 */
unsigned int convert_prep(unsigned int x) {
  switch (x) {
  case 65:
    return 97;
  case 66:
    return 98;
  case 67:
    return 99;
  case 68:
    return 100;
  case 69:
    return 101;
  case 70:
    return 102;
  case 71:
    return 103;
  case 72:
    return 104;
  case 73:
    return 105;
  case 74:
    return 106;
  case 75:
    return 107;
  case 76:
    return 108;
  case 77:
    return 109;
  case 78:
    return 110;
  case 79:
    return 111;
  case 80:
    return 112;
  case 81:
    return 113;
  case 82:
    return 114;
  case 83:
    return 115;
  case 84:
    return 116;
  case 85:
    return 117;
  case 86:
    return 118;
  case 87:
    return 119;
  case 88:
    return 120;
  case 89:
    return 121;
  case 90:
    return 122;
  case 1049:
    return 1081;
  case 1062:
    return 1094;
  case 1059:
    return 1091;
  case 1050:
    return 1082;
  case 1045:
    return 1077;
  case 1053:
    return 1085;
  case 1043:
    return 1075;
  case 1064:
    return 1096;
  case 1065:
    return 1097;
  case 1047:
    return 1079;
  case 1061:
    return 1093;
  case 1066:
    return 1098;
  case 1060:
    return 1092;
  case 1067:
    return 1099;
  case 1042:
    return 1074;
  case 1040:
    return 1072;
  case 1055:
    return 1087;
  case 1056:
    return 1088;
  case 1054:
    return 1086;
  case 1051:
    return 1083;
  case 1044:
    return 1076;
  case 1046:
    return 1078;
  case 1069:
    return 1101;
  case 1071:
    return 1103;
  case 1063:
    return 1095;
  case 1057:
    return 1089;
  case 1052:
    return 1084;
  case 1048:
    return 1080;
  case 1058:
    return 1090;
  case 1068:
    return 1100;
  case 1041:
    return 1073;
  case 1070:
    return 1102;
  case 1025:
    return 1105;
  case 97:
    return 97;
  case 98:
    return 98;
  case 99:
    return 99;
  case 100:
    return 100;
  case 101:
    return 101;
  case 102:
    return 102;
  case 103:
    return 103;
  case 104:
    return 104;
  case 105:
    return 105;
  case 106:
    return 106;
  case 107:
    return 107;
  case 108:
    return 108;
  case 109:
    return 109;
  case 110:
    return 110;
  case 111:
    return 111;
  case 112:
    return 112;
  case 113:
    return 113;
  case 114:
    return 114;
  case 115:
    return 115;
  case 116:
    return 116;
  case 117:
    return 117;
  case 118:
    return 118;
  case 119:
    return 119;
  case 120:
    return 120;
  case 121:
    return 121;
  case 122:
    return 122;
  case 1081:
    return 1081;
  case 1094:
    return 1094;
  case 1091:
    return 1091;
  case 1082:
    return 1082;
  case 1077:
    return 1077;
  case 1085:
    return 1085;
  case 1075:
    return 1075;
  case 1096:
    return 1096;
  case 1097:
    return 1097;
  case 1079:
    return 1079;
  case 1093:
    return 1093;
  case 1098:
    return 1098;
  case 1092:
    return 1092;
  case 1099:
    return 1099;
  case 1074:
    return 1074;
  case 1072:
    return 1072;
  case 1087:
    return 1087;
  case 1088:
    return 1088;
  case 1086:
    return 1086;
  case 1083:
    return 1083;
  case 1076:
    return 1076;
  case 1078:
    return 1078;
  case 1101:
    return 1101;
  case 1103:
    return 1103;
  case 1095:
    return 1095;
  case 1089:
    return 1089;
  case 1084:
    return 1084;
  case 1080:
    return 1080;
  case 1090:
    return 1090;
  case 1100:
    return 1100;
  case 1073:
    return 1073;
  case 1102:
    return 1102;
  case 1105:
    return 1105;
  case 48:
    return 48;
  case 49:
    return 49;
  case 50:
    return 50;
  case 51:
    return 51;
  case 52:
    return 52;
  case 53:
    return 53;
  case 54:
    return 54;
  case 55:
    return 55;
  case 56:
    return 56;
  case 57:
    return 57;
  default:
    if (x >= 128) {
      return x;
    }
    return 32;
  }
}


x86 assembly (clang, -O0):
<convert_prep>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x8(%rbp)
mov    -0x8(%rbp),%eax
add    $0xffffffd0,%eax
mov    %eax,%ecx
mov    %rcx,-0x10(%rbp)
sub    $0x421,%eax
ja     1732 <convert_prep+0x632>
mov    -0x10(%rbp),%rax
lea    0xed7(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x61,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x62,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x63,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x64,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x65,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x66,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x67,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x68,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x69,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6a,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6b,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6c,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6d,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6e,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6f,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x70,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x71,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x72,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x73,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x74,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x75,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x76,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x77,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x78,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x79,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x7a,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x439,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x446,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x443,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43a,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x435,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43d,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x433,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x448,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x449,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x437,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x445,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44a,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x444,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44b,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x432,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x430,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43f,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x440,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43e,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43b,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x434,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x436,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44d,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44f,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x447,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x441,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43c,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x438,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x442,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44c,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x431,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44e,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x451,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x61,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x62,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x63,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x64,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x65,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x66,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x67,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x68,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x69,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6a,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6b,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6c,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6d,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6e,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x6f,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x70,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x71,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x72,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x73,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x74,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x75,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x76,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x77,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x78,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x79,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x7a,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x439,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x446,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x443,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43a,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x435,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43d,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x433,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x448,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x449,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x437,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x445,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44a,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x444,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44b,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x432,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x430,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43f,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x440,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43e,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43b,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x434,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x436,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44d,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44f,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x447,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x441,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x43c,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x438,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x442,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44c,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x431,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x44e,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x451,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x30,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x31,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x32,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x33,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x34,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x35,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x36,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x37,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x38,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x39,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
cmpl   $0x80,-0x8(%rbp)
jb     174a <convert_prep+0x64a>
mov    -0x8(%rbp),%eax
mov    %eax,-0x4(%rbp)
jmp    1751 <convert_prep+0x651>
movl   $0x20,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<convert_prep>:
lea    -0x30(%rdi),%ecx
cmp    $0x421,%ecx
ja     1123 <convert_prep+0x23>
mov    $0x61,%eax
lea    0xee9(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
mov    %edi,%eax
ret
cmp    $0x7f,%edi
mov    $0x20,%eax
cmova  %edi,%eax
ret
mov    $0x62,%eax
ret
mov    $0x63,%eax
ret
mov    $0x64,%eax
ret
mov    $0x65,%eax
ret
mov    $0x66,%eax
ret
mov    $0x67,%eax
ret
mov    $0x68,%eax
ret
mov    $0x69,%eax
ret
mov    $0x6a,%eax
ret
mov    $0x6b,%eax
ret
mov    $0x6c,%eax
ret
mov    $0x6d,%eax
ret
mov    $0x6e,%eax
ret
mov    $0x6f,%eax
ret
mov    $0x70,%eax
ret
mov    $0x71,%eax
ret
mov    $0x72,%eax
ret
mov    $0x73,%eax
ret
mov    $0x74,%eax
ret
mov    $0x75,%eax
ret
mov    $0x76,%eax
ret
mov    $0x77,%eax
ret
mov    $0x78,%eax
ret
mov    $0x79,%eax
ret
mov    $0x7a,%eax
ret
mov    $0x451,%eax
ret
mov    $0x430,%eax
ret
mov    $0x431,%eax
ret
mov    $0x432,%eax
ret
mov    $0x433,%eax
ret
mov    $0x434,%eax
ret
mov    $0x435,%eax
ret
mov    $0x436,%eax
ret
mov    $0x437,%eax
ret
mov    $0x438,%eax
ret
mov    $0x439,%eax
ret
mov    $0x43a,%eax
ret
mov    $0x43b,%eax
ret
mov    $0x43c,%eax
ret
mov    $0x43d,%eax
ret
mov    $0x43e,%eax
ret
mov    $0x43f,%eax
ret
mov    $0x440,%eax
ret
mov    $0x441,%eax
ret
mov    $0x442,%eax
ret
mov    $0x443,%eax
ret
mov    $0x444,%eax
ret
mov    $0x445,%eax
ret
mov    $0x446,%eax
ret
mov    $0x447,%eax
ret
mov    $0x448,%eax
ret
mov    $0x449,%eax
ret
mov    $0x44a,%eax
ret
mov    $0x44b,%eax
ret
mov    $0x44c,%eax
ret
mov    $0x44d,%eax
ret
mov    $0x44e,%eax
ret
mov    $0x44f,%eax
ret

LLVM IR (-O0):
define i32 @convert_prep(i32 %0) {
%2 = alloca i32
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
switch i32 %4, label %133 [
i32 65, label %5
i32 66, label %6
i32 67, label %7
i32 68, label %8
i32 69, label %9
i32 70, label %10
i32 71, label %11
i32 72, label %12
i32 73, label %13
i32 74, label %14
i32 75, label %15
i32 76, label %16
i32 77, label %17
i32 78, label %18
i32 79, label %19
i32 80, label %20
i32 81, label %21
i32 82, label %22
i32 83, label %23
i32 84, label %24
i32 85, label %25
i32 86, label %26
i32 87, label %27
i32 88, label %28
i32 89, label %29
i32 90, label %30
i32 1049, label %31
i32 1062, label %32
i32 1059, label %33
i32 1050, label %34
i32 1045, label %35
i32 1053, label %36
i32 1043, label %37
i32 1064, label %38
i32 1065, label %39
i32 1047, label %40
i32 1061, label %41
i32 1066, label %42
i32 1060, label %43
i32 1067, label %44
i32 1042, label %45
i32 1040, label %46
i32 1055, label %47
i32 1056, label %48
i32 1054, label %49
i32 1051, label %50
i32 1044, label %51
i32 1046, label %52
i32 1069, label %53
i32 1071, label %54
i32 1063, label %55
i32 1057, label %56
i32 1052, label %57
i32 1048, label %58
i32 1058, label %59
i32 1068, label %60
i32 1041, label %61
i32 1070, label %62
i32 1025, label %63
i32 97, label %64
i32 98, label %65
i32 99, label %66
i32 100, label %67
i32 101, label %68
i32 102, label %69
i32 103, label %70
i32 104, label %71
i32 105, label %72
i32 106, label %73
i32 107, label %74
i32 108, label %75
i32 109, label %76
i32 110, label %77
i32 111, label %78
i32 112, label %79
i32 113, label %80
i32 114, label %81
i32 115, label %82
i32 116, label %83
i32 117, label %84
i32 118, label %85
i32 119, label %86
i32 120, label %87
i32 121, label %88
i32 122, label %89
i32 1081, label %90
i32 1094, label %91
i32 1091, label %92
i32 1082, label %93
i32 1077, label %94
i32 1085, label %95
i32 1075, label %96
i32 1096, label %97
i32 1097, label %98
i32 1079, label %99
i32 1093, label %100
i32 1098, label %101
i32 1092, label %102
i32 1099, label %103
i32 1074, label %104
i32 1072, label %105
i32 1087, label %106
i32 1088, label %107
i32 1086, label %108
i32 1083, label %109
i32 1076, label %110
i32 1078, label %111
i32 1101, label %112
i32 1103, label %113
i32 1095, label %114
i32 1089, label %115
i32 1084, label %116
i32 1080, label %117
i32 1090, label %118
i32 1100, label %119
i32 1073, label %120
i32 1102, label %121
i32 1105, label %122
i32 48, label %123
i32 49, label %124
i32 50, label %125
i32 51, label %126
i32 52, label %127
i32 53, label %128
i32 54, label %129
i32 55, label %130
i32 56, label %131
i32 57, label %132
]
5: ; preds = %1
store i32 97, i32* %2
br label %139
6: ; preds = %1
store i32 98, i32* %2
br label %139
7: ; preds = %1
store i32 99, i32* %2
br label %139
8: ; preds = %1
store i32 100, i32* %2
br label %139
9: ; preds = %1
store i32 101, i32* %2
br label %139
10: ; preds = %1
store i32 102, i32* %2
br label %139
11: ; preds = %1
store i32 103, i32* %2
br label %139
12: ; preds = %1
store i32 104, i32* %2
br label %139
13: ; preds = %1
store i32 105, i32* %2
br label %139
14: ; preds = %1
store i32 106, i32* %2
br label %139
15: ; preds = %1
store i32 107, i32* %2
br label %139
16: ; preds = %1
store i32 108, i32* %2
br label %139
17: ; preds = %1
store i32 109, i32* %2
br label %139
18: ; preds = %1
store i32 110, i32* %2
br label %139
19: ; preds = %1
store i32 111, i32* %2
br label %139
20: ; preds = %1
store i32 112, i32* %2
br label %139
21: ; preds = %1
store i32 113, i32* %2
br label %139
22: ; preds = %1
store i32 114, i32* %2
br label %139
23: ; preds = %1
store i32 115, i32* %2
br label %139
24: ; preds = %1
store i32 116, i32* %2
br label %139
25: ; preds = %1
store i32 117, i32* %2
br label %139
26: ; preds = %1
store i32 118, i32* %2
br label %139
27: ; preds = %1
store i32 119, i32* %2
br label %139
28: ; preds = %1
store i32 120, i32* %2
br label %139
29: ; preds = %1
store i32 121, i32* %2
br label %139
30: ; preds = %1
store i32 122, i32* %2
br label %139
31: ; preds = %1
store i32 1081, i32* %2
br label %139
32: ; preds = %1
store i32 1094, i32* %2
br label %139
33: ; preds = %1
store i32 1091, i32* %2
br label %139
34: ; preds = %1
store i32 1082, i32* %2
br label %139
35: ; preds = %1
store i32 1077, i32* %2
br label %139
36: ; preds = %1
store i32 1085, i32* %2
br label %139
37: ; preds = %1
store i32 1075, i32* %2
br label %139
38: ; preds = %1
store i32 1096, i32* %2
br label %139
39: ; preds = %1
store i32 1097, i32* %2
br label %139
40: ; preds = %1
store i32 1079, i32* %2
br label %139
41: ; preds = %1
store i32 1093, i32* %2
br label %139
42: ; preds = %1
store i32 1098, i32* %2
br label %139
43: ; preds = %1
store i32 1092, i32* %2
br label %139
44: ; preds = %1
store i32 1099, i32* %2
br label %139
45: ; preds = %1
store i32 1074, i32* %2
br label %139
46: ; preds = %1
store i32 1072, i32* %2
br label %139
47: ; preds = %1
store i32 1087, i32* %2
br label %139
48: ; preds = %1
store i32 1088, i32* %2
br label %139
49: ; preds = %1
store i32 1086, i32* %2
br label %139
50: ; preds = %1
store i32 1083, i32* %2
br label %139
51: ; preds = %1
store i32 1076, i32* %2
br label %139
52: ; preds = %1
store i32 1078, i32* %2
br label %139
53: ; preds = %1
store i32 1101, i32* %2
br label %139
54: ; preds = %1
store i32 1103, i32* %2
br label %139
55: ; preds = %1
store i32 1095, i32* %2
br label %139
56: ; preds = %1
store i32 1089, i32* %2
br label %139
57: ; preds = %1
store i32 1084, i32* %2
br label %139
58: ; preds = %1
store i32 1080, i32* %2
br label %139
59: ; preds = %1
store i32 1090, i32* %2
br label %139
60: ; preds = %1
store i32 1100, i32* %2
br label %139
61: ; preds = %1
store i32 1073, i32* %2
br label %139
62: ; preds = %1
store i32 1102, i32* %2
br label %139
63: ; preds = %1
store i32 1105, i32* %2
br label %139
64: ; preds = %1
store i32 97, i32* %2
br label %139
65: ; preds = %1
store i32 98, i32* %2
br label %139
66: ; preds = %1
store i32 99, i32* %2
br label %139
67: ; preds = %1
store i32 100, i32* %2
br label %139
68: ; preds = %1
store i32 101, i32* %2
br label %139
69: ; preds = %1
store i32 102, i32* %2
br label %139
70: ; preds = %1
store i32 103, i32* %2
br label %139
71: ; preds = %1
store i32 104, i32* %2
br label %139
72: ; preds = %1
store i32 105, i32* %2
br label %139
73: ; preds = %1
store i32 106, i32* %2
br label %139
74: ; preds = %1
store i32 107, i32* %2
br label %139
75: ; preds = %1
store i32 108, i32* %2
br label %139
76: ; preds = %1
store i32 109, i32* %2
br label %139
77: ; preds = %1
store i32 110, i32* %2
br label %139
78: ; preds = %1
store i32 111, i32* %2
br label %139
79: ; preds = %1
store i32 112, i32* %2
br label %139
80: ; preds = %1
store i32 113, i32* %2
br label %139
81: ; preds = %1
store i32 114, i32* %2
br label %139
82: ; preds = %1
store i32 115, i32* %2
br label %139
83: ; preds = %1
store i32 116, i32* %2
br label %139
84: ; preds = %1
store i32 117, i32* %2
br label %139
85: ; preds = %1
store i32 118, i32* %2
br label %139
86: ; preds = %1
store i32 119, i32* %2
br label %139
87: ; preds = %1
store i32 120, i32* %2
br label %139
88: ; preds = %1
store i32 121, i32* %2
br label %139
89: ; preds = %1
store i32 122, i32* %2
br label %139
90: ; preds = %1
store i32 1081, i32* %2
br label %139
91: ; preds = %1
store i32 1094, i32* %2
br label %139
92: ; preds = %1
store i32 1091, i32* %2
br label %139
93: ; preds = %1
store i32 1082, i32* %2
br label %139
94: ; preds = %1
store i32 1077, i32* %2
br label %139
95: ; preds = %1
store i32 1085, i32* %2
br label %139
96: ; preds = %1
store i32 1075, i32* %2
br label %139
97: ; preds = %1
store i32 1096, i32* %2
br label %139
98: ; preds = %1
store i32 1097, i32* %2
br label %139
99: ; preds = %1
store i32 1079, i32* %2
br label %139
100: ; preds = %1
store i32 1093, i32* %2
br label %139
101: ; preds = %1
store i32 1098, i32* %2
br label %139
102: ; preds = %1
store i32 1092, i32* %2
br label %139
103: ; preds = %1
store i32 1099, i32* %2
br label %139
104: ; preds = %1
store i32 1074, i32* %2
br label %139
105: ; preds = %1
store i32 1072, i32* %2
br label %139
106: ; preds = %1
store i32 1087, i32* %2
br label %139
107: ; preds = %1
store i32 1088, i32* %2
br label %139
108: ; preds = %1
store i32 1086, i32* %2
br label %139
109: ; preds = %1
store i32 1083, i32* %2
br label %139
110: ; preds = %1
store i32 1076, i32* %2
br label %139
111: ; preds = %1
store i32 1078, i32* %2
br label %139
112: ; preds = %1
store i32 1101, i32* %2
br label %139
113: ; preds = %1
store i32 1103, i32* %2
br label %139
114: ; preds = %1
store i32 1095, i32* %2
br label %139
115: ; preds = %1
store i32 1089, i32* %2
br label %139
116: ; preds = %1
store i32 1084, i32* %2
br label %139
117: ; preds = %1
store i32 1080, i32* %2
br label %139
118: ; preds = %1
store i32 1090, i32* %2
br label %139
119: ; preds = %1
store i32 1100, i32* %2
br label %139
120: ; preds = %1
store i32 1073, i32* %2
br label %139
121: ; preds = %1
store i32 1102, i32* %2
br label %139
122: ; preds = %1
store i32 1105, i32* %2
br label %139
123: ; preds = %1
store i32 48, i32* %2
br label %139
124: ; preds = %1
store i32 49, i32* %2
br label %139
125: ; preds = %1
store i32 50, i32* %2
br label %139
126: ; preds = %1
store i32 51, i32* %2
br label %139
127: ; preds = %1
store i32 52, i32* %2
br label %139
128: ; preds = %1
store i32 53, i32* %2
br label %139
129: ; preds = %1
store i32 54, i32* %2
br label %139
130: ; preds = %1
store i32 55, i32* %2
br label %139
131: ; preds = %1
store i32 56, i32* %2
br label %139
132: ; preds = %1
store i32 57, i32* %2
br label %139
133: ; preds = %1
%134 = load i32, i32* %3
%135 = icmp uge i32 %134, 128
br i1 %135, label %136, label %138
136: ; preds = %133
%137 = load i32, i32* %3
store i32 %137, i32* %2
br label %139
138: ; preds = %133
store i32 32, i32* %2
br label %139
139: ; preds = %138, %136, %132, %131, %130, %129, %128, %127, %126, %125, %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, %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, %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
%140 = load i32, i32* %2
ret i32 %140
}

LLVM IR (-O2):
define i32 @convert_prep(i32 %0) {
switch i32 %0, label %128 [
i32 65, label %131
i32 66, label %2
i32 67, label %3
i32 68, label %4
i32 69, label %5
i32 70, label %6
i32 71, label %7
i32 72, label %8
i32 73, label %9
i32 74, label %10
i32 75, label %11
i32 76, label %12
i32 77, label %13
i32 78, label %14
i32 79, label %15
i32 80, label %16
i32 81, label %17
i32 82, label %18
i32 83, label %19
i32 84, label %20
i32 85, label %21
i32 86, label %22
i32 87, label %23
i32 88, label %24
i32 89, label %25
i32 90, label %26
i32 1049, label %27
i32 1062, label %28
i32 1059, label %29
i32 1050, label %30
i32 1045, label %31
i32 1053, label %32
i32 1043, label %33
i32 1064, label %34
i32 1065, label %35
i32 1047, label %36
i32 1061, label %37
i32 1066, label %38
i32 1060, label %39
i32 1067, label %40
i32 1042, label %41
i32 1040, label %42
i32 1055, label %43
i32 1056, label %44
i32 1054, label %45
i32 1051, label %46
i32 1044, label %47
i32 1046, label %48
i32 1069, label %49
i32 1071, label %50
i32 1063, label %51
i32 1057, label %52
i32 1052, label %53
i32 1048, label %54
i32 1058, label %55
i32 1068, label %56
i32 1041, label %57
i32 1070, label %58
i32 1025, label %59
i32 97, label %131
i32 98, label %60
i32 99, label %61
i32 100, label %62
i32 101, label %63
i32 102, label %64
i32 103, label %65
i32 104, label %66
i32 105, label %67
i32 106, label %68
i32 107, label %69
i32 108, label %70
i32 109, label %71
i32 110, label %72
i32 111, label %73
i32 112, label %74
i32 113, label %75
i32 114, label %76
i32 115, label %77
i32 116, label %78
i32 117, label %79
i32 118, label %80
i32 119, label %81
i32 120, label %82
i32 121, label %83
i32 122, label %84
i32 1081, label %85
i32 1094, label %86
i32 1091, label %87
i32 1082, label %88
i32 1077, label %89
i32 1085, label %90
i32 1075, label %91
i32 1096, label %92
i32 1097, label %93
i32 1079, label %94
i32 1093, label %95
i32 1098, label %96
i32 1092, label %97
i32 1099, label %98
i32 1074, label %99
i32 1072, label %100
i32 1087, label %101
i32 1088, label %102
i32 1086, label %103
i32 1083, label %104
i32 1076, label %105
i32 1078, label %106
i32 1101, label %107
i32 1103, label %108
i32 1095, label %109
i32 1089, label %110
i32 1084, label %111
i32 1080, label %112
i32 1090, label %113
i32 1100, label %114
i32 1073, label %115
i32 1102, label %116
i32 1105, label %117
i32 48, label %118
i32 49, label %119
i32 50, label %120
i32 51, label %121
i32 52, label %122
i32 53, label %123
i32 54, label %124
i32 55, label %125
i32 56, label %126
i32 57, label %127
]
2: ; preds = %1
br label %131
3: ; preds = %1
br label %131
4: ; preds = %1
br label %131
5: ; preds = %1
br label %131
6: ; preds = %1
br label %131
7: ; preds = %1
br label %131
8: ; preds = %1
br label %131
9: ; preds = %1
br label %131
10: ; preds = %1
br label %131
11: ; preds = %1
br label %131
12: ; preds = %1
br label %131
13: ; preds = %1
br label %131
14: ; preds = %1
br label %131
15: ; preds = %1
br label %131
16: ; preds = %1
br label %131
17: ; preds = %1
br label %131
18: ; preds = %1
br label %131
19: ; preds = %1
br label %131
20: ; preds = %1
br label %131
21: ; preds = %1
br label %131
22: ; preds = %1
br label %131
23: ; preds = %1
br label %131
24: ; preds = %1
br label %131
25: ; preds = %1
br label %131
26: ; preds = %1
br label %131
27: ; preds = %1
br label %131
28: ; preds = %1
br label %131
29: ; preds = %1
br label %131
30: ; preds = %1
br label %131
31: ; preds = %1
br label %131
32: ; preds = %1
br label %131
33: ; preds = %1
br label %131
34: ; preds = %1
br label %131
35: ; preds = %1
br label %131
36: ; preds = %1
br label %131
37: ; preds = %1
br label %131
38: ; preds = %1
br label %131
39: ; preds = %1
br label %131
40: ; preds = %1
br label %131
41: ; preds = %1
br label %131
42: ; preds = %1
br label %131
43: ; preds = %1
br label %131
44: ; preds = %1
br label %131
45: ; preds = %1
br label %131
46: ; preds = %1
br label %131
47: ; preds = %1
br label %131
48: ; preds = %1
br label %131
49: ; preds = %1
br label %131
50: ; preds = %1
br label %131
51: ; preds = %1
br label %131
52: ; preds = %1
br label %131
53: ; preds = %1
br label %131
54: ; preds = %1
br label %131
55: ; preds = %1
br label %131
56: ; preds = %1
br label %131
57: ; preds = %1
br label %131
58: ; preds = %1
br label %131
59: ; preds = %1
br label %131
60: ; preds = %1
br label %131
61: ; preds = %1
br label %131
62: ; preds = %1
br label %131
63: ; preds = %1
br label %131
64: ; preds = %1
br label %131
65: ; preds = %1
br label %131
66: ; preds = %1
br label %131
67: ; preds = %1
br label %131
68: ; preds = %1
br label %131
69: ; preds = %1
br label %131
70: ; preds = %1
br label %131
71: ; preds = %1
br label %131
72: ; preds = %1
br label %131
73: ; preds = %1
br label %131
74: ; preds = %1
br label %131
75: ; preds = %1
br label %131
76: ; preds = %1
br label %131
77: ; preds = %1
br label %131
78: ; preds = %1
br label %131
79: ; preds = %1
br label %131
80: ; preds = %1
br label %131
81: ; preds = %1
br label %131
82: ; preds = %1
br label %131
83: ; preds = %1
br label %131
84: ; preds = %1
br label %131
85: ; preds = %1
br label %131
86: ; preds = %1
br label %131
87: ; preds = %1
br label %131
88: ; preds = %1
br label %131
89: ; preds = %1
br label %131
90: ; preds = %1
br label %131
91: ; preds = %1
br label %131
92: ; preds = %1
br label %131
93: ; preds = %1
br label %131
94: ; preds = %1
br label %131
95: ; preds = %1
br label %131
96: ; preds = %1
br label %131
97: ; preds = %1
br label %131
98: ; preds = %1
br label %131
99: ; preds = %1
br label %131
100: ; preds = %1
br label %131
101: ; preds = %1
br label %131
102: ; preds = %1
br label %131
103: ; preds = %1
br label %131
104: ; preds = %1
br label %131
105: ; preds = %1
br label %131
106: ; preds = %1
br label %131
107: ; preds = %1
br label %131
108: ; preds = %1
br label %131
109: ; preds = %1
br label %131
110: ; preds = %1
br label %131
111: ; preds = %1
br label %131
112: ; preds = %1
br label %131
113: ; preds = %1
br label %131
114: ; preds = %1
br label %131
115: ; preds = %1
br label %131
116: ; preds = %1
br label %131
117: ; preds = %1
br label %131
118: ; preds = %1
br label %131
119: ; preds = %1
br label %131
120: ; preds = %1
br label %131
121: ; preds = %1
br label %131
122: ; preds = %1
br label %131
123: ; preds = %1
br label %131
124: ; preds = %1
br label %131
125: ; preds = %1
br label %131
126: ; preds = %1
br label %131
127: ; preds = %1
br label %131
128: ; preds = %1
%129 = icmp ugt i32 %0, 127
%130 = select i1 %129, i32 %0, i32 32
br label %131
131: ; preds = %128, %1, %1, %127, %126, %125, %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, %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, %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, %3, %2
%132 = phi i32 [ %0, %127 ], [ %0, %126 ], [ %0, %125 ], [ %0, %124 ], [ %0, %123 ], [ %0, %122 ], [ %0, %121 ], [ %0, %120 ], [ %0, %119 ], [ %0, %118 ], [ %0, %117 ], [ %0, %116 ], [ %0, %115 ], [ %0, %114 ], [ %0, %113 ], [ %0, %112 ], [ %0, %111 ], [ %0, %110 ], [ %0, %109 ], [ %0, %108 ], [ %0, %107 ], [ %0, %106 ], [ %0, %105 ], [ %0, %104 ], [ %0, %103 ], [ %0, %102 ], [ %0, %101 ], [ %0, %100 ], [ %0, %99 ], [ %0, %98 ], [ %0, %97 ], [ %0, %96 ], [ %0, %95 ], [ %0, %94 ], [ %0, %93 ], [ %0, %92 ], [ %0, %91 ], [ %0, %90 ], [ %0, %89 ], [ %0, %88 ], [ %0, %87 ], [ %0, %86 ], [ %0, %85 ], [ %0, %84 ], [ %0, %83 ], [ %0, %82 ], [ %0, %81 ], [ %0, %80 ], [ %0, %79 ], [ %0, %78 ], [ %0, %77 ], [ %0, %76 ], [ %0, %75 ], [ %0, %74 ], [ %0, %73 ], [ %0, %72 ], [ %0, %71 ], [ %0, %70 ], [ %0, %69 ], [ %0, %68 ], [ %0, %67 ], [ %0, %66 ], [ %0, %65 ], [ %0, %64 ], [ %0, %63 ], [ %0, %62 ], [ %0, %61 ], [ %0, %60 ], [ 1105, %59 ], [ 1102, %58 ], [ 1073, %57 ], [ 1100, %56 ], [ 1090, %55 ], [ 1080, %54 ], [ 1084, %53 ], [ 1089, %52 ], [ 1095, %51 ], [ 1103, %50 ], [ 1101, %49 ], [ 1078, %48 ], [ 1076, %47 ], [ 1083, %46 ], [ 1086, %45 ], [ 1088, %44 ], [ 1087, %43 ], [ 1072, %42 ], [ 1074, %41 ], [ 1099, %40 ], [ 1092, %39 ], [ 1098, %38 ], [ 1093, %37 ], [ 1079, %36 ], [ 1097, %35 ], [ 1096, %34 ], [ 1075, %33 ], [ 1085, %32 ], [ 1077, %31 ], [ 1082, %30 ], [ 1091, %29 ], [ 1094, %28 ], [ 1081, %27 ], [ 122, %26 ], [ 121, %25 ], [ 120, %24 ], [ 119, %23 ], [ 118, %22 ], [ 117, %21 ], [ 116, %20 ], [ 115, %19 ], [ 114, %18 ], [ 113, %17 ], [ 112, %16 ], [ 111, %15 ], [ 110, %14 ], [ 109, %13 ], [ 108, %12 ], [ 107, %11 ], [ 106, %10 ], [ 105, %9 ], [ 104, %8 ], [ 103, %7 ], [ 102, %6 ], [ 101, %5 ], [ 100, %4 ], [ 99, %3 ], [ 98, %2 ], [ 97, %1 ], [ 97, %1 ], [ %130, %128 ]
ret i32 %132
}