int adc_code2temp(int code) {
  float temp;
  int t;
  temp = (float)code;
  if (code > 0xFF6C && code <= 0xFFB5) {
    temp = (float)(15 * (temp - 0xFF6C)) / 0x0049 - 30.0f;
  } else if (code > 0xFFB5 && code <= 0xFFFF) {
    temp = (float)(15 * (temp - 0xFFB5)) / 0x004B - 15.0f;
  } else if (code >= 0 && code <= 0x0019) {
    temp = (float)(5 * (temp - 0)) / 0x0019;
  } else if (code > 0x0019 && code <= 0x0033) {
    temp = (float)(5 * (temp - 0x0019)) / 0x001A + 5.0f;
  } else if (code > 0x0033 && code <= 0x0066) {
    temp = (float)(10 * (temp - 0x0033)) / 0x0033 + 10.0f;
  } else if (code > 0x0066 && code <= 0x009A) {
    temp = (float)(10 * (temp - 0x0066)) / 0x0034 + 20.0f;
  } else if (code > 0x009A && code <= 0x00CE) {
    temp = (float)(10 * (temp - 0x009A)) / 0x0034 + 30.0f;
  } else if (code > 0x00CE && code <= 0x0103) {
    temp = (float)(10 * (temp - 0x00CE)) / 0x0035 + 40.0f;
  } else if (code > 0x0103 && code <= 0x0138) {
    temp = (float)(10 * (temp - 0x0103)) / 0x0035 + 50.0f;
  } else if (code > 0x0138 && code <= 0x01A2) {
    temp = (float)(20 * (temp - 0x0138)) / 0x006A + 60.0f;
  } else if (code > 0x01A2 && code <= 0x020C) {
    temp = (float)((temp - 0x01A2) * 20) / 0x06A + 80.0f;
  } else if (code > 0x020C && code <= 0x02DE) {
    temp = (float)((temp - 0x020C) * 40) / 0x0D2 + 100.0f;
  } else if (code > 0x02DE && code <= 0x03AC) {
    temp = (float)((temp - 0x02DE) * 40) / 0x00CE + 140.0f;
  } else if (code > 0x03AC && code <= 0x0478) {
    temp = (float)((temp - 0x03AB) * 40) / 0x00CD + 180.0f;
  } else if (code > 0x0478 && code <= 0x0548) {
    temp = (float)((temp - 0x0478) * 40) / 0x00D0 + 220.0f;
  } else if (code > 0x0548 && code <= 0x061B) {
    temp = (float)((temp - 0x0548) * 40) / 0x00D3 + 260.0f;
  } else if (code > 0x061B && code <= 0x06F2) {
    temp = (float)((temp - 0x061B) * 40) / 0x00D7 + 300.0f;
  } else if (code > 0x06F2 && code <= 0x07C7) {
    temp = (float)((temp - 0x06F2) * 40) / 0x00D5 + 340.0f;
  } else if (code > 0x07C7 && code <= 0x089F) {
    temp = (float)((temp - 0x07C7) * 40) / 0x00D8 + 380.0f;
  } else if (code > 0x089F && code <= 0x0978) {
    temp = (float)((temp - 0x089F) * 40) / 0x00D9 + 420.0f;
  } else if (code > 0x0978 && code <= 0x0A52) {
    temp = (float)((temp - 0x0978) * 40) / 0x00DA + 460.0f;
  } else {
    temp = 0xA5A5;
  }
  t = (int)(10 * temp);
  return t;
}


x86 assembly (clang, -O0):
<adc_code2temp>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
cvtsi2ssl -0x4(%rbp),%xmm0
movss  %xmm0,-0x8(%rbp)
cmpl   $0xff6c,-0x4(%rbp)
jle    116a <adc_code2temp+0x6a>
cmpl   $0xffb5,-0x4(%rbp)
jg     116a <adc_code2temp+0x6a>
movss  -0x8(%rbp),%xmm1
movss  0xfa0(%rip),%xmm0
subss  %xmm0,%xmm1
movss  0xf84(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xf84(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xf4c(%rip),%xmm1
subss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    18a9 <adc_code2temp+0x7a9>
cmpl   $0xffb5,-0x4(%rbp)
jle    11c3 <adc_code2temp+0xc3>
cmpl   $0xffff,-0x4(%rbp)
jg     11c3 <adc_code2temp+0xc3>
movss  -0x8(%rbp),%xmm1
movss  0xf3f(%rip),%xmm0
subss  %xmm0,%xmm1
movss  0xf2b(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xf23(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xf13(%rip),%xmm1
subss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    18a4 <adc_code2temp+0x7a4>
cmpl   $0x0,-0x4(%rbp)
jl     1205 <adc_code2temp+0x105>
cmpl   $0x19,-0x4(%rbp)
jg     1205 <adc_code2temp+0x105>
movss  -0x8(%rbp),%xmm1
xorps  %xmm0,%xmm0
subss  %xmm0,%xmm1
movss  0xed1(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xecd(%rip),%xmm1
divss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    189f <adc_code2temp+0x79f>
cmpl   $0x19,-0x4(%rbp)
jle    1258 <adc_code2temp+0x158>
cmpl   $0x33,-0x4(%rbp)
jg     1258 <adc_code2temp+0x158>
movss  -0x8(%rbp),%xmm1
movss  0xe9e(%rip),%xmm0
subss  %xmm0,%xmm1
movss  0xe8a(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xe82(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xe72(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    189a <adc_code2temp+0x79a>
cmpl   $0x33,-0x4(%rbp)
jle    12ab <adc_code2temp+0x1ab>
cmpl   $0x66,-0x4(%rbp)
jg     12ab <adc_code2temp+0x1ab>
movss  -0x8(%rbp),%xmm1
movss  0xe3f(%rip),%xmm0
subss  %xmm0,%xmm1
movss  0xe1b(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xe27(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xe03(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1895 <adc_code2temp+0x795>
cmpl   $0x66,-0x4(%rbp)
jle    1301 <adc_code2temp+0x201>
cmpl   $0x9a,-0x4(%rbp)
jg     1301 <adc_code2temp+0x201>
movss  -0x8(%rbp),%xmm1
movss  0xde5(%rip),%xmm0
subss  %xmm0,%xmm1
movss  0xdc5(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xdc5(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xd95(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1890 <adc_code2temp+0x790>
cmpl   $0x9a,-0x4(%rbp)
jle    135a <adc_code2temp+0x25a>
cmpl   $0xce,-0x4(%rbp)
jg     135a <adc_code2temp+0x25a>
movss  -0x8(%rbp),%xmm1
movss  0xd88(%rip),%xmm0
subss  %xmm0,%xmm1
movss  0xd6c(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xd6c(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xd5c(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    188b <adc_code2temp+0x78b>
cmpl   $0xce,-0x4(%rbp)
jle    13b3 <adc_code2temp+0x2b3>
cmpl   $0x103,-0x4(%rbp)
jg     13b3 <adc_code2temp+0x2b3>
movss  -0x8(%rbp),%xmm1
movss  0xceb(%rip),%xmm0
subss  %xmm0,%xmm1
movss  0xd13(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xd03(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xc67(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1886 <adc_code2temp+0x786>
cmpl   $0x103,-0x4(%rbp)
jle    140c <adc_code2temp+0x30c>
cmpl   $0x138,-0x4(%rbp)
jg     140c <adc_code2temp+0x30c>
movss  -0x8(%rbp),%xmm1
movss  0xcca(%rip),%xmm0
subss  %xmm0,%xmm1
movss  0xcba(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xcaa(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xc9a(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1881 <adc_code2temp+0x781>
cmpl   $0x138,-0x4(%rbp)
jle    1465 <adc_code2temp+0x365>
cmpl   $0x1a2,-0x4(%rbp)
jg     1465 <adc_code2temp+0x365>
movss  -0x8(%rbp),%xmm1
movss  0xc61(%rip),%xmm0
subss  %xmm0,%xmm1
movss  0xc49(%rip),%xmm0
mulss  %xmm1,%xmm0
movss  0xc39(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xc39(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    187c <adc_code2temp+0x77c>
cmpl   $0x1a2,-0x4(%rbp)
jle    14be <adc_code2temp+0x3be>
cmpl   $0x20c,-0x4(%rbp)
jg     14be <adc_code2temp+0x3be>
movss  -0x8(%rbp),%xmm0
movss  0xc00(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0xbf0(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0xbe0(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xbd0(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1877 <adc_code2temp+0x777>
cmpl   $0x20c,-0x4(%rbp)
jle    1517 <adc_code2temp+0x417>
cmpl   $0x2de,-0x4(%rbp)
jg     1517 <adc_code2temp+0x417>
movss  -0x8(%rbp),%xmm0
movss  0xb97(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0xb1b(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0xb7b(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xb6b(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1872 <adc_code2temp+0x772>
cmpl   $0x2de,-0x4(%rbp)
jle    1570 <adc_code2temp+0x470>
cmpl   $0x3ac,-0x4(%rbp)
jg     1570 <adc_code2temp+0x470>
movss  -0x8(%rbp),%xmm0
movss  0xb32(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0xac2(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0xb16(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xb06(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    186d <adc_code2temp+0x76d>
cmpl   $0x3ac,-0x4(%rbp)
jle    15c9 <adc_code2temp+0x4c9>
cmpl   $0x478,-0x4(%rbp)
jg     15c9 <adc_code2temp+0x4c9>
movss  -0x8(%rbp),%xmm0
movss  0xacd(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0xa69(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0xab1(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xaa1(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1868 <adc_code2temp+0x768>
cmpl   $0x478,-0x4(%rbp)
jle    1622 <adc_code2temp+0x522>
cmpl   $0x548,-0x4(%rbp)
jg     1622 <adc_code2temp+0x522>
movss  -0x8(%rbp),%xmm0
movss  0xa68(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0xa10(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0xa4c(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0xa3c(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1863 <adc_code2temp+0x763>
cmpl   $0x548,-0x4(%rbp)
jle    167b <adc_code2temp+0x57b>
cmpl   $0x61b,-0x4(%rbp)
jg     167b <adc_code2temp+0x57b>
movss  -0x8(%rbp),%xmm0
movss  0xa03(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0x9b7(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0x9e7(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0x9d7(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    185e <adc_code2temp+0x75e>
cmpl   $0x61b,-0x4(%rbp)
jle    16d4 <adc_code2temp+0x5d4>
cmpl   $0x6f2,-0x4(%rbp)
jg     16d4 <adc_code2temp+0x5d4>
movss  -0x8(%rbp),%xmm0
movss  0x99e(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0x95e(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0x982(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0x972(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1859 <adc_code2temp+0x759>
cmpl   $0x6f2,-0x4(%rbp)
jle    172d <adc_code2temp+0x62d>
cmpl   $0x7c7,-0x4(%rbp)
jg     172d <adc_code2temp+0x62d>
movss  -0x8(%rbp),%xmm0
movss  0x939(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0x905(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0x91d(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0x90d(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1854 <adc_code2temp+0x754>
cmpl   $0x7c7,-0x4(%rbp)
jle    1786 <adc_code2temp+0x686>
cmpl   $0x89f,-0x4(%rbp)
jg     1786 <adc_code2temp+0x686>
movss  -0x8(%rbp),%xmm0
movss  0x8d4(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0x8ac(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0x8b8(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0x8a8(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    184f <adc_code2temp+0x74f>
cmpl   $0x89f,-0x4(%rbp)
jle    17df <adc_code2temp+0x6df>
cmpl   $0x978,-0x4(%rbp)
jg     17df <adc_code2temp+0x6df>
movss  -0x8(%rbp),%xmm0
movss  0x86f(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0x853(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0x853(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0x843(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    184a <adc_code2temp+0x74a>
cmpl   $0x978,-0x4(%rbp)
jle    1838 <adc_code2temp+0x738>
cmpl   $0xa52,-0x4(%rbp)
jg     1838 <adc_code2temp+0x738>
movss  -0x8(%rbp),%xmm0
movss  0x80a(%rip),%xmm1
subss  %xmm1,%xmm0
movss  0x7fa(%rip),%xmm1
mulss  %xmm1,%xmm0
movss  0x7ea(%rip),%xmm1
divss  %xmm1,%xmm0
movss  0x7da(%rip),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    1845 <adc_code2temp+0x745>
movss  0x7c0(%rip),%xmm0
movss  %xmm0,-0x8(%rbp)
jmp    184a <adc_code2temp+0x74a>
jmp    184f <adc_code2temp+0x74f>
jmp    1854 <adc_code2temp+0x754>
jmp    1859 <adc_code2temp+0x759>
jmp    185e <adc_code2temp+0x75e>
jmp    1863 <adc_code2temp+0x763>
jmp    1868 <adc_code2temp+0x768>
jmp    186d <adc_code2temp+0x76d>
jmp    1872 <adc_code2temp+0x772>
jmp    1877 <adc_code2temp+0x777>
jmp    187c <adc_code2temp+0x77c>
jmp    1881 <adc_code2temp+0x781>
jmp    1886 <adc_code2temp+0x786>
jmp    188b <adc_code2temp+0x78b>
jmp    1890 <adc_code2temp+0x790>
jmp    1895 <adc_code2temp+0x795>
jmp    189a <adc_code2temp+0x79a>
jmp    189f <adc_code2temp+0x79f>
jmp    18a4 <adc_code2temp+0x7a4>
jmp    18a9 <adc_code2temp+0x7a9>
movss  0x7ef(%rip),%xmm0
mulss  -0x8(%rbp),%xmm0
cvttss2si %xmm0,%eax
mov    %eax,-0xc(%rbp)
mov    -0xc(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<adc_code2temp>:
cvtsi2ss %edi,%xmm0
lea    -0xff6d(%rdi),%eax
cmp    $0x48,%eax
ja     1134 <adc_code2temp+0x34>
addss  0xfcd(%rip),%xmm0
mulss  0xfb9(%rip),%xmm0
divss  0xfc1(%rip),%xmm0
addss  0xfbd(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0xffb6(%rdi),%eax
cmp    $0x49,%eax
ja     1164 <adc_code2temp+0x64>
addss  0xf8d(%rip),%xmm0
mulss  0xf89(%rip),%xmm0
divss  0xf85(%rip),%xmm0
addss  0xf81(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
cmp    $0x19,%edi
ja     117e <adc_code2temp+0x7e>
mulss  0xf57(%rip),%xmm0
divss  0xf57(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x1a(%rdi),%eax
cmp    $0x19,%eax
ja     11ab <adc_code2temp+0xab>
addss  0xf36(%rip),%xmm0
movss  0xf32(%rip),%xmm1
mulss  %xmm1,%xmm0
divss  0xf2a(%rip),%xmm0
addss  %xmm1,%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x34(%rdi),%eax
cmp    $0x32,%eax
ja     11d8 <adc_code2temp+0xd8>
addss  0xf01(%rip),%xmm0
movss  0xed9(%rip),%xmm1
mulss  %xmm1,%xmm0
divss  0xef1(%rip),%xmm0
addss  %xmm1,%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x67(%rdi),%eax
cmp    $0x33,%eax
ja     1205 <adc_code2temp+0x105>
addss  0xed0(%rip),%xmm0
mulss  0xeac(%rip),%xmm0
divss  0xeb8(%rip),%xmm0
addss  0xe84(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x9b(%rdi),%eax
cmp    $0x33,%eax
ja     1235 <adc_code2temp+0x135>
addss  0xe94(%rip),%xmm0
mulss  0xe7c(%rip),%xmm0
divss  0xe88(%rip),%xmm0
addss  0xe84(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0xcf(%rdi),%eax
cmp    $0x34,%eax
ja     1265 <adc_code2temp+0x165>
addss  0xe60(%rip),%xmm0
mulss  0xe4c(%rip),%xmm0
divss  0xe48(%rip),%xmm0
addss  0xda8(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x104(%rdi),%eax
cmp    $0x34,%eax
ja     1295 <adc_code2temp+0x195>
addss  0xe20(%rip),%xmm0
mulss  0xe1c(%rip),%xmm0
divss  0xe18(%rip),%xmm0
addss  0xe14(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x139(%rdi),%eax
cmp    $0x69,%eax
ja     12c5 <adc_code2temp+0x1c5>
addss  0xde8(%rip),%xmm0
mulss  0xdd4(%rip),%xmm0
divss  0xdd0(%rip),%xmm0
addss  0xdd4(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x1a3(%rdi),%eax
cmp    $0x69,%eax
ja     12f5 <adc_code2temp+0x1f5>
addss  0xda8(%rip),%xmm0
mulss  0xda4(%rip),%xmm0
divss  0xda0(%rip),%xmm0
addss  0xd9c(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x20d(%rdi),%eax
cmp    $0xd1,%eax
ja     1327 <adc_code2temp+0x227>
addss  0xd6a(%rip),%xmm0
mulss  0xcf6(%rip),%xmm0
divss  0xd5e(%rip),%xmm0
addss  0xd5a(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x2df(%rdi),%eax
cmp    $0xcd,%eax
ja     1359 <adc_code2temp+0x259>
addss  0xd2c(%rip),%xmm0
mulss  0xcc4(%rip),%xmm0
divss  0xd20(%rip),%xmm0
addss  0xd1c(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x3ad(%rdi),%eax
cmp    $0xcb,%eax
ja     138b <adc_code2temp+0x28b>
addss  0xcee(%rip),%xmm0
mulss  0xc92(%rip),%xmm0
divss  0xce2(%rip),%xmm0
addss  0xcde(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x479(%rdi),%eax
cmp    $0xcf,%eax
ja     13bd <adc_code2temp+0x2bd>
addss  0xcb0(%rip),%xmm0
mulss  0xc60(%rip),%xmm0
divss  0xca4(%rip),%xmm0
addss  0xca0(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x549(%rdi),%eax
cmp    $0xd2,%eax
ja     13ef <adc_code2temp+0x2ef>
addss  0xc72(%rip),%xmm0
mulss  0xc2e(%rip),%xmm0
divss  0xc66(%rip),%xmm0
addss  0xc62(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x61c(%rdi),%eax
cmp    $0xd6,%eax
ja     1421 <adc_code2temp+0x321>
addss  0xc34(%rip),%xmm0
mulss  0xbfc(%rip),%xmm0
divss  0xc28(%rip),%xmm0
addss  0xc24(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x6f3(%rdi),%eax
cmp    $0xd4,%eax
ja     1453 <adc_code2temp+0x353>
addss  0xbf6(%rip),%xmm0
mulss  0xbca(%rip),%xmm0
divss  0xbea(%rip),%xmm0
addss  0xbe6(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x7c8(%rdi),%eax
cmp    $0xd7,%eax
ja     1482 <adc_code2temp+0x382>
addss  0xbb8(%rip),%xmm0
mulss  0xb98(%rip),%xmm0
divss  0xbac(%rip),%xmm0
addss  0xba8(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
lea    -0x8a0(%rdi),%eax
cmp    $0xd8,%eax
ja     14b1 <adc_code2temp+0x3b1>
addss  0xb7d(%rip),%xmm0
mulss  0xb69(%rip),%xmm0
divss  0xb71(%rip),%xmm0
addss  0xb6d(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
add    $0xfffff687,%edi
cmp    $0xd9,%edi
ja     14e1 <adc_code2temp+0x3e1>
addss  0xb3d(%rip),%xmm0
mulss  0xb39(%rip),%xmm0
divss  0xb35(%rip),%xmm0
addss  0xb31(%rip),%xmm0
jmp    14e9 <adc_code2temp+0x3e9>
movss  0xb17(%rip),%xmm0
mulss  0xbab(%rip),%xmm0
cvttss2si %xmm0,%eax
ret

LLVM IR (-O0):
define i32 @adc_code2temp(i32 %0) {
%2 = alloca i32
%3 = alloca float
%4 = alloca i32
store i32 %0, i32* %2
%5 = load i32, i32* %2
%6 = sitofp i32 %5 to float
store float %6, float* %3
%7 = load i32, i32* %2
%8 = icmp sgt i32 %7, 65388
br i1 %8, label %9, label %18
9: ; preds = %1
%10 = load i32, i32* %2
%11 = icmp sle i32 %10, 65461
br i1 %11, label %12, label %18
12: ; preds = %9
%13 = load float, float* %3
%14 = fsub float %13, 6.538800e+04
%15 = fmul float 1.500000e+01, %14
%16 = fdiv float %15, 7.300000e+01
%17 = fsub float %16, 3.000000e+01
store float %17, float* %3
br label %278
18: ; preds = %9, %1
%19 = load i32, i32* %2
%20 = icmp sgt i32 %19, 65461
br i1 %20, label %21, label %30
21: ; preds = %18
%22 = load i32, i32* %2
%23 = icmp sle i32 %22, 65535
br i1 %23, label %24, label %30
24: ; preds = %21
%25 = load float, float* %3
%26 = fsub float %25, 6.546100e+04
%27 = fmul float 1.500000e+01, %26
%28 = fdiv float %27, 7.500000e+01
%29 = fsub float %28, 1.500000e+01
store float %29, float* %3
br label %277
30: ; preds = %21, %18
%31 = load i32, i32* %2
%32 = icmp sge i32 %31, 0
br i1 %32, label %33, label %41
33: ; preds = %30
%34 = load i32, i32* %2
%35 = icmp sle i32 %34, 25
br i1 %35, label %36, label %41
36: ; preds = %33
%37 = load float, float* %3
%38 = fsub float %37, 0.000000e+00
%39 = fmul float 5.000000e+00, %38
%40 = fdiv float %39, 2.500000e+01
store float %40, float* %3
br label %276
41: ; preds = %33, %30
%42 = load i32, i32* %2
%43 = icmp sgt i32 %42, 25
br i1 %43, label %44, label %53
44: ; preds = %41
%45 = load i32, i32* %2
%46 = icmp sle i32 %45, 51
br i1 %46, label %47, label %53
47: ; preds = %44
%48 = load float, float* %3
%49 = fsub float %48, 2.500000e+01
%50 = fmul float 5.000000e+00, %49
%51 = fdiv float %50, 2.600000e+01
%52 = fadd float %51, 5.000000e+00
store float %52, float* %3
br label %275
53: ; preds = %44, %41
%54 = load i32, i32* %2
%55 = icmp sgt i32 %54, 51
br i1 %55, label %56, label %65
56: ; preds = %53
%57 = load i32, i32* %2
%58 = icmp sle i32 %57, 102
br i1 %58, label %59, label %65
59: ; preds = %56
%60 = load float, float* %3
%61 = fsub float %60, 5.100000e+01
%62 = fmul float 1.000000e+01, %61
%63 = fdiv float %62, 5.100000e+01
%64 = fadd float %63, 1.000000e+01
store float %64, float* %3
br label %274
65: ; preds = %56, %53
%66 = load i32, i32* %2
%67 = icmp sgt i32 %66, 102
br i1 %67, label %68, label %77
68: ; preds = %65
%69 = load i32, i32* %2
%70 = icmp sle i32 %69, 154
br i1 %70, label %71, label %77
71: ; preds = %68
%72 = load float, float* %3
%73 = fsub float %72, 1.020000e+02
%74 = fmul float 1.000000e+01, %73
%75 = fdiv float %74, 5.200000e+01
%76 = fadd float %75, 2.000000e+01
store float %76, float* %3
br label %273
77: ; preds = %68, %65
%78 = load i32, i32* %2
%79 = icmp sgt i32 %78, 154
br i1 %79, label %80, label %89
80: ; preds = %77
%81 = load i32, i32* %2
%82 = icmp sle i32 %81, 206
br i1 %82, label %83, label %89
83: ; preds = %80
%84 = load float, float* %3
%85 = fsub float %84, 1.540000e+02
%86 = fmul float 1.000000e+01, %85
%87 = fdiv float %86, 5.200000e+01
%88 = fadd float %87, 3.000000e+01
store float %88, float* %3
br label %272
89: ; preds = %80, %77
%90 = load i32, i32* %2
%91 = icmp sgt i32 %90, 206
br i1 %91, label %92, label %101
92: ; preds = %89
%93 = load i32, i32* %2
%94 = icmp sle i32 %93, 259
br i1 %94, label %95, label %101
95: ; preds = %92
%96 = load float, float* %3
%97 = fsub float %96, 2.060000e+02
%98 = fmul float 1.000000e+01, %97
%99 = fdiv float %98, 5.300000e+01
%100 = fadd float %99, 4.000000e+01
store float %100, float* %3
br label %271
101: ; preds = %92, %89
%102 = load i32, i32* %2
%103 = icmp sgt i32 %102, 259
br i1 %103, label %104, label %113
104: ; preds = %101
%105 = load i32, i32* %2
%106 = icmp sle i32 %105, 312
br i1 %106, label %107, label %113
107: ; preds = %104
%108 = load float, float* %3
%109 = fsub float %108, 2.590000e+02
%110 = fmul float 1.000000e+01, %109
%111 = fdiv float %110, 5.300000e+01
%112 = fadd float %111, 5.000000e+01
store float %112, float* %3
br label %270
113: ; preds = %104, %101
%114 = load i32, i32* %2
%115 = icmp sgt i32 %114, 312
br i1 %115, label %116, label %125
116: ; preds = %113
%117 = load i32, i32* %2
%118 = icmp sle i32 %117, 418
br i1 %118, label %119, label %125
119: ; preds = %116
%120 = load float, float* %3
%121 = fsub float %120, 3.120000e+02
%122 = fmul float 2.000000e+01, %121
%123 = fdiv float %122, 1.060000e+02
%124 = fadd float %123, 6.000000e+01
store float %124, float* %3
br label %269
125: ; preds = %116, %113
%126 = load i32, i32* %2
%127 = icmp sgt i32 %126, 418
br i1 %127, label %128, label %137
128: ; preds = %125
%129 = load i32, i32* %2
%130 = icmp sle i32 %129, 524
br i1 %130, label %131, label %137
131: ; preds = %128
%132 = load float, float* %3
%133 = fsub float %132, 4.180000e+02
%134 = fmul float %133, 2.000000e+01
%135 = fdiv float %134, 1.060000e+02
%136 = fadd float %135, 8.000000e+01
store float %136, float* %3
br label %268
137: ; preds = %128, %125
%138 = load i32, i32* %2
%139 = icmp sgt i32 %138, 524
br i1 %139, label %140, label %149
140: ; preds = %137
%141 = load i32, i32* %2
%142 = icmp sle i32 %141, 734
br i1 %142, label %143, label %149
143: ; preds = %140
%144 = load float, float* %3
%145 = fsub float %144, 5.240000e+02
%146 = fmul float %145, 4.000000e+01
%147 = fdiv float %146, 2.100000e+02
%148 = fadd float %147, 1.000000e+02
store float %148, float* %3
br label %267
149: ; preds = %140, %137
%150 = load i32, i32* %2
%151 = icmp sgt i32 %150, 734
br i1 %151, label %152, label %161
152: ; preds = %149
%153 = load i32, i32* %2
%154 = icmp sle i32 %153, 940
br i1 %154, label %155, label %161
155: ; preds = %152
%156 = load float, float* %3
%157 = fsub float %156, 7.340000e+02
%158 = fmul float %157, 4.000000e+01
%159 = fdiv float %158, 2.060000e+02
%160 = fadd float %159, 1.400000e+02
store float %160, float* %3
br label %266
161: ; preds = %152, %149
%162 = load i32, i32* %2
%163 = icmp sgt i32 %162, 940
br i1 %163, label %164, label %173
164: ; preds = %161
%165 = load i32, i32* %2
%166 = icmp sle i32 %165, 1144
br i1 %166, label %167, label %173
167: ; preds = %164
%168 = load float, float* %3
%169 = fsub float %168, 9.390000e+02
%170 = fmul float %169, 4.000000e+01
%171 = fdiv float %170, 2.050000e+02
%172 = fadd float %171, 1.800000e+02
store float %172, float* %3
br label %265
173: ; preds = %164, %161
%174 = load i32, i32* %2
%175 = icmp sgt i32 %174, 1144
br i1 %175, label %176, label %185
176: ; preds = %173
%177 = load i32, i32* %2
%178 = icmp sle i32 %177, 1352
br i1 %178, label %179, label %185
179: ; preds = %176
%180 = load float, float* %3
%181 = fsub float %180, 1.144000e+03
%182 = fmul float %181, 4.000000e+01
%183 = fdiv float %182, 2.080000e+02
%184 = fadd float %183, 2.200000e+02
store float %184, float* %3
br label %264
185: ; preds = %176, %173
%186 = load i32, i32* %2
%187 = icmp sgt i32 %186, 1352
br i1 %187, label %188, label %197
188: ; preds = %185
%189 = load i32, i32* %2
%190 = icmp sle i32 %189, 1563
br i1 %190, label %191, label %197
191: ; preds = %188
%192 = load float, float* %3
%193 = fsub float %192, 1.352000e+03
%194 = fmul float %193, 4.000000e+01
%195 = fdiv float %194, 2.110000e+02
%196 = fadd float %195, 2.600000e+02
store float %196, float* %3
br label %263
197: ; preds = %188, %185
%198 = load i32, i32* %2
%199 = icmp sgt i32 %198, 1563
br i1 %199, label %200, label %209
200: ; preds = %197
%201 = load i32, i32* %2
%202 = icmp sle i32 %201, 1778
br i1 %202, label %203, label %209
203: ; preds = %200
%204 = load float, float* %3
%205 = fsub float %204, 1.563000e+03
%206 = fmul float %205, 4.000000e+01
%207 = fdiv float %206, 2.150000e+02
%208 = fadd float %207, 3.000000e+02
store float %208, float* %3
br label %262
209: ; preds = %200, %197
%210 = load i32, i32* %2
%211 = icmp sgt i32 %210, 1778
br i1 %211, label %212, label %221
212: ; preds = %209
%213 = load i32, i32* %2
%214 = icmp sle i32 %213, 1991
br i1 %214, label %215, label %221
215: ; preds = %212
%216 = load float, float* %3
%217 = fsub float %216, 1.778000e+03
%218 = fmul float %217, 4.000000e+01
%219 = fdiv float %218, 2.130000e+02
%220 = fadd float %219, 3.400000e+02
store float %220, float* %3
br label %261
221: ; preds = %212, %209
%222 = load i32, i32* %2
%223 = icmp sgt i32 %222, 1991
br i1 %223, label %224, label %233
224: ; preds = %221
%225 = load i32, i32* %2
%226 = icmp sle i32 %225, 2207
br i1 %226, label %227, label %233
227: ; preds = %224
%228 = load float, float* %3
%229 = fsub float %228, 1.991000e+03
%230 = fmul float %229, 4.000000e+01
%231 = fdiv float %230, 2.160000e+02
%232 = fadd float %231, 3.800000e+02
store float %232, float* %3
br label %260
233: ; preds = %224, %221
%234 = load i32, i32* %2
%235 = icmp sgt i32 %234, 2207
br i1 %235, label %236, label %245
236: ; preds = %233
%237 = load i32, i32* %2
%238 = icmp sle i32 %237, 2424
br i1 %238, label %239, label %245
239: ; preds = %236
%240 = load float, float* %3
%241 = fsub float %240, 2.207000e+03
%242 = fmul float %241, 4.000000e+01
%243 = fdiv float %242, 2.170000e+02
%244 = fadd float %243, 4.200000e+02
store float %244, float* %3
br label %259
245: ; preds = %236, %233
%246 = load i32, i32* %2
%247 = icmp sgt i32 %246, 2424
br i1 %247, label %248, label %257
248: ; preds = %245
%249 = load i32, i32* %2
%250 = icmp sle i32 %249, 2642
br i1 %250, label %251, label %257
251: ; preds = %248
%252 = load float, float* %3
%253 = fsub float %252, 2.424000e+03
%254 = fmul float %253, 4.000000e+01
%255 = fdiv float %254, 2.180000e+02
%256 = fadd float %255, 4.600000e+02
store float %256, float* %3
br label %258
257: ; preds = %248, %245
store float 4.240500e+04, float* %3
br label %258
258: ; preds = %257, %251
br label %259
259: ; preds = %258, %239
br label %260
260: ; preds = %259, %227
br label %261
261: ; preds = %260, %215
br label %262
262: ; preds = %261, %203
br label %263
263: ; preds = %262, %191
br label %264
264: ; preds = %263, %179
br label %265
265: ; preds = %264, %167
br label %266
266: ; preds = %265, %155
br label %267
267: ; preds = %266, %143
br label %268
268: ; preds = %267, %131
br label %269
269: ; preds = %268, %119
br label %270
270: ; preds = %269, %107
br label %271
271: ; preds = %270, %95
br label %272
272: ; preds = %271, %83
br label %273
273: ; preds = %272, %71
br label %274
274: ; preds = %273, %59
br label %275
275: ; preds = %274, %47
br label %276
276: ; preds = %275, %36
br label %277
277: ; preds = %276, %24
br label %278
278: ; preds = %277, %12
%279 = load float, float* %3
%280 = fmul float 1.000000e+01, %279
%281 = fptosi float %280 to i32
store i32 %281, i32* %4
%282 = load i32, i32* %4
ret i32 %282
}

LLVM IR (-O2):
define i32 @adc_code2temp(i32 %0) {
%2 = sitofp i32 %0 to float
%3 = add i32 %0, -65389
%4 = icmp ult i32 %3, 73
br i1 %4, label %5, label %10
5: ; preds = %1
%6 = fadd float %2, -6.538800e+04
%7 = fmul float %6, 1.500000e+01
%8 = fdiv float %7, 7.300000e+01
%9 = fadd float %8, -3.000000e+01
br label %167
10: ; preds = %1
%11 = add i32 %0, -65462
%12 = icmp ult i32 %11, 74
br i1 %12, label %13, label %18
13: ; preds = %10
%14 = fadd float %2, -6.546100e+04
%15 = fmul float %14, 1.500000e+01
%16 = fdiv float %15, 7.500000e+01
%17 = fadd float %16, -1.500000e+01
br label %167
18: ; preds = %10
%19 = icmp ult i32 %0, 26
br i1 %19, label %20, label %23
20: ; preds = %18
%21 = fmul float %2, 5.000000e+00
%22 = fdiv float %21, 2.500000e+01
br label %167
23: ; preds = %18
%24 = add i32 %0, -26
%25 = icmp ult i32 %24, 26
br i1 %25, label %26, label %31
26: ; preds = %23
%27 = fadd float %2, -2.500000e+01
%28 = fmul float %27, 5.000000e+00
%29 = fdiv float %28, 2.600000e+01
%30 = fadd float %29, 5.000000e+00
br label %167
31: ; preds = %23
%32 = add i32 %0, -52
%33 = icmp ult i32 %32, 51
br i1 %33, label %34, label %39
34: ; preds = %31
%35 = fadd float %2, -5.100000e+01
%36 = fmul float %35, 1.000000e+01
%37 = fdiv float %36, 5.100000e+01
%38 = fadd float %37, 1.000000e+01
br label %167
39: ; preds = %31
%40 = add i32 %0, -103
%41 = icmp ult i32 %40, 52
br i1 %41, label %42, label %47
42: ; preds = %39
%43 = fadd float %2, -1.020000e+02
%44 = fmul float %43, 1.000000e+01
%45 = fdiv float %44, 5.200000e+01
%46 = fadd float %45, 2.000000e+01
br label %167
47: ; preds = %39
%48 = add i32 %0, -155
%49 = icmp ult i32 %48, 52
br i1 %49, label %50, label %55
50: ; preds = %47
%51 = fadd float %2, -1.540000e+02
%52 = fmul float %51, 1.000000e+01
%53 = fdiv float %52, 5.200000e+01
%54 = fadd float %53, 3.000000e+01
br label %167
55: ; preds = %47
%56 = add i32 %0, -207
%57 = icmp ult i32 %56, 53
br i1 %57, label %58, label %63
58: ; preds = %55
%59 = fadd float %2, -2.060000e+02
%60 = fmul float %59, 1.000000e+01
%61 = fdiv float %60, 5.300000e+01
%62 = fadd float %61, 4.000000e+01
br label %167
63: ; preds = %55
%64 = add i32 %0, -260
%65 = icmp ult i32 %64, 53
br i1 %65, label %66, label %71
66: ; preds = %63
%67 = fadd float %2, -2.590000e+02
%68 = fmul float %67, 1.000000e+01
%69 = fdiv float %68, 5.300000e+01
%70 = fadd float %69, 5.000000e+01
br label %167
71: ; preds = %63
%72 = add i32 %0, -313
%73 = icmp ult i32 %72, 106
br i1 %73, label %74, label %79
74: ; preds = %71
%75 = fadd float %2, -3.120000e+02
%76 = fmul float %75, 2.000000e+01
%77 = fdiv float %76, 1.060000e+02
%78 = fadd float %77, 6.000000e+01
br label %167
79: ; preds = %71
%80 = add i32 %0, -419
%81 = icmp ult i32 %80, 106
br i1 %81, label %82, label %87
82: ; preds = %79
%83 = fadd float %2, -4.180000e+02
%84 = fmul float %83, 2.000000e+01
%85 = fdiv float %84, 1.060000e+02
%86 = fadd float %85, 8.000000e+01
br label %167
87: ; preds = %79
%88 = add i32 %0, -525
%89 = icmp ult i32 %88, 210
br i1 %89, label %90, label %95
90: ; preds = %87
%91 = fadd float %2, -5.240000e+02
%92 = fmul float %91, 4.000000e+01
%93 = fdiv float %92, 2.100000e+02
%94 = fadd float %93, 1.000000e+02
br label %167
95: ; preds = %87
%96 = add i32 %0, -735
%97 = icmp ult i32 %96, 206
br i1 %97, label %98, label %103
98: ; preds = %95
%99 = fadd float %2, -7.340000e+02
%100 = fmul float %99, 4.000000e+01
%101 = fdiv float %100, 2.060000e+02
%102 = fadd float %101, 1.400000e+02
br label %167
103: ; preds = %95
%104 = add i32 %0, -941
%105 = icmp ult i32 %104, 204
br i1 %105, label %106, label %111
106: ; preds = %103
%107 = fadd float %2, -9.390000e+02
%108 = fmul float %107, 4.000000e+01
%109 = fdiv float %108, 2.050000e+02
%110 = fadd float %109, 1.800000e+02
br label %167
111: ; preds = %103
%112 = add i32 %0, -1145
%113 = icmp ult i32 %112, 208
br i1 %113, label %114, label %119
114: ; preds = %111
%115 = fadd float %2, -1.144000e+03
%116 = fmul float %115, 4.000000e+01
%117 = fdiv float %116, 2.080000e+02
%118 = fadd float %117, 2.200000e+02
br label %167
119: ; preds = %111
%120 = add i32 %0, -1353
%121 = icmp ult i32 %120, 211
br i1 %121, label %122, label %127
122: ; preds = %119
%123 = fadd float %2, -1.352000e+03
%124 = fmul float %123, 4.000000e+01
%125 = fdiv float %124, 2.110000e+02
%126 = fadd float %125, 2.600000e+02
br label %167
127: ; preds = %119
%128 = add i32 %0, -1564
%129 = icmp ult i32 %128, 215
br i1 %129, label %130, label %135
130: ; preds = %127
%131 = fadd float %2, -1.563000e+03
%132 = fmul float %131, 4.000000e+01
%133 = fdiv float %132, 2.150000e+02
%134 = fadd float %133, 3.000000e+02
br label %167
135: ; preds = %127
%136 = add i32 %0, -1779
%137 = icmp ult i32 %136, 213
br i1 %137, label %138, label %143
138: ; preds = %135
%139 = fadd float %2, -1.778000e+03
%140 = fmul float %139, 4.000000e+01
%141 = fdiv float %140, 2.130000e+02
%142 = fadd float %141, 3.400000e+02
br label %167
143: ; preds = %135
%144 = add i32 %0, -1992
%145 = icmp ult i32 %144, 216
br i1 %145, label %146, label %151
146: ; preds = %143
%147 = fadd float %2, -1.991000e+03
%148 = fmul float %147, 4.000000e+01
%149 = fdiv float %148, 2.160000e+02
%150 = fadd float %149, 3.800000e+02
br label %167
151: ; preds = %143
%152 = add i32 %0, -2208
%153 = icmp ult i32 %152, 217
br i1 %153, label %154, label %159
154: ; preds = %151
%155 = fadd float %2, -2.207000e+03
%156 = fmul float %155, 4.000000e+01
%157 = fdiv float %156, 2.170000e+02
%158 = fadd float %157, 4.200000e+02
br label %167
159: ; preds = %151
%160 = add i32 %0, -2425
%161 = icmp ult i32 %160, 218
br i1 %161, label %162, label %167
162: ; preds = %159
%163 = fadd float %2, -2.424000e+03
%164 = fmul float %163, 4.000000e+01
%165 = fdiv float %164, 2.180000e+02
%166 = fadd float %165, 4.600000e+02
br label %167
167: ; preds = %159, %13, %26, %42, %58, %74, %90, %106, %122, %138, %154, %162, %146, %130, %114, %98, %82, %66, %50, %34, %20, %5
%168 = phi float [ %9, %5 ], [ %17, %13 ], [ %22, %20 ], [ %30, %26 ], [ %38, %34 ], [ %46, %42 ], [ %54, %50 ], [ %62, %58 ], [ %70, %66 ], [ %78, %74 ], [ %86, %82 ], [ %94, %90 ], [ %102, %98 ], [ %110, %106 ], [ %118, %114 ], [ %126, %122 ], [ %134, %130 ], [ %142, %138 ], [ %150, %146 ], [ %158, %154 ], [ %166, %162 ], [ 4.240500e+04, %159 ]
%169 = fmul float %168, 1.000000e+01
%170 = fptosi float %169 to i32
ret i32 %170
}