#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 uint8_t;

/* Variables and functions */
uint8_t NL(double lat) {
  if (lat < 0)
    lat = -lat;
  if (lat < 10.4704713)
    return 59;
  if (lat < 14.8281744)
    return 58;
  if (lat < 18.1862636)
    return 57;
  if (lat < 21.0293949)
    return 56;
  if (lat < 23.5450449)
    return 55;
  if (lat < 25.8292471)
    return 54;
  if (lat < 27.9389871)
    return 53;
  if (lat < 29.9113569)
    return 52;
  if (lat < 31.7720971)
    return 51;
  if (lat < 33.5399344)
    return 50;
  if (lat < 35.2289960)
    return 49;
  if (lat < 36.8502511)
    return 48;
  if (lat < 38.4124189)
    return 47;
  if (lat < 39.9225668)
    return 46;
  if (lat < 41.3865183)
    return 45;
  if (lat < 42.8091401)
    return 44;
  if (lat < 44.1945495)
    return 43;
  if (lat < 45.5462672)
    return 42;
  if (lat < 46.8673325)
    return 41;
  if (lat < 48.1603913)
    return 40;
  if (lat < 49.4277644)
    return 39;
  if (lat < 50.6715017)
    return 38;
  if (lat < 51.8934247)
    return 37;
  if (lat < 53.0951615)
    return 36;
  if (lat < 54.2781747)
    return 35;
  if (lat < 55.4437844)
    return 34;
  if (lat < 56.5931876)
    return 33;
  if (lat < 57.7274735)
    return 32;
  if (lat < 58.8476378)
    return 31;
  if (lat < 59.9545928)
    return 30;
  if (lat < 61.0491777)
    return 29;
  if (lat < 62.1321666)
    return 28;
  if (lat < 63.2042748)
    return 27;
  if (lat < 64.2661652)
    return 26;
  if (lat < 65.3184531)
    return 25;
  if (lat < 66.3617101)
    return 24;
  if (lat < 67.3964677)
    return 23;
  if (lat < 68.4232202)
    return 22;
  if (lat < 69.4424263)
    return 21;
  if (lat < 70.4545107)
    return 20;
  if (lat < 71.4598647)
    return 19;
  if (lat < 72.4588454)
    return 18;
  if (lat < 73.4517744)
    return 17;
  if (lat < 74.4389342)
    return 16;
  if (lat < 75.4205626)
    return 15;
  if (lat < 76.3968439)
    return 14;
  if (lat < 77.3678946)
    return 13;
  if (lat < 78.3337408)
    return 12;
  if (lat < 79.2942823)
    return 11;
  if (lat < 80.2492321)
    return 10;
  if (lat < 81.1980135)
    return 9;
  if (lat < 82.1395698)
    return 8;
  if (lat < 83.0719944)
    return 7;
  if (lat < 83.9917356)
    return 6;
  if (lat < 84.8916619)
    return 5;
  if (lat < 85.7554162)
    return 4;
  if (lat < 86.5353700)
    return 3;
  if (lat < 87.0000000)
    return 2;
  return 1;
}


x86 assembly (clang, -O0):
<NL>:
push   %rbp
mov    %rsp,%rbp
movsd  %xmm0,-0x10(%rbp)
xorps  %xmm0,%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1138 <NL+0x38>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xec0(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1157 <NL+0x57>
movl   $0x3b,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xea9(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1176 <NL+0x76>
movl   $0x3a,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xe92(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1195 <NL+0x95>
movl   $0x39,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xe7b(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    11b4 <NL+0xb4>
movl   $0x38,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xe64(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    11d3 <NL+0xd3>
movl   $0x37,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xe4d(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    11f2 <NL+0xf2>
movl   $0x36,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xe36(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1211 <NL+0x111>
movl   $0x35,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xe1f(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1230 <NL+0x130>
movl   $0x34,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xe08(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    124f <NL+0x14f>
movl   $0x33,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xdf1(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    126e <NL+0x16e>
movl   $0x32,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xdda(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    128d <NL+0x18d>
movl   $0x31,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xdc3(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    12ac <NL+0x1ac>
movl   $0x30,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xdac(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    12cb <NL+0x1cb>
movl   $0x2f,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xd95(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    12ea <NL+0x1ea>
movl   $0x2e,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xd7e(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1309 <NL+0x209>
movl   $0x2d,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xd67(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1328 <NL+0x228>
movl   $0x2c,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xd50(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1347 <NL+0x247>
movl   $0x2b,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xd39(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1366 <NL+0x266>
movl   $0x2a,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xd22(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1385 <NL+0x285>
movl   $0x29,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xd0b(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    13a4 <NL+0x2a4>
movl   $0x28,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xcf4(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    13c3 <NL+0x2c3>
movl   $0x27,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xcdd(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    13e2 <NL+0x2e2>
movl   $0x26,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xcc6(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1401 <NL+0x301>
movl   $0x25,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xcaf(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1420 <NL+0x320>
movl   $0x24,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xc98(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    143f <NL+0x33f>
movl   $0x23,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xc81(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    145e <NL+0x35e>
movl   $0x22,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xc6a(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    147d <NL+0x37d>
movl   $0x21,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xc53(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    149c <NL+0x39c>
movl   $0x20,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xc3c(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    14bb <NL+0x3bb>
movl   $0x1f,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xc25(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    14da <NL+0x3da>
movl   $0x1e,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xc0e(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    14f9 <NL+0x3f9>
movl   $0x1d,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xbf7(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1518 <NL+0x418>
movl   $0x1c,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xbe0(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1537 <NL+0x437>
movl   $0x1b,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xbc9(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1556 <NL+0x456>
movl   $0x1a,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xbb2(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1575 <NL+0x475>
movl   $0x19,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xb9b(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1594 <NL+0x494>
movl   $0x18,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xb84(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    15b3 <NL+0x4b3>
movl   $0x17,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xb6d(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    15d2 <NL+0x4d2>
movl   $0x16,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xb56(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    15f1 <NL+0x4f1>
movl   $0x15,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xb3f(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1610 <NL+0x510>
movl   $0x14,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xb28(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    162f <NL+0x52f>
movl   $0x13,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xb11(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    164e <NL+0x54e>
movl   $0x12,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xafa(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    166d <NL+0x56d>
movl   $0x11,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xae3(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    168c <NL+0x58c>
movl   $0x10,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xacc(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    16ab <NL+0x5ab>
movl   $0xf,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xab5(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    16ca <NL+0x5ca>
movl   $0xe,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xa9e(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    16e9 <NL+0x5e9>
movl   $0xd,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xa87(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1708 <NL+0x608>
movl   $0xc,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xa70(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1727 <NL+0x627>
movl   $0xb,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xa59(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1746 <NL+0x646>
movl   $0xa,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xa42(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1765 <NL+0x665>
movl   $0x9,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xa2b(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1784 <NL+0x684>
movl   $0x8,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0xa14(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    17a3 <NL+0x6a3>
movl   $0x7,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0x9fd(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    17c2 <NL+0x6c2>
movl   $0x6,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0x9e6(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    17e1 <NL+0x6e1>
movl   $0x5,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0x9cf(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1800 <NL+0x700>
movl   $0x4,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0x9b8(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    181f <NL+0x71f>
movl   $0x3,-0x4(%rbp)
jmp    1845 <NL+0x745>
movsd  0x9a1(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    183e <NL+0x73e>
movl   $0x2,-0x4(%rbp)
jmp    1845 <NL+0x745>
movl   $0x1,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<NL>:
movapd 0xef8(%rip),%xmm2
xorpd  %xmm0,%xmm2
xorpd  %xmm3,%xmm3
movapd %xmm0,%xmm1
cmpltsd %xmm3,%xmm1
andpd  %xmm1,%xmm2
andnpd %xmm0,%xmm1
orpd   %xmm2,%xmm1
mov    $0x3b,%eax
movsd  0xede(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x3a,%eax
movsd  0xecf(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x39,%eax
movsd  0xec0(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x38,%eax
movsd  0xeb1(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x37,%eax
movsd  0xea2(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x36,%eax
movsd  0xe93(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x35,%eax
movsd  0xe84(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x34,%eax
movsd  0xe75(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x33,%eax
movsd  0xe66(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x32,%eax
movsd  0xe57(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x31,%eax
movsd  0xe48(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x30,%eax
movsd  0xe39(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x2f,%eax
movsd  0xe2a(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x2e,%eax
movsd  0xe1b(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x2d,%eax
movsd  0xe0c(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x2c,%eax
movsd  0xdfd(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x2b,%eax
movsd  0xdee(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x2a,%eax
movsd  0xddf(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x29,%eax
movsd  0xdd0(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x28,%eax
movsd  0xdc1(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x27,%eax
movsd  0xdb2(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x26,%eax
movsd  0xda3(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x25,%eax
movsd  0xd94(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x24,%eax
movsd  0xd85(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x23,%eax
movsd  0xd76(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x22,%eax
movsd  0xd67(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x21,%eax
movsd  0xd58(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x20,%eax
movsd  0xd49(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x1f,%eax
movsd  0xd3a(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x1e,%eax
movsd  0xd2b(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x1d,%eax
movsd  0xd1c(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x1c,%eax
movsd  0xd0d(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x1b,%eax
movsd  0xcfe(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x1a,%eax
movsd  0xcef(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x19,%eax
movsd  0xce0(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x18,%eax
movsd  0xcd1(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x17,%eax
movsd  0xcc2(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x16,%eax
movsd  0xcb3(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x15,%eax
movsd  0xca4(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x14,%eax
movsd  0xc95(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x13,%eax
movsd  0xc86(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x12,%eax
movsd  0xc77(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x11,%eax
movsd  0xc68(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x10,%eax
movsd  0xc59(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0xf,%eax
movsd  0xc4a(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0xe,%eax
movsd  0xc3b(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0xd,%eax
movsd  0xc2c(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0xc,%eax
movsd  0xc1d(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0xb,%eax
movsd  0xc0e(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0xa,%eax
movsd  0xbff(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x9,%eax
movsd  0xbf0(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x8,%eax
movsd  0xbe1(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x7,%eax
movsd  0xbd6(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x6,%eax
movsd  0xbcb(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x5,%eax
movsd  0xbc0(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x4,%eax
movsd  0xbb5(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
mov    $0x3,%eax
movsd  0xbaa(%rip),%xmm0
ucomisd %xmm1,%xmm0
ja     1640 <NL+0x540>
movsd  0xba4(%rip),%xmm0
xor    %eax,%eax
ucomisd %xmm1,%xmm0
seta   %al
add    $0x1,%eax
ret

LLVM IR (-O0):
define i32 @NL(double %0) {
%2 = alloca i32
%3 = alloca double
store double %0, double* %3
%4 = load double, double* %3
%5 = fcmp olt double %4, 0.000000e+00
br i1 %5, label %6, label %9
6: ; preds = %1
%7 = load double, double* %3
%8 = fneg double %7
store double %8, double* %3
br label %9
9: ; preds = %6, %1
%10 = load double, double* %3
%11 = fcmp olt double %10, 0x4024F0E19D3E69C8
br i1 %11, label %12, label %13
12: ; preds = %9
store i32 59, i32* %2
br label %242
13: ; preds = %9
%14 = load double, double* %3
%15 = fcmp olt double %14, 0x402DA8067996C4D3
br i1 %15, label %16, label %17
16: ; preds = %13
store i32 58, i32* %2
br label %242
17: ; preds = %13
%18 = load double, double* %3
%19 = fcmp olt double %18, 0x40322FAEF8A66F6B
br i1 %19, label %20, label %21
20: ; preds = %17
store i32 57, i32* %2
br label %242
21: ; preds = %17
%22 = load double, double* %3
%23 = fcmp olt double %22, 0x403507866C962B50
br i1 %23, label %24, label %25
24: ; preds = %21
store i32 56, i32* %2
br label %242
25: ; preds = %21
%26 = load double, double* %3
%27 = fcmp olt double %26, 0x40378B8810045A02
br i1 %27, label %28, label %29
28: ; preds = %25
store i32 55, i32* %2
br label %242
29: ; preds = %25
%30 = load double, double* %3
%31 = fcmp olt double %30, 0x4039D44989B6CD87
br i1 %31, label %32, label %33
32: ; preds = %29
store i32 54, i32* %2
br label %242
33: ; preds = %29
%34 = load double, double* %3
%35 = fcmp olt double %34, 0x403BF0617565DDAA
br i1 %35, label %36, label %37
36: ; preds = %33
store i32 53, i32* %2
br label %242
37: ; preds = %33
%38 = load double, double* %3
%39 = fcmp olt double %38, 0x403DE94EAF907BE4
br i1 %39, label %40, label %41
40: ; preds = %37
store i32 52, i32* %2
br label %242
41: ; preds = %37
%42 = load double, double* %3
%43 = fcmp olt double %42, 0x403FC5A827D1D621
br i1 %43, label %44, label %45
44: ; preds = %41
store i32 51, i32* %2
br label %242
45: ; preds = %41
%46 = load double, double* %3
%47 = fcmp olt double %46, 0x4040C51C9206FE21
br i1 %47, label %48, label %49
48: ; preds = %45
store i32 50, i32* %2
br label %242
49: ; preds = %45
%50 = load double, double* %3
%51 = fcmp olt double %50, 0x40419D4FBDAD7519
br i1 %51, label %52, label %53
52: ; preds = %49
store i32 49, i32* %2
br label %242
53: ; preds = %49
%54 = load double, double* %3
%55 = fcmp olt double %54, 0x40426CD5072DF1AB
br i1 %55, label %56, label %57
56: ; preds = %53
store i32 48, i32* %2
br label %242
57: ; preds = %53
%58 = load double, double* %3
%59 = fcmp olt double %58, 0x404334CA247BE04B
br i1 %59, label %60, label %61
60: ; preds = %57
store i32 47, i32* %2
br label %242
61: ; preds = %57
%62 = load double, double* %3
%63 = fcmp olt double %62, 0x4043F616AB3D300C
br i1 %63, label %64, label %65
64: ; preds = %61
store i32 46, i32* %2
br label %242
65: ; preds = %61
%66 = load double, double* %3
%67 = fcmp olt double %66, 0x4044B1796E80E71B
br i1 %67, label %68, label %69
68: ; preds = %65
store i32 45, i32* %2
br label %242
69: ; preds = %65
%70 = load double, double* %3
%71 = fcmp olt double %70, 0x40456791E71DB0EB
br i1 %71, label %72, label %73
72: ; preds = %69
store i32 44, i32* %2
br label %242
73: ; preds = %69
%74 = load double, double* %3
%75 = fcmp olt double %74, 0x404618E6FF7DFA01
br i1 %75, label %76, label %77
76: ; preds = %73
store i32 43, i32* %2
br label %242
77: ; preds = %73
%78 = load double, double* %3
%79 = fcmp olt double %78, 0x4046C5EC15677052
br i1 %79, label %80, label %81
80: ; preds = %77
store i32 42, i32* %2
br label %242
81: ; preds = %77
%82 = load double, double* %3
%83 = fcmp olt double %82, 0x40476F04C0592104
br i1 %83, label %84, label %85
84: ; preds = %81
store i32 41, i32* %2
br label %242
85: ; preds = %81
%86 = load double, double* %3
%87 = fcmp olt double %86, 0x40481487B3BE080E
br i1 %87, label %88, label %89
88: ; preds = %85
store i32 40, i32* %2
br label %242
89: ; preds = %85
%90 = load double, double* %3
%91 = fcmp olt double %90, 0x4048B6C0FBDE3250
br i1 %91, label %92, label %93
92: ; preds = %89
store i32 39, i32* %2
br label %242
93: ; preds = %89
%94 = load double, double* %3
%95 = fcmp olt double %94, 0x404955F3C4885AAD
br i1 %95, label %96, label %97
96: ; preds = %93
store i32 38, i32* %2
br label %242
97: ; preds = %93
%98 = load double, double* %3
%99 = fcmp olt double %98, 0x4049F25BBD95F824
br i1 %99, label %100, label %101
100: ; preds = %97
store i32 37, i32* %2
br label %242
101: ; preds = %97
%102 = load double, double* %3
%103 = fcmp olt double %102, 0x404A8C2E40852B4E
br i1 %103, label %104, label %105
104: ; preds = %101
store i32 36, i32* %2
br label %242
105: ; preds = %101
%106 = load double, double* %3
%107 = fcmp olt double %106, 0x404B239B3A83898D
br i1 %107, label %108, label %109
108: ; preds = %105
store i32 35, i32* %2
br label %242
109: ; preds = %105
%110 = load double, double* %3
%111 = fcmp olt double %110, 0x404BB8CDED5E3CCC
br i1 %111, label %112, label %113
112: ; preds = %109
store i32 34, i32* %2
br label %242
113: ; preds = %109
%114 = load double, double* %3
%115 = fcmp olt double %114, 0x404C4BED923F3245
br i1 %115, label %116, label %117
116: ; preds = %113
store i32 33, i32* %2
br label %242
117: ; preds = %113
%118 = load double, double* %3
%119 = fcmp olt double %118, 0x404CDD1DDA059A74
br i1 %119, label %120, label %121
120: ; preds = %117
store i32 32, i32* %2
br label %242
121: ; preds = %117
%122 = load double, double* %3
%123 = fcmp olt double %122, 0x404D6C7F653AED3C
br i1 %123, label %124, label %125
124: ; preds = %121
store i32 31, i32* %2
br label %242
125: ; preds = %121
%126 = load double, double* %3
%127 = fcmp olt double %126, 0x404DFA3018CC7FA0
br i1 %127, label %128, label %129
128: ; preds = %125
store i32 30, i32* %2
br label %242
129: ; preds = %125
%130 = load double, double* %3
%131 = fcmp olt double %130, 0x404E864B747298A4
br i1 %131, label %132, label %133
132: ; preds = %129
store i32 29, i32* %2
br label %242
133: ; preds = %129
%134 = load double, double* %3
%135 = fcmp olt double %134, 0x404F10EAD5CC4FCF
br i1 %135, label %136, label %137
136: ; preds = %133
store i32 28, i32* %2
br label %242
137: ; preds = %133
%138 = load double, double* %3
%139 = fcmp olt double %138, 0x404F9A25AD38B2CF
br i1 %139, label %140, label %141
140: ; preds = %137
store i32 27, i32* %2
br label %242
141: ; preds = %137
%142 = load double, double* %3
%143 = fcmp olt double %142, 0x40501108D9C35555
br i1 %143, label %144, label %145
144: ; preds = %141
store i32 26, i32* %2
br label %242
145: ; preds = %141
%146 = load double, double* %3
%147 = fcmp olt double %146, 0x40505461891C73D4
br i1 %147, label %148, label %149
148: ; preds = %145
store i32 25, i32* %2
br label %242
149: ; preds = %145
%150 = load double, double* %3
%151 = fcmp olt double %150, 0x40509726421E8881
br i1 %151, label %152, label %153
152: ; preds = %149
store i32 24, i32* %2
br label %242
153: ; preds = %149
%154 = load double, double* %3
%155 = fcmp olt double %154, 0x4050D95FBA0F5AE7
br i1 %155, label %156, label %157
156: ; preds = %153
store i32 23, i32* %2
br label %242
157: ; preds = %153
%158 = load double, double* %3
%159 = fcmp olt double %158, 0x40511B160A2D806C
br i1 %159, label %160, label %161
160: ; preds = %157
store i32 22, i32* %2
br label %242
161: ; preds = %157
%162 = load double, double* %3
%163 = fcmp olt double %162, 0x40515C50B66658FA
br i1 %163, label %164, label %165
164: ; preds = %161
store i32 21, i32* %2
br label %242
165: ; preds = %161
%166 = load double, double* %3
%167 = fcmp olt double %166, 0x40519D16B40C0BA7
br i1 %167, label %168, label %169
168: ; preds = %165
store i32 20, i32* %2
br label %242
169: ; preds = %165
%170 = load double, double* %3
%171 = fcmp olt double %170, 0x4051DD6E6C59C56E
br i1 %171, label %172, label %173
172: ; preds = %169
store i32 19, i32* %2
br label %242
173: ; preds = %169
%174 = load double, double* %3
%175 = fcmp olt double %174, 0x40521D5DB918BAE2
br i1 %175, label %176, label %177
176: ; preds = %173
store i32 18, i32* %2
br label %242
177: ; preds = %173
%178 = load double, double* %3
%179 = fcmp olt double %178, 0x40525CE9DF2C4AE2
br i1 %179, label %180, label %181
180: ; preds = %177
store i32 17, i32* %2
br label %242
181: ; preds = %177
%182 = load double, double* %3
%183 = fcmp olt double %182, 0x40529C177F788624
br i1 %183, label %184, label %185
184: ; preds = %181
store i32 16, i32* %2
br label %242
185: ; preds = %181
%186 = load double, double* %3
%187 = fcmp olt double %186, 0x4052DAEA7F653AED
br i1 %187, label %188, label %189
188: ; preds = %185
store i32 15, i32* %2
br label %242
189: ; preds = %185
%190 = load double, double* %3
%191 = fcmp olt double %190, 0x40531965E3F5077E
br i1 %191, label %192, label %193
192: ; preds = %189
store i32 14, i32* %2
br label %242
193: ; preds = %189
%194 = load double, double* %3
%195 = fcmp olt double %194, 0x4053578B95CAD800
br i1 %195, label %196, label %197
196: ; preds = %193
store i32 13, i32* %2
br label %242
197: ; preds = %193
%198 = load double, double* %3
%199 = fcmp olt double %198, 0x4053955C025F55D1
br i1 %199, label %200, label %201
200: ; preds = %197
store i32 12, i32* %2
br label %242
201: ; preds = %197
%202 = load double, double* %3
%203 = fcmp olt double %202, 0x4053D2D5856D92AB
br i1 %203, label %204, label %205
204: ; preds = %201
store i32 11, i32* %2
br label %242
205: ; preds = %201
%206 = load double, double* %3
%207 = fcmp olt double %206, 0x40540FF36B31A742
br i1 %207, label %208, label %209
208: ; preds = %205
store i32 10, i32* %2
br label %242
209: ; preds = %205
%210 = load double, double* %3
%211 = fcmp olt double %210, 0x40544CAC40D0AAA8
br i1 %211, label %212, label %213
212: ; preds = %209
store i32 9, i32* %2
br label %242
213: ; preds = %209
%214 = load double, double* %3
%215 = fcmp olt double %214, 0x405488EEB62BA098
br i1 %215, label %216, label %217
216: ; preds = %213
store i32 8, i32* %2
br label %242
217: ; preds = %213
%218 = load double, double* %3
%219 = fcmp olt double %218, 0x4054C49B8E665FB0
br i1 %219, label %220, label %221
220: ; preds = %217
store i32 7, i32* %2
br label %242
221: ; preds = %217
%222 = load double, double* %3
%223 = fcmp olt double %222, 0x4054FF78989811DA
br i1 %223, label %224, label %225
224: ; preds = %221
store i32 6, i32* %2
br label %242
225: ; preds = %221
%226 = load double, double* %3
%227 = fcmp olt double %226, 0x40553910FD12E5B6
br i1 %227, label %228, label %229
228: ; preds = %225
store i32 5, i32* %2
br label %242
229: ; preds = %225
%230 = load double, double* %3
%231 = fcmp olt double %230, 0x40557058BD307797
br i1 %231, label %232, label %233
232: ; preds = %229
store i32 4, i32* %2
br label %242
233: ; preds = %229
%234 = load double, double* %3
%235 = fcmp olt double %234, 0x4055A2438088509C
br i1 %235, label %236, label %237
236: ; preds = %233
store i32 3, i32* %2
br label %242
237: ; preds = %233
%238 = load double, double* %3
%239 = fcmp olt double %238, 8.700000e+01
br i1 %239, label %240, label %241
240: ; preds = %237
store i32 2, i32* %2
br label %242
241: ; preds = %237
store i32 1, i32* %2
br label %242
242: ; preds = %241, %240, %236, %232, %228, %224, %220, %216, %212, %208, %204, %200, %196, %192, %188, %184, %180, %176, %172, %168, %164, %160, %156, %152, %148, %144, %140, %136, %132, %128, %124, %120, %116, %112, %108, %104, %100, %96, %92, %88, %84, %80, %76, %72, %68, %64, %60, %56, %52, %48, %44, %40, %36, %32, %28, %24, %20, %16, %12
%243 = load i32, i32* %2
ret i32 %243
}

LLVM IR (-O2):
define i32 @NL(double %0) {
%2 = fcmp olt double %0, 0.000000e+00
%3 = fneg double %0
%4 = select i1 %2, double %3, double %0
%5 = fcmp olt double %4, 0x4024F0E19D3E69C8
br i1 %5, label %121, label %6
6: ; preds = %1
%7 = fcmp olt double %4, 0x402DA8067996C4D3
br i1 %7, label %121, label %8
8: ; preds = %6
%9 = fcmp olt double %4, 0x40322FAEF8A66F6B
br i1 %9, label %121, label %10
10: ; preds = %8
%11 = fcmp olt double %4, 0x403507866C962B50
br i1 %11, label %121, label %12
12: ; preds = %10
%13 = fcmp olt double %4, 0x40378B8810045A02
br i1 %13, label %121, label %14
14: ; preds = %12
%15 = fcmp olt double %4, 0x4039D44989B6CD87
br i1 %15, label %121, label %16
16: ; preds = %14
%17 = fcmp olt double %4, 0x403BF0617565DDAA
br i1 %17, label %121, label %18
18: ; preds = %16
%19 = fcmp olt double %4, 0x403DE94EAF907BE4
br i1 %19, label %121, label %20
20: ; preds = %18
%21 = fcmp olt double %4, 0x403FC5A827D1D621
br i1 %21, label %121, label %22
22: ; preds = %20
%23 = fcmp olt double %4, 0x4040C51C9206FE21
br i1 %23, label %121, label %24
24: ; preds = %22
%25 = fcmp olt double %4, 0x40419D4FBDAD7519
br i1 %25, label %121, label %26
26: ; preds = %24
%27 = fcmp olt double %4, 0x40426CD5072DF1AB
br i1 %27, label %121, label %28
28: ; preds = %26
%29 = fcmp olt double %4, 0x404334CA247BE04B
br i1 %29, label %121, label %30
30: ; preds = %28
%31 = fcmp olt double %4, 0x4043F616AB3D300C
br i1 %31, label %121, label %32
32: ; preds = %30
%33 = fcmp olt double %4, 0x4044B1796E80E71B
br i1 %33, label %121, label %34
34: ; preds = %32
%35 = fcmp olt double %4, 0x40456791E71DB0EB
br i1 %35, label %121, label %36
36: ; preds = %34
%37 = fcmp olt double %4, 0x404618E6FF7DFA01
br i1 %37, label %121, label %38
38: ; preds = %36
%39 = fcmp olt double %4, 0x4046C5EC15677052
br i1 %39, label %121, label %40
40: ; preds = %38
%41 = fcmp olt double %4, 0x40476F04C0592104
br i1 %41, label %121, label %42
42: ; preds = %40
%43 = fcmp olt double %4, 0x40481487B3BE080E
br i1 %43, label %121, label %44
44: ; preds = %42
%45 = fcmp olt double %4, 0x4048B6C0FBDE3250
br i1 %45, label %121, label %46
46: ; preds = %44
%47 = fcmp olt double %4, 0x404955F3C4885AAD
br i1 %47, label %121, label %48
48: ; preds = %46
%49 = fcmp olt double %4, 0x4049F25BBD95F824
br i1 %49, label %121, label %50
50: ; preds = %48
%51 = fcmp olt double %4, 0x404A8C2E40852B4E
br i1 %51, label %121, label %52
52: ; preds = %50
%53 = fcmp olt double %4, 0x404B239B3A83898D
br i1 %53, label %121, label %54
54: ; preds = %52
%55 = fcmp olt double %4, 0x404BB8CDED5E3CCC
br i1 %55, label %121, label %56
56: ; preds = %54
%57 = fcmp olt double %4, 0x404C4BED923F3245
br i1 %57, label %121, label %58
58: ; preds = %56
%59 = fcmp olt double %4, 0x404CDD1DDA059A74
br i1 %59, label %121, label %60
60: ; preds = %58
%61 = fcmp olt double %4, 0x404D6C7F653AED3C
br i1 %61, label %121, label %62
62: ; preds = %60
%63 = fcmp olt double %4, 0x404DFA3018CC7FA0
br i1 %63, label %121, label %64
64: ; preds = %62
%65 = fcmp olt double %4, 0x404E864B747298A4
br i1 %65, label %121, label %66
66: ; preds = %64
%67 = fcmp olt double %4, 0x404F10EAD5CC4FCF
br i1 %67, label %121, label %68
68: ; preds = %66
%69 = fcmp olt double %4, 0x404F9A25AD38B2CF
br i1 %69, label %121, label %70
70: ; preds = %68
%71 = fcmp olt double %4, 0x40501108D9C35555
br i1 %71, label %121, label %72
72: ; preds = %70
%73 = fcmp olt double %4, 0x40505461891C73D4
br i1 %73, label %121, label %74
74: ; preds = %72
%75 = fcmp olt double %4, 0x40509726421E8881
br i1 %75, label %121, label %76
76: ; preds = %74
%77 = fcmp olt double %4, 0x4050D95FBA0F5AE7
br i1 %77, label %121, label %78
78: ; preds = %76
%79 = fcmp olt double %4, 0x40511B160A2D806C
br i1 %79, label %121, label %80
80: ; preds = %78
%81 = fcmp olt double %4, 0x40515C50B66658FA
br i1 %81, label %121, label %82
82: ; preds = %80
%83 = fcmp olt double %4, 0x40519D16B40C0BA7
br i1 %83, label %121, label %84
84: ; preds = %82
%85 = fcmp olt double %4, 0x4051DD6E6C59C56E
br i1 %85, label %121, label %86
86: ; preds = %84
%87 = fcmp olt double %4, 0x40521D5DB918BAE2
br i1 %87, label %121, label %88
88: ; preds = %86
%89 = fcmp olt double %4, 0x40525CE9DF2C4AE2
br i1 %89, label %121, label %90
90: ; preds = %88
%91 = fcmp olt double %4, 0x40529C177F788624
br i1 %91, label %121, label %92
92: ; preds = %90
%93 = fcmp olt double %4, 0x4052DAEA7F653AED
br i1 %93, label %121, label %94
94: ; preds = %92
%95 = fcmp olt double %4, 0x40531965E3F5077E
br i1 %95, label %121, label %96
96: ; preds = %94
%97 = fcmp olt double %4, 0x4053578B95CAD800
br i1 %97, label %121, label %98
98: ; preds = %96
%99 = fcmp olt double %4, 0x4053955C025F55D1
br i1 %99, label %121, label %100
100: ; preds = %98
%101 = fcmp olt double %4, 0x4053D2D5856D92AB
br i1 %101, label %121, label %102
102: ; preds = %100
%103 = fcmp olt double %4, 0x40540FF36B31A742
br i1 %103, label %121, label %104
104: ; preds = %102
%105 = fcmp olt double %4, 0x40544CAC40D0AAA8
br i1 %105, label %121, label %106
106: ; preds = %104
%107 = fcmp olt double %4, 0x405488EEB62BA098
br i1 %107, label %121, label %108
108: ; preds = %106
%109 = fcmp olt double %4, 0x4054C49B8E665FB0
br i1 %109, label %121, label %110
110: ; preds = %108
%111 = fcmp olt double %4, 0x4054FF78989811DA
br i1 %111, label %121, label %112
112: ; preds = %110
%113 = fcmp olt double %4, 0x40553910FD12E5B6
br i1 %113, label %121, label %114
114: ; preds = %112
%115 = fcmp olt double %4, 0x40557058BD307797
br i1 %115, label %121, label %116
116: ; preds = %114
%117 = fcmp olt double %4, 0x4055A2438088509C
br i1 %117, label %121, label %118
118: ; preds = %116
%119 = fcmp olt double %4, 8.700000e+01
%120 = select i1 %119, i32 2, i32 1
br label %121
121: ; preds = %118, %116, %114, %112, %110, %108, %106, %104, %102, %100, %98, %96, %94, %92, %90, %88, %86, %84, %82, %80, %78, %76, %74, %72, %70, %68, %66, %64, %62, %60, %58, %56, %54, %52, %50, %48, %46, %44, %42, %40, %38, %36, %34, %32, %30, %28, %26, %24, %22, %20, %18, %16, %14, %12, %10, %8, %6, %1
%122 = phi i32 [ 59, %1 ], [ 58, %6 ], [ 57, %8 ], [ 56, %10 ], [ 55, %12 ], [ 54, %14 ], [ 53, %16 ], [ 52, %18 ], [ 51, %20 ], [ 50, %22 ], [ 49, %24 ], [ 48, %26 ], [ 47, %28 ], [ 46, %30 ], [ 45, %32 ], [ 44, %34 ], [ 43, %36 ], [ 42, %38 ], [ 41, %40 ], [ 40, %42 ], [ 39, %44 ], [ 38, %46 ], [ 37, %48 ], [ 36, %50 ], [ 35, %52 ], [ 34, %54 ], [ 33, %56 ], [ 32, %58 ], [ 31, %60 ], [ 30, %62 ], [ 29, %64 ], [ 28, %66 ], [ 27, %68 ], [ 26, %70 ], [ 25, %72 ], [ 24, %74 ], [ 23, %76 ], [ 22, %78 ], [ 21, %80 ], [ 20, %82 ], [ 19, %84 ], [ 18, %86 ], [ 17, %88 ], [ 16, %90 ], [ 15, %92 ], [ 14, %94 ], [ 13, %96 ], [ 12, %98 ], [ 11, %100 ], [ 10, %102 ], [ 9, %104 ], [ 8, %106 ], [ 7, %108 ], [ 6, %110 ], [ 5, %112 ], [ 4, %114 ], [ 3, %116 ], [ %120, %118 ]
ret i32 %122
}