char utm_letter(double latitude) {
  if (latitude <= 84.0 && latitude >= 72.0)
    return 'X';
  else if (latitude < 72.0 && latitude >= 64.0)
    return 'W';
  else if (latitude < 64.0 && latitude >= 56.0)
    return 'V';
  else if (latitude < 56.0 && latitude >= 48.0)
    return 'U';
  else if (latitude < 48.0 && latitude >= 40.0)
    return 'T';
  else if (latitude < 40.0 && latitude >= 32.0)
    return 'S';
  else if (latitude < 32.0 && latitude >= 24.0)
    return 'R';
  else if (latitude < 24.0 && latitude >= 16.0)
    return 'Q';
  else if (latitude < 16.0 && latitude >= 8.0)
    return 'P';
  else if (latitude < 8.0 && latitude >= 0.0)
    return 'N';
  else if (latitude < 0.0 && latitude >= -8.0)
    return 'M';
  else if (latitude < -8.0 && latitude >= -16.0)
    return 'L';
  else if (latitude < -16.0 && latitude >= -24.0)
    return 'K';
  else if (latitude < -24.0 && latitude >= -32.0)
    return 'J';
  else if (latitude < -32.0 && latitude >= -40.0)
    return 'H';
  else if (latitude < -40.0 && latitude >= -48.0)
    return 'G';
  else if (latitude < -48.0 && latitude >= -56.0)
    return 'F';
  else if (latitude < -56.0 && latitude >= -64.0)
    return 'E';
  else if (latitude < -64.0 && latitude >= -72.0)
    return 'D';
  else if (latitude < -72.0 && latitude >= -80.0)
    return 'C';
  else
    return 'Z';
}


x86 assembly (clang, -O0):
<utm_letter>:
push   %rbp
mov    %rsp,%rbp
movsd  %xmm0,-0x10(%rbp)
movsd  0xeef(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jb     113c <utm_letter+0x3c>
movsd  -0x10(%rbp),%xmm0
movsd  0xedf(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     113c <utm_letter+0x3c>
movb   $0x58,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xec4(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    116f <utm_letter+0x6f>
movsd  -0x10(%rbp),%xmm0
movsd  0xeb4(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     116f <utm_letter+0x6f>
movb   $0x57,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xe99(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    11a2 <utm_letter+0xa2>
movsd  -0x10(%rbp),%xmm0
movsd  0xe89(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     11a2 <utm_letter+0xa2>
movb   $0x56,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xe6e(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    11d5 <utm_letter+0xd5>
movsd  -0x10(%rbp),%xmm0
movsd  0xe5e(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     11d5 <utm_letter+0xd5>
movb   $0x55,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xe43(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1208 <utm_letter+0x108>
movsd  -0x10(%rbp),%xmm0
movsd  0xe33(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1208 <utm_letter+0x108>
movb   $0x54,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xe18(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    123b <utm_letter+0x13b>
movsd  -0x10(%rbp),%xmm0
movsd  0xe08(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     123b <utm_letter+0x13b>
movb   $0x53,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xded(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    126e <utm_letter+0x16e>
movsd  -0x10(%rbp),%xmm0
movsd  0xddd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     126e <utm_letter+0x16e>
movb   $0x52,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xdc2(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    12a1 <utm_letter+0x1a1>
movsd  -0x10(%rbp),%xmm0
movsd  0xdb2(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     12a1 <utm_letter+0x1a1>
movb   $0x51,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xd97(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    12d4 <utm_letter+0x1d4>
movsd  -0x10(%rbp),%xmm0
movsd  0xd87(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     12d4 <utm_letter+0x1d4>
movb   $0x50,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xd6c(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1302 <utm_letter+0x202>
movsd  -0x10(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     1302 <utm_letter+0x202>
movb   $0x4e,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
xorps  %xmm0,%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1330 <utm_letter+0x230>
movsd  -0x10(%rbp),%xmm0
movsd  0xd33(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1330 <utm_letter+0x230>
movb   $0x4d,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xd18(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1363 <utm_letter+0x263>
movsd  -0x10(%rbp),%xmm0
movsd  0xd08(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1363 <utm_letter+0x263>
movb   $0x4c,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xced(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1396 <utm_letter+0x296>
movsd  -0x10(%rbp),%xmm0
movsd  0xcdd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1396 <utm_letter+0x296>
movb   $0x4b,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xcc2(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    13c9 <utm_letter+0x2c9>
movsd  -0x10(%rbp),%xmm0
movsd  0xcb2(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     13c9 <utm_letter+0x2c9>
movb   $0x4a,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xc97(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    13fc <utm_letter+0x2fc>
movsd  -0x10(%rbp),%xmm0
movsd  0xc87(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     13fc <utm_letter+0x2fc>
movb   $0x48,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xc6c(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    142f <utm_letter+0x32f>
movsd  -0x10(%rbp),%xmm0
movsd  0xc5c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     142f <utm_letter+0x32f>
movb   $0x47,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xc41(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1462 <utm_letter+0x362>
movsd  -0x10(%rbp),%xmm0
movsd  0xc31(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1462 <utm_letter+0x362>
movb   $0x46,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xc16(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1495 <utm_letter+0x395>
movsd  -0x10(%rbp),%xmm0
movsd  0xc06(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1495 <utm_letter+0x395>
movb   $0x45,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xbeb(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    14c8 <utm_letter+0x3c8>
movsd  -0x10(%rbp),%xmm0
movsd  0xbdb(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     14c8 <utm_letter+0x3c8>
movb   $0x44,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movsd  0xbc0(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    14fb <utm_letter+0x3fb>
movsd  -0x10(%rbp),%xmm0
movsd  0xbb0(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     14fb <utm_letter+0x3fb>
movb   $0x43,-0x1(%rbp)
jmp    14ff <utm_letter+0x3ff>
movb   $0x5a,-0x1(%rbp)
movsbl -0x1(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<utm_letter>:
movsd  0xef8(%rip),%xmm1
ucomisd %xmm0,%xmm1
jb     111b <utm_letter+0x1b>
mov    $0x58,%al
ucomisd 0xef0(%rip),%xmm0
jb     111b <utm_letter+0x1b>
ret
movsd  0xee5(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1135 <utm_letter+0x35>
mov    $0x57,%al
ucomisd 0xedd(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xed3(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    114f <utm_letter+0x4f>
mov    $0x56,%al
ucomisd 0xecb(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xec1(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1169 <utm_letter+0x69>
mov    $0x55,%al
ucomisd 0xeb9(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xeaf(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1183 <utm_letter+0x83>
mov    $0x54,%al
ucomisd 0xea7(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xe9d(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    11a1 <utm_letter+0xa1>
mov    $0x53,%al
ucomisd 0xe95(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xe87(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    11bf <utm_letter+0xbf>
mov    $0x52,%al
ucomisd 0xe7f(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xe71(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    11dd <utm_letter+0xdd>
mov    $0x51,%al
ucomisd 0xe69(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xe5b(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    11fb <utm_letter+0xfb>
mov    $0x50,%al
ucomisd 0xe53(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xe45(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1219 <utm_letter+0x119>
mov    $0x4e,%al
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jae    111a <utm_letter+0x1a>
xorpd  %xmm1,%xmm1
ucomisd %xmm0,%xmm1
jbe    1233 <utm_letter+0x133>
mov    $0x4d,%al
ucomisd 0xe23(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xe15(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1251 <utm_letter+0x151>
mov    $0x4c,%al
ucomisd 0xe0d(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xdff(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    126f <utm_letter+0x16f>
mov    $0x4b,%al
ucomisd 0xdf7(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xde9(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    128d <utm_letter+0x18d>
mov    $0x4a,%al
ucomisd 0xde1(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xdd3(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    12ab <utm_letter+0x1ab>
mov    $0x48,%al
ucomisd 0xdcb(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xdbd(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    12c9 <utm_letter+0x1c9>
mov    $0x47,%al
ucomisd 0xdb5(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xda7(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    12e7 <utm_letter+0x1e7>
mov    $0x46,%al
ucomisd 0xd9f(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xd91(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1305 <utm_letter+0x205>
mov    $0x45,%al
ucomisd 0xd89(%rip),%xmm0
jae    111a <utm_letter+0x1a>
movsd  0xd7b(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1323 <utm_letter+0x223>
mov    $0x44,%al
ucomisd 0xd73(%rip),%xmm0
jae    111a <utm_letter+0x1a>
ucomisd 0xd6d(%rip),%xmm0
mov    $0x43,%eax
mov    $0x5a,%ecx
cmovb  %ecx,%eax
movsd  0xd50(%rip),%xmm1
ucomisd %xmm0,%xmm1
cmovbe %ecx,%eax
ret

LLVM IR (-O0):
define signext i8 @utm_letter(double %0) {
%2 = alloca i8
%3 = alloca double
store double %0, double* %3
%4 = load double, double* %3
%5 = fcmp ole double %4, 8.400000e+01
br i1 %5, label %6, label %10
6: ; preds = %1
%7 = load double, double* %3
%8 = fcmp oge double %7, 7.200000e+01
br i1 %8, label %9, label %10
9: ; preds = %6
store i8 88, i8* %2
br label %144
10: ; preds = %6, %1
%11 = load double, double* %3
%12 = fcmp olt double %11, 7.200000e+01
br i1 %12, label %13, label %17
13: ; preds = %10
%14 = load double, double* %3
%15 = fcmp oge double %14, 6.400000e+01
br i1 %15, label %16, label %17
16: ; preds = %13
store i8 87, i8* %2
br label %144
17: ; preds = %13, %10
%18 = load double, double* %3
%19 = fcmp olt double %18, 6.400000e+01
br i1 %19, label %20, label %24
20: ; preds = %17
%21 = load double, double* %3
%22 = fcmp oge double %21, 5.600000e+01
br i1 %22, label %23, label %24
23: ; preds = %20
store i8 86, i8* %2
br label %144
24: ; preds = %20, %17
%25 = load double, double* %3
%26 = fcmp olt double %25, 5.600000e+01
br i1 %26, label %27, label %31
27: ; preds = %24
%28 = load double, double* %3
%29 = fcmp oge double %28, 4.800000e+01
br i1 %29, label %30, label %31
30: ; preds = %27
store i8 85, i8* %2
br label %144
31: ; preds = %27, %24
%32 = load double, double* %3
%33 = fcmp olt double %32, 4.800000e+01
br i1 %33, label %34, label %38
34: ; preds = %31
%35 = load double, double* %3
%36 = fcmp oge double %35, 4.000000e+01
br i1 %36, label %37, label %38
37: ; preds = %34
store i8 84, i8* %2
br label %144
38: ; preds = %34, %31
%39 = load double, double* %3
%40 = fcmp olt double %39, 4.000000e+01
br i1 %40, label %41, label %45
41: ; preds = %38
%42 = load double, double* %3
%43 = fcmp oge double %42, 3.200000e+01
br i1 %43, label %44, label %45
44: ; preds = %41
store i8 83, i8* %2
br label %144
45: ; preds = %41, %38
%46 = load double, double* %3
%47 = fcmp olt double %46, 3.200000e+01
br i1 %47, label %48, label %52
48: ; preds = %45
%49 = load double, double* %3
%50 = fcmp oge double %49, 2.400000e+01
br i1 %50, label %51, label %52
51: ; preds = %48
store i8 82, i8* %2
br label %144
52: ; preds = %48, %45
%53 = load double, double* %3
%54 = fcmp olt double %53, 2.400000e+01
br i1 %54, label %55, label %59
55: ; preds = %52
%56 = load double, double* %3
%57 = fcmp oge double %56, 1.600000e+01
br i1 %57, label %58, label %59
58: ; preds = %55
store i8 81, i8* %2
br label %144
59: ; preds = %55, %52
%60 = load double, double* %3
%61 = fcmp olt double %60, 1.600000e+01
br i1 %61, label %62, label %66
62: ; preds = %59
%63 = load double, double* %3
%64 = fcmp oge double %63, 8.000000e+00
br i1 %64, label %65, label %66
65: ; preds = %62
store i8 80, i8* %2
br label %144
66: ; preds = %62, %59
%67 = load double, double* %3
%68 = fcmp olt double %67, 8.000000e+00
br i1 %68, label %69, label %73
69: ; preds = %66
%70 = load double, double* %3
%71 = fcmp oge double %70, 0.000000e+00
br i1 %71, label %72, label %73
72: ; preds = %69
store i8 78, i8* %2
br label %144
73: ; preds = %69, %66
%74 = load double, double* %3
%75 = fcmp olt double %74, 0.000000e+00
br i1 %75, label %76, label %80
76: ; preds = %73
%77 = load double, double* %3
%78 = fcmp oge double %77, -8.000000e+00
br i1 %78, label %79, label %80
79: ; preds = %76
store i8 77, i8* %2
br label %144
80: ; preds = %76, %73
%81 = load double, double* %3
%82 = fcmp olt double %81, -8.000000e+00
br i1 %82, label %83, label %87
83: ; preds = %80
%84 = load double, double* %3
%85 = fcmp oge double %84, -1.600000e+01
br i1 %85, label %86, label %87
86: ; preds = %83
store i8 76, i8* %2
br label %144
87: ; preds = %83, %80
%88 = load double, double* %3
%89 = fcmp olt double %88, -1.600000e+01
br i1 %89, label %90, label %94
90: ; preds = %87
%91 = load double, double* %3
%92 = fcmp oge double %91, -2.400000e+01
br i1 %92, label %93, label %94
93: ; preds = %90
store i8 75, i8* %2
br label %144
94: ; preds = %90, %87
%95 = load double, double* %3
%96 = fcmp olt double %95, -2.400000e+01
br i1 %96, label %97, label %101
97: ; preds = %94
%98 = load double, double* %3
%99 = fcmp oge double %98, -3.200000e+01
br i1 %99, label %100, label %101
100: ; preds = %97
store i8 74, i8* %2
br label %144
101: ; preds = %97, %94
%102 = load double, double* %3
%103 = fcmp olt double %102, -3.200000e+01
br i1 %103, label %104, label %108
104: ; preds = %101
%105 = load double, double* %3
%106 = fcmp oge double %105, -4.000000e+01
br i1 %106, label %107, label %108
107: ; preds = %104
store i8 72, i8* %2
br label %144
108: ; preds = %104, %101
%109 = load double, double* %3
%110 = fcmp olt double %109, -4.000000e+01
br i1 %110, label %111, label %115
111: ; preds = %108
%112 = load double, double* %3
%113 = fcmp oge double %112, -4.800000e+01
br i1 %113, label %114, label %115
114: ; preds = %111
store i8 71, i8* %2
br label %144
115: ; preds = %111, %108
%116 = load double, double* %3
%117 = fcmp olt double %116, -4.800000e+01
br i1 %117, label %118, label %122
118: ; preds = %115
%119 = load double, double* %3
%120 = fcmp oge double %119, -5.600000e+01
br i1 %120, label %121, label %122
121: ; preds = %118
store i8 70, i8* %2
br label %144
122: ; preds = %118, %115
%123 = load double, double* %3
%124 = fcmp olt double %123, -5.600000e+01
br i1 %124, label %125, label %129
125: ; preds = %122
%126 = load double, double* %3
%127 = fcmp oge double %126, -6.400000e+01
br i1 %127, label %128, label %129
128: ; preds = %125
store i8 69, i8* %2
br label %144
129: ; preds = %125, %122
%130 = load double, double* %3
%131 = fcmp olt double %130, -6.400000e+01
br i1 %131, label %132, label %136
132: ; preds = %129
%133 = load double, double* %3
%134 = fcmp oge double %133, -7.200000e+01
br i1 %134, label %135, label %136
135: ; preds = %132
store i8 68, i8* %2
br label %144
136: ; preds = %132, %129
%137 = load double, double* %3
%138 = fcmp olt double %137, -7.200000e+01
br i1 %138, label %139, label %143
139: ; preds = %136
%140 = load double, double* %3
%141 = fcmp oge double %140, -8.000000e+01
br i1 %141, label %142, label %143
142: ; preds = %139
store i8 67, i8* %2
br label %144
143: ; preds = %139, %136
store i8 90, i8* %2
br label %144
144: ; preds = %143, %142, %135, %128, %121, %114, %107, %100, %93, %86, %79, %72, %65, %58, %51, %44, %37, %30, %23, %16, %9
%145 = load i8, i8* %2
ret i8 %145
}

LLVM IR (-O2):
define signext i8 @utm_letter(double %0) {
%2 = fcmp ole double %0, 8.400000e+01
%3 = fcmp oge double %0, 7.200000e+01
%4 = and i1 %2, %3
br i1 %4, label %82, label %5
5: ; preds = %1
%6 = fcmp olt double %0, 7.200000e+01
%7 = fcmp oge double %0, 6.400000e+01
%8 = and i1 %6, %7
br i1 %8, label %82, label %9
9: ; preds = %5
%10 = fcmp olt double %0, 6.400000e+01
%11 = fcmp oge double %0, 5.600000e+01
%12 = and i1 %10, %11
br i1 %12, label %82, label %13
13: ; preds = %9
%14 = fcmp olt double %0, 5.600000e+01
%15 = fcmp oge double %0, 4.800000e+01
%16 = and i1 %14, %15
br i1 %16, label %82, label %17
17: ; preds = %13
%18 = fcmp olt double %0, 4.800000e+01
%19 = fcmp oge double %0, 4.000000e+01
%20 = and i1 %18, %19
br i1 %20, label %82, label %21
21: ; preds = %17
%22 = fcmp olt double %0, 4.000000e+01
%23 = fcmp oge double %0, 3.200000e+01
%24 = and i1 %22, %23
br i1 %24, label %82, label %25
25: ; preds = %21
%26 = fcmp olt double %0, 3.200000e+01
%27 = fcmp oge double %0, 2.400000e+01
%28 = and i1 %26, %27
br i1 %28, label %82, label %29
29: ; preds = %25
%30 = fcmp olt double %0, 2.400000e+01
%31 = fcmp oge double %0, 1.600000e+01
%32 = and i1 %30, %31
br i1 %32, label %82, label %33
33: ; preds = %29
%34 = fcmp olt double %0, 1.600000e+01
%35 = fcmp oge double %0, 8.000000e+00
%36 = and i1 %34, %35
br i1 %36, label %82, label %37
37: ; preds = %33
%38 = fcmp olt double %0, 8.000000e+00
%39 = fcmp oge double %0, 0.000000e+00
%40 = and i1 %38, %39
br i1 %40, label %82, label %41
41: ; preds = %37
%42 = fcmp olt double %0, 0.000000e+00
%43 = fcmp oge double %0, -8.000000e+00
%44 = and i1 %42, %43
br i1 %44, label %82, label %45
45: ; preds = %41
%46 = fcmp olt double %0, -8.000000e+00
%47 = fcmp oge double %0, -1.600000e+01
%48 = and i1 %46, %47
br i1 %48, label %82, label %49
49: ; preds = %45
%50 = fcmp olt double %0, -1.600000e+01
%51 = fcmp oge double %0, -2.400000e+01
%52 = and i1 %50, %51
br i1 %52, label %82, label %53
53: ; preds = %49
%54 = fcmp olt double %0, -2.400000e+01
%55 = fcmp oge double %0, -3.200000e+01
%56 = and i1 %54, %55
br i1 %56, label %82, label %57
57: ; preds = %53
%58 = fcmp olt double %0, -3.200000e+01
%59 = fcmp oge double %0, -4.000000e+01
%60 = and i1 %58, %59
br i1 %60, label %82, label %61
61: ; preds = %57
%62 = fcmp olt double %0, -4.000000e+01
%63 = fcmp oge double %0, -4.800000e+01
%64 = and i1 %62, %63
br i1 %64, label %82, label %65
65: ; preds = %61
%66 = fcmp olt double %0, -4.800000e+01
%67 = fcmp oge double %0, -5.600000e+01
%68 = and i1 %66, %67
br i1 %68, label %82, label %69
69: ; preds = %65
%70 = fcmp olt double %0, -5.600000e+01
%71 = fcmp oge double %0, -6.400000e+01
%72 = and i1 %70, %71
br i1 %72, label %82, label %73
73: ; preds = %69
%74 = fcmp olt double %0, -6.400000e+01
%75 = fcmp oge double %0, -7.200000e+01
%76 = and i1 %74, %75
br i1 %76, label %82, label %77
77: ; preds = %73
%78 = fcmp olt double %0, -7.200000e+01
%79 = fcmp oge double %0, -8.000000e+01
%80 = and i1 %78, %79
%81 = select i1 %80, i8 67, i8 90
br label %82
82: ; preds = %77, %73, %69, %65, %61, %57, %53, %49, %45, %41, %37, %33, %29, %25, %21, %17, %13, %9, %5, %1
%83 = phi i8 [ 88, %1 ], [ 87, %5 ], [ 86, %9 ], [ 85, %13 ], [ 84, %17 ], [ 83, %21 ], [ 82, %25 ], [ 81, %29 ], [ 80, %33 ], [ 78, %37 ], [ 77, %41 ], [ 76, %45 ], [ 75, %49 ], [ 74, %53 ], [ 72, %57 ], [ 71, %61 ], [ 70, %65 ], [ 69, %69 ], [ 68, %73 ], [ %81, %77 ]
ret i8 %83
}