#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 */
int /*<<< orphan*/ _exit(int);
long long d2sll(double);
unsigned long long d2ull(double);
long long f2sll(float);
unsigned long long f2ull(float);
long long ld2sll(long double);
unsigned long long ld2ull(long double);
test_float_to_longlong_integer() {
  if (f2ull(0.0) != 0LL)
    _exit(-97);
  if (f2ull(0.999) != 0LL)
    _exit(-98);
  if (f2ull(1.0) != 1LL)
    _exit(-99);
  if (f2ull(1.99) != 1LL)
    _exit(-100);
  if (f2ull((float)((~0ULL) >> 1)) != (~0ULL) >> 1 &&
      f2ull((float)((~0ULL) >> 1)) != ((~0ULL) >> 1) + 1)
    _exit(-101);
  if (f2ull((float)~((~0ULL) >> 1)) != ~((~0ULL) >> 1))
    _exit(-102);
  if (d2ull(0.0) != 0LL)
    _exit(-103);
  if (d2ull(0.999) != 0LL)
    _exit(-104);
  if (d2ull(1.0) != 1LL)
    _exit(-105);
  if (d2ull(1.99) != 1LL)
    _exit(-106);
  if (d2ull((double)((~0ULL) >> 1)) != (~0ULL) >> 1 &&
      d2ull((double)((~0ULL) >> 1)) != ((~0ULL) >> 1) + 1)
    _exit(-107);
  if (d2ull((double)~((~0ULL) >> 1)) != ~((~0ULL) >> 1))
    _exit(-108);
  if (ld2ull(0.0) != 0LL)
    _exit(-109);
  if (ld2ull(0.999) != 0LL)
    _exit(-110);
  if (ld2ull(1.0) != 1LL)
    _exit(-111);
  if (ld2ull(1.99) != 1LL)
    _exit(-112);
  if (ld2ull((long double)((~0ULL) >> 1)) != (~0ULL) >> 1 &&
      ld2ull((long double)((~0ULL) >> 1)) != ((~0ULL) >> 1) + 1)
    _exit(-113);
  if (ld2ull((long double)~((~0ULL) >> 1)) != ~((~0ULL) >> 1))
    _exit(-114);
  if (f2sll(0.0) != 0LL)
    _exit(-115);
  if (f2sll(0.999) != 0LL)
    _exit(-116);
  if (f2sll(1.0) != 1LL)
    _exit(-117);
  if (f2sll(1.99) != 1LL)
    _exit(-118);
  if (f2sll(-0.999) != 0LL)
    _exit(-119);
  if (f2sll(-1.0) != -1LL)
    _exit(-120);
  if (f2sll(-1.99) != -1LL)
    _exit(-121);
  if (f2sll((float)(long long int)~((~0ULL) >> 1)) !=
      (long long int)~((~0ULL) >> 1))
    _exit(-122);
  if (d2sll(0.0) != 0LL)
    _exit(-123);
  if (d2sll(0.999) != 0LL)
    _exit(-124);
  if (d2sll(1.0) != 1LL)
    _exit(-125);
  if (d2sll(1.99) != 1LL)
    _exit(-126);
  if (d2sll(-0.999) != 0LL)
    _exit(-127);
  if (d2sll(-1.0) != -1LL)
    _exit(-128);
  if (d2sll(-1.99) != -1LL)
    _exit(-129);
  if (d2sll((double)(long long int)~((~0ULL) >> 1)) !=
      (long long int)~((~0ULL) >> 1))
    _exit(-130);
  if (ld2sll(0.0) != 0LL)
    _exit(-131);
  if (ld2sll(0.999) != 0LL)
    _exit(-132);
  if (ld2sll(1.0) != 1LL)
    _exit(-133);
  if (ld2sll(1.99) != 1LL)
    _exit(-134);
  if (ld2sll(-0.999) != 0LL)
    _exit(-135);
  if (ld2sll(-1.0) != -1LL)
    _exit(-136);
  if (ld2sll(-1.99) != -1LL)
    _exit(-137);
  if (ld2sll((long double)(long long int)~((~0ULL) >> 1)) !=
      (long long int)~((~0ULL) >> 1))
    _exit(-138);
}


x86 assembly (clang, -O0):
<test_float_to_longlong_integer>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
xorps  %xmm0,%xmm0
call   1090 <f2ull@plt>
cmp    $0x0,%rax
je     1194 <test_float_to_longlong_integer+0x24>
mov    $0xffffff9f,%edi
call   1040 <_exit@plt>
movss  0xe64(%rip),%xmm0
call   1090 <f2ull@plt>
cmp    $0x0,%rax
je     11b5 <test_float_to_longlong_integer+0x45>
mov    $0xffffff9e,%edi
call   1040 <_exit@plt>
movss  0xe47(%rip),%xmm0
call   1090 <f2ull@plt>
cmp    $0x1,%rax
je     11d6 <test_float_to_longlong_integer+0x66>
mov    $0xffffff9d,%edi
call   1040 <_exit@plt>
movss  0xe2a(%rip),%xmm0
call   1090 <f2ull@plt>
cmp    $0x1,%rax
je     11f7 <test_float_to_longlong_integer+0x87>
mov    $0xffffff9c,%edi
call   1040 <_exit@plt>
movss  0xe0d(%rip),%xmm0
call   1090 <f2ull@plt>
movabs $0x7fffffffffffffff,%rcx
ff ff 7f
cmp    %rcx,%rax
je     1241 <test_float_to_longlong_integer+0xd1>
movss  0xded(%rip),%xmm0
call   1090 <f2ull@plt>
movabs $0x8000000000000000,%rcx
cmp    %rcx,%rax
je     1241 <test_float_to_longlong_integer+0xd1>
mov    $0xffffff9b,%edi
call   1040 <_exit@plt>
movss  0xdc3(%rip),%xmm0
call   1090 <f2ull@plt>
movabs $0x8000000000000000,%rcx
cmp    %rcx,%rax
je     126b <test_float_to_longlong_integer+0xfb>
mov    $0xffffff9a,%edi
call   1040 <_exit@plt>
xorps  %xmm0,%xmm0
call   1030 <d2ull@plt>
cmp    $0x0,%rax
je     1287 <test_float_to_longlong_integer+0x117>
mov    $0xffffff99,%edi
call   1040 <_exit@plt>
movsd  0xd91(%rip),%xmm0
call   1030 <d2ull@plt>
cmp    $0x0,%rax
je     12a8 <test_float_to_longlong_integer+0x138>
mov    $0xffffff98,%edi
call   1040 <_exit@plt>
movsd  0xd78(%rip),%xmm0
call   1030 <d2ull@plt>
cmp    $0x1,%rax
je     12c9 <test_float_to_longlong_integer+0x159>
mov    $0xffffff97,%edi
call   1040 <_exit@plt>
movsd  0xd5f(%rip),%xmm0
call   1030 <d2ull@plt>
cmp    $0x1,%rax
je     12ea <test_float_to_longlong_integer+0x17a>
mov    $0xffffff96,%edi
call   1040 <_exit@plt>
movsd  0xd46(%rip),%xmm0
call   1030 <d2ull@plt>
movabs $0x7fffffffffffffff,%rcx
ff ff 7f
cmp    %rcx,%rax
je     1334 <test_float_to_longlong_integer+0x1c4>
movsd  0xd26(%rip),%xmm0
call   1030 <d2ull@plt>
movabs $0x8000000000000000,%rcx
cmp    %rcx,%rax
je     1334 <test_float_to_longlong_integer+0x1c4>
mov    $0xffffff95,%edi
call   1040 <_exit@plt>
movsd  0xcfc(%rip),%xmm0
call   1030 <d2ull@plt>
movabs $0x8000000000000000,%rcx
cmp    %rcx,%rax
je     135e <test_float_to_longlong_integer+0x1ee>
mov    $0xffffff94,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fldz
fstpt  (%rax)
call   1060 <ld2ull@plt>
cmp    $0x0,%rax
je     137e <test_float_to_longlong_integer+0x20e>
mov    $0xffffff93,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fldl   0xc99(%rip)
fstpt  (%rax)
call   1060 <ld2ull@plt>
cmp    $0x0,%rax
je     13a2 <test_float_to_longlong_integer+0x232>
mov    $0xffffff92,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fld1
fstpt  (%rax)
call   1060 <ld2ull@plt>
cmp    $0x1,%rax
je     13c2 <test_float_to_longlong_integer+0x252>
mov    $0xffffff91,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fldl   0xc65(%rip)
fstpt  (%rax)
call   1060 <ld2ull@plt>
cmp    $0x1,%rax
je     13e6 <test_float_to_longlong_integer+0x276>
mov    $0xffffff90,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fldt   0xc71(%rip)
fstpt  (%rax)
call   1060 <ld2ull@plt>
movabs $0x7fffffffffffffff,%rcx
ff ff 7f
cmp    %rcx,%rax
je     1436 <test_float_to_longlong_integer+0x2c6>
mov    %rsp,%rax
fldt   0xc4e(%rip)
fstpt  (%rax)
call   1060 <ld2ull@plt>
movabs $0x8000000000000000,%rcx
cmp    %rcx,%rax
je     1436 <test_float_to_longlong_integer+0x2c6>
mov    $0xffffff8f,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
flds   0xbcd(%rip)
fstpt  (%rax)
call   1060 <ld2ull@plt>
movabs $0x8000000000000000,%rcx
cmp    %rcx,%rax
je     1463 <test_float_to_longlong_integer+0x2f3>
mov    $0xffffff8e,%edi
call   1040 <_exit@plt>
xorps  %xmm0,%xmm0
call   1070 <f2sll@plt>
cmp    $0x0,%rax
je     147f <test_float_to_longlong_integer+0x30f>
mov    $0xffffff8d,%edi
call   1040 <_exit@plt>
movss  0xb79(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0x0,%rax
je     14a0 <test_float_to_longlong_integer+0x330>
mov    $0xffffff8c,%edi
call   1040 <_exit@plt>
movss  0xb5c(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0x1,%rax
je     14c1 <test_float_to_longlong_integer+0x351>
mov    $0xffffff8b,%edi
call   1040 <_exit@plt>
movss  0xb3f(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0x1,%rax
je     14e2 <test_float_to_longlong_integer+0x372>
mov    $0xffffff8a,%edi
call   1040 <_exit@plt>
movss  0xb26(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0x0,%rax
je     1503 <test_float_to_longlong_integer+0x393>
mov    $0xffffff89,%edi
call   1040 <_exit@plt>
movss  0xb09(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0xffffffffffffffff,%rax
je     1524 <test_float_to_longlong_integer+0x3b4>
mov    $0xffffff88,%edi
call   1040 <_exit@plt>
movss  0xaec(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0xffffffffffffffff,%rax
je     1545 <test_float_to_longlong_integer+0x3d5>
mov    $0xffffff87,%edi
call   1040 <_exit@plt>
movss  0xacf(%rip),%xmm0
call   1070 <f2sll@plt>
movabs $0x8000000000000000,%rcx
cmp    %rcx,%rax
je     156f <test_float_to_longlong_integer+0x3ff>
mov    $0xffffff86,%edi
call   1040 <_exit@plt>
xorps  %xmm0,%xmm0
call   1080 <d2sll@plt>
cmp    $0x0,%rax
je     158b <test_float_to_longlong_integer+0x41b>
mov    $0xffffff85,%edi
call   1040 <_exit@plt>
movsd  0xa8d(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0x0,%rax
je     15ac <test_float_to_longlong_integer+0x43c>
mov    $0xffffff84,%edi
call   1040 <_exit@plt>
movsd  0xa74(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0x1,%rax
je     15cd <test_float_to_longlong_integer+0x45d>
mov    $0xffffff83,%edi
call   1040 <_exit@plt>
movsd  0xa5b(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0x1,%rax
je     15ee <test_float_to_longlong_integer+0x47e>
mov    $0xffffff82,%edi
call   1040 <_exit@plt>
movsd  0xa4a(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0x0,%rax
je     160f <test_float_to_longlong_integer+0x49f>
mov    $0xffffff81,%edi
call   1040 <_exit@plt>
movsd  0xa31(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0xffffffffffffffff,%rax
je     1630 <test_float_to_longlong_integer+0x4c0>
mov    $0xffffff80,%edi
call   1040 <_exit@plt>
movsd  0xa18(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0xffffffffffffffff,%rax
je     1651 <test_float_to_longlong_integer+0x4e1>
mov    $0xffffff7f,%edi
call   1040 <_exit@plt>
movsd  0x9ff(%rip),%xmm0
call   1080 <d2sll@plt>
movabs $0x8000000000000000,%rcx
cmp    %rcx,%rax
je     167b <test_float_to_longlong_integer+0x50b>
mov    $0xffffff7e,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fldz
fstpt  (%rax)
call   1050 <ld2sll@plt>
cmp    $0x0,%rax
je     169b <test_float_to_longlong_integer+0x52b>
mov    $0xffffff7d,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fldl   0x97c(%rip)
fstpt  (%rax)
call   1050 <ld2sll@plt>
cmp    $0x0,%rax
je     16bf <test_float_to_longlong_integer+0x54f>
mov    $0xffffff7c,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fld1
fstpt  (%rax)
call   1050 <ld2sll@plt>
cmp    $0x1,%rax
je     16df <test_float_to_longlong_integer+0x56f>
mov    $0xffffff7b,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fldl   0x948(%rip)
fstpt  (%rax)
call   1050 <ld2sll@plt>
cmp    $0x1,%rax
je     1703 <test_float_to_longlong_integer+0x593>
mov    $0xffffff7a,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fldl   0x934(%rip)
fstpt  (%rax)
call   1050 <ld2sll@plt>
cmp    $0x0,%rax
je     1727 <test_float_to_longlong_integer+0x5b7>
mov    $0xffffff79,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fld1
fchs
fstpt  (%rax)
call   1050 <ld2sll@plt>
cmp    $0xffffffffffffffff,%rax
je     1749 <test_float_to_longlong_integer+0x5d9>
mov    $0xffffff78,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
fldl   0x8fe(%rip)
fstpt  (%rax)
call   1050 <ld2sll@plt>
cmp    $0xffffffffffffffff,%rax
je     176d <test_float_to_longlong_integer+0x5fd>
mov    $0xffffff77,%edi
call   1040 <_exit@plt>
mov    %rsp,%rax
flds   0x8a6(%rip)
fstpt  (%rax)
call   1050 <ld2sll@plt>
movabs $0x8000000000000000,%rcx
cmp    %rcx,%rax
je     179a <test_float_to_longlong_integer+0x62a>
mov    $0xffffff76,%edi
call   1040 <_exit@plt>
mov    -0x4(%rbp),%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test_float_to_longlong_integer>:
push   %r14
push   %rbx
sub    $0x58,%rsp
xorps  %xmm0,%xmm0
call   1090 <f2ull@plt>
test   %rax,%rax
jne    1578 <test_float_to_longlong_integer+0x408>
movss  0xe70(%rip),%xmm0
call   1090 <f2ull@plt>
test   %rax,%rax
jne    1582 <test_float_to_longlong_integer+0x412>
movss  0xe5e(%rip),%xmm0
call   1090 <f2ull@plt>
cmp    $0x1,%rax
jne    158c <test_float_to_longlong_integer+0x41c>
movss  0xe4b(%rip),%xmm0
call   1090 <f2ull@plt>
cmp    $0x1,%rax
jne    1596 <test_float_to_longlong_integer+0x426>
movabs $0x8000000000000000,%r14
movss  0xe2e(%rip),%xmm0
call   1090 <f2ull@plt>
lea    -0x1(%r14),%rbx
cmp    %rbx,%rax
je     1202 <test_float_to_longlong_integer+0x92>
movss  0xe18(%rip),%xmm0
call   1090 <f2ull@plt>
cmp    %r14,%rax
jne    16fe <test_float_to_longlong_integer+0x58e>
movss  0xe02(%rip),%xmm0
call   1090 <f2ull@plt>
cmp    %r14,%rax
jne    15a0 <test_float_to_longlong_integer+0x430>
xorps  %xmm0,%xmm0
call   1030 <d2ull@plt>
test   %rax,%rax
jne    15aa <test_float_to_longlong_integer+0x43a>
movsd  0xdef(%rip),%xmm0
call   1030 <d2ull@plt>
test   %rax,%rax
jne    15b4 <test_float_to_longlong_integer+0x444>
movsd  0xde1(%rip),%xmm0
call   1030 <d2ull@plt>
cmp    $0x1,%rax
jne    15be <test_float_to_longlong_integer+0x44e>
movsd  0xdd2(%rip),%xmm0
call   1030 <d2ull@plt>
cmp    $0x1,%rax
jne    15c8 <test_float_to_longlong_integer+0x458>
movsd  0xdc3(%rip),%xmm0
call   1030 <d2ull@plt>
cmp    %rbx,%rax
je     1295 <test_float_to_longlong_integer+0x125>
movsd  0xdb1(%rip),%xmm0
call   1030 <d2ull@plt>
cmp    %r14,%rax
jne    1708 <test_float_to_longlong_integer+0x598>
movsd  0xd9b(%rip),%xmm0
call   1030 <d2ull@plt>
cmp    %r14,%rax
jne    15d2 <test_float_to_longlong_integer+0x462>
fldz
fld    %st(0)
fstpt  0x4c(%rsp)
fstpt  (%rsp)
call   1060 <ld2ull@plt>
test   %rax,%rax
jne    15dc <test_float_to_longlong_integer+0x46c>
fldl   0xd56(%rip)
fld    %st(0)
fstpt  0x40(%rsp)
fstpt  (%rsp)
call   1060 <ld2ull@plt>
test   %rax,%rax
jne    15e6 <test_float_to_longlong_integer+0x476>
fld1
fld    %st(0)
fstpt  0x1c(%rsp)
fstpt  (%rsp)
call   1060 <ld2ull@plt>
cmp    $0x1,%rax
jne    15f0 <test_float_to_longlong_integer+0x480>
fldl   0xd2f(%rip)
fld    %st(0)
fstpt  0x34(%rsp)
fstpt  (%rsp)
call   1060 <ld2ull@plt>
cmp    $0x1,%rax
jne    15fa <test_float_to_longlong_integer+0x48a>
fldt   0xd41(%rip)
fld    %st(0)
fstpt  0x28(%rsp)
fstpt  (%rsp)
call   1060 <ld2ull@plt>
cmp    %rbx,%rax
je     1347 <test_float_to_longlong_integer+0x1d7>
fldt   0x28(%rsp)
fstpt  (%rsp)
call   1060 <ld2ull@plt>
cmp    %r14,%rax
jne    1712 <test_float_to_longlong_integer+0x5a2>
flds   0xcbf(%rip)
fstpt  (%rsp)
call   1060 <ld2ull@plt>
cmp    %r14,%rax
jne    1604 <test_float_to_longlong_integer+0x494>
xorps  %xmm0,%xmm0
call   1070 <f2sll@plt>
test   %rax,%rax
jne    160e <test_float_to_longlong_integer+0x49e>
movss  0xc89(%rip),%xmm0
call   1070 <f2sll@plt>
test   %rax,%rax
jne    1618 <test_float_to_longlong_integer+0x4a8>
movss  0xc77(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0x1,%rax
jne    1622 <test_float_to_longlong_integer+0x4b2>
movss  0xc64(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0x1,%rax
jne    162c <test_float_to_longlong_integer+0x4bc>
movss  0xc55(%rip),%xmm0
call   1070 <f2sll@plt>
test   %rax,%rax
jne    1636 <test_float_to_longlong_integer+0x4c6>
movss  0xc43(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0xffffffffffffffff,%rax
jne    1640 <test_float_to_longlong_integer+0x4d0>
movss  0xc30(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    $0xffffffffffffffff,%rax
jne    164a <test_float_to_longlong_integer+0x4da>
movss  0xc1d(%rip),%xmm0
call   1070 <f2sll@plt>
cmp    %r14,%rax
jne    1654 <test_float_to_longlong_integer+0x4e4>
xorps  %xmm0,%xmm0
call   1080 <d2sll@plt>
test   %rax,%rax
jne    165e <test_float_to_longlong_integer+0x4ee>
movsd  0xbfa(%rip),%xmm0
call   1080 <d2sll@plt>
test   %rax,%rax
jne    1668 <test_float_to_longlong_integer+0x4f8>
movsd  0xbec(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0x1,%rax
jne    1672 <test_float_to_longlong_integer+0x502>
movsd  0xbdd(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0x1,%rax
jne    167c <test_float_to_longlong_integer+0x50c>
movsd  0xbd6(%rip),%xmm0
call   1080 <d2sll@plt>
test   %rax,%rax
jne    1686 <test_float_to_longlong_integer+0x516>
movsd  0xbc8(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0xffffffffffffffff,%rax
jne    1690 <test_float_to_longlong_integer+0x520>
movsd  0xbb9(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    $0xffffffffffffffff,%rax
jne    169a <test_float_to_longlong_integer+0x52a>
movsd  0xbaa(%rip),%xmm0
call   1080 <d2sll@plt>
cmp    %r14,%rax
jne    16a4 <test_float_to_longlong_integer+0x534>
fldt   0x4c(%rsp)
fstpt  (%rsp)
call   1050 <ld2sll@plt>
test   %rax,%rax
jne    16ae <test_float_to_longlong_integer+0x53e>
fldt   0x40(%rsp)
fstpt  (%rsp)
call   1050 <ld2sll@plt>
test   %rax,%rax
jne    16b8 <test_float_to_longlong_integer+0x548>
fldt   0x1c(%rsp)
fstpt  (%rsp)
call   1050 <ld2sll@plt>
cmp    $0x1,%rax
jne    16c2 <test_float_to_longlong_integer+0x552>
fldt   0x34(%rsp)
fstpt  (%rsp)
call   1050 <ld2sll@plt>
cmp    $0x1,%rax
jne    16cc <test_float_to_longlong_integer+0x55c>
fldl   0xb28(%rip)
fstpt  (%rsp)
call   1050 <ld2sll@plt>
test   %rax,%rax
jne    16d6 <test_float_to_longlong_integer+0x566>
fldt   0x1c(%rsp)
fchs
fstpt  (%rsp)
call   1050 <ld2sll@plt>
cmp    $0xffffffffffffffff,%rax
jne    16e0 <test_float_to_longlong_integer+0x570>
fldl   0xb09(%rip)
fstpt  (%rsp)
call   1050 <ld2sll@plt>
cmp    $0xffffffffffffffff,%rax
jne    16ea <test_float_to_longlong_integer+0x57a>
flds   0xabd(%rip)
fstpt  (%rsp)
call   1050 <ld2sll@plt>
cmp    %r14,%rax
jne    16f4 <test_float_to_longlong_integer+0x584>
add    $0x58,%rsp
pop    %rbx
pop    %r14
ret
mov    $0xffffff9f,%edi
call   1040 <_exit@plt>
mov    $0xffffff9e,%edi
call   1040 <_exit@plt>
mov    $0xffffff9d,%edi
call   1040 <_exit@plt>
mov    $0xffffff9c,%edi
call   1040 <_exit@plt>
mov    $0xffffff9a,%edi
call   1040 <_exit@plt>
mov    $0xffffff99,%edi
call   1040 <_exit@plt>
mov    $0xffffff98,%edi
call   1040 <_exit@plt>
mov    $0xffffff97,%edi
call   1040 <_exit@plt>
mov    $0xffffff96,%edi
call   1040 <_exit@plt>
mov    $0xffffff94,%edi
call   1040 <_exit@plt>
mov    $0xffffff93,%edi
call   1040 <_exit@plt>
mov    $0xffffff92,%edi
call   1040 <_exit@plt>
mov    $0xffffff91,%edi
call   1040 <_exit@plt>
mov    $0xffffff90,%edi
call   1040 <_exit@plt>
mov    $0xffffff8e,%edi
call   1040 <_exit@plt>
mov    $0xffffff8d,%edi
call   1040 <_exit@plt>
mov    $0xffffff8c,%edi
call   1040 <_exit@plt>
mov    $0xffffff8b,%edi
call   1040 <_exit@plt>
mov    $0xffffff8a,%edi
call   1040 <_exit@plt>
mov    $0xffffff89,%edi
call   1040 <_exit@plt>
mov    $0xffffff88,%edi
call   1040 <_exit@plt>
mov    $0xffffff87,%edi
call   1040 <_exit@plt>
mov    $0xffffff86,%edi
call   1040 <_exit@plt>
mov    $0xffffff85,%edi
call   1040 <_exit@plt>
mov    $0xffffff84,%edi
call   1040 <_exit@plt>
mov    $0xffffff83,%edi
call   1040 <_exit@plt>
mov    $0xffffff82,%edi
call   1040 <_exit@plt>
mov    $0xffffff81,%edi
call   1040 <_exit@plt>
mov    $0xffffff80,%edi
call   1040 <_exit@plt>
mov    $0xffffff7f,%edi
call   1040 <_exit@plt>
mov    $0xffffff7e,%edi
call   1040 <_exit@plt>
mov    $0xffffff7d,%edi
call   1040 <_exit@plt>
mov    $0xffffff7c,%edi
call   1040 <_exit@plt>
mov    $0xffffff7b,%edi
call   1040 <_exit@plt>
mov    $0xffffff7a,%edi
call   1040 <_exit@plt>
mov    $0xffffff79,%edi
call   1040 <_exit@plt>
mov    $0xffffff78,%edi
call   1040 <_exit@plt>
mov    $0xffffff77,%edi
call   1040 <_exit@plt>
mov    $0xffffff76,%edi
call   1040 <_exit@plt>
mov    $0xffffff9b,%edi
call   1040 <_exit@plt>
mov    $0xffffff95,%edi
call   1040 <_exit@plt>
mov    $0xffffff8f,%edi
call   1040 <_exit@plt>

LLVM IR (-O0):
define i32 @test_float_to_longlong_integer() {
%1 = alloca i32
%2 = call i64 @f2ull(float 0.000000e+00)
%3 = icmp ne i64 %2, 0
br i1 %3, label %4, label %6
4: ; preds = %0
%5 = call i32 @_exit(i32 -97)
unreachable
6: ; preds = %0
%7 = call i64 @f2ull(float 0x3FEFF7CEE0000000)
%8 = icmp ne i64 %7, 0
br i1 %8, label %9, label %11
9: ; preds = %6
%10 = call i32 @_exit(i32 -98)
unreachable
11: ; preds = %6
%12 = call i64 @f2ull(float 1.000000e+00)
%13 = icmp ne i64 %12, 1
br i1 %13, label %14, label %16
14: ; preds = %11
%15 = call i32 @_exit(i32 -99)
unreachable
16: ; preds = %11
%17 = call i64 @f2ull(float 0x3FFFD70A40000000)
%18 = icmp ne i64 %17, 1
br i1 %18, label %19, label %21
19: ; preds = %16
%20 = call i32 @_exit(i32 -100)
unreachable
21: ; preds = %16
%22 = call i64 @f2ull(float 0x43E0000000000000)
%23 = icmp ne i64 %22, 9223372036854775807
br i1 %23, label %24, label %29
24: ; preds = %21
%25 = call i64 @f2ull(float 0x43E0000000000000)
%26 = icmp ne i64 %25, -9223372036854775808
br i1 %26, label %27, label %29
27: ; preds = %24
%28 = call i32 @_exit(i32 -101)
unreachable
29: ; preds = %24, %21
%30 = call i64 @f2ull(float 0x43E0000000000000)
%31 = icmp ne i64 %30, -9223372036854775808
br i1 %31, label %32, label %34
32: ; preds = %29
%33 = call i32 @_exit(i32 -102)
unreachable
34: ; preds = %29
%35 = call i64 @d2ull(double 0.000000e+00)
%36 = icmp ne i64 %35, 0
br i1 %36, label %37, label %39
37: ; preds = %34
%38 = call i32 @_exit(i32 -103)
unreachable
39: ; preds = %34
%40 = call i64 @d2ull(double 0x3FEFF7CED916872B)
%41 = icmp ne i64 %40, 0
br i1 %41, label %42, label %44
42: ; preds = %39
%43 = call i32 @_exit(i32 -104)
unreachable
44: ; preds = %39
%45 = call i64 @d2ull(double 1.000000e+00)
%46 = icmp ne i64 %45, 1
br i1 %46, label %47, label %49
47: ; preds = %44
%48 = call i32 @_exit(i32 -105)
unreachable
49: ; preds = %44
%50 = call i64 @d2ull(double 1.990000e+00)
%51 = icmp ne i64 %50, 1
br i1 %51, label %52, label %54
52: ; preds = %49
%53 = call i32 @_exit(i32 -106)
unreachable
54: ; preds = %49
%55 = call i64 @d2ull(double 0x43E0000000000000)
%56 = icmp ne i64 %55, 9223372036854775807
br i1 %56, label %57, label %62
57: ; preds = %54
%58 = call i64 @d2ull(double 0x43E0000000000000)
%59 = icmp ne i64 %58, -9223372036854775808
br i1 %59, label %60, label %62
60: ; preds = %57
%61 = call i32 @_exit(i32 -107)
unreachable
62: ; preds = %57, %54
%63 = call i64 @d2ull(double 0x43E0000000000000)
%64 = icmp ne i64 %63, -9223372036854775808
br i1 %64, label %65, label %67
65: ; preds = %62
%66 = call i32 @_exit(i32 -108)
unreachable
67: ; preds = %62
%68 = call i64 @ld2ull(x86_fp80 0xK00000000000000000000)
%69 = icmp ne i64 %68, 0
br i1 %69, label %70, label %72
70: ; preds = %67
%71 = call i32 @_exit(i32 -109)
unreachable
72: ; preds = %67
%73 = call i64 @ld2ull(x86_fp80 0xK3FFEFFBE76C8B4395800)
%74 = icmp ne i64 %73, 0
br i1 %74, label %75, label %77
75: ; preds = %72
%76 = call i32 @_exit(i32 -110)
unreachable
77: ; preds = %72
%78 = call i64 @ld2ull(x86_fp80 0xK3FFF8000000000000000)
%79 = icmp ne i64 %78, 1
br i1 %79, label %80, label %82
80: ; preds = %77
%81 = call i32 @_exit(i32 -111)
unreachable
82: ; preds = %77
%83 = call i64 @ld2ull(x86_fp80 0xK3FFFFEB851EB851EB800)
%84 = icmp ne i64 %83, 1
br i1 %84, label %85, label %87
85: ; preds = %82
%86 = call i32 @_exit(i32 -112)
unreachable
87: ; preds = %82
%88 = call i64 @ld2ull(x86_fp80 0xK403DFFFFFFFFFFFFFFFE)
%89 = icmp ne i64 %88, 9223372036854775807
br i1 %89, label %90, label %95
90: ; preds = %87
%91 = call i64 @ld2ull(x86_fp80 0xK403DFFFFFFFFFFFFFFFE)
%92 = icmp ne i64 %91, -9223372036854775808
br i1 %92, label %93, label %95
93: ; preds = %90
%94 = call i32 @_exit(i32 -113)
unreachable
95: ; preds = %90, %87
%96 = call i64 @ld2ull(x86_fp80 0xK403E8000000000000000)
%97 = icmp ne i64 %96, -9223372036854775808
br i1 %97, label %98, label %100
98: ; preds = %95
%99 = call i32 @_exit(i32 -114)
unreachable
100: ; preds = %95
%101 = call i64 @f2sll(float 0.000000e+00)
%102 = icmp ne i64 %101, 0
br i1 %102, label %103, label %105
103: ; preds = %100
%104 = call i32 @_exit(i32 -115)
unreachable
105: ; preds = %100
%106 = call i64 @f2sll(float 0x3FEFF7CEE0000000)
%107 = icmp ne i64 %106, 0
br i1 %107, label %108, label %110
108: ; preds = %105
%109 = call i32 @_exit(i32 -116)
unreachable
110: ; preds = %105
%111 = call i64 @f2sll(float 1.000000e+00)
%112 = icmp ne i64 %111, 1
br i1 %112, label %113, label %115
113: ; preds = %110
%114 = call i32 @_exit(i32 -117)
unreachable
115: ; preds = %110
%116 = call i64 @f2sll(float 0x3FFFD70A40000000)
%117 = icmp ne i64 %116, 1
br i1 %117, label %118, label %120
118: ; preds = %115
%119 = call i32 @_exit(i32 -118)
unreachable
120: ; preds = %115
%121 = call i64 @f2sll(float 0xBFEFF7CEE0000000)
%122 = icmp ne i64 %121, 0
br i1 %122, label %123, label %125
123: ; preds = %120
%124 = call i32 @_exit(i32 -119)
unreachable
125: ; preds = %120
%126 = call i64 @f2sll(float -1.000000e+00)
%127 = icmp ne i64 %126, -1
br i1 %127, label %128, label %130
128: ; preds = %125
%129 = call i32 @_exit(i32 -120)
unreachable
130: ; preds = %125
%131 = call i64 @f2sll(float 0xBFFFD70A40000000)
%132 = icmp ne i64 %131, -1
br i1 %132, label %133, label %135
133: ; preds = %130
%134 = call i32 @_exit(i32 -121)
unreachable
135: ; preds = %130
%136 = call i64 @f2sll(float 0xC3E0000000000000)
%137 = icmp ne i64 %136, -9223372036854775808
br i1 %137, label %138, label %140
138: ; preds = %135
%139 = call i32 @_exit(i32 -122)
unreachable
140: ; preds = %135
%141 = call i64 @d2sll(double 0.000000e+00)
%142 = icmp ne i64 %141, 0
br i1 %142, label %143, label %145
143: ; preds = %140
%144 = call i32 @_exit(i32 -123)
unreachable
145: ; preds = %140
%146 = call i64 @d2sll(double 0x3FEFF7CED916872B)
%147 = icmp ne i64 %146, 0
br i1 %147, label %148, label %150
148: ; preds = %145
%149 = call i32 @_exit(i32 -124)
unreachable
150: ; preds = %145
%151 = call i64 @d2sll(double 1.000000e+00)
%152 = icmp ne i64 %151, 1
br i1 %152, label %153, label %155
153: ; preds = %150
%154 = call i32 @_exit(i32 -125)
unreachable
155: ; preds = %150
%156 = call i64 @d2sll(double 1.990000e+00)
%157 = icmp ne i64 %156, 1
br i1 %157, label %158, label %160
158: ; preds = %155
%159 = call i32 @_exit(i32 -126)
unreachable
160: ; preds = %155
%161 = call i64 @d2sll(double 0xBFEFF7CED916872B)
%162 = icmp ne i64 %161, 0
br i1 %162, label %163, label %165
163: ; preds = %160
%164 = call i32 @_exit(i32 -127)
unreachable
165: ; preds = %160
%166 = call i64 @d2sll(double -1.000000e+00)
%167 = icmp ne i64 %166, -1
br i1 %167, label %168, label %170
168: ; preds = %165
%169 = call i32 @_exit(i32 -128)
unreachable
170: ; preds = %165
%171 = call i64 @d2sll(double -1.990000e+00)
%172 = icmp ne i64 %171, -1
br i1 %172, label %173, label %175
173: ; preds = %170
%174 = call i32 @_exit(i32 -129)
unreachable
175: ; preds = %170
%176 = call i64 @d2sll(double 0xC3E0000000000000)
%177 = icmp ne i64 %176, -9223372036854775808
br i1 %177, label %178, label %180
178: ; preds = %175
%179 = call i32 @_exit(i32 -130)
unreachable
180: ; preds = %175
%181 = call i64 @ld2sll(x86_fp80 0xK00000000000000000000)
%182 = icmp ne i64 %181, 0
br i1 %182, label %183, label %185
183: ; preds = %180
%184 = call i32 @_exit(i32 -131)
unreachable
185: ; preds = %180
%186 = call i64 @ld2sll(x86_fp80 0xK3FFEFFBE76C8B4395800)
%187 = icmp ne i64 %186, 0
br i1 %187, label %188, label %190
188: ; preds = %185
%189 = call i32 @_exit(i32 -132)
unreachable
190: ; preds = %185
%191 = call i64 @ld2sll(x86_fp80 0xK3FFF8000000000000000)
%192 = icmp ne i64 %191, 1
br i1 %192, label %193, label %195
193: ; preds = %190
%194 = call i32 @_exit(i32 -133)
unreachable
195: ; preds = %190
%196 = call i64 @ld2sll(x86_fp80 0xK3FFFFEB851EB851EB800)
%197 = icmp ne i64 %196, 1
br i1 %197, label %198, label %200
198: ; preds = %195
%199 = call i32 @_exit(i32 -134)
unreachable
200: ; preds = %195
%201 = call i64 @ld2sll(x86_fp80 0xKBFFEFFBE76C8B4395800)
%202 = icmp ne i64 %201, 0
br i1 %202, label %203, label %205
203: ; preds = %200
%204 = call i32 @_exit(i32 -135)
unreachable
205: ; preds = %200
%206 = call i64 @ld2sll(x86_fp80 0xKBFFF8000000000000000)
%207 = icmp ne i64 %206, -1
br i1 %207, label %208, label %210
208: ; preds = %205
%209 = call i32 @_exit(i32 -136)
unreachable
210: ; preds = %205
%211 = call i64 @ld2sll(x86_fp80 0xKBFFFFEB851EB851EB800)
%212 = icmp ne i64 %211, -1
br i1 %212, label %213, label %215
213: ; preds = %210
%214 = call i32 @_exit(i32 -137)
unreachable
215: ; preds = %210
%216 = call i64 @ld2sll(x86_fp80 0xKC03E8000000000000000)
%217 = icmp ne i64 %216, -9223372036854775808
br i1 %217, label %218, label %220
218: ; preds = %215
%219 = call i32 @_exit(i32 -138)
unreachable
220: ; preds = %215
%221 = load i32, i32* %1
ret i32 %221
}

LLVM IR (-O2):
define i32 @test_float_to_longlong_integer() {
%1 = tail call i64 @f2ull(float 0.000000e+00)
%2 = icmp eq i64 %1, 0
br i1 %2, label %5, label %3
3: ; preds = %0
%4 = tail call i32 @_exit(i32 -97)
unreachable
5: ; preds = %0
%6 = tail call i64 @f2ull(float 0x3FEFF7CEE0000000)
%7 = icmp eq i64 %6, 0
br i1 %7, label %10, label %8
8: ; preds = %5
%9 = tail call i32 @_exit(i32 -98)
unreachable
10: ; preds = %5
%11 = tail call i64 @f2ull(float 1.000000e+00)
%12 = icmp eq i64 %11, 1
br i1 %12, label %15, label %13
13: ; preds = %10
%14 = tail call i32 @_exit(i32 -99)
unreachable
15: ; preds = %10
%16 = tail call i64 @f2ull(float 0x3FFFD70A40000000)
%17 = icmp eq i64 %16, 1
br i1 %17, label %20, label %18
18: ; preds = %15
%19 = tail call i32 @_exit(i32 -100)
unreachable
20: ; preds = %15
%21 = tail call i64 @f2ull(float 0x43E0000000000000)
%22 = icmp eq i64 %21, 9223372036854775807
br i1 %22, label %28, label %23
23: ; preds = %20
%24 = tail call i64 @f2ull(float 0x43E0000000000000)
%25 = icmp eq i64 %24, -9223372036854775808
br i1 %25, label %28, label %26
26: ; preds = %23
%27 = tail call i32 @_exit(i32 -101)
unreachable
28: ; preds = %23, %20
%29 = tail call i64 @f2ull(float 0x43E0000000000000)
%30 = icmp eq i64 %29, -9223372036854775808
br i1 %30, label %33, label %31
31: ; preds = %28
%32 = tail call i32 @_exit(i32 -102)
unreachable
33: ; preds = %28
%34 = tail call i64 @d2ull(double 0.000000e+00)
%35 = icmp eq i64 %34, 0
br i1 %35, label %38, label %36
36: ; preds = %33
%37 = tail call i32 @_exit(i32 -103)
unreachable
38: ; preds = %33
%39 = tail call i64 @d2ull(double 0x3FEFF7CED916872B)
%40 = icmp eq i64 %39, 0
br i1 %40, label %43, label %41
41: ; preds = %38
%42 = tail call i32 @_exit(i32 -104)
unreachable
43: ; preds = %38
%44 = tail call i64 @d2ull(double 1.000000e+00)
%45 = icmp eq i64 %44, 1
br i1 %45, label %48, label %46
46: ; preds = %43
%47 = tail call i32 @_exit(i32 -105)
unreachable
48: ; preds = %43
%49 = tail call i64 @d2ull(double 1.990000e+00)
%50 = icmp eq i64 %49, 1
br i1 %50, label %53, label %51
51: ; preds = %48
%52 = tail call i32 @_exit(i32 -106)
unreachable
53: ; preds = %48
%54 = tail call i64 @d2ull(double 0x43E0000000000000)
%55 = icmp eq i64 %54, 9223372036854775807
br i1 %55, label %61, label %56
56: ; preds = %53
%57 = tail call i64 @d2ull(double 0x43E0000000000000)
%58 = icmp eq i64 %57, -9223372036854775808
br i1 %58, label %61, label %59
59: ; preds = %56
%60 = tail call i32 @_exit(i32 -107)
unreachable
61: ; preds = %56, %53
%62 = tail call i64 @d2ull(double 0x43E0000000000000)
%63 = icmp eq i64 %62, -9223372036854775808
br i1 %63, label %66, label %64
64: ; preds = %61
%65 = tail call i32 @_exit(i32 -108)
unreachable
66: ; preds = %61
%67 = tail call i64 @ld2ull(x86_fp80 0xK00000000000000000000)
%68 = icmp eq i64 %67, 0
br i1 %68, label %71, label %69
69: ; preds = %66
%70 = tail call i32 @_exit(i32 -109)
unreachable
71: ; preds = %66
%72 = tail call i64 @ld2ull(x86_fp80 0xK3FFEFFBE76C8B4395800)
%73 = icmp eq i64 %72, 0
br i1 %73, label %76, label %74
74: ; preds = %71
%75 = tail call i32 @_exit(i32 -110)
unreachable
76: ; preds = %71
%77 = tail call i64 @ld2ull(x86_fp80 0xK3FFF8000000000000000)
%78 = icmp eq i64 %77, 1
br i1 %78, label %81, label %79
79: ; preds = %76
%80 = tail call i32 @_exit(i32 -111)
unreachable
81: ; preds = %76
%82 = tail call i64 @ld2ull(x86_fp80 0xK3FFFFEB851EB851EB800)
%83 = icmp eq i64 %82, 1
br i1 %83, label %86, label %84
84: ; preds = %81
%85 = tail call i32 @_exit(i32 -112)
unreachable
86: ; preds = %81
%87 = tail call i64 @ld2ull(x86_fp80 0xK403DFFFFFFFFFFFFFFFE)
%88 = icmp eq i64 %87, 9223372036854775807
br i1 %88, label %94, label %89
89: ; preds = %86
%90 = tail call i64 @ld2ull(x86_fp80 0xK403DFFFFFFFFFFFFFFFE)
%91 = icmp eq i64 %90, -9223372036854775808
br i1 %91, label %94, label %92
92: ; preds = %89
%93 = tail call i32 @_exit(i32 -113)
unreachable
94: ; preds = %89, %86
%95 = tail call i64 @ld2ull(x86_fp80 0xK403E8000000000000000)
%96 = icmp eq i64 %95, -9223372036854775808
br i1 %96, label %99, label %97
97: ; preds = %94
%98 = tail call i32 @_exit(i32 -114)
unreachable
99: ; preds = %94
%100 = tail call i64 @f2sll(float 0.000000e+00)
%101 = icmp eq i64 %100, 0
br i1 %101, label %104, label %102
102: ; preds = %99
%103 = tail call i32 @_exit(i32 -115)
unreachable
104: ; preds = %99
%105 = tail call i64 @f2sll(float 0x3FEFF7CEE0000000)
%106 = icmp eq i64 %105, 0
br i1 %106, label %109, label %107
107: ; preds = %104
%108 = tail call i32 @_exit(i32 -116)
unreachable
109: ; preds = %104
%110 = tail call i64 @f2sll(float 1.000000e+00)
%111 = icmp eq i64 %110, 1
br i1 %111, label %114, label %112
112: ; preds = %109
%113 = tail call i32 @_exit(i32 -117)
unreachable
114: ; preds = %109
%115 = tail call i64 @f2sll(float 0x3FFFD70A40000000)
%116 = icmp eq i64 %115, 1
br i1 %116, label %119, label %117
117: ; preds = %114
%118 = tail call i32 @_exit(i32 -118)
unreachable
119: ; preds = %114
%120 = tail call i64 @f2sll(float 0xBFEFF7CEE0000000)
%121 = icmp eq i64 %120, 0
br i1 %121, label %124, label %122
122: ; preds = %119
%123 = tail call i32 @_exit(i32 -119)
unreachable
124: ; preds = %119
%125 = tail call i64 @f2sll(float -1.000000e+00)
%126 = icmp eq i64 %125, -1
br i1 %126, label %129, label %127
127: ; preds = %124
%128 = tail call i32 @_exit(i32 -120)
unreachable
129: ; preds = %124
%130 = tail call i64 @f2sll(float 0xBFFFD70A40000000)
%131 = icmp eq i64 %130, -1
br i1 %131, label %134, label %132
132: ; preds = %129
%133 = tail call i32 @_exit(i32 -121)
unreachable
134: ; preds = %129
%135 = tail call i64 @f2sll(float 0xC3E0000000000000)
%136 = icmp eq i64 %135, -9223372036854775808
br i1 %136, label %139, label %137
137: ; preds = %134
%138 = tail call i32 @_exit(i32 -122)
unreachable
139: ; preds = %134
%140 = tail call i64 @d2sll(double 0.000000e+00)
%141 = icmp eq i64 %140, 0
br i1 %141, label %144, label %142
142: ; preds = %139
%143 = tail call i32 @_exit(i32 -123)
unreachable
144: ; preds = %139
%145 = tail call i64 @d2sll(double 0x3FEFF7CED916872B)
%146 = icmp eq i64 %145, 0
br i1 %146, label %149, label %147
147: ; preds = %144
%148 = tail call i32 @_exit(i32 -124)
unreachable
149: ; preds = %144
%150 = tail call i64 @d2sll(double 1.000000e+00)
%151 = icmp eq i64 %150, 1
br i1 %151, label %154, label %152
152: ; preds = %149
%153 = tail call i32 @_exit(i32 -125)
unreachable
154: ; preds = %149
%155 = tail call i64 @d2sll(double 1.990000e+00)
%156 = icmp eq i64 %155, 1
br i1 %156, label %159, label %157
157: ; preds = %154
%158 = tail call i32 @_exit(i32 -126)
unreachable
159: ; preds = %154
%160 = tail call i64 @d2sll(double 0xBFEFF7CED916872B)
%161 = icmp eq i64 %160, 0
br i1 %161, label %164, label %162
162: ; preds = %159
%163 = tail call i32 @_exit(i32 -127)
unreachable
164: ; preds = %159
%165 = tail call i64 @d2sll(double -1.000000e+00)
%166 = icmp eq i64 %165, -1
br i1 %166, label %169, label %167
167: ; preds = %164
%168 = tail call i32 @_exit(i32 -128)
unreachable
169: ; preds = %164
%170 = tail call i64 @d2sll(double -1.990000e+00)
%171 = icmp eq i64 %170, -1
br i1 %171, label %174, label %172
172: ; preds = %169
%173 = tail call i32 @_exit(i32 -129)
unreachable
174: ; preds = %169
%175 = tail call i64 @d2sll(double 0xC3E0000000000000)
%176 = icmp eq i64 %175, -9223372036854775808
br i1 %176, label %179, label %177
177: ; preds = %174
%178 = tail call i32 @_exit(i32 -130)
unreachable
179: ; preds = %174
%180 = tail call i64 @ld2sll(x86_fp80 0xK00000000000000000000)
%181 = icmp eq i64 %180, 0
br i1 %181, label %184, label %182
182: ; preds = %179
%183 = tail call i32 @_exit(i32 -131)
unreachable
184: ; preds = %179
%185 = tail call i64 @ld2sll(x86_fp80 0xK3FFEFFBE76C8B4395800)
%186 = icmp eq i64 %185, 0
br i1 %186, label %189, label %187
187: ; preds = %184
%188 = tail call i32 @_exit(i32 -132)
unreachable
189: ; preds = %184
%190 = tail call i64 @ld2sll(x86_fp80 0xK3FFF8000000000000000)
%191 = icmp eq i64 %190, 1
br i1 %191, label %194, label %192
192: ; preds = %189
%193 = tail call i32 @_exit(i32 -133)
unreachable
194: ; preds = %189
%195 = tail call i64 @ld2sll(x86_fp80 0xK3FFFFEB851EB851EB800)
%196 = icmp eq i64 %195, 1
br i1 %196, label %199, label %197
197: ; preds = %194
%198 = tail call i32 @_exit(i32 -134)
unreachable
199: ; preds = %194
%200 = tail call i64 @ld2sll(x86_fp80 0xKBFFEFFBE76C8B4395800)
%201 = icmp eq i64 %200, 0
br i1 %201, label %204, label %202
202: ; preds = %199
%203 = tail call i32 @_exit(i32 -135)
unreachable
204: ; preds = %199
%205 = tail call i64 @ld2sll(x86_fp80 0xKBFFF8000000000000000)
%206 = icmp eq i64 %205, -1
br i1 %206, label %209, label %207
207: ; preds = %204
%208 = tail call i32 @_exit(i32 -136)
unreachable
209: ; preds = %204
%210 = tail call i64 @ld2sll(x86_fp80 0xKBFFFFEB851EB851EB800)
%211 = icmp eq i64 %210, -1
br i1 %211, label %214, label %212
212: ; preds = %209
%213 = tail call i32 @_exit(i32 -137)
unreachable
214: ; preds = %209
%215 = tail call i64 @ld2sll(x86_fp80 0xKC03E8000000000000000)
%216 = icmp eq i64 %215, -9223372036854775808
br i1 %216, label %219, label %217
217: ; preds = %214
%218 = tail call i32 @_exit(i32 -138)
unreachable
219: ; preds = %214
ret i32 undef
}