int main() {
  if (test__floatdidf(0, 0.0))
    return 1;
  if (test__floatdidf(1, 1.0))
    return 1;
  if (test__floatdidf(2, 2.0))
    return 1;
  if (test__floatdidf(20, 20.0))
    return 1;
  if (test__floatdidf(-1, -1.0))
    return 1;
  if (test__floatdidf(-2, -2.0))
    return 1;
  if (test__floatdidf(-20, -20.0))
    return 1;
  if (test__floatdidf(0x7FFFFF8000000000LL, 0x1.FFFFFEp+62))
    return 1;
  if (test__floatdidf(0x7FFFFFFFFFFFF800LL, 0x1.FFFFFFFFFFFFEp+62))
    return 1;
  if (test__floatdidf(0x7FFFFF0000000000LL, 0x1.FFFFFCp+62))
    return 1;
  if (test__floatdidf(0x7FFFFFFFFFFFF000LL, 0x1.FFFFFFFFFFFFCp+62))
    return 1;
  if (test__floatdidf(0x8000008000000000LL, -0x1.FFFFFEp+62))
    return 1;
  if (test__floatdidf(0x8000000000000800LL, -0x1.FFFFFFFFFFFFEp+62))
    return 1;
  if (test__floatdidf(0x8000010000000000LL, -0x1.FFFFFCp+62))
    return 1;
  if (test__floatdidf(0x8000000000001000LL, -0x1.FFFFFFFFFFFFCp+62))
    return 1;
  if (test__floatdidf(0x8000000000000000LL, -0x1.000000p+63))
    return 1;
  if (test__floatdidf(0x8000000000000001LL, -0x1.000000p+63))
    return 1;
  if (test__floatdidf(0x0007FB72E8000000LL, 0x1.FEDCBAp+50))
    return 1;
  if (test__floatdidf(0x0007FB72EA000000LL, 0x1.FEDCBA8p+50))
    return 1;
  if (test__floatdidf(0x0007FB72EB000000LL, 0x1.FEDCBACp+50))
    return 1;
  if (test__floatdidf(0x0007FB72EBFFFFFFLL, 0x1.FEDCBAFFFFFFCp+50))
    return 1;
  if (test__floatdidf(0x0007FB72EC000000LL, 0x1.FEDCBBp+50))
    return 1;
  if (test__floatdidf(0x0007FB72E8000001LL, 0x1.FEDCBA0000004p+50))
    return 1;
  if (test__floatdidf(0x0007FB72E6000000LL, 0x1.FEDCB98p+50))
    return 1;
  if (test__floatdidf(0x0007FB72E7000000LL, 0x1.FEDCB9Cp+50))
    return 1;
  if (test__floatdidf(0x0007FB72E7FFFFFFLL, 0x1.FEDCB9FFFFFFCp+50))
    return 1;
  if (test__floatdidf(0x0007FB72E4000001LL, 0x1.FEDCB90000004p+50))
    return 1;
  if (test__floatdidf(0x0007FB72E4000000LL, 0x1.FEDCB9p+50))
    return 1;
  if (test__floatdidf(0x023479FD0E092DC0LL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DA1LL, 0x1.1A3CFE870496Dp+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DB0LL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DB8LL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DB6LL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DBFLL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DC1LL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DC7LL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DC8LL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DCFLL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DD0LL, 0x1.1A3CFE870496Ep+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DD1LL, 0x1.1A3CFE870496Fp+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DD8LL, 0x1.1A3CFE870496Fp+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DDFLL, 0x1.1A3CFE870496Fp+57))
    return 1;
  if (test__floatdidf(0x023479FD0E092DE0LL, 0x1.1A3CFE870496Fp+57))
    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__floatdidf@plt>
cmp    $0x0,%eax
je     1140 <main+0x30>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
mov    $0x1,%edi
movsd  0xeb3(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1169 <main+0x59>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
mov    $0x2,%edi
movsd  0xe92(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1192 <main+0x82>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
mov    $0x14,%edi
movsd  0xe71(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     11bb <main+0xab>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
mov    $0xffffffff,%edi
movsd  0xe50(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     11e4 <main+0xd4>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
mov    $0xfffffffe,%edi
movsd  0xe2f(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     120d <main+0xfd>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
mov    $0xffffffec,%edi
movsd  0xe0e(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1236 <main+0x126>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fffff8000000000,%rdi
ff ff 7f
movsd  0xde8(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1264 <main+0x154>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7ffffffffffff800,%rdi
ff ff 7f
movsd  0xdc2(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1292 <main+0x182>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fffff0000000000,%rdi
ff ff 7f
movsd  0xd9c(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     12c0 <main+0x1b0>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7ffffffffffff000,%rdi
ff ff 7f
movsd  0xd76(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     12ee <main+0x1de>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x8000008000000000,%rdi
movsd  0xd50(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     131c <main+0x20c>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x8000000000000800,%rdi
movsd  0xd2a(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     134a <main+0x23a>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x8000010000000000,%rdi
movsd  0xd04(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1378 <main+0x268>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x8000000000001000,%rdi
movsd  0xcde(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     13a6 <main+0x296>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x8000000000000000,%rdi
movsd  0xcb8(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     13d4 <main+0x2c4>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x8000000000000001,%rdi
movsd  0xc8a(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1402 <main+0x2f2>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72e8000000,%rdi
movsd  0xc64(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1430 <main+0x320>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72ea000000,%rdi
movsd  0xc3e(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     145e <main+0x34e>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72eb000000,%rdi
movsd  0xc18(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     148c <main+0x37c>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72ebffffff,%rdi
movsd  0xbf2(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     14ba <main+0x3aa>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72ec000000,%rdi
movsd  0xbcc(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     14e8 <main+0x3d8>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72e8000001,%rdi
movsd  0xba6(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1516 <main+0x406>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72e6000000,%rdi
movsd  0xb80(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1544 <main+0x434>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72e7000000,%rdi
movsd  0xb5a(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1572 <main+0x462>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72e7ffffff,%rdi
movsd  0xb34(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     15a0 <main+0x490>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72e4000001,%rdi
movsd  0xb0e(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     15ce <main+0x4be>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x7fb72e4000000,%rdi
movsd  0xae8(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     15fc <main+0x4ec>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092dc0,%rdi
79 34 02
movsd  0xac2(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     162a <main+0x51a>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092da1,%rdi
79 34 02
movsd  0xa9c(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1658 <main+0x548>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092db0,%rdi
79 34 02
movsd  0xa66(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1686 <main+0x576>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092db8,%rdi
79 34 02
movsd  0xa38(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     16b4 <main+0x5a4>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092db6,%rdi
79 34 02
movsd  0xa0a(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     16e2 <main+0x5d2>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092dbf,%rdi
79 34 02
movsd  0x9dc(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1710 <main+0x600>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092dc1,%rdi
79 34 02
movsd  0x9ae(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     173e <main+0x62e>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092dc7,%rdi
79 34 02
movsd  0x980(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     176c <main+0x65c>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092dc8,%rdi
79 34 02
movsd  0x952(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     179a <main+0x68a>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092dcf,%rdi
79 34 02
movsd  0x924(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     17c8 <main+0x6b8>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092dd0,%rdi
79 34 02
movsd  0x8f6(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     17f6 <main+0x6e6>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092dd1,%rdi
79 34 02
movsd  0x8d8(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1824 <main+0x714>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092dd8,%rdi
79 34 02
movsd  0x8aa(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1852 <main+0x742>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092ddf,%rdi
79 34 02
movsd  0x87c(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     1880 <main+0x770>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movabs $0x23479fd0e092de0,%rdi
79 34 02
movsd  0x84e(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
cmp    $0x0,%eax
je     18ae <main+0x79e>
movl   $0x1,-0x4(%rbp)
jmp    18b5 <main+0x7a5>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
push   %rax
xorps  %xmm0,%xmm0
xor    %edi,%edi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
mov    $0x1,%ebx
test   %eax,%eax
jne    15f4 <main+0x4e4>
mov    $0x1,%ebx
movsd  0xec6(%rip),%xmm0
mov    $0x1,%edi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movsd  0xeb2(%rip),%xmm0
mov    $0x2,%edi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movsd  0xe9e(%rip),%xmm0
mov    $0x14,%edi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movsd  0xe8a(%rip),%xmm0
mov    $0xffffffff,%edi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movsd  0xe76(%rip),%xmm0
mov    $0xfffffffe,%edi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movsd  0xe62(%rip),%xmm0
mov    $0xffffffec,%edi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movabs $0x7fffff8000000000,%rdi
ff ff 7f
movsd  0xe44(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movabs $0x7ffffffffffff000,%r14
ff ff 7f
lea    0x800(%r14),%rdi
movsd  0xe24(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movabs $0x7fffff0000000000,%rdi
ff ff 7f
movsd  0xe0b(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movsd  0xdfc(%rip),%xmm0
mov    %r14,%rdi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movabs $0x8000008000000000,%rdi
movsd  0xde0(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x1800(%r14),%rdi
movsd  0xdca(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movabs $0x8000010000000000,%rdi
movsd  0xdb1(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x2000(%r14),%rdi
movsd  0xd9b(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x1000(%r14),%rdi
movsd  0xd85(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
add    $0x1001,%r14
movsd  0xd67(%rip),%xmm0
mov    %r14,%rdi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movabs $0x7fb72e4000000,%r14
lea    0x4000000(%r14),%rdi
movsd  0xd44(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x6000000(%r14),%rdi
movsd  0xd2e(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x7000000(%r14),%rdi
movsd  0xd18(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x7ffffff(%r14),%rdi
movsd  0xd02(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x8000000(%r14),%rdi
movsd  0xcec(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x4000001(%r14),%rdi
movsd  0xcd6(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x2000000(%r14),%rdi
movsd  0xcc0(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x3000000(%r14),%rdi
movsd  0xcaa(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x3ffffff(%r14),%rdi
movsd  0xc94(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x1(%r14),%rdi
movsd  0xc81(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movsd  0xc72(%rip),%xmm0
mov    %r14,%rdi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movabs $0x23479fd0e092da1,%r14
79 34 02
lea    0x1f(%r14),%rdi
movsd  0xc52(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
movsd  0xc43(%rip),%xmm0
mov    %r14,%rdi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0xf(%r14),%rdi
movsd  0xc1d(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x17(%r14),%rdi
movsd  0xc02(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x15(%r14),%rdi
movsd  0xbe7(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x1e(%r14),%rdi
movsd  0xbcc(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x20(%r14),%rdi
movsd  0xbb1(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x26(%r14),%rdi
movsd  0xb96(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x27(%r14),%rdi
movsd  0xb7b(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x2e(%r14),%rdi
movsd  0xb60(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x2f(%r14),%rdi
movsd  0xb49(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x30(%r14),%rdi
movsd  0xb42(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x37(%r14),%rdi
movsd  0xb2b(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
lea    0x3e(%r14),%rdi
movsd  0xb14(%rip),%xmm0
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
test   %eax,%eax
jne    15f4 <main+0x4e4>
add    $0x3f,%r14
movsd  0xafd(%rip),%xmm0
mov    %r14,%rdi
mov    $0x1,%al
call   1030 <test__floatdidf@plt>
xor    %ebx,%ebx
test   %eax,%eax
setne  %bl
mov    %ebx,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
store i32 0, i32* %1
%2 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf 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 %174
5: ; preds = %0
%6 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf 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 %174
9: ; preds = %5
%10 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf 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 %174
13: ; preds = %9
%14 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf 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 %174
17: ; preds = %13
%18 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 -1, double -1.000000e+00)
%19 = icmp ne i32 %18, 0
br i1 %19, label %20, label %21
20: ; preds = %17
store i32 1, i32* %1
br label %174
21: ; preds = %17
%22 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 -2, double -2.000000e+00)
%23 = icmp ne i32 %22, 0
br i1 %23, label %24, label %25
24: ; preds = %21
store i32 1, i32* %1
br label %174
25: ; preds = %21
%26 = call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 -20, double -2.000000e+01)
%27 = icmp ne i32 %26, 0
br i1 %27, label %28, label %29
28: ; preds = %25
store i32 1, i32* %1
br label %174
29: ; preds = %25
%30 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 9223371487098961920, double 0x43DFFFFFE0000000)
%31 = icmp ne i32 %30, 0
br i1 %31, label %32, label %33
32: ; preds = %29
store i32 1, i32* %1
br label %174
33: ; preds = %29
%34 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 9223372036854773760, double 0x43DFFFFFFFFFFFFE)
%35 = icmp ne i32 %34, 0
br i1 %35, label %36, label %37
36: ; preds = %33
store i32 1, i32* %1
br label %174
37: ; preds = %33
%38 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 9223370937343148032, double 0x43DFFFFFC0000000)
%39 = icmp ne i32 %38, 0
br i1 %39, label %40, label %41
40: ; preds = %37
store i32 1, i32* %1
br label %174
41: ; preds = %37
%42 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 9223372036854771712, double 0x43DFFFFFFFFFFFFC)
%43 = icmp ne i32 %42, 0
br i1 %43, label %44, label %45
44: ; preds = %41
store i32 1, i32* %1
br label %174
45: ; preds = %41
%46 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223371487098961920, double 0xC3DFFFFFE0000000)
%47 = icmp ne i32 %46, 0
br i1 %47, label %48, label %49
48: ; preds = %45
store i32 1, i32* %1
br label %174
49: ; preds = %45
%50 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223372036854773760, double 0xC3DFFFFFFFFFFFFE)
%51 = icmp ne i32 %50, 0
br i1 %51, label %52, label %53
52: ; preds = %49
store i32 1, i32* %1
br label %174
53: ; preds = %49
%54 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223370937343148032, double 0xC3DFFFFFC0000000)
%55 = icmp ne i32 %54, 0
br i1 %55, label %56, label %57
56: ; preds = %53
store i32 1, i32* %1
br label %174
57: ; preds = %53
%58 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223372036854771712, double 0xC3DFFFFFFFFFFFFC)
%59 = icmp ne i32 %58, 0
br i1 %59, label %60, label %61
60: ; preds = %57
store i32 1, i32* %1
br label %174
61: ; preds = %57
%62 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223372036854775808, double 0xC3E0000000000000)
%63 = icmp ne i32 %62, 0
br i1 %63, label %64, label %65
64: ; preds = %61
store i32 1, i32* %1
br label %174
65: ; preds = %61
%66 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223372036854775807, double 0xC3E0000000000000)
%67 = icmp ne i32 %66, 0
br i1 %67, label %68, label %69
68: ; preds = %65
store i32 1, i32* %1
br label %174
69: ; preds = %65
%70 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795774132224, double 0x431FEDCBA0000000)
%71 = icmp ne i32 %70, 0
br i1 %71, label %72, label %73
72: ; preds = %69
store i32 1, i32* %1
br label %174
73: ; preds = %69
%74 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795807686656, double 0x431FEDCBA8000000)
%75 = icmp ne i32 %74, 0
br i1 %75, label %76, label %77
76: ; preds = %73
store i32 1, i32* %1
br label %174
77: ; preds = %73
%78 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795824463872, double 0x431FEDCBAC000000)
%79 = icmp ne i32 %78, 0
br i1 %79, label %80, label %81
80: ; preds = %77
store i32 1, i32* %1
br label %174
81: ; preds = %77
%82 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795841241087, double 0x431FEDCBAFFFFFFC)
%83 = icmp ne i32 %82, 0
br i1 %83, label %84, label %85
84: ; preds = %81
store i32 1, i32* %1
br label %174
85: ; preds = %81
%86 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795841241088, double 0x431FEDCBB0000000)
%87 = icmp ne i32 %86, 0
br i1 %87, label %88, label %89
88: ; preds = %85
store i32 1, i32* %1
br label %174
89: ; preds = %85
%90 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795774132225, double 0x431FEDCBA0000004)
%91 = icmp ne i32 %90, 0
br i1 %91, label %92, label %93
92: ; preds = %89
store i32 1, i32* %1
br label %174
93: ; preds = %89
%94 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795740577792, double 0x431FEDCB98000000)
%95 = icmp ne i32 %94, 0
br i1 %95, label %96, label %97
96: ; preds = %93
store i32 1, i32* %1
br label %174
97: ; preds = %93
%98 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795757355008, double 0x431FEDCB9C000000)
%99 = icmp ne i32 %98, 0
br i1 %99, label %100, label %101
100: ; preds = %97
store i32 1, i32* %1
br label %174
101: ; preds = %97
%102 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795774132223, double 0x431FEDCB9FFFFFFC)
%103 = icmp ne i32 %102, 0
br i1 %103, label %104, label %105
104: ; preds = %101
store i32 1, i32* %1
br label %174
105: ; preds = %101
%106 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795707023361, double 0x431FEDCB90000004)
%107 = icmp ne i32 %106, 0
br i1 %107, label %108, label %109
108: ; preds = %105
store i32 1, i32* %1
br label %174
109: ; preds = %105
%110 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795707023360, double 0x431FEDCB90000000)
%111 = icmp ne i32 %110, 0
br i1 %111, label %112, label %113
112: ; preds = %109
store i32 1, i32* %1
br label %174
113: ; preds = %109
%114 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979328, double 0x4381A3CFE870496E)
%115 = icmp ne i32 %114, 0
br i1 %115, label %116, label %117
116: ; preds = %113
store i32 1, i32* %1
br label %174
117: ; preds = %113
%118 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979297, double 0x4381A3CFE870496D)
%119 = icmp ne i32 %118, 0
br i1 %119, label %120, label %121
120: ; preds = %117
store i32 1, i32* %1
br label %174
121: ; preds = %117
%122 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979312, double 0x4381A3CFE870496E)
%123 = icmp ne i32 %122, 0
br i1 %123, label %124, label %125
124: ; preds = %121
store i32 1, i32* %1
br label %174
125: ; preds = %121
%126 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979320, double 0x4381A3CFE870496E)
%127 = icmp ne i32 %126, 0
br i1 %127, label %128, label %129
128: ; preds = %125
store i32 1, i32* %1
br label %174
129: ; preds = %125
%130 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979318, double 0x4381A3CFE870496E)
%131 = icmp ne i32 %130, 0
br i1 %131, label %132, label %133
132: ; preds = %129
store i32 1, i32* %1
br label %174
133: ; preds = %129
%134 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979327, double 0x4381A3CFE870496E)
%135 = icmp ne i32 %134, 0
br i1 %135, label %136, label %137
136: ; preds = %133
store i32 1, i32* %1
br label %174
137: ; preds = %133
%138 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979329, double 0x4381A3CFE870496E)
%139 = icmp ne i32 %138, 0
br i1 %139, label %140, label %141
140: ; preds = %137
store i32 1, i32* %1
br label %174
141: ; preds = %137
%142 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979335, double 0x4381A3CFE870496E)
%143 = icmp ne i32 %142, 0
br i1 %143, label %144, label %145
144: ; preds = %141
store i32 1, i32* %1
br label %174
145: ; preds = %141
%146 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979336, double 0x4381A3CFE870496E)
%147 = icmp ne i32 %146, 0
br i1 %147, label %148, label %149
148: ; preds = %145
store i32 1, i32* %1
br label %174
149: ; preds = %145
%150 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979343, double 0x4381A3CFE870496E)
%151 = icmp ne i32 %150, 0
br i1 %151, label %152, label %153
152: ; preds = %149
store i32 1, i32* %1
br label %174
153: ; preds = %149
%154 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979344, double 0x4381A3CFE870496E)
%155 = icmp ne i32 %154, 0
br i1 %155, label %156, label %157
156: ; preds = %153
store i32 1, i32* %1
br label %174
157: ; preds = %153
%158 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979345, double 0x4381A3CFE870496F)
%159 = icmp ne i32 %158, 0
br i1 %159, label %160, label %161
160: ; preds = %157
store i32 1, i32* %1
br label %174
161: ; preds = %157
%162 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979352, double 0x4381A3CFE870496F)
%163 = icmp ne i32 %162, 0
br i1 %163, label %164, label %165
164: ; preds = %161
store i32 1, i32* %1
br label %174
165: ; preds = %161
%166 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979359, double 0x4381A3CFE870496F)
%167 = icmp ne i32 %166, 0
br i1 %167, label %168, label %169
168: ; preds = %165
store i32 1, i32* %1
br label %174
169: ; preds = %165
%170 = call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979360, double 0x4381A3CFE870496F)
%171 = icmp ne i32 %170, 0
br i1 %171, label %172, label %173
172: ; preds = %169
store i32 1, i32* %1
br label %174
173: ; preds = %169
store i32 0, i32* %1
br label %174
174: ; preds = %173, %172, %168, %164, %160, %156, %152, %148, %144, %140, %136, %132, %128, %124, %120, %116, %112, %108, %104, %100, %96, %92, %88, %84, %80, %76, %72, %68, %64, %60, %56, %52, %48, %44, %40, %36, %32, %28, %24, %20, %16, %12, %8, %4
%175 = load i32, i32* %1
ret i32 %175
}

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 0, double 0.000000e+00)
%2 = icmp eq i32 %1, 0
br i1 %2, label %3, label %130
3: ; preds = %0
%4 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 1, double 1.000000e+00)
%5 = icmp eq i32 %4, 0
br i1 %5, label %6, label %130
6: ; preds = %3
%7 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 2, double 2.000000e+00)
%8 = icmp eq i32 %7, 0
br i1 %8, label %9, label %130
9: ; preds = %6
%10 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 20, double 2.000000e+01)
%11 = icmp eq i32 %10, 0
br i1 %11, label %12, label %130
12: ; preds = %9
%13 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 -1, double -1.000000e+00)
%14 = icmp eq i32 %13, 0
br i1 %14, label %15, label %130
15: ; preds = %12
%16 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 -2, double -2.000000e+00)
%17 = icmp eq i32 %16, 0
br i1 %17, label %18, label %130
18: ; preds = %15
%19 = tail call i32 (i32, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i32, double, ...)*)(i32 -20, double -2.000000e+01)
%20 = icmp eq i32 %19, 0
br i1 %20, label %21, label %130
21: ; preds = %18
%22 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 9223371487098961920, double 0x43DFFFFFE0000000)
%23 = icmp eq i32 %22, 0
br i1 %23, label %24, label %130
24: ; preds = %21
%25 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 9223372036854773760, double 0x43DFFFFFFFFFFFFE)
%26 = icmp eq i32 %25, 0
br i1 %26, label %27, label %130
27: ; preds = %24
%28 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 9223370937343148032, double 0x43DFFFFFC0000000)
%29 = icmp eq i32 %28, 0
br i1 %29, label %30, label %130
30: ; preds = %27
%31 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 9223372036854771712, double 0x43DFFFFFFFFFFFFC)
%32 = icmp eq i32 %31, 0
br i1 %32, label %33, label %130
33: ; preds = %30
%34 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223371487098961920, double 0xC3DFFFFFE0000000)
%35 = icmp eq i32 %34, 0
br i1 %35, label %36, label %130
36: ; preds = %33
%37 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223372036854773760, double 0xC3DFFFFFFFFFFFFE)
%38 = icmp eq i32 %37, 0
br i1 %38, label %39, label %130
39: ; preds = %36
%40 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223370937343148032, double 0xC3DFFFFFC0000000)
%41 = icmp eq i32 %40, 0
br i1 %41, label %42, label %130
42: ; preds = %39
%43 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223372036854771712, double 0xC3DFFFFFFFFFFFFC)
%44 = icmp eq i32 %43, 0
br i1 %44, label %45, label %130
45: ; preds = %42
%46 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223372036854775808, double 0xC3E0000000000000)
%47 = icmp eq i32 %46, 0
br i1 %47, label %48, label %130
48: ; preds = %45
%49 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 -9223372036854775807, double 0xC3E0000000000000)
%50 = icmp eq i32 %49, 0
br i1 %50, label %51, label %130
51: ; preds = %48
%52 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795774132224, double 0x431FEDCBA0000000)
%53 = icmp eq i32 %52, 0
br i1 %53, label %54, label %130
54: ; preds = %51
%55 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795807686656, double 0x431FEDCBA8000000)
%56 = icmp eq i32 %55, 0
br i1 %56, label %57, label %130
57: ; preds = %54
%58 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795824463872, double 0x431FEDCBAC000000)
%59 = icmp eq i32 %58, 0
br i1 %59, label %60, label %130
60: ; preds = %57
%61 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795841241087, double 0x431FEDCBAFFFFFFC)
%62 = icmp eq i32 %61, 0
br i1 %62, label %63, label %130
63: ; preds = %60
%64 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795841241088, double 0x431FEDCBB0000000)
%65 = icmp eq i32 %64, 0
br i1 %65, label %66, label %130
66: ; preds = %63
%67 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795774132225, double 0x431FEDCBA0000004)
%68 = icmp eq i32 %67, 0
br i1 %68, label %69, label %130
69: ; preds = %66
%70 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795740577792, double 0x431FEDCB98000000)
%71 = icmp eq i32 %70, 0
br i1 %71, label %72, label %130
72: ; preds = %69
%73 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795757355008, double 0x431FEDCB9C000000)
%74 = icmp eq i32 %73, 0
br i1 %74, label %75, label %130
75: ; preds = %72
%76 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795774132223, double 0x431FEDCB9FFFFFFC)
%77 = icmp eq i32 %76, 0
br i1 %77, label %78, label %130
78: ; preds = %75
%79 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795707023361, double 0x431FEDCB90000004)
%80 = icmp eq i32 %79, 0
br i1 %80, label %81, label %130
81: ; preds = %78
%82 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 2246795707023360, double 0x431FEDCB90000000)
%83 = icmp eq i32 %82, 0
br i1 %83, label %84, label %130
84: ; preds = %81
%85 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979328, double 0x4381A3CFE870496E)
%86 = icmp eq i32 %85, 0
br i1 %86, label %87, label %130
87: ; preds = %84
%88 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979297, double 0x4381A3CFE870496D)
%89 = icmp eq i32 %88, 0
br i1 %89, label %90, label %130
90: ; preds = %87
%91 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979312, double 0x4381A3CFE870496E)
%92 = icmp eq i32 %91, 0
br i1 %92, label %93, label %130
93: ; preds = %90
%94 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979320, double 0x4381A3CFE870496E)
%95 = icmp eq i32 %94, 0
br i1 %95, label %96, label %130
96: ; preds = %93
%97 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979318, double 0x4381A3CFE870496E)
%98 = icmp eq i32 %97, 0
br i1 %98, label %99, label %130
99: ; preds = %96
%100 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979327, double 0x4381A3CFE870496E)
%101 = icmp eq i32 %100, 0
br i1 %101, label %102, label %130
102: ; preds = %99
%103 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979329, double 0x4381A3CFE870496E)
%104 = icmp eq i32 %103, 0
br i1 %104, label %105, label %130
105: ; preds = %102
%106 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979335, double 0x4381A3CFE870496E)
%107 = icmp eq i32 %106, 0
br i1 %107, label %108, label %130
108: ; preds = %105
%109 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979336, double 0x4381A3CFE870496E)
%110 = icmp eq i32 %109, 0
br i1 %110, label %111, label %130
111: ; preds = %108
%112 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979343, double 0x4381A3CFE870496E)
%113 = icmp eq i32 %112, 0
br i1 %113, label %114, label %130
114: ; preds = %111
%115 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979344, double 0x4381A3CFE870496E)
%116 = icmp eq i32 %115, 0
br i1 %116, label %117, label %130
117: ; preds = %114
%118 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979345, double 0x4381A3CFE870496F)
%119 = icmp eq i32 %118, 0
br i1 %119, label %120, label %130
120: ; preds = %117
%121 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979352, double 0x4381A3CFE870496F)
%122 = icmp eq i32 %121, 0
br i1 %122, label %123, label %130
123: ; preds = %120
%124 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979359, double 0x4381A3CFE870496F)
%125 = icmp eq i32 %124, 0
br i1 %125, label %126, label %130
126: ; preds = %123
%127 = tail call i32 (i64, double, ...) bitcast (i32 (...)* @test__floatdidf to i32 (i64, double, ...)*)(i64 158886014633979360, double 0x4381A3CFE870496F)
%128 = icmp ne i32 %127, 0
%129 = zext i1 %128 to i32
br label %130
130: ; preds = %126, %123, %120, %117, %114, %111, %108, %105, %102, %99, %96, %93, %90, %87, %84, %81, %78, %75, %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %9, %6, %3, %0
%131 = phi i32 [ 1, %0 ], [ 1, %3 ], [ 1, %6 ], [ 1, %9 ], [ 1, %12 ], [ 1, %15 ], [ 1, %18 ], [ 1, %21 ], [ 1, %24 ], [ 1, %27 ], [ 1, %30 ], [ 1, %33 ], [ 1, %36 ], [ 1, %39 ], [ 1, %42 ], [ 1, %45 ], [ 1, %48 ], [ 1, %51 ], [ 1, %54 ], [ 1, %57 ], [ 1, %60 ], [ 1, %63 ], [ 1, %66 ], [ 1, %69 ], [ 1, %72 ], [ 1, %75 ], [ 1, %78 ], [ 1, %81 ], [ 1, %84 ], [ 1, %87 ], [ 1, %90 ], [ 1, %93 ], [ 1, %96 ], [ 1, %99 ], [ 1, %102 ], [ 1, %105 ], [ 1, %108 ], [ 1, %111 ], [ 1, %114 ], [ 1, %117 ], [ 1, %120 ], [ 1, %123 ], [ %129, %126 ]
ret i32 %131
}