int main() {
  if (test__floatuntisf(0, 0.0F))
    return 1;
  if (test__floatuntisf(1, 1.0F))
    return 1;
  if (test__floatuntisf(2, 2.0F))
    return 1;
  if (test__floatuntisf(20, 20.0F))
    return 1;
  if (test__floatuntisf(0x7FFFFF8000000000LL, 0x1.FFFFFEp+62F))
    return 1;
  if (test__floatuntisf(0x7FFFFF0000000000LL, 0x1.FFFFFCp+62F))
    return 1;
  if (test__floatuntisf(make_ti(0x8000008000000000LL, 0), 0x1.000001p+127F))
    return 1;
  if (test__floatuntisf(make_ti(0x8000000000000800LL, 0), 0x1.0p+127F))
    return 1;
  if (test__floatuntisf(make_ti(0x8000010000000000LL, 0), 0x1.000002p+127F))
    return 1;
  if (test__floatuntisf(make_ti(0x8000000000000000LL, 0), 0x1.000000p+127F))
    return 1;
  if (test__floatuntisf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72EA000000LL, 0x1.FEDCBA8p+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72EB000000LL, 0x1.FEDCBACp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72EC000000LL, 0x1.FEDCBBp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72E6000000LL, 0x1.FEDCB98p+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72E7000000LL, 0x1.FEDCB9Cp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72E4000000LL, 0x1.FEDCB9p+50F))
    return 1;
  if (test__floatuntisf(0xFFFFFFFFFFFFFFFELL, 0x1p+64F))
    return 1;
  if (test__floatuntisf(0xFFFFFFFFFFFFFFFFLL, 0x1p+64F))
    return 1;
  if (test__floatuntisf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72EA000000LL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72EB000000LL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72EBFFFFFFLL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72EC000000LL, 0x1.FEDCBCp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72E8000001LL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72E6000000LL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72E7000000LL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72E7FFFFFFLL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72E4000001LL, 0x1.FEDCBAp+50F))
    return 1;
  if (test__floatuntisf(0x0007FB72E4000000LL, 0x1.FEDCB8p+50F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCB90000000000001LL),
                        0x1.FEDCBAp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBA0000000000000LL),
                        0x1.FEDCBAp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBAFFFFFFFFFFFFFLL),
                        0x1.FEDCBAp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBB0000000000000LL),
                        0x1.FEDCBCp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBB0000000000001LL),
                        0x1.FEDCBCp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBBFFFFFFFFFFFFFLL),
                        0x1.FEDCBCp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBC0000000000000LL),
                        0x1.FEDCBCp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBC0000000000001LL),
                        0x1.FEDCBCp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBD0000000000000LL),
                        0x1.FEDCBCp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBD0000000000001LL),
                        0x1.FEDCBEp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBDFFFFFFFFFFFFFLL),
                        0x1.FEDCBEp+76F))
    return 1;
  if (test__floatuntisf(make_ti(0x0000000000001FEDLL, 0xCBE0000000000000LL),
                        0x1.FEDCBEp+76F))
    return 1;
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
xor    %edi,%edi
xorps  %xmm0,%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1150 <main+0x30>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1,%edi
movsd  0xea3(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1179 <main+0x59>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x2,%edi
movsd  0xe82(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     11a2 <main+0x82>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x14,%edi
movsd  0xe61(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     11cb <main+0xab>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fffff8000000000,%rdi
ff ff 7f
movsd  0xe3b(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     11f9 <main+0xd9>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fffff0000000000,%rdi
movsd  0xe15(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1227 <main+0x107>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x8000008000000000,%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0xde4(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1260 <main+0x140>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x8000000000000800,%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0xdab(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1299 <main+0x179>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x8000010000000000,%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0xd7a(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     12d2 <main+0x1b2>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x8000000000000000,%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0xd39(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     130b <main+0x1eb>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e8000000,%rdi
movsd  0xd1b(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1339 <main+0x219>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72ea000000,%rdi
movsd  0xced(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1367 <main+0x247>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72eb000000,%rdi
movsd  0xcbf(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1395 <main+0x275>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72ec000000,%rdi
movsd  0xc99(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     13c3 <main+0x2a3>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e6000000,%rdi
movsd  0xc63(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     13f1 <main+0x2d1>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e7000000,%rdi
movsd  0xc35(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     141f <main+0x2ff>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e4000000,%rdi
movsd  0xc17(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     144d <main+0x32d>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0xfffffffffffffffe,%rdi
movsd  0xbf4(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1478 <main+0x358>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0xffffffffffffffff,%rdi
movsd  0xbc9(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     14a3 <main+0x383>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e8000000,%rdi
movsd  0xb83(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     14d1 <main+0x3b1>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72ea000000,%rdi
movsd  0xb55(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     14ff <main+0x3df>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72eb000000,%rdi
movsd  0xb27(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     152d <main+0x40d>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72ebffffff,%rdi
movsd  0xaf9(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     155b <main+0x43b>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72ec000000,%rdi
movsd  0xad3(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1589 <main+0x469>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e8000001,%rdi
movsd  0xa9d(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     15b7 <main+0x497>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e6000000,%rdi
movsd  0xa6f(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     15e5 <main+0x4c5>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e7000000,%rdi
movsd  0xa41(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1613 <main+0x4f3>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e7ffffff,%rdi
movsd  0xa13(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1641 <main+0x521>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e4000001,%rdi
movsd  0x9e5(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     166f <main+0x54f>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movabs $0x7fb72e4000000,%rdi
movsd  0x9c7(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     169d <main+0x57d>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcb90000000000001,%rsi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x99b(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     16d9 <main+0x5b9>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcba0000000000000,%rsi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x95f(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1715 <main+0x5f5>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbafffffffffffff,%rsi
ff af cb
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x923(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1751 <main+0x631>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbb0000000000000,%rsi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x8ef(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     178d <main+0x66d>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbb0000000000001,%rsi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x8b3(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     17c9 <main+0x6a9>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbbfffffffffffff,%rsi
ff bf cb
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x877(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1805 <main+0x6e5>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbc0000000000000,%rsi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x83b(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1841 <main+0x721>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbc0000000000001,%rsi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x7ff(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     187d <main+0x75d>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbd0000000000000,%rsi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x7c3(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     18b9 <main+0x799>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbd0000000000001,%rsi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x78f(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     18f5 <main+0x7d5>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbdfffffffffffff,%rsi
ff df cb
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x753(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     1931 <main+0x811>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
mov    $0x1fed,%edi
movabs $0xcbe0000000000000,%rsi
mov    $0x0,%al
call   1040 <make_ti@plt>
mov    %eax,%edi
movsd  0x717(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
cmp    $0x0,%eax
je     196d <main+0x84d>
movl   $0x1,-0x4(%rbp)
jmp    1974 <main+0x854>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x18,%rsp
xorps  %xmm0,%xmm0
xor    %edi,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
mov    $0x1,%ebx
test   %eax,%eax
jne    170a <main+0x5ea>
mov    $0x1,%ebx
movsd  0xeac(%rip),%xmm0
mov    $0x1,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xe98(%rip),%xmm0
mov    $0x2,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xe84(%rip),%xmm0
mov    $0x14,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0x7fffff8000000000,%rdi
ff ff 7f
movsd  0xe66(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0x7fffff0000000000,%rdi
ff ff 7f
movsd  0xe4d(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0x8000008000000000,%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xe2b(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0x8000000000000000,%rbp
lea    0x800(%rbp),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xdf8(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0x8000010000000000,%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xdd4(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
mov    %rbp,%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xda7(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0x7fb72e4000000,%r14
lea    0x4000000(%r14),%rbp
movsd  0xd8d(%rip),%xmm0
mov    %rbp,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x6000000(%r14),%r12
movsd  0xd6c(%rip),%xmm0
mov    %r12,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x7000000(%r14),%r15
movsd  0xd4b(%rip),%xmm0
mov    %r15,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x8000000(%r14),%r13
movsd  0xd32(%rip),%xmm0
mov    %r13,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x2000000(%r14),%rdi
movsd  0xd09(%rip),%xmm0
mov    %rdi,0x10(%rsp)
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x3000000(%r14),%rdi
movsd  0xce6(%rip),%xmm0
mov    %rdi,0x8(%rsp)
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xcda(%rip),%xmm0
mov    %r14,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xcc8(%rip),%xmm0
mov    $0xfffffffffffffffe,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xcaa(%rip),%xmm0
mov    $0xffffffffffffffff,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xc74(%rip),%xmm0
mov    %rbp,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xc5a(%rip),%xmm0
mov    %r12,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xc40(%rip),%xmm0
mov    %r15,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x7ffffff(%r14),%rdi
movsd  0xc1f(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xc10(%rip),%xmm0
mov    %r13,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x4000001(%r14),%rdi
movsd  0xbe7(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xbd0(%rip),%xmm0
mov    0x10(%rsp),%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xbb4(%rip),%xmm0
mov    0x8(%rsp),%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x3ffffff(%r14),%rdi
movsd  0xb91(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x1(%r14),%rdi
movsd  0xb76(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movsd  0xb6f(%rip),%xmm0
mov    %r14,%rdi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0xcb90000000000001,%rsi
mov    $0x1fed,%edi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xb4f(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0xcba0000000000000,%rsi
mov    $0x1fed,%edi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xb20(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0xcbafffffffffffff,%rbp
ff af cb
mov    $0x1fed,%edi
mov    %rbp,%rsi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xaee(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x1(%rbp),%rsi
mov    $0x1fed,%edi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xacd(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
add    $0x2,%rbp
mov    $0x1fed,%edi
mov    %rbp,%rsi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xaa1(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0xcbbfffffffffffff,%rbp
ff bf cb
mov    $0x1fed,%edi
mov    %rbp,%rsi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xa6f(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
lea    0x1(%rbp),%rsi
mov    $0x1fed,%edi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xa46(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
add    $0x2,%rbp
mov    $0x1fed,%edi
mov    %rbp,%rsi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0xa1a(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0xcbd0000000000000,%rbp
mov    $0x1fed,%edi
mov    %rbp,%rsi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0x9e8(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
add    $0x1,%rbp
mov    $0x1fed,%edi
mov    %rbp,%rsi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0x9c4(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
movabs $0xcbdfffffffffffff,%rbp
ff df cb
mov    $0x1fed,%edi
mov    %rbp,%rsi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0x996(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
test   %eax,%eax
jne    170a <main+0x5ea>
add    $0x1,%rbp
mov    $0x1fed,%edi
mov    %rbp,%rsi
xor    %eax,%eax
call   1040 <make_ti@plt>
movsd  0x96e(%rip),%xmm0
mov    %eax,%edi
mov    $0x1,%al
call   1030 <test__floatuntisf@plt>
xor    %ebx,%ebx
test   %eax,%eax
setne  %bl
mov    %ebx,%eax
add    $0x18,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
store i32 0, i32* %1
%2 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 0, double 0.000000e+00)
%3 = icmp ne i32 %2, 0
br i1 %3, label %4, label %5
4: ; preds = %0
store i32 1, i32* %1
br label %186
5: ; preds = %0
%6 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 1, double 1.000000e+00)
%7 = icmp ne i32 %6, 0
br i1 %7, label %8, label %9
8: ; preds = %5
store i32 1, i32* %1
br label %186
9: ; preds = %5
%10 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 2, double 2.000000e+00)
%11 = icmp ne i32 %10, 0
br i1 %11, label %12, label %13
12: ; preds = %9
store i32 1, i32* %1
br label %186
13: ; preds = %9
%14 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 20, double 2.000000e+01)
%15 = icmp ne i32 %14, 0
br i1 %15, label %16, label %17
16: ; preds = %13
store i32 1, i32* %1
br label %186
17: ; preds = %13
%18 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 9223371487098961920, double 0x43DFFFFFE0000000)
%19 = icmp ne i32 %18, 0
br i1 %19, label %20, label %21
20: ; preds = %17
store i32 1, i32* %1
br label %186
21: ; preds = %17
%22 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 9223370937343148032, double 0x43DFFFFFC0000000)
%23 = icmp ne i32 %22, 0
br i1 %23, label %24, label %25
24: ; preds = %21
store i32 1, i32* %1
br label %186
25: ; preds = %21
%26 = call i32 (i64, i32, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i32, ...)*)(i64 -9223371487098961920, i32 0)
%27 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %26, double 0x47E0000000000000)
%28 = icmp ne i32 %27, 0
br i1 %28, label %29, label %30
29: ; preds = %25
store i32 1, i32* %1
br label %186
30: ; preds = %25
%31 = call i32 (i64, i32, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i32, ...)*)(i64 -9223372036854773760, i32 0)
%32 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %31, double 0x47E0000000000000)
%33 = icmp ne i32 %32, 0
br i1 %33, label %34, label %35
34: ; preds = %30
store i32 1, i32* %1
br label %186
35: ; preds = %30
%36 = call i32 (i64, i32, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i32, ...)*)(i64 -9223370937343148032, i32 0)
%37 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %36, double 0x47E0000020000000)
%38 = icmp ne i32 %37, 0
br i1 %38, label %39, label %40
39: ; preds = %35
store i32 1, i32* %1
br label %186
40: ; preds = %35
%41 = call i32 (i64, i32, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i32, ...)*)(i64 -9223372036854775808, i32 0)
%42 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %41, double 0x47E0000000000000)
%43 = icmp ne i32 %42, 0
br i1 %43, label %44, label %45
44: ; preds = %40
store i32 1, i32* %1
br label %186
45: ; preds = %40
%46 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795774132224, double 0x431FEDCBA0000000)
%47 = icmp ne i32 %46, 0
br i1 %47, label %48, label %49
48: ; preds = %45
store i32 1, i32* %1
br label %186
49: ; preds = %45
%50 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795807686656, double 0x431FEDCBA0000000)
%51 = icmp ne i32 %50, 0
br i1 %51, label %52, label %53
52: ; preds = %49
store i32 1, i32* %1
br label %186
53: ; preds = %49
%54 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795824463872, double 0x431FEDCBA0000000)
%55 = icmp ne i32 %54, 0
br i1 %55, label %56, label %57
56: ; preds = %53
store i32 1, i32* %1
br label %186
57: ; preds = %53
%58 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795841241088, double 0x431FEDCBC0000000)
%59 = icmp ne i32 %58, 0
br i1 %59, label %60, label %61
60: ; preds = %57
store i32 1, i32* %1
br label %186
61: ; preds = %57
%62 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795740577792, double 0x431FEDCBA0000000)
%63 = icmp ne i32 %62, 0
br i1 %63, label %64, label %65
64: ; preds = %61
store i32 1, i32* %1
br label %186
65: ; preds = %61
%66 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795757355008, double 0x431FEDCBA0000000)
%67 = icmp ne i32 %66, 0
br i1 %67, label %68, label %69
68: ; preds = %65
store i32 1, i32* %1
br label %186
69: ; preds = %65
%70 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795707023360, double 0x431FEDCB80000000)
%71 = icmp ne i32 %70, 0
br i1 %71, label %72, label %73
72: ; preds = %69
store i32 1, i32* %1
br label %186
73: ; preds = %69
%74 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 -2, double 0x43F0000000000000)
%75 = icmp ne i32 %74, 0
br i1 %75, label %76, label %77
76: ; preds = %73
store i32 1, i32* %1
br label %186
77: ; preds = %73
%78 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 -1, double 0x43F0000000000000)
%79 = icmp ne i32 %78, 0
br i1 %79, label %80, label %81
80: ; preds = %77
store i32 1, i32* %1
br label %186
81: ; preds = %77
%82 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795774132224, double 0x431FEDCBA0000000)
%83 = icmp ne i32 %82, 0
br i1 %83, label %84, label %85
84: ; preds = %81
store i32 1, i32* %1
br label %186
85: ; preds = %81
%86 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795807686656, double 0x431FEDCBA0000000)
%87 = icmp ne i32 %86, 0
br i1 %87, label %88, label %89
88: ; preds = %85
store i32 1, i32* %1
br label %186
89: ; preds = %85
%90 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795824463872, double 0x431FEDCBA0000000)
%91 = icmp ne i32 %90, 0
br i1 %91, label %92, label %93
92: ; preds = %89
store i32 1, i32* %1
br label %186
93: ; preds = %89
%94 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795841241087, double 0x431FEDCBA0000000)
%95 = icmp ne i32 %94, 0
br i1 %95, label %96, label %97
96: ; preds = %93
store i32 1, i32* %1
br label %186
97: ; preds = %93
%98 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795841241088, double 0x431FEDCBC0000000)
%99 = icmp ne i32 %98, 0
br i1 %99, label %100, label %101
100: ; preds = %97
store i32 1, i32* %1
br label %186
101: ; preds = %97
%102 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795774132225, double 0x431FEDCBA0000000)
%103 = icmp ne i32 %102, 0
br i1 %103, label %104, label %105
104: ; preds = %101
store i32 1, i32* %1
br label %186
105: ; preds = %101
%106 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795740577792, double 0x431FEDCBA0000000)
%107 = icmp ne i32 %106, 0
br i1 %107, label %108, label %109
108: ; preds = %105
store i32 1, i32* %1
br label %186
109: ; preds = %105
%110 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795757355008, double 0x431FEDCBA0000000)
%111 = icmp ne i32 %110, 0
br i1 %111, label %112, label %113
112: ; preds = %109
store i32 1, i32* %1
br label %186
113: ; preds = %109
%114 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795774132223, double 0x431FEDCBA0000000)
%115 = icmp ne i32 %114, 0
br i1 %115, label %116, label %117
116: ; preds = %113
store i32 1, i32* %1
br label %186
117: ; preds = %113
%118 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795707023361, double 0x431FEDCBA0000000)
%119 = icmp ne i32 %118, 0
br i1 %119, label %120, label %121
120: ; preds = %117
store i32 1, i32* %1
br label %186
121: ; preds = %117
%122 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795707023360, double 0x431FEDCB80000000)
%123 = icmp ne i32 %122, 0
br i1 %123, label %124, label %125
124: ; preds = %121
store i32 1, i32* %1
br label %186
125: ; preds = %121
%126 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3778520087363846143)
%127 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %126, double 0x44BFEDCBA0000000)
%128 = icmp ne i32 %127, 0
br i1 %128, label %129, label %130
129: ; preds = %125
store i32 1, i32* %1
br label %186
130: ; preds = %125
%131 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3774016487736475648)
%132 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %131, double 0x44BFEDCBA0000000)
%133 = icmp ne i32 %132, 0
br i1 %133, label %134, label %135
134: ; preds = %130
store i32 1, i32* %1
br label %186
135: ; preds = %130
%136 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3769512888109105153)
%137 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %136, double 0x44BFEDCBA0000000)
%138 = icmp ne i32 %137, 0
br i1 %138, label %139, label %140
139: ; preds = %135
store i32 1, i32* %1
br label %186
140: ; preds = %135
%141 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3769512888109105152)
%142 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %141, double 0x44BFEDCBC0000000)
%143 = icmp ne i32 %142, 0
br i1 %143, label %144, label %145
144: ; preds = %140
store i32 1, i32* %1
br label %186
145: ; preds = %140
%146 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3769512888109105151)
%147 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %146, double 0x44BFEDCBC0000000)
%148 = icmp ne i32 %147, 0
br i1 %148, label %149, label %150
149: ; preds = %145
store i32 1, i32* %1
br label %186
150: ; preds = %145
%151 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3765009288481734657)
%152 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %151, double 0x44BFEDCBC0000000)
%153 = icmp ne i32 %152, 0
br i1 %153, label %154, label %155
154: ; preds = %150
store i32 1, i32* %1
br label %186
155: ; preds = %150
%156 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3765009288481734656)
%157 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %156, double 0x44BFEDCBC0000000)
%158 = icmp ne i32 %157, 0
br i1 %158, label %159, label %160
159: ; preds = %155
store i32 1, i32* %1
br label %186
160: ; preds = %155
%161 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3765009288481734655)
%162 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %161, double 0x44BFEDCBC0000000)
%163 = icmp ne i32 %162, 0
br i1 %163, label %164, label %165
164: ; preds = %160
store i32 1, i32* %1
br label %186
165: ; preds = %160
%166 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3760505688854364160)
%167 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %166, double 0x44BFEDCBC0000000)
%168 = icmp ne i32 %167, 0
br i1 %168, label %169, label %170
169: ; preds = %165
store i32 1, i32* %1
br label %186
170: ; preds = %165
%171 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3760505688854364159)
%172 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %171, double 0x44BFEDCBE0000000)
%173 = icmp ne i32 %172, 0
br i1 %173, label %174, label %175
174: ; preds = %170
store i32 1, i32* %1
br label %186
175: ; preds = %170
%176 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3756002089226993665)
%177 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %176, double 0x44BFEDCBE0000000)
%178 = icmp ne i32 %177, 0
br i1 %178, label %179, label %180
179: ; preds = %175
store i32 1, i32* %1
br label %186
180: ; preds = %175
%181 = call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3756002089226993664)
%182 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %181, double 0x44BFEDCBE0000000)
%183 = icmp ne i32 %182, 0
br i1 %183, label %184, label %185
184: ; preds = %180
store i32 1, i32* %1
br label %186
185: ; preds = %180
store i32 0, i32* %1
br label %186
186: ; preds = %185, %184, %179, %174, %169, %164, %159, %154, %149, %144, %139, %134, %129, %124, %120, %116, %112, %108, %104, %100, %96, %92, %88, %84, %80, %76, %72, %68, %64, %60, %56, %52, %48, %44, %39, %34, %29, %24, %20, %16, %12, %8, %4
%187 = load i32, i32* %1
ret i32 %187
}

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 0, double 0.000000e+00)
%2 = icmp eq i32 %1, 0
br i1 %2, label %3, label %143
3: ; preds = %0
%4 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 1, double 1.000000e+00)
%5 = icmp eq i32 %4, 0
br i1 %5, label %6, label %143
6: ; preds = %3
%7 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 2, double 2.000000e+00)
%8 = icmp eq i32 %7, 0
br i1 %8, label %9, label %143
9: ; preds = %6
%10 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 20, double 2.000000e+01)
%11 = icmp eq i32 %10, 0
br i1 %11, label %12, label %143
12: ; preds = %9
%13 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 9223371487098961920, double 0x43DFFFFFE0000000)
%14 = icmp eq i32 %13, 0
br i1 %14, label %15, label %143
15: ; preds = %12
%16 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 9223370937343148032, double 0x43DFFFFFC0000000)
%17 = icmp eq i32 %16, 0
br i1 %17, label %18, label %143
18: ; preds = %15
%19 = tail call i32 (i64, i32, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i32, ...)*)(i64 -9223371487098961920, i32 0)
%20 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %19, double 0x47E0000000000000)
%21 = icmp eq i32 %20, 0
br i1 %21, label %22, label %143
22: ; preds = %18
%23 = tail call i32 (i64, i32, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i32, ...)*)(i64 -9223372036854773760, i32 0)
%24 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %23, double 0x47E0000000000000)
%25 = icmp eq i32 %24, 0
br i1 %25, label %26, label %143
26: ; preds = %22
%27 = tail call i32 (i64, i32, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i32, ...)*)(i64 -9223370937343148032, i32 0)
%28 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %27, double 0x47E0000020000000)
%29 = icmp eq i32 %28, 0
br i1 %29, label %30, label %143
30: ; preds = %26
%31 = tail call i32 (i64, i32, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i32, ...)*)(i64 -9223372036854775808, i32 0)
%32 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %31, double 0x47E0000000000000)
%33 = icmp eq i32 %32, 0
br i1 %33, label %34, label %143
34: ; preds = %30
%35 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795774132224, double 0x431FEDCBA0000000)
%36 = icmp eq i32 %35, 0
br i1 %36, label %37, label %143
37: ; preds = %34
%38 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795807686656, double 0x431FEDCBA0000000)
%39 = icmp eq i32 %38, 0
br i1 %39, label %40, label %143
40: ; preds = %37
%41 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795824463872, double 0x431FEDCBA0000000)
%42 = icmp eq i32 %41, 0
br i1 %42, label %43, label %143
43: ; preds = %40
%44 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795841241088, double 0x431FEDCBC0000000)
%45 = icmp eq i32 %44, 0
br i1 %45, label %46, label %143
46: ; preds = %43
%47 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795740577792, double 0x431FEDCBA0000000)
%48 = icmp eq i32 %47, 0
br i1 %48, label %49, label %143
49: ; preds = %46
%50 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795757355008, double 0x431FEDCBA0000000)
%51 = icmp eq i32 %50, 0
br i1 %51, label %52, label %143
52: ; preds = %49
%53 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795707023360, double 0x431FEDCB80000000)
%54 = icmp eq i32 %53, 0
br i1 %54, label %55, label %143
55: ; preds = %52
%56 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 -2, double 0x43F0000000000000)
%57 = icmp eq i32 %56, 0
br i1 %57, label %58, label %143
58: ; preds = %55
%59 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 -1, double 0x43F0000000000000)
%60 = icmp eq i32 %59, 0
br i1 %60, label %61, label %143
61: ; preds = %58
%62 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795774132224, double 0x431FEDCBA0000000)
%63 = icmp eq i32 %62, 0
br i1 %63, label %64, label %143
64: ; preds = %61
%65 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795807686656, double 0x431FEDCBA0000000)
%66 = icmp eq i32 %65, 0
br i1 %66, label %67, label %143
67: ; preds = %64
%68 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795824463872, double 0x431FEDCBA0000000)
%69 = icmp eq i32 %68, 0
br i1 %69, label %70, label %143
70: ; preds = %67
%71 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795841241087, double 0x431FEDCBA0000000)
%72 = icmp eq i32 %71, 0
br i1 %72, label %73, label %143
73: ; preds = %70
%74 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795841241088, double 0x431FEDCBC0000000)
%75 = icmp eq i32 %74, 0
br i1 %75, label %76, label %143
76: ; preds = %73
%77 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795774132225, double 0x431FEDCBA0000000)
%78 = icmp eq i32 %77, 0
br i1 %78, label %79, label %143
79: ; preds = %76
%80 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795740577792, double 0x431FEDCBA0000000)
%81 = icmp eq i32 %80, 0
br i1 %81, label %82, label %143
82: ; preds = %79
%83 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795757355008, double 0x431FEDCBA0000000)
%84 = icmp eq i32 %83, 0
br i1 %84, label %85, label %143
85: ; preds = %82
%86 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795774132223, double 0x431FEDCBA0000000)
%87 = icmp eq i32 %86, 0
br i1 %87, label %88, label %143
88: ; preds = %85
%89 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795707023361, double 0x431FEDCBA0000000)
%90 = icmp eq i32 %89, 0
br i1 %90, label %91, label %143
91: ; preds = %88
%92 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i64, double, ...)*)(i64 2246795707023360, double 0x431FEDCB80000000)
%93 = icmp eq i32 %92, 0
br i1 %93, label %94, label %143
94: ; preds = %91
%95 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3778520087363846143)
%96 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %95, double 0x44BFEDCBA0000000)
%97 = icmp eq i32 %96, 0
br i1 %97, label %98, label %143
98: ; preds = %94
%99 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3774016487736475648)
%100 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %99, double 0x44BFEDCBA0000000)
%101 = icmp eq i32 %100, 0
br i1 %101, label %102, label %143
102: ; preds = %98
%103 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3769512888109105153)
%104 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %103, double 0x44BFEDCBA0000000)
%105 = icmp eq i32 %104, 0
br i1 %105, label %106, label %143
106: ; preds = %102
%107 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3769512888109105152)
%108 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %107, double 0x44BFEDCBC0000000)
%109 = icmp eq i32 %108, 0
br i1 %109, label %110, label %143
110: ; preds = %106
%111 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3769512888109105151)
%112 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %111, double 0x44BFEDCBC0000000)
%113 = icmp eq i32 %112, 0
br i1 %113, label %114, label %143
114: ; preds = %110
%115 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3765009288481734657)
%116 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %115, double 0x44BFEDCBC0000000)
%117 = icmp eq i32 %116, 0
br i1 %117, label %118, label %143
118: ; preds = %114
%119 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3765009288481734656)
%120 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %119, double 0x44BFEDCBC0000000)
%121 = icmp eq i32 %120, 0
br i1 %121, label %122, label %143
122: ; preds = %118
%123 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3765009288481734655)
%124 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %123, double 0x44BFEDCBC0000000)
%125 = icmp eq i32 %124, 0
br i1 %125, label %126, label %143
126: ; preds = %122
%127 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3760505688854364160)
%128 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %127, double 0x44BFEDCBC0000000)
%129 = icmp eq i32 %128, 0
br i1 %129, label %130, label %143
130: ; preds = %126
%131 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3760505688854364159)
%132 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %131, double 0x44BFEDCBE0000000)
%133 = icmp eq i32 %132, 0
br i1 %133, label %134, label %143
134: ; preds = %130
%135 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3756002089226993665)
%136 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %135, double 0x44BFEDCBE0000000)
%137 = icmp eq i32 %136, 0
br i1 %137, label %138, label %143
138: ; preds = %134
%139 = tail call i32 (i64, i64, ...) bitcast (i32 (...)* @make_ti to i32 (i64, i64, ...)*)(i64 8173, i64 -3756002089226993664)
%140 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatuntisf to i32 (i32, double, ...)*)(i32 %139, double 0x44BFEDCBE0000000)
%141 = icmp ne i32 %140, 0
%142 = zext i1 %141 to i32
br label %143
143: ; preds = %138, %134, %130, %126, %122, %118, %114, %110, %106, %102, %98, %94, %91, %88, %85, %82, %79, %76, %73, %70, %67, %64, %61, %58, %55, %52, %49, %46, %43, %40, %37, %34, %30, %26, %22, %18, %15, %12, %9, %6, %3, %0
%144 = phi i32 [ 1, %0 ], [ 1, %3 ], [ 1, %6 ], [ 1, %9 ], [ 1, %12 ], [ 1, %15 ], [ 1, %18 ], [ 1, %22 ], [ 1, %26 ], [ 1, %30 ], [ 1, %34 ], [ 1, %37 ], [ 1, %40 ], [ 1, %43 ], [ 1, %46 ], [ 1, %49 ], [ 1, %52 ], [ 1, %55 ], [ 1, %58 ], [ 1, %61 ], [ 1, %64 ], [ 1, %67 ], [ 1, %70 ], [ 1, %73 ], [ 1, %76 ], [ 1, %79 ], [ 1, %82 ], [ 1, %85 ], [ 1, %88 ], [ 1, %91 ], [ 1, %94 ], [ 1, %98 ], [ 1, %102 ], [ 1, %106 ], [ 1, %110 ], [ 1, %114 ], [ 1, %118 ], [ 1, %122 ], [ 1, %126 ], [ 1, %130 ], [ 1, %134 ], [ %142, %138 ]
ret i32 %144
}