#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);
int d2s(double);
unsigned int d2u(double);
int f2s(float);
unsigned int f2u(float);
int ld2s(long double);
unsigned int ld2u(long double);
test_float_to_integer() {
  if (f2u(0.0) != 0)
    _exit(-51);
  if (f2u(0.999) != 0)
    _exit(-52);
  if (f2u(1.0) != 1)
    _exit(-53);
  if (f2u(1.99) != 1)
    _exit(-54);
  if (f2u((float)((~0U) >> 1)) != (~0U) >> 1 &&
      f2u((float)((~0U) >> 1)) != ((~0U) >> 1) + 1)
    _exit(-55);
  if (f2u((float)~((~0U) >> 1)) != ~((~0U) >> 1))
    _exit(-56);
  if (sizeof(double) >= 8) {
    if (d2u(0.0) != 0)
      _exit(-57);
    if (d2u(0.999) != 0)
      _exit(-58);
    if (d2u(1.0) != 1)
      _exit(-59);
    if (d2u(1.99) != 1)
      _exit(-60);
    if (d2u((double)(~0U)) != ~0U)
      _exit(-61);
    if (d2u((double)((~0U) >> 1)) != (~0U) >> 1)
      _exit(-62);
    if (d2u((double)~((~0U) >> 1)) != ~((~0U) >> 1))
      _exit(-63);
  }
  if (sizeof(long double) >= 8) {
    if (ld2u(0.0) != 0)
      _exit(-64);
    if (ld2u(0.999) != 0)
      _exit(-65);
    if (ld2u(1.0) != 1)
      _exit(-66);
    if (ld2u(1.99) != 1)
      _exit(-67);
    if (ld2u((long double)(~0U)) != ~0U)
      _exit(-68);
    if (ld2u((long double)((~0U) >> 1)) != (~0U) >> 1)
      _exit(-69);
    if (ld2u((long double)~((~0U) >> 1)) != ~((~0U) >> 1))
      _exit(-70);
  }
  if (f2s(0.0) != 0)
    _exit(-71);
  if (f2s(0.999) != 0)
    _exit(-72);
  if (f2s(1.0) != 1)
    _exit(-73);
  if (f2s(1.99) != 1)
    _exit(-74);
  if (f2s(-0.999) != 0)
    _exit(-75);
  if (f2s(-1.0) != -1)
    _exit(-76);
  if (f2s(-1.99) != -1)
    _exit(-77);
  if (f2s((float)(int)~((~0U) >> 1)) != (int)~((~0U) >> 1))
    _exit(-78);
  if (sizeof(double) >= 8) {
    if (d2s(0.0) != 0)
      _exit(-79);
    if (d2s(0.999) != 0)
      _exit(-80);
    if (d2s(1.0) != 1)
      _exit(-81);
    if (d2s(1.99) != 1)
      _exit(-82);
    if (d2s(-0.999) != 0)
      _exit(-83);
    if (d2s(-1.0) != -1)
      _exit(-84);
    if (d2s(-1.99) != -1)
      _exit(-85);
    if (d2s((double)((~0U) >> 1)) != (~0U) >> 1)
      _exit(-86);
    if (d2s((double)(int)~((~0U) >> 1)) != (int)~((~0U) >> 1))
      _exit(-87);
  }
  if (sizeof(long double) >= 8) {
    if (ld2s(0.0) != 0)
      _exit(-88);
    if (ld2s(0.999) != 0)
      _exit(-89);
    if (ld2s(1.0) != 1)
      _exit(-90);
    if (ld2s(1.99) != 1)
      _exit(-91);
    if (ld2s(-0.999) != 0)
      _exit(-92);
    if (ld2s(-1.0) != -1)
      _exit(-93);
    if (ld2s(-1.99) != -1)
      _exit(-94);
    if (ld2s((long double)((~0U) >> 1)) != (~0U) >> 1)
      _exit(-95);
    if (ld2s((long double)(int)~((~0U) >> 1)) != (int)~((~0U) >> 1))
      _exit(-96);
  }
}


x86 assembly (clang, -O0):
<test_float_to_integer>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
xorps  %xmm0,%xmm0
call   1090 <f2u@plt>
cmp    $0x0,%eax
je     1193 <test_float_to_integer+0x23>
mov    $0xffffffcd,%edi
call   1030 <_exit@plt>
movss  0xe65(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x0,%eax
je     11b3 <test_float_to_integer+0x43>
mov    $0xffffffcc,%edi
call   1030 <_exit@plt>
movss  0xe49(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x1,%eax
je     11d3 <test_float_to_integer+0x63>
mov    $0xffffffcb,%edi
call   1030 <_exit@plt>
movss  0xe2d(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x1,%eax
je     11f3 <test_float_to_integer+0x83>
mov    $0xffffffca,%edi
call   1030 <_exit@plt>
movss  0xe11(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x7fffffff,%eax
je     122d <test_float_to_integer+0xbd>
movss  0xdf9(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x80000000,%eax
je     122d <test_float_to_integer+0xbd>
mov    $0xffffffc9,%edi
call   1030 <_exit@plt>
movss  0xdd7(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x80000000,%eax
je     124f <test_float_to_integer+0xdf>
mov    $0xffffffc8,%edi
call   1030 <_exit@plt>
xorps  %xmm0,%xmm0
call   1040 <d2u@plt>
cmp    $0x0,%eax
je     126a <test_float_to_integer+0xfa>
mov    $0xffffffc7,%edi
call   1030 <_exit@plt>
movsd  0xdae(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0x0,%eax
je     128a <test_float_to_integer+0x11a>
mov    $0xffffffc6,%edi
call   1030 <_exit@plt>
movsd  0xd96(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0x1,%eax
je     12aa <test_float_to_integer+0x13a>
mov    $0xffffffc5,%edi
call   1030 <_exit@plt>
movsd  0xd7e(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0x1,%eax
je     12ca <test_float_to_integer+0x15a>
mov    $0xffffffc4,%edi
call   1030 <_exit@plt>
movsd  0xd66(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0xffffffff,%eax
je     12ea <test_float_to_integer+0x17a>
mov    $0xffffffc3,%edi
call   1030 <_exit@plt>
movsd  0xd4e(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0x7fffffff,%eax
je     130c <test_float_to_integer+0x19c>
mov    $0xffffffc2,%edi
call   1030 <_exit@plt>
movsd  0xd34(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0x80000000,%eax
je     132e <test_float_to_integer+0x1be>
mov    $0xffffffc1,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldz
fstpt  (%rax)
call   1060 <ld2u@plt>
cmp    $0x0,%eax
je     134d <test_float_to_integer+0x1dd>
mov    $0xffffffc0,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldl   0xcca(%rip)
fstpt  (%rax)
call   1060 <ld2u@plt>
cmp    $0x0,%eax
je     1370 <test_float_to_integer+0x200>
mov    $0xffffffbf,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fld1
fstpt  (%rax)
call   1060 <ld2u@plt>
cmp    $0x1,%eax
je     138f <test_float_to_integer+0x21f>
mov    $0xffffffbe,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldl   0xc98(%rip)
fstpt  (%rax)
call   1060 <ld2u@plt>
cmp    $0x1,%eax
je     13b2 <test_float_to_integer+0x242>
mov    $0xffffffbd,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldl   0xc7d(%rip)
fstpt  (%rax)
call   1060 <ld2u@plt>
cmp    $0xffffffff,%eax
je     13d5 <test_float_to_integer+0x265>
mov    $0xffffffbc,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldl   0xc62(%rip)
fstpt  (%rax)
call   1060 <ld2u@plt>
cmp    $0x7fffffff,%eax
je     13fa <test_float_to_integer+0x28a>
mov    $0xffffffbb,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
flds   0xc09(%rip)
fstpt  (%rax)
call   1060 <ld2u@plt>
cmp    $0x80000000,%eax
je     141f <test_float_to_integer+0x2af>
mov    $0xffffffba,%edi
call   1030 <_exit@plt>
xorps  %xmm0,%xmm0
call   1080 <f2s@plt>
cmp    $0x0,%eax
je     143a <test_float_to_integer+0x2ca>
mov    $0xffffffb9,%edi
call   1030 <_exit@plt>
movss  0xbbe(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0x0,%eax
je     145a <test_float_to_integer+0x2ea>
mov    $0xffffffb8,%edi
call   1030 <_exit@plt>
movss  0xba2(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0x1,%eax
je     147a <test_float_to_integer+0x30a>
mov    $0xffffffb7,%edi
call   1030 <_exit@plt>
movss  0xb86(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0x1,%eax
je     149a <test_float_to_integer+0x32a>
mov    $0xffffffb6,%edi
call   1030 <_exit@plt>
movss  0xb6e(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0x0,%eax
je     14ba <test_float_to_integer+0x34a>
mov    $0xffffffb5,%edi
call   1030 <_exit@plt>
movss  0xb52(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0xffffffff,%eax
je     14da <test_float_to_integer+0x36a>
mov    $0xffffffb4,%edi
call   1030 <_exit@plt>
movss  0xb36(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0xffffffff,%eax
je     14fa <test_float_to_integer+0x38a>
mov    $0xffffffb3,%edi
call   1030 <_exit@plt>
movss  0xb1a(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0x80000000,%eax
je     151c <test_float_to_integer+0x3ac>
mov    $0xffffffb2,%edi
call   1030 <_exit@plt>
xorps  %xmm0,%xmm0
call   1050 <d2s@plt>
cmp    $0x0,%eax
je     1537 <test_float_to_integer+0x3c7>
mov    $0xffffffb1,%edi
call   1030 <_exit@plt>
movsd  0xae1(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x0,%eax
je     1557 <test_float_to_integer+0x3e7>
mov    $0xffffffb0,%edi
call   1030 <_exit@plt>
movsd  0xac9(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x1,%eax
je     1577 <test_float_to_integer+0x407>
mov    $0xffffffaf,%edi
call   1030 <_exit@plt>
movsd  0xab1(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x1,%eax
je     1597 <test_float_to_integer+0x427>
mov    $0xffffffae,%edi
call   1030 <_exit@plt>
movsd  0xab1(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x0,%eax
je     15b7 <test_float_to_integer+0x447>
mov    $0xffffffad,%edi
call   1030 <_exit@plt>
movsd  0xa99(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0xffffffff,%eax
je     15d7 <test_float_to_integer+0x467>
mov    $0xffffffac,%edi
call   1030 <_exit@plt>
movsd  0xa81(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0xffffffff,%eax
je     15f7 <test_float_to_integer+0x487>
mov    $0xffffffab,%edi
call   1030 <_exit@plt>
movsd  0xa41(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x7fffffff,%eax
je     1619 <test_float_to_integer+0x4a9>
mov    $0xffffffaa,%edi
call   1030 <_exit@plt>
movsd  0xa47(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x80000000,%eax
je     163b <test_float_to_integer+0x4cb>
mov    $0xffffffa9,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldz
fstpt  (%rax)
call   1070 <ld2s@plt>
cmp    $0x0,%eax
je     165a <test_float_to_integer+0x4ea>
mov    $0xffffffa8,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldl   0x9bd(%rip)
fstpt  (%rax)
call   1070 <ld2s@plt>
cmp    $0x0,%eax
je     167d <test_float_to_integer+0x50d>
mov    $0xffffffa7,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fld1
fstpt  (%rax)
call   1070 <ld2s@plt>
cmp    $0x1,%eax
je     169c <test_float_to_integer+0x52c>
mov    $0xffffffa6,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldl   0x98b(%rip)
fstpt  (%rax)
call   1070 <ld2s@plt>
cmp    $0x1,%eax
je     16bf <test_float_to_integer+0x54f>
mov    $0xffffffa5,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldl   0x988(%rip)
fstpt  (%rax)
call   1070 <ld2s@plt>
cmp    $0x0,%eax
je     16e2 <test_float_to_integer+0x572>
mov    $0xffffffa4,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fld1
fchs
fstpt  (%rax)
call   1070 <ld2s@plt>
cmp    $0xffffffff,%eax
je     1703 <test_float_to_integer+0x593>
mov    $0xffffffa3,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldl   0x954(%rip)
fstpt  (%rax)
call   1070 <ld2s@plt>
cmp    $0xffffffff,%eax
je     1726 <test_float_to_integer+0x5b6>
mov    $0xffffffa2,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
fldl   0x911(%rip)
fstpt  (%rax)
call   1070 <ld2s@plt>
cmp    $0x7fffffff,%eax
je     174b <test_float_to_integer+0x5db>
mov    $0xffffffa1,%edi
call   1030 <_exit@plt>
mov    %rsp,%rax
flds   0x8c8(%rip)
fstpt  (%rax)
call   1070 <ld2s@plt>
cmp    $0x80000000,%eax
je     1770 <test_float_to_integer+0x600>
mov    $0xffffffa0,%edi
call   1030 <_exit@plt>
mov    -0x4(%rbp),%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test_float_to_integer>:
sub    $0x58,%rsp
xorps  %xmm0,%xmm0
call   1090 <f2u@plt>
test   %eax,%eax
jne    1590 <test_float_to_integer+0x420>
movss  0xe74(%rip),%xmm0
call   1090 <f2u@plt>
test   %eax,%eax
jne    159a <test_float_to_integer+0x42a>
movss  0xe63(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x1,%eax
jne    15a4 <test_float_to_integer+0x434>
movss  0xe51(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x1,%eax
jne    15ae <test_float_to_integer+0x43e>
movss  0xe3f(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x7fffffff,%eax
je     11f1 <test_float_to_integer+0x81>
movss  0xe2b(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x80000000,%eax
jne    1752 <test_float_to_integer+0x5e2>
movss  0xe13(%rip),%xmm0
call   1090 <f2u@plt>
cmp    $0x80000000,%eax
jne    15b8 <test_float_to_integer+0x448>
xorps  %xmm0,%xmm0
call   1040 <d2u@plt>
test   %eax,%eax
jne    15c2 <test_float_to_integer+0x452>
movsd  0xdff(%rip),%xmm0
call   1040 <d2u@plt>
test   %eax,%eax
jne    15cc <test_float_to_integer+0x45c>
movsd  0xdf2(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0x1,%eax
jne    15d6 <test_float_to_integer+0x466>
movsd  0xde4(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0x1,%eax
jne    15e0 <test_float_to_integer+0x470>
movsd  0xdd6(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0xffffffff,%eax
jne    15ea <test_float_to_integer+0x47a>
movsd  0xdc8(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0x7fffffff,%eax
jne    15f4 <test_float_to_integer+0x484>
movsd  0xdb8(%rip),%xmm0
call   1040 <d2u@plt>
cmp    $0x80000000,%eax
jne    15fe <test_float_to_integer+0x48e>
fldz
fld    %st(0)
fstpt  0x4c(%rsp)
fstpt  (%rsp)
call   1060 <ld2u@plt>
test   %eax,%eax
jne    1608 <test_float_to_integer+0x498>
fldl   0xd62(%rip)
fld    %st(0)
fstpt  0x40(%rsp)
fstpt  (%rsp)
call   1060 <ld2u@plt>
test   %eax,%eax
jne    1612 <test_float_to_integer+0x4a2>
fld1
fld    %st(0)
fstpt  0x1c(%rsp)
fstpt  (%rsp)
call   1060 <ld2u@plt>
cmp    $0x1,%eax
jne    161c <test_float_to_integer+0x4ac>
fldl   0xd3d(%rip)
fld    %st(0)
fstpt  0x34(%rsp)
fstpt  (%rsp)
call   1060 <ld2u@plt>
cmp    $0x1,%eax
jne    1626 <test_float_to_integer+0x4b6>
fldl   0xd28(%rip)
fstpt  (%rsp)
call   1060 <ld2u@plt>
cmp    $0xffffffff,%eax
jne    1630 <test_float_to_integer+0x4c0>
fldl   0xd19(%rip)
fld    %st(0)
fstpt  0x28(%rsp)
fstpt  (%rsp)
call   1060 <ld2u@plt>
cmp    $0x7fffffff,%eax
jne    163a <test_float_to_integer+0x4ca>
flds   0xcc6(%rip)
fstpt  (%rsp)
call   1060 <ld2u@plt>
cmp    $0x80000000,%eax
jne    1644 <test_float_to_integer+0x4d4>
xorps  %xmm0,%xmm0
call   1080 <f2s@plt>
test   %eax,%eax
jne    164e <test_float_to_integer+0x4de>
movss  0xc8f(%rip),%xmm0
call   1080 <f2s@plt>
test   %eax,%eax
jne    1658 <test_float_to_integer+0x4e8>
movss  0xc7e(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0x1,%eax
jne    1662 <test_float_to_integer+0x4f2>
movss  0xc6c(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0x1,%eax
jne    166c <test_float_to_integer+0x4fc>
movss  0xc5e(%rip),%xmm0
call   1080 <f2s@plt>
test   %eax,%eax
jne    1676 <test_float_to_integer+0x506>
movss  0xc4d(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0xffffffff,%eax
jne    1680 <test_float_to_integer+0x510>
movss  0xc3b(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0xffffffff,%eax
jne    168a <test_float_to_integer+0x51a>
movss  0xc29(%rip),%xmm0
call   1080 <f2s@plt>
cmp    $0x80000000,%eax
jne    1694 <test_float_to_integer+0x524>
xorps  %xmm0,%xmm0
call   1050 <d2s@plt>
test   %eax,%eax
jne    169e <test_float_to_integer+0x52e>
movsd  0xc05(%rip),%xmm0
call   1050 <d2s@plt>
test   %eax,%eax
jne    16a8 <test_float_to_integer+0x538>
movsd  0xbf8(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x1,%eax
jne    16b2 <test_float_to_integer+0x542>
movsd  0xbea(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x1,%eax
jne    16bc <test_float_to_integer+0x54c>
movsd  0xbf4(%rip),%xmm0
call   1050 <d2s@plt>
test   %eax,%eax
jne    16c6 <test_float_to_integer+0x556>
movsd  0xbe7(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0xffffffff,%eax
jne    16d0 <test_float_to_integer+0x560>
movsd  0xbd9(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0xffffffff,%eax
jne    16da <test_float_to_integer+0x56a>
movsd  0xba3(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x7fffffff,%eax
jne    16e4 <test_float_to_integer+0x574>
movsd  0xbb3(%rip),%xmm0
call   1050 <d2s@plt>
cmp    $0x80000000,%eax
jne    16ee <test_float_to_integer+0x57e>
fldt   0x4c(%rsp)
fstpt  (%rsp)
call   1070 <ld2s@plt>
test   %eax,%eax
jne    16f8 <test_float_to_integer+0x588>
fldt   0x40(%rsp)
fstpt  (%rsp)
call   1070 <ld2s@plt>
test   %eax,%eax
jne    1702 <test_float_to_integer+0x592>
fldt   0x1c(%rsp)
fstpt  (%rsp)
call   1070 <ld2s@plt>
cmp    $0x1,%eax
jne    170c <test_float_to_integer+0x59c>
fldt   0x34(%rsp)
fstpt  (%rsp)
call   1070 <ld2s@plt>
cmp    $0x1,%eax
jne    1716 <test_float_to_integer+0x5a6>
fldl   0xb33(%rip)
fstpt  (%rsp)
call   1070 <ld2s@plt>
test   %eax,%eax
jne    1720 <test_float_to_integer+0x5b0>
fldt   0x1c(%rsp)
fchs
fstpt  (%rsp)
call   1070 <ld2s@plt>
cmp    $0xffffffff,%eax
jne    172a <test_float_to_integer+0x5ba>
fldl   0xb16(%rip)
fstpt  (%rsp)
call   1070 <ld2s@plt>
cmp    $0xffffffff,%eax
jne    1734 <test_float_to_integer+0x5c4>
fldt   0x28(%rsp)
fstpt  (%rsp)
call   1070 <ld2s@plt>
cmp    $0x7fffffff,%eax
jne    173e <test_float_to_integer+0x5ce>
flds   0xaa4(%rip)
fstpt  (%rsp)
call   1070 <ld2s@plt>
cmp    $0x80000000,%eax
jne    1748 <test_float_to_integer+0x5d8>
add    $0x58,%rsp
ret
mov    $0xffffffcd,%edi
call   1030 <_exit@plt>
mov    $0xffffffcc,%edi
call   1030 <_exit@plt>
mov    $0xffffffcb,%edi
call   1030 <_exit@plt>
mov    $0xffffffca,%edi
call   1030 <_exit@plt>
mov    $0xffffffc8,%edi
call   1030 <_exit@plt>
mov    $0xffffffc7,%edi
call   1030 <_exit@plt>
mov    $0xffffffc6,%edi
call   1030 <_exit@plt>
mov    $0xffffffc5,%edi
call   1030 <_exit@plt>
mov    $0xffffffc4,%edi
call   1030 <_exit@plt>
mov    $0xffffffc3,%edi
call   1030 <_exit@plt>
mov    $0xffffffc2,%edi
call   1030 <_exit@plt>
mov    $0xffffffc1,%edi
call   1030 <_exit@plt>
mov    $0xffffffc0,%edi
call   1030 <_exit@plt>
mov    $0xffffffbf,%edi
call   1030 <_exit@plt>
mov    $0xffffffbe,%edi
call   1030 <_exit@plt>
mov    $0xffffffbd,%edi
call   1030 <_exit@plt>
mov    $0xffffffbc,%edi
call   1030 <_exit@plt>
mov    $0xffffffbb,%edi
call   1030 <_exit@plt>
mov    $0xffffffba,%edi
call   1030 <_exit@plt>
mov    $0xffffffb9,%edi
call   1030 <_exit@plt>
mov    $0xffffffb8,%edi
call   1030 <_exit@plt>
mov    $0xffffffb7,%edi
call   1030 <_exit@plt>
mov    $0xffffffb6,%edi
call   1030 <_exit@plt>
mov    $0xffffffb5,%edi
call   1030 <_exit@plt>
mov    $0xffffffb4,%edi
call   1030 <_exit@plt>
mov    $0xffffffb3,%edi
call   1030 <_exit@plt>
mov    $0xffffffb2,%edi
call   1030 <_exit@plt>
mov    $0xffffffb1,%edi
call   1030 <_exit@plt>
mov    $0xffffffb0,%edi
call   1030 <_exit@plt>
mov    $0xffffffaf,%edi
call   1030 <_exit@plt>
mov    $0xffffffae,%edi
call   1030 <_exit@plt>
mov    $0xffffffad,%edi
call   1030 <_exit@plt>
mov    $0xffffffac,%edi
call   1030 <_exit@plt>
mov    $0xffffffab,%edi
call   1030 <_exit@plt>
mov    $0xffffffaa,%edi
call   1030 <_exit@plt>
mov    $0xffffffa9,%edi
call   1030 <_exit@plt>
mov    $0xffffffa8,%edi
call   1030 <_exit@plt>
mov    $0xffffffa7,%edi
call   1030 <_exit@plt>
mov    $0xffffffa6,%edi
call   1030 <_exit@plt>
mov    $0xffffffa5,%edi
call   1030 <_exit@plt>
mov    $0xffffffa4,%edi
call   1030 <_exit@plt>
mov    $0xffffffa3,%edi
call   1030 <_exit@plt>
mov    $0xffffffa2,%edi
call   1030 <_exit@plt>
mov    $0xffffffa1,%edi
call   1030 <_exit@plt>
mov    $0xffffffa0,%edi
call   1030 <_exit@plt>
mov    $0xffffffc9,%edi
call   1030 <_exit@plt>

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

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