#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 */
double _COM_ADDd(double, double);
float _COM_ADDf(float, float);
int _COM_CMPEQ64(long long, long long);
int _COM_CMPEQd(double, double);
int _COM_CMPEQf(float, float);
int _COM_CMPGE64s(long long, long long);
int _COM_CMPGE64u(unsigned long long, unsigned long long);
int _COM_CMPGEd(double, double);
int _COM_CMPGEf(float, float);
int _COM_CMPGT64s(long long, long long);
int _COM_CMPGT64u(unsigned long long, unsigned long long);
int _COM_CMPGTd(double, double);
int _COM_CMPGTf(float, float);
int _COM_CMPLE64s(long long, long long);
int _COM_CMPLE64u(unsigned long long, unsigned long long);
int _COM_CMPLEd(double, double);
int _COM_CMPLEf(float, float);
int _COM_CMPLT64s(long long, long long);
int _COM_CMPLT64u(unsigned long long, unsigned long long);
int _COM_CMPLTd(double, double);
int _COM_CMPLTf(float, float);
int _COM_CMPNE64(long long, long long);
int _COM_CMPNEd(double, double);
int _COM_CMPNEf(float, float);
double _COM_CONV32sd(int);
float _COM_CONV32sf(int);
double _COM_CONV32ud(int);
float _COM_CONV32uf(int);
double _COM_CONV64sd(long long);
float _COM_CONV64sf(long long);
double _COM_CONV64ud(unsigned long long);
float _COM_CONV64uf(unsigned long long);
int _COM_CONVd32s(double);
unsigned int _COM_CONVd32u(double);
long long _COM_CONVd64s(double);
unsigned long long _COM_CONVd64u(double);
float _COM_CONVdf(double);
int _COM_CONVf32s(float);
unsigned int _COM_CONVf32u(float);
long long _COM_CONVf64s(float);
unsigned long long _COM_CONVf64u(float);
double _COM_CONVfd(float);
long long _COM_DIV64s(long long, long long);
unsigned long long _COM_DIV64u(unsigned long long, unsigned long long);
double _COM_DIVd(double, double);
float _COM_DIVf(float, float);
long long _COM_MOD64s(long long, long long);
unsigned long long _COM_MOD64u(unsigned long long, unsigned long long);
long long _COM_MUL64(long long, long long);
double _COM_MULd(double, double);
float _COM_MULf(float, float);
double _COM_NEGd(double);
long long _COM_SHAR64(long long, int);
long long _COM_SHLL64(long long, int);
long long _COM_SHLR64(long long, int);
double _COM_SUBd(double, double);
float _COM_SUBf(float, float);
int /*<<< orphan*/ abort();
int /*<<< orphan*/ exit(int /*<<< orphan*/);
int main(void) {
  if (_COM_CONVf32s(-2.0f) != -2)
    abort();
  if (_COM_CONVf32u(-2.0f) != (unsigned)-2)
    abort();
  if (_COM_CONV32sf(-2) != -2.0f)
    abort();
  if (_COM_CONV32uf(2) != 2.0f)
    abort();
  if (_COM_ADDf(1.0f, 2.0f) != 3.0f)
    abort();
  if (_COM_SUBf(3.0f, 2.0f) != 1.0f)
    abort();
  if (_COM_MULf(2.0f, 3.0f) != 6.0f)
    abort();
  if (_COM_DIVf(6.0f, 2.0f) != 3.0f)
    abort();
  if ((_COM_CMPLTf(1.0f, 2.0f) != 1) || (_COM_CMPLTf(2.0f, 1.0f) != 0) ||
      (_COM_CMPLTf(1.0f, 1.0f) != 0))
    abort();
  ;
  if ((_COM_CMPGTf(1.0f, 2.0f) != 0) || (_COM_CMPGTf(2.0f, 1.0f) != 1) ||
      (_COM_CMPGTf(1.0f, 1.0f) != 0))
    abort();
  ;
  if ((_COM_CMPLEf(1.0f, 2.0f) != 1) || (_COM_CMPLEf(2.0f, 1.0f) != 0) ||
      (_COM_CMPLEf(1.0f, 1.0f) != 1))
    abort();
  ;
  if ((_COM_CMPGEf(1.0f, 2.0f) != 0) || (_COM_CMPGEf(2.0f, 1.0f) != 1) ||
      (_COM_CMPGEf(1.0f, 1.0f) != 1))
    abort();
  ;
  if ((_COM_CMPEQf(1.0f, 2.0f) != 0) || (_COM_CMPEQf(2.0f, 1.0f) != 0) ||
      (_COM_CMPEQf(1.0f, 1.0f) != 1))
    abort();
  ;
  if ((_COM_CMPNEf(1.0f, 2.0f) != 1) || (_COM_CMPNEf(2.0f, 1.0f) != 1) ||
      (_COM_CMPNEf(1.0f, 1.0f) != 0))
    abort();
  ;
  if (_COM_MUL64(2LL, 4LL) != 8LL)
    abort();
  if (_COM_DIV64s(6LL, 3LL) != 2LL)
    abort();
  if (_COM_DIV64u(6ULL, 3ULL) != 2ULL)
    abort();
  if (_COM_SHLL64(6LL, 3) != 48LL)
    abort();
  if (_COM_SHLR64(8LL, 2) != 2LL)
    abort();
  if (_COM_SHAR64(-1LL, 2) != -1LL)
    abort();
  if (_COM_CONVf64s(-2.0f) != -2LL)
    abort();
  if (_COM_CONVf64u(2.0f) != 2ULL)
    abort();
  if (_COM_CONVd64s(-2.0) != -2LL)
    abort();
  if (_COM_CONVd64u(2.0) != 2ULL)
    abort();
  if (_COM_CONV64sf(-2LL) != -2.0f)
    abort();
  if (_COM_CONV64uf(2ULL) != 2.0f)
    abort();
  if (_COM_CONV64sd(-2LL) != -2.0)
    abort();
  if (_COM_CONV64ud(2ULL) != 2.0)
    abort();
  if (_COM_MOD64s(4LL, 3LL) != 1LL)
    abort();
  if (_COM_MOD64u(4ULL, 3ULL) != 1ULL)
    abort();
  if ((_COM_CMPLT64s(1LL, 2LL) != 1) || (_COM_CMPLT64s(2LL, 1LL) != 0) ||
      (_COM_CMPLT64s(1LL, 1LL) != 0))
    abort();
  ;
  if ((_COM_CMPLT64u(1ULL, 2ULL) != 1) || (_COM_CMPLT64u(2ULL, 1ULL) != 0) ||
      (_COM_CMPLT64u(1ULL, 1ULL) != 0))
    abort();
  ;
  if ((_COM_CMPGT64s(1LL, 2LL) != 0) || (_COM_CMPGT64s(2LL, 1LL) != 1) ||
      (_COM_CMPGT64s(1LL, 1LL) != 0))
    abort();
  ;
  if ((_COM_CMPGT64u(1ULL, 2ULL) != 0) || (_COM_CMPGT64u(2ULL, 1ULL) != 1) ||
      (_COM_CMPGT64u(1ULL, 1ULL) != 0))
    abort();
  ;
  if ((_COM_CMPLE64s(1LL, 2LL) != 1) || (_COM_CMPLE64s(2LL, 1LL) != 0) ||
      (_COM_CMPLE64s(1LL, 1LL) != 1))
    abort();
  ;
  if ((_COM_CMPLE64u(1ULL, 2ULL) != 1) || (_COM_CMPLE64u(2ULL, 1ULL) != 0) ||
      (_COM_CMPLE64u(1ULL, 1ULL) != 1))
    abort();
  ;
  if ((_COM_CMPGE64s(1LL, 2LL) != 0) || (_COM_CMPGE64s(2LL, 1LL) != 1) ||
      (_COM_CMPGE64s(1LL, 1LL) != 1))
    abort();
  ;
  if ((_COM_CMPGE64u(1ULL, 2ULL) != 0) || (_COM_CMPGE64u(2ULL, 1ULL) != 1) ||
      (_COM_CMPGE64u(1ULL, 1ULL) != 1))
    abort();
  ;
  if ((_COM_CMPEQ64(1LL, 2LL) != 0) || (_COM_CMPEQ64(2LL, 1LL) != 0) ||
      (_COM_CMPEQ64(1LL, 1LL) != 1))
    abort();
  ;
  if ((_COM_CMPNE64(1LL, 2LL) != 1) || (_COM_CMPNE64(2LL, 1LL) != 1) ||
      (_COM_CMPNE64(1LL, 1LL) != 0))
    abort();
  ;
  if (_COM_ADDd(1.0, 2.0) != 3.0)
    abort();
  if (_COM_SUBd(3.0, 2.0) != 1.0)
    abort();
  if (_COM_MULd(2.0, 3.0) != 6.0)
    abort();
  if (_COM_DIVd(6.0, 2.0) != 3.0)
    abort();
  if (_COM_CONVd32s(-2.0) != -2)
    abort();
  if (_COM_CONVd32u(-2.0) != (unsigned)-2)
    abort();
  if (_COM_CONV32sd(-2) != -2.0)
    abort();
  if (_COM_CONV32ud(2) != 2.0)
    abort();
  if (_COM_CONVfd(2.0f) != 2.0)
    abort();
  if (_COM_CONVdf(2.0) != 2.0f)
    abort();
  if (_COM_NEGd(-2.0) != 2.0)
    abort();
  if ((_COM_CMPLTd(1.0, 2.0) != 1) || (_COM_CMPLTd(2.0, 1.0) != 0) ||
      (_COM_CMPLTd(1.0, 1.0) != 0))
    abort();
  ;
  if ((_COM_CMPGTd(1.0, 2.0) != 0) || (_COM_CMPGTd(2.0, 1.0) != 1) ||
      (_COM_CMPGTd(1.0, 1.0) != 0))
    abort();
  ;
  if ((_COM_CMPLEd(1.0, 2.0) != 1) || (_COM_CMPLEd(2.0, 1.0) != 0) ||
      (_COM_CMPLEd(1.0, 1.0) != 1))
    abort();
  ;
  if ((_COM_CMPGEd(1.0, 2.0) != 0) || (_COM_CMPGEd(2.0, 1.0) != 1) ||
      (_COM_CMPGEd(1.0, 1.0) != 1))
    abort();
  ;
  if ((_COM_CMPEQd(1.0, 2.0) != 0) || (_COM_CMPEQd(2.0, 1.0) != 0) ||
      (_COM_CMPEQd(1.0, 1.0) != 1))
    abort();
  ;
  if ((_COM_CMPNEd(1.0, 2.0) != 1) || (_COM_CMPNEd(2.0, 1.0) != 1) ||
      (_COM_CMPNEd(1.0, 1.0) != 0))
    abort();
  ;
  exit(0);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
movss  0x1b39(%rip),%xmm0
call   23d0 <_COM_CONVf32s@plt>
cmp    $0xfffffffe,%eax
je     24dc <main+0x2c>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x1b1c(%rip),%xmm0
call   23c0 <_COM_CONVf32u@plt>
cmp    $0xfffffffe,%eax
je     24f9 <main+0x49>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0xfffffffe,%edi
call   2040 <_COM_CONV32sf@plt>
movss  0x1af5(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    251f <main+0x6f>
jp     251f <main+0x6f>
jmp    2526 <main+0x76>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x2,%edi
call   22c0 <_COM_CONV32uf@plt>
movss  0x1acc(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    254c <main+0x9c>
jp     254c <main+0x9c>
jmp    2553 <main+0xa3>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x1ab1(%rip),%xmm0
movss  0x1aa1(%rip),%xmm1
call   2190 <_COM_ADDf@plt>
movss  0x1a98(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    2584 <main+0xd4>
jp     2584 <main+0xd4>
jmp    258b <main+0xdb>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x1a75(%rip),%xmm0
movss  0x1a69(%rip),%xmm1
call   21b0 <_COM_SUBf@plt>
movss  0x1a64(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    25bc <main+0x10c>
jp     25bc <main+0x10c>
jmp    25c3 <main+0x113>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x1a39(%rip),%xmm0
movss  0x1a35(%rip),%xmm1
call   2340 <_COM_MULf@plt>
movss  0x1a30(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    25f4 <main+0x144>
jp     25f4 <main+0x144>
jmp    25fb <main+0x14b>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x1a0d(%rip),%xmm0
movss  0x19f9(%rip),%xmm1
call   2390 <_COM_DIVf@plt>
movss  0x19f0(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    262c <main+0x17c>
jp     262c <main+0x17c>
jmp    2633 <main+0x183>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x19d1(%rip),%xmm0
movss  0x19c1(%rip),%xmm1
call   2150 <_COM_CMPLTf@plt>
cmp    $0x1,%eax
jne    2688 <main+0x1d8>
movss  0x19ab(%rip),%xmm0
movss  0x19ab(%rip),%xmm1
call   2150 <_COM_CMPLTf@plt>
cmp    $0x0,%eax
jne    2688 <main+0x1d8>
movss  0x1995(%rip),%xmm1
movaps %xmm1,%xmm0
call   2150 <_COM_CMPLTf@plt>
cmp    $0x0,%eax
je     268f <main+0x1df>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x1975(%rip),%xmm0
movss  0x1965(%rip),%xmm1
call   23a0 <_COM_CMPGTf@plt>
cmp    $0x0,%eax
jne    26e4 <main+0x234>
movss  0x194f(%rip),%xmm0
movss  0x194f(%rip),%xmm1
call   23a0 <_COM_CMPGTf@plt>
cmp    $0x1,%eax
jne    26e4 <main+0x234>
movss  0x1939(%rip),%xmm1
movaps %xmm1,%xmm0
call   23a0 <_COM_CMPGTf@plt>
cmp    $0x0,%eax
je     26eb <main+0x23b>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x1919(%rip),%xmm0
movss  0x1909(%rip),%xmm1
call   2230 <_COM_CMPLEf@plt>
cmp    $0x1,%eax
jne    2740 <main+0x290>
movss  0x18f3(%rip),%xmm0
movss  0x18f3(%rip),%xmm1
call   2230 <_COM_CMPLEf@plt>
cmp    $0x0,%eax
jne    2740 <main+0x290>
movss  0x18dd(%rip),%xmm1
movaps %xmm1,%xmm0
call   2230 <_COM_CMPLEf@plt>
cmp    $0x1,%eax
je     2747 <main+0x297>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x18bd(%rip),%xmm0
movss  0x18ad(%rip),%xmm1
call   2110 <_COM_CMPGEf@plt>
cmp    $0x0,%eax
jne    279c <main+0x2ec>
movss  0x1897(%rip),%xmm0
movss  0x1897(%rip),%xmm1
call   2110 <_COM_CMPGEf@plt>
cmp    $0x1,%eax
jne    279c <main+0x2ec>
movss  0x1881(%rip),%xmm1
movaps %xmm1,%xmm0
call   2110 <_COM_CMPGEf@plt>
cmp    $0x1,%eax
je     27a3 <main+0x2f3>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x1861(%rip),%xmm0
movss  0x1851(%rip),%xmm1
call   20b0 <_COM_CMPEQf@plt>
cmp    $0x0,%eax
jne    27f8 <main+0x348>
movss  0x183b(%rip),%xmm0
movss  0x183b(%rip),%xmm1
call   20b0 <_COM_CMPEQf@plt>
cmp    $0x0,%eax
jne    27f8 <main+0x348>
movss  0x1825(%rip),%xmm1
movaps %xmm1,%xmm0
call   20b0 <_COM_CMPEQf@plt>
cmp    $0x1,%eax
je     27ff <main+0x34f>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x1805(%rip),%xmm0
movss  0x17f5(%rip),%xmm1
call   2250 <_COM_CMPNEf@plt>
cmp    $0x1,%eax
jne    2854 <main+0x3a4>
movss  0x17df(%rip),%xmm0
movss  0x17df(%rip),%xmm1
call   2250 <_COM_CMPNEf@plt>
cmp    $0x1,%eax
jne    2854 <main+0x3a4>
movss  0x17c9(%rip),%xmm1
movaps %xmm1,%xmm0
call   2250 <_COM_CMPNEf@plt>
cmp    $0x0,%eax
je     285b <main+0x3ab>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x2,%edi
mov    $0x4,%esi
call   22b0 <_COM_MUL64@plt>
cmp    $0x8,%rax
je     287b <main+0x3cb>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x6,%edi
mov    $0x3,%esi
call   2060 <_COM_DIV64s@plt>
cmp    $0x2,%rax
je     289b <main+0x3eb>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x6,%edi
mov    $0x3,%esi
call   22a0 <_COM_DIV64u@plt>
cmp    $0x2,%rax
je     28bb <main+0x40b>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x6,%edi
mov    $0x3,%esi
call   22e0 <_COM_SHLL64@plt>
cmp    $0x30,%rax
je     28db <main+0x42b>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x8,%edi
mov    $0x2,%esi
call   20c0 <_COM_SHLR64@plt>
cmp    $0x2,%rax
je     28fb <main+0x44b>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0xffffffffffffffff,%rdi
mov    $0x2,%esi
call   20f0 <_COM_SHAR64@plt>
cmp    $0xffffffffffffffff,%rax
je     291d <main+0x46d>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x16db(%rip),%xmm0
call   21f0 <_COM_CONVf64s@plt>
cmp    $0xfffffffffffffffe,%rax
je     293b <main+0x48b>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x16c1(%rip),%xmm0
call   2210 <_COM_CONVf64u@plt>
cmp    $0x2,%rax
je     2959 <main+0x4a9>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x16b7(%rip),%xmm0
call   2030 <_COM_CONVd64s@plt>
cmp    $0xfffffffffffffffe,%rax
je     2977 <main+0x4c7>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x16a1(%rip),%xmm0
call   2080 <_COM_CONVd64u@plt>
cmp    $0x2,%rax
je     2995 <main+0x4e5>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0xfffffffffffffffe,%rdi
call   2260 <_COM_CONV64sf@plt>
movss  0x1657(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    29bd <main+0x50d>
jp     29bd <main+0x50d>
jmp    29c4 <main+0x514>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x2,%edi
call   21d0 <_COM_CONV64uf@plt>
movss  0x162e(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    29ea <main+0x53a>
jp     29ea <main+0x53a>
jmp    29f1 <main+0x541>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0xfffffffffffffffe,%rdi
call   2280 <_COM_CONV64sd@plt>
movsd  0x1613(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2a1a <main+0x56a>
jp     2a1a <main+0x56a>
jmp    2a21 <main+0x571>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x2,%edi
call   21e0 <_COM_CONV64ud@plt>
movsd  0x15ed(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2a48 <main+0x598>
jp     2a48 <main+0x598>
jmp    2a4f <main+0x59f>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x4,%edi
mov    $0x3,%esi
call   2200 <_COM_MOD64s@plt>
cmp    $0x1,%rax
je     2a6f <main+0x5bf>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x4,%edi
mov    $0x3,%esi
call   2310 <_COM_MOD64u@plt>
cmp    $0x1,%rax
je     2a8f <main+0x5df>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   20a0 <_COM_CMPLT64s@plt>
cmp    $0x1,%eax
jne    2ad5 <main+0x625>
mov    $0x2,%edi
mov    $0x1,%esi
call   20a0 <_COM_CMPLT64s@plt>
cmp    $0x0,%eax
jne    2ad5 <main+0x625>
mov    $0x1,%esi
mov    %rsi,%rdi
call   20a0 <_COM_CMPLT64s@plt>
cmp    $0x0,%eax
je     2adc <main+0x62c>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   2090 <_COM_CMPLT64u@plt>
cmp    $0x1,%eax
jne    2b22 <main+0x672>
mov    $0x2,%edi
mov    $0x1,%esi
call   2090 <_COM_CMPLT64u@plt>
cmp    $0x0,%eax
jne    2b22 <main+0x672>
mov    $0x1,%esi
mov    %rsi,%rdi
call   2090 <_COM_CMPLT64u@plt>
cmp    $0x0,%eax
je     2b29 <main+0x679>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   2180 <_COM_CMPGT64s@plt>
cmp    $0x0,%eax
jne    2b6f <main+0x6bf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2180 <_COM_CMPGT64s@plt>
cmp    $0x1,%eax
jne    2b6f <main+0x6bf>
mov    $0x1,%esi
mov    %rsi,%rdi
call   2180 <_COM_CMPGT64s@plt>
cmp    $0x0,%eax
je     2b76 <main+0x6c6>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   2160 <_COM_CMPGT64u@plt>
cmp    $0x0,%eax
jne    2bbc <main+0x70c>
mov    $0x2,%edi
mov    $0x1,%esi
call   2160 <_COM_CMPGT64u@plt>
cmp    $0x1,%eax
jne    2bbc <main+0x70c>
mov    $0x1,%esi
mov    %rsi,%rdi
call   2160 <_COM_CMPGT64u@plt>
cmp    $0x0,%eax
je     2bc3 <main+0x713>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   2240 <_COM_CMPLE64s@plt>
cmp    $0x1,%eax
jne    2c09 <main+0x759>
mov    $0x2,%edi
mov    $0x1,%esi
call   2240 <_COM_CMPLE64s@plt>
cmp    $0x0,%eax
jne    2c09 <main+0x759>
mov    $0x1,%esi
mov    %rsi,%rdi
call   2240 <_COM_CMPLE64s@plt>
cmp    $0x1,%eax
je     2c10 <main+0x760>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   2220 <_COM_CMPLE64u@plt>
cmp    $0x1,%eax
jne    2c56 <main+0x7a6>
mov    $0x2,%edi
mov    $0x1,%esi
call   2220 <_COM_CMPLE64u@plt>
cmp    $0x0,%eax
jne    2c56 <main+0x7a6>
mov    $0x1,%esi
mov    %rsi,%rdi
call   2220 <_COM_CMPLE64u@plt>
cmp    $0x1,%eax
je     2c5d <main+0x7ad>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   2370 <_COM_CMPGE64s@plt>
cmp    $0x0,%eax
jne    2ca3 <main+0x7f3>
mov    $0x2,%edi
mov    $0x1,%esi
call   2370 <_COM_CMPGE64s@plt>
cmp    $0x1,%eax
jne    2ca3 <main+0x7f3>
mov    $0x1,%esi
mov    %rsi,%rdi
call   2370 <_COM_CMPGE64s@plt>
cmp    $0x1,%eax
je     2caa <main+0x7fa>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   2360 <_COM_CMPGE64u@plt>
cmp    $0x0,%eax
jne    2cf0 <main+0x840>
mov    $0x2,%edi
mov    $0x1,%esi
call   2360 <_COM_CMPGE64u@plt>
cmp    $0x1,%eax
jne    2cf0 <main+0x840>
mov    $0x1,%esi
mov    %rsi,%rdi
call   2360 <_COM_CMPGE64u@plt>
cmp    $0x1,%eax
je     2cf7 <main+0x847>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   2350 <_COM_CMPEQ64@plt>
cmp    $0x0,%eax
jne    2d3d <main+0x88d>
mov    $0x2,%edi
mov    $0x1,%esi
call   2350 <_COM_CMPEQ64@plt>
cmp    $0x0,%eax
jne    2d3d <main+0x88d>
mov    $0x1,%esi
mov    %rsi,%rdi
call   2350 <_COM_CMPEQ64@plt>
cmp    $0x1,%eax
je     2d44 <main+0x894>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   2120 <_COM_CMPNE64@plt>
cmp    $0x1,%eax
jne    2d8a <main+0x8da>
mov    $0x2,%edi
mov    $0x1,%esi
call   2120 <_COM_CMPNE64@plt>
cmp    $0x1,%eax
jne    2d8a <main+0x8da>
mov    $0x1,%esi
mov    %rsi,%rdi
call   2120 <_COM_CMPNE64@plt>
cmp    $0x0,%eax
je     2d91 <main+0x8e1>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x1297(%rip),%xmm0
movsd  0x127f(%rip),%xmm1
call   21a0 <_COM_ADDd@plt>
movsd  0x127a(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2dc3 <main+0x913>
jp     2dc3 <main+0x913>
jmp    2dca <main+0x91a>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x1256(%rip),%xmm0
movsd  0x1246(%rip),%xmm1
call   21c0 <_COM_SUBd@plt>
movsd  0x1249(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2dfc <main+0x94c>
jp     2dfc <main+0x94c>
jmp    2e03 <main+0x953>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x1215(%rip),%xmm0
movsd  0x1215(%rip),%xmm1
call   22f0 <_COM_MULd@plt>
movsd  0x1218(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2e35 <main+0x985>
jp     2e35 <main+0x985>
jmp    2e3c <main+0x98c>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x11f4(%rip),%xmm0
movsd  0x11d4(%rip),%xmm1
call   2380 <_COM_DIVd@plt>
movsd  0x11cf(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2e6e <main+0x9be>
jp     2e6e <main+0x9be>
jmp    2e75 <main+0x9c5>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x119b(%rip),%xmm0
call   2330 <_COM_CONVd32s@plt>
cmp    $0xfffffffe,%eax
je     2e92 <main+0x9e2>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x117e(%rip),%xmm0
call   2320 <_COM_CONVd32u@plt>
cmp    $0xfffffffe,%eax
je     2eaf <main+0x9ff>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0xfffffffe,%edi
call   2050 <_COM_CONV32sd@plt>
movsd  0x1157(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2ed6 <main+0xa26>
jp     2ed6 <main+0xa26>
jmp    2edd <main+0xa2d>
mov    $0x0,%al
call   2070 <abort@plt>
mov    $0x2,%edi
call   22d0 <_COM_CONV32ud@plt>
movsd  0x1131(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2f04 <main+0xa54>
jp     2f04 <main+0xa54>
jmp    2f0b <main+0xa5b>
mov    $0x0,%al
call   2070 <abort@plt>
movss  0x10f1(%rip),%xmm0
call   20e0 <_COM_CONVfd@plt>
movsd  0x1100(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2f35 <main+0xa85>
jp     2f35 <main+0xa85>
jmp    2f3c <main+0xa8c>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x10dc(%rip),%xmm0
call   2170 <_COM_CONVdf@plt>
movss  0x10b3(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    2f65 <main+0xab5>
jp     2f65 <main+0xab5>
jmp    2f6c <main+0xabc>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x10a4(%rip),%xmm0
call   2130 <_COM_NEGd@plt>
movsd  0x109f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2f96 <main+0xae6>
jp     2f96 <main+0xae6>
jmp    2f9d <main+0xaed>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x108b(%rip),%xmm0
movsd  0x1073(%rip),%xmm1
call   2140 <_COM_CMPLTd@plt>
cmp    $0x1,%eax
jne    2ff2 <main+0xb42>
movsd  0x105d(%rip),%xmm0
movsd  0x1065(%rip),%xmm1
call   2140 <_COM_CMPLTd@plt>
cmp    $0x0,%eax
jne    2ff2 <main+0xb42>
movsd  0x104f(%rip),%xmm1
movaps %xmm1,%xmm0
call   2140 <_COM_CMPLTd@plt>
cmp    $0x0,%eax
je     2ff9 <main+0xb49>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0x102f(%rip),%xmm0
movsd  0x1017(%rip),%xmm1
call   23b0 <_COM_CMPGTd@plt>
cmp    $0x0,%eax
jne    304e <main+0xb9e>
movsd  0x1001(%rip),%xmm0
movsd  0x1009(%rip),%xmm1
call   23b0 <_COM_CMPGTd@plt>
cmp    $0x1,%eax
jne    304e <main+0xb9e>
movsd  0xff3(%rip),%xmm1
movaps %xmm1,%xmm0
call   23b0 <_COM_CMPGTd@plt>
cmp    $0x0,%eax
je     3055 <main+0xba5>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0xfd3(%rip),%xmm0
movsd  0xfbb(%rip),%xmm1
call   2290 <_COM_CMPLEd@plt>
cmp    $0x1,%eax
jne    30aa <main+0xbfa>
movsd  0xfa5(%rip),%xmm0
movsd  0xfad(%rip),%xmm1
call   2290 <_COM_CMPLEd@plt>
cmp    $0x0,%eax
jne    30aa <main+0xbfa>
movsd  0xf97(%rip),%xmm1
movaps %xmm1,%xmm0
call   2290 <_COM_CMPLEd@plt>
cmp    $0x1,%eax
je     30b1 <main+0xc01>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0xf77(%rip),%xmm0
movsd  0xf5f(%rip),%xmm1
call   2100 <_COM_CMPGEd@plt>
cmp    $0x0,%eax
jne    3106 <main+0xc56>
movsd  0xf49(%rip),%xmm0
movsd  0xf51(%rip),%xmm1
call   2100 <_COM_CMPGEd@plt>
cmp    $0x1,%eax
jne    3106 <main+0xc56>
movsd  0xf3b(%rip),%xmm1
movaps %xmm1,%xmm0
call   2100 <_COM_CMPGEd@plt>
cmp    $0x1,%eax
je     310d <main+0xc5d>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0xf1b(%rip),%xmm0
movsd  0xf03(%rip),%xmm1
call   20d0 <_COM_CMPEQd@plt>
cmp    $0x0,%eax
jne    3162 <main+0xcb2>
movsd  0xeed(%rip),%xmm0
movsd  0xef5(%rip),%xmm1
call   20d0 <_COM_CMPEQd@plt>
cmp    $0x0,%eax
jne    3162 <main+0xcb2>
movsd  0xedf(%rip),%xmm1
movaps %xmm1,%xmm0
call   20d0 <_COM_CMPEQd@plt>
cmp    $0x1,%eax
je     3169 <main+0xcb9>
mov    $0x0,%al
call   2070 <abort@plt>
movsd  0xebf(%rip),%xmm0
movsd  0xea7(%rip),%xmm1
call   2270 <_COM_CMPNEd@plt>
cmp    $0x1,%eax
jne    31be <main+0xd0e>
movsd  0xe91(%rip),%xmm0
movsd  0xe99(%rip),%xmm1
call   2270 <_COM_CMPNEd@plt>
cmp    $0x1,%eax
jne    31be <main+0xd0e>
movsd  0xe83(%rip),%xmm1
movaps %xmm1,%xmm0
call   2270 <_COM_CMPNEd@plt>
cmp    $0x0,%eax
je     31c5 <main+0xd15>
mov    $0x0,%al
call   2070 <abort@plt>
xor    %edi,%edi
call   2300 <exit@plt>

x86 assembly (clang, -O2):
<main>:
push   %rax
movss  0xb47(%rip),%xmm0
call   23d0 <_COM_CONVf32s@plt>
cmp    $0xfffffffe,%eax
jne    2f5f <main+0xaaf>
movss  0xb31(%rip),%xmm0
call   23c0 <_COM_CONVf32u@plt>
cmp    $0xfffffffe,%eax
jne    2f5f <main+0xaaf>
mov    $0xfffffffe,%edi
call   2040 <_COM_CONV32sf@plt>
ucomiss 0xb12(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
mov    $0x2,%edi
call   22c0 <_COM_CONV32uf@plt>
ucomiss 0xaf9(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movss  0xae9(%rip),%xmm0
movss  0xadd(%rip),%xmm1
call   2190 <_COM_ADDf@plt>
ucomiss 0xad9(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movss  0xac5(%rip),%xmm0
movss  0xab5(%rip),%xmm1
call   21b0 <_COM_SUBf@plt>
ucomiss 0xaad(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movss  0xa95(%rip),%xmm0
movss  0xa95(%rip),%xmm1
call   2340 <_COM_MULf@plt>
ucomiss 0xa8d(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movss  0xa79(%rip),%xmm0
movss  0xa65(%rip),%xmm1
call   2390 <_COM_DIVf@plt>
ucomiss 0xa61(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movss  0xa49(%rip),%xmm0
movss  0xa3d(%rip),%xmm1
call   2150 <_COM_CMPLTf@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movss  0xa27(%rip),%xmm0
movss  0xa23(%rip),%xmm1
call   2150 <_COM_CMPLTf@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movss  0xa0e(%rip),%xmm0
movaps %xmm0,%xmm1
call   2150 <_COM_CMPLTf@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movss  0x9f6(%rip),%xmm0
movss  0x9ea(%rip),%xmm1
call   23a0 <_COM_CMPGTf@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movss  0x9d5(%rip),%xmm0
movss  0x9d1(%rip),%xmm1
call   23a0 <_COM_CMPGTf@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movss  0x9bb(%rip),%xmm0
movaps %xmm0,%xmm1
call   23a0 <_COM_CMPGTf@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movss  0x9a3(%rip),%xmm0
movss  0x997(%rip),%xmm1
call   2230 <_COM_CMPLEf@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movss  0x981(%rip),%xmm0
movss  0x97d(%rip),%xmm1
call   2230 <_COM_CMPLEf@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movss  0x968(%rip),%xmm0
movaps %xmm0,%xmm1
call   2230 <_COM_CMPLEf@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movss  0x94f(%rip),%xmm0
movss  0x943(%rip),%xmm1
call   2110 <_COM_CMPGEf@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movss  0x92e(%rip),%xmm0
movss  0x92a(%rip),%xmm1
call   2110 <_COM_CMPGEf@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movss  0x914(%rip),%xmm0
movaps %xmm0,%xmm1
call   2110 <_COM_CMPGEf@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movss  0x8fb(%rip),%xmm0
movss  0x8ef(%rip),%xmm1
call   20b0 <_COM_CMPEQf@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movss  0x8da(%rip),%xmm0
movss  0x8d6(%rip),%xmm1
call   20b0 <_COM_CMPEQf@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movss  0x8c1(%rip),%xmm0
movaps %xmm0,%xmm1
call   20b0 <_COM_CMPEQf@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movss  0x8a8(%rip),%xmm0
movss  0x89c(%rip),%xmm1
call   2250 <_COM_CMPNEf@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movss  0x886(%rip),%xmm0
movss  0x882(%rip),%xmm1
call   2250 <_COM_CMPNEf@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movss  0x86c(%rip),%xmm0
movaps %xmm0,%xmm1
call   2250 <_COM_CMPNEf@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x4,%esi
call   22b0 <_COM_MUL64@plt>
cmp    $0x8,%rax
jne    2f5f <main+0xaaf>
mov    $0x6,%edi
mov    $0x3,%esi
call   2060 <_COM_DIV64s@plt>
cmp    $0x2,%rax
jne    2f5f <main+0xaaf>
mov    $0x6,%edi
mov    $0x3,%esi
call   22a0 <_COM_DIV64u@plt>
cmp    $0x2,%rax
jne    2f5f <main+0xaaf>
mov    $0x6,%edi
mov    $0x3,%esi
call   22e0 <_COM_SHLL64@plt>
cmp    $0x30,%rax
jne    2f5f <main+0xaaf>
mov    $0x8,%edi
mov    $0x2,%esi
call   20c0 <_COM_SHLR64@plt>
cmp    $0x2,%rax
jne    2f5f <main+0xaaf>
mov    $0xffffffffffffffff,%rdi
mov    $0x2,%esi
call   20f0 <_COM_SHAR64@plt>
cmp    $0xffffffffffffffff,%rax
jne    2f5f <main+0xaaf>
movss  0x7b4(%rip),%xmm0
call   21f0 <_COM_CONVf64s@plt>
cmp    $0xfffffffffffffffe,%rax
jne    2f5f <main+0xaaf>
movss  0x7a1(%rip),%xmm0
call   2210 <_COM_CONVf64u@plt>
cmp    $0x2,%rax
jne    2f5f <main+0xaaf>
movsd  0x79e(%rip),%xmm0
call   2030 <_COM_CONVd64s@plt>
cmp    $0xfffffffffffffffe,%rax
jne    2f5f <main+0xaaf>
movsd  0x78f(%rip),%xmm0
call   2080 <_COM_CONVd64u@plt>
cmp    $0x2,%rax
jne    2f5f <main+0xaaf>
mov    $0xfffffffffffffffe,%rdi
call   2260 <_COM_CONV64sf@plt>
ucomiss 0x74d(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
mov    $0x2,%edi
call   21d0 <_COM_CONV64uf@plt>
ucomiss 0x734(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
mov    $0xfffffffffffffffe,%rdi
call   2280 <_COM_CONV64sd@plt>
ucomisd 0x728(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
mov    $0x2,%edi
call   21e0 <_COM_CONV64ud@plt>
ucomisd 0x712(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
mov    $0x4,%edi
mov    $0x3,%esi
call   2200 <_COM_MOD64s@plt>
cmp    $0x1,%rax
jne    2f5f <main+0xaaf>
mov    $0x4,%edi
mov    $0x3,%esi
call   2310 <_COM_MOD64u@plt>
cmp    $0x1,%rax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   20a0 <_COM_CMPLT64s@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   20a0 <_COM_CMPLT64s@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   20a0 <_COM_CMPLT64s@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   2090 <_COM_CMPLT64u@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2090 <_COM_CMPLT64u@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   2090 <_COM_CMPLT64u@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   2180 <_COM_CMPGT64s@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2180 <_COM_CMPGT64s@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   2180 <_COM_CMPGT64s@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   2160 <_COM_CMPGT64u@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2160 <_COM_CMPGT64u@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   2160 <_COM_CMPGT64u@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   2240 <_COM_CMPLE64s@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2240 <_COM_CMPLE64s@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   2240 <_COM_CMPLE64s@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   2220 <_COM_CMPLE64u@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2220 <_COM_CMPLE64u@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   2220 <_COM_CMPLE64u@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   2370 <_COM_CMPGE64s@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2370 <_COM_CMPGE64s@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   2370 <_COM_CMPGE64s@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   2360 <_COM_CMPGE64u@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2360 <_COM_CMPGE64u@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   2360 <_COM_CMPGE64u@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   2350 <_COM_CMPEQ64@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2350 <_COM_CMPEQ64@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   2350 <_COM_CMPEQ64@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x2,%esi
call   2120 <_COM_CMPNE64@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x2,%edi
mov    $0x1,%esi
call   2120 <_COM_CMPNE64@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
mov    $0x1,%edi
mov    $0x1,%esi
call   2120 <_COM_CMPNE64@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movsd  0x413(%rip),%xmm0
movsd  0x403(%rip),%xmm1
call   21a0 <_COM_ADDd@plt>
ucomisd 0x406(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movsd  0x3f2(%rip),%xmm0
movsd  0x3da(%rip),%xmm1
call   21c0 <_COM_SUBd@plt>
ucomisd 0x3d5(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movsd  0x3b9(%rip),%xmm0
movsd  0x3c1(%rip),%xmm1
call   22f0 <_COM_MULd@plt>
ucomisd 0x3bc(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movsd  0x3a8(%rip),%xmm0
movsd  0x388(%rip),%xmm1
call   2380 <_COM_DIVd@plt>
ucomisd 0x38b(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movsd  0x35f(%rip),%xmm0
call   2330 <_COM_CONVd32s@plt>
cmp    $0xfffffffe,%eax
jne    2f5f <main+0xaaf>
movsd  0x349(%rip),%xmm0
call   2320 <_COM_CONVd32u@plt>
cmp    $0xfffffffe,%eax
jne    2f5f <main+0xaaf>
mov    $0xfffffffe,%edi
call   2050 <_COM_CONV32sd@plt>
ucomisd 0x329(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
mov    $0x2,%edi
call   22d0 <_COM_CONV32ud@plt>
ucomisd 0x313(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movss  0x2e3(%rip),%xmm0
call   20e0 <_COM_CONVfd@plt>
ucomisd 0x2f2(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movsd  0x2de(%rip),%xmm0
call   2170 <_COM_CONVdf@plt>
ucomiss 0x2b6(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movsd  0x2b6(%rip),%xmm0
call   2130 <_COM_NEGd@plt>
ucomisd 0x2b1(%rip),%xmm0
jne    2f5f <main+0xaaf>
jp     2f5f <main+0xaaf>
movsd  0x2a5(%rip),%xmm0
movsd  0x295(%rip),%xmm1
call   2140 <_COM_CMPLTd@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movsd  0x27f(%rip),%xmm0
movsd  0x27f(%rip),%xmm1
call   2140 <_COM_CMPLTd@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movsd  0x26a(%rip),%xmm0
movaps %xmm0,%xmm1
call   2140 <_COM_CMPLTd@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movsd  0x252(%rip),%xmm0
movsd  0x242(%rip),%xmm1
call   23b0 <_COM_CMPGTd@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movsd  0x22d(%rip),%xmm0
movsd  0x22d(%rip),%xmm1
call   23b0 <_COM_CMPGTd@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movsd  0x217(%rip),%xmm0
movaps %xmm0,%xmm1
call   23b0 <_COM_CMPGTd@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movsd  0x1ff(%rip),%xmm0
movsd  0x1ef(%rip),%xmm1
call   2290 <_COM_CMPLEd@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movsd  0x1d9(%rip),%xmm0
movsd  0x1d9(%rip),%xmm1
call   2290 <_COM_CMPLEd@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movsd  0x1c4(%rip),%xmm0
movaps %xmm0,%xmm1
call   2290 <_COM_CMPLEd@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movsd  0x1ab(%rip),%xmm0
movsd  0x19b(%rip),%xmm1
call   2100 <_COM_CMPGEd@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movsd  0x186(%rip),%xmm0
movsd  0x186(%rip),%xmm1
call   2100 <_COM_CMPGEd@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movsd  0x170(%rip),%xmm0
movaps %xmm0,%xmm1
call   2100 <_COM_CMPGEd@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movsd  0x157(%rip),%xmm0
movsd  0x147(%rip),%xmm1
call   20d0 <_COM_CMPEQd@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movsd  0x136(%rip),%xmm0
movsd  0x136(%rip),%xmm1
call   20d0 <_COM_CMPEQd@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
movsd  0x125(%rip),%xmm0
movaps %xmm0,%xmm1
call   20d0 <_COM_CMPEQd@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movsd  0x110(%rip),%xmm0
movsd  0x100(%rip),%xmm1
call   2270 <_COM_CMPNEd@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movsd  0xee(%rip),%xmm0
movsd  0xee(%rip),%xmm1
call   2270 <_COM_CMPNEd@plt>
cmp    $0x1,%eax
jne    2f5f <main+0xaaf>
movsd  0xdc(%rip),%xmm0
movaps %xmm0,%xmm1
call   2270 <_COM_CMPNEd@plt>
test   %eax,%eax
jne    2f5f <main+0xaaf>
xor    %edi,%edi
call   2300 <exit@plt>
xor    %eax,%eax
call   2070 <abort@plt>

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
store i32 0, i32* %1
%2 = call i32 @_COM_CONVf32s(float -2.000000e+00)
%3 = icmp ne i32 %2, -2
br i1 %3, label %4, label %6
4: ; preds = %0
%5 = call i32 (...) @abort()
unreachable
6: ; preds = %0
%7 = call i32 @_COM_CONVf32u(float -2.000000e+00)
%8 = icmp ne i32 %7, -2
br i1 %8, label %9, label %11
9: ; preds = %6
%10 = call i32 (...) @abort()
unreachable
11: ; preds = %6
%12 = call float @_COM_CONV32sf(i32 -2)
%13 = fcmp une float %12, -2.000000e+00
br i1 %13, label %14, label %16
14: ; preds = %11
%15 = call i32 (...) @abort()
unreachable
16: ; preds = %11
%17 = call float @_COM_CONV32uf(i32 2)
%18 = fcmp une float %17, 2.000000e+00
br i1 %18, label %19, label %21
19: ; preds = %16
%20 = call i32 (...) @abort()
unreachable
21: ; preds = %16
%22 = call float @_COM_ADDf(float 1.000000e+00, float 2.000000e+00)
%23 = fcmp une float %22, 3.000000e+00
br i1 %23, label %24, label %26
24: ; preds = %21
%25 = call i32 (...) @abort()
unreachable
26: ; preds = %21
%27 = call float @_COM_SUBf(float 3.000000e+00, float 2.000000e+00)
%28 = fcmp une float %27, 1.000000e+00
br i1 %28, label %29, label %31
29: ; preds = %26
%30 = call i32 (...) @abort()
unreachable
31: ; preds = %26
%32 = call float @_COM_MULf(float 2.000000e+00, float 3.000000e+00)
%33 = fcmp une float %32, 6.000000e+00
br i1 %33, label %34, label %36
34: ; preds = %31
%35 = call i32 (...) @abort()
unreachable
36: ; preds = %31
%37 = call float @_COM_DIVf(float 6.000000e+00, float 2.000000e+00)
%38 = fcmp une float %37, 3.000000e+00
br i1 %38, label %39, label %41
39: ; preds = %36
%40 = call i32 (...) @abort()
unreachable
41: ; preds = %36
%42 = call i32 @_COM_CMPLTf(float 1.000000e+00, float 2.000000e+00)
%43 = icmp ne i32 %42, 1
br i1 %43, label %50, label %44
44: ; preds = %41
%45 = call i32 @_COM_CMPLTf(float 2.000000e+00, float 1.000000e+00)
%46 = icmp ne i32 %45, 0
br i1 %46, label %50, label %47
47: ; preds = %44
%48 = call i32 @_COM_CMPLTf(float 1.000000e+00, float 1.000000e+00)
%49 = icmp ne i32 %48, 0
br i1 %49, label %50, label %52
50: ; preds = %47, %44, %41
%51 = call i32 (...) @abort()
unreachable
52: ; preds = %47
%53 = call i32 @_COM_CMPGTf(float 1.000000e+00, float 2.000000e+00)
%54 = icmp ne i32 %53, 0
br i1 %54, label %61, label %55
55: ; preds = %52
%56 = call i32 @_COM_CMPGTf(float 2.000000e+00, float 1.000000e+00)
%57 = icmp ne i32 %56, 1
br i1 %57, label %61, label %58
58: ; preds = %55
%59 = call i32 @_COM_CMPGTf(float 1.000000e+00, float 1.000000e+00)
%60 = icmp ne i32 %59, 0
br i1 %60, label %61, label %63
61: ; preds = %58, %55, %52
%62 = call i32 (...) @abort()
unreachable
63: ; preds = %58
%64 = call i32 @_COM_CMPLEf(float 1.000000e+00, float 2.000000e+00)
%65 = icmp ne i32 %64, 1
br i1 %65, label %72, label %66
66: ; preds = %63
%67 = call i32 @_COM_CMPLEf(float 2.000000e+00, float 1.000000e+00)
%68 = icmp ne i32 %67, 0
br i1 %68, label %72, label %69
69: ; preds = %66
%70 = call i32 @_COM_CMPLEf(float 1.000000e+00, float 1.000000e+00)
%71 = icmp ne i32 %70, 1
br i1 %71, label %72, label %74
72: ; preds = %69, %66, %63
%73 = call i32 (...) @abort()
unreachable
74: ; preds = %69
%75 = call i32 @_COM_CMPGEf(float 1.000000e+00, float 2.000000e+00)
%76 = icmp ne i32 %75, 0
br i1 %76, label %83, label %77
77: ; preds = %74
%78 = call i32 @_COM_CMPGEf(float 2.000000e+00, float 1.000000e+00)
%79 = icmp ne i32 %78, 1
br i1 %79, label %83, label %80
80: ; preds = %77
%81 = call i32 @_COM_CMPGEf(float 1.000000e+00, float 1.000000e+00)
%82 = icmp ne i32 %81, 1
br i1 %82, label %83, label %85
83: ; preds = %80, %77, %74
%84 = call i32 (...) @abort()
unreachable
85: ; preds = %80
%86 = call i32 @_COM_CMPEQf(float 1.000000e+00, float 2.000000e+00)
%87 = icmp ne i32 %86, 0
br i1 %87, label %94, label %88
88: ; preds = %85
%89 = call i32 @_COM_CMPEQf(float 2.000000e+00, float 1.000000e+00)
%90 = icmp ne i32 %89, 0
br i1 %90, label %94, label %91
91: ; preds = %88
%92 = call i32 @_COM_CMPEQf(float 1.000000e+00, float 1.000000e+00)
%93 = icmp ne i32 %92, 1
br i1 %93, label %94, label %96
94: ; preds = %91, %88, %85
%95 = call i32 (...) @abort()
unreachable
96: ; preds = %91
%97 = call i32 @_COM_CMPNEf(float 1.000000e+00, float 2.000000e+00)
%98 = icmp ne i32 %97, 1
br i1 %98, label %105, label %99
99: ; preds = %96
%100 = call i32 @_COM_CMPNEf(float 2.000000e+00, float 1.000000e+00)
%101 = icmp ne i32 %100, 1
br i1 %101, label %105, label %102
102: ; preds = %99
%103 = call i32 @_COM_CMPNEf(float 1.000000e+00, float 1.000000e+00)
%104 = icmp ne i32 %103, 0
br i1 %104, label %105, label %107
105: ; preds = %102, %99, %96
%106 = call i32 (...) @abort()
unreachable
107: ; preds = %102
%108 = call i64 @_COM_MUL64(i64 2, i64 4)
%109 = icmp ne i64 %108, 8
br i1 %109, label %110, label %112
110: ; preds = %107
%111 = call i32 (...) @abort()
unreachable
112: ; preds = %107
%113 = call i64 @_COM_DIV64s(i64 6, i64 3)
%114 = icmp ne i64 %113, 2
br i1 %114, label %115, label %117
115: ; preds = %112
%116 = call i32 (...) @abort()
unreachable
117: ; preds = %112
%118 = call i64 @_COM_DIV64u(i64 6, i64 3)
%119 = icmp ne i64 %118, 2
br i1 %119, label %120, label %122
120: ; preds = %117
%121 = call i32 (...) @abort()
unreachable
122: ; preds = %117
%123 = call i64 @_COM_SHLL64(i64 6, i32 3)
%124 = icmp ne i64 %123, 48
br i1 %124, label %125, label %127
125: ; preds = %122
%126 = call i32 (...) @abort()
unreachable
127: ; preds = %122
%128 = call i64 @_COM_SHLR64(i64 8, i32 2)
%129 = icmp ne i64 %128, 2
br i1 %129, label %130, label %132
130: ; preds = %127
%131 = call i32 (...) @abort()
unreachable
132: ; preds = %127
%133 = call i64 @_COM_SHAR64(i64 -1, i32 2)
%134 = icmp ne i64 %133, -1
br i1 %134, label %135, label %137
135: ; preds = %132
%136 = call i32 (...) @abort()
unreachable
137: ; preds = %132
%138 = call i64 @_COM_CONVf64s(float -2.000000e+00)
%139 = icmp ne i64 %138, -2
br i1 %139, label %140, label %142
140: ; preds = %137
%141 = call i32 (...) @abort()
unreachable
142: ; preds = %137
%143 = call i64 @_COM_CONVf64u(float 2.000000e+00)
%144 = icmp ne i64 %143, 2
br i1 %144, label %145, label %147
145: ; preds = %142
%146 = call i32 (...) @abort()
unreachable
147: ; preds = %142
%148 = call i64 @_COM_CONVd64s(double -2.000000e+00)
%149 = icmp ne i64 %148, -2
br i1 %149, label %150, label %152
150: ; preds = %147
%151 = call i32 (...) @abort()
unreachable
152: ; preds = %147
%153 = call i64 @_COM_CONVd64u(double 2.000000e+00)
%154 = icmp ne i64 %153, 2
br i1 %154, label %155, label %157
155: ; preds = %152
%156 = call i32 (...) @abort()
unreachable
157: ; preds = %152
%158 = call float @_COM_CONV64sf(i64 -2)
%159 = fcmp une float %158, -2.000000e+00
br i1 %159, label %160, label %162
160: ; preds = %157
%161 = call i32 (...) @abort()
unreachable
162: ; preds = %157
%163 = call float @_COM_CONV64uf(i64 2)
%164 = fcmp une float %163, 2.000000e+00
br i1 %164, label %165, label %167
165: ; preds = %162
%166 = call i32 (...) @abort()
unreachable
167: ; preds = %162
%168 = call double @_COM_CONV64sd(i64 -2)
%169 = fcmp une double %168, -2.000000e+00
br i1 %169, label %170, label %172
170: ; preds = %167
%171 = call i32 (...) @abort()
unreachable
172: ; preds = %167
%173 = call double @_COM_CONV64ud(i64 2)
%174 = fcmp une double %173, 2.000000e+00
br i1 %174, label %175, label %177
175: ; preds = %172
%176 = call i32 (...) @abort()
unreachable
177: ; preds = %172
%178 = call i64 @_COM_MOD64s(i64 4, i64 3)
%179 = icmp ne i64 %178, 1
br i1 %179, label %180, label %182
180: ; preds = %177
%181 = call i32 (...) @abort()
unreachable
182: ; preds = %177
%183 = call i64 @_COM_MOD64u(i64 4, i64 3)
%184 = icmp ne i64 %183, 1
br i1 %184, label %185, label %187
185: ; preds = %182
%186 = call i32 (...) @abort()
unreachable
187: ; preds = %182
%188 = call i32 @_COM_CMPLT64s(i64 1, i64 2)
%189 = icmp ne i32 %188, 1
br i1 %189, label %196, label %190
190: ; preds = %187
%191 = call i32 @_COM_CMPLT64s(i64 2, i64 1)
%192 = icmp ne i32 %191, 0
br i1 %192, label %196, label %193
193: ; preds = %190
%194 = call i32 @_COM_CMPLT64s(i64 1, i64 1)
%195 = icmp ne i32 %194, 0
br i1 %195, label %196, label %198
196: ; preds = %193, %190, %187
%197 = call i32 (...) @abort()
unreachable
198: ; preds = %193
%199 = call i32 @_COM_CMPLT64u(i64 1, i64 2)
%200 = icmp ne i32 %199, 1
br i1 %200, label %207, label %201
201: ; preds = %198
%202 = call i32 @_COM_CMPLT64u(i64 2, i64 1)
%203 = icmp ne i32 %202, 0
br i1 %203, label %207, label %204
204: ; preds = %201
%205 = call i32 @_COM_CMPLT64u(i64 1, i64 1)
%206 = icmp ne i32 %205, 0
br i1 %206, label %207, label %209
207: ; preds = %204, %201, %198
%208 = call i32 (...) @abort()
unreachable
209: ; preds = %204
%210 = call i32 @_COM_CMPGT64s(i64 1, i64 2)
%211 = icmp ne i32 %210, 0
br i1 %211, label %218, label %212
212: ; preds = %209
%213 = call i32 @_COM_CMPGT64s(i64 2, i64 1)
%214 = icmp ne i32 %213, 1
br i1 %214, label %218, label %215
215: ; preds = %212
%216 = call i32 @_COM_CMPGT64s(i64 1, i64 1)
%217 = icmp ne i32 %216, 0
br i1 %217, label %218, label %220
218: ; preds = %215, %212, %209
%219 = call i32 (...) @abort()
unreachable
220: ; preds = %215
%221 = call i32 @_COM_CMPGT64u(i64 1, i64 2)
%222 = icmp ne i32 %221, 0
br i1 %222, label %229, label %223
223: ; preds = %220
%224 = call i32 @_COM_CMPGT64u(i64 2, i64 1)
%225 = icmp ne i32 %224, 1
br i1 %225, label %229, label %226
226: ; preds = %223
%227 = call i32 @_COM_CMPGT64u(i64 1, i64 1)
%228 = icmp ne i32 %227, 0
br i1 %228, label %229, label %231
229: ; preds = %226, %223, %220
%230 = call i32 (...) @abort()
unreachable
231: ; preds = %226
%232 = call i32 @_COM_CMPLE64s(i64 1, i64 2)
%233 = icmp ne i32 %232, 1
br i1 %233, label %240, label %234
234: ; preds = %231
%235 = call i32 @_COM_CMPLE64s(i64 2, i64 1)
%236 = icmp ne i32 %235, 0
br i1 %236, label %240, label %237
237: ; preds = %234
%238 = call i32 @_COM_CMPLE64s(i64 1, i64 1)
%239 = icmp ne i32 %238, 1
br i1 %239, label %240, label %242
240: ; preds = %237, %234, %231
%241 = call i32 (...) @abort()
unreachable
242: ; preds = %237
%243 = call i32 @_COM_CMPLE64u(i64 1, i64 2)
%244 = icmp ne i32 %243, 1
br i1 %244, label %251, label %245
245: ; preds = %242
%246 = call i32 @_COM_CMPLE64u(i64 2, i64 1)
%247 = icmp ne i32 %246, 0
br i1 %247, label %251, label %248
248: ; preds = %245
%249 = call i32 @_COM_CMPLE64u(i64 1, i64 1)
%250 = icmp ne i32 %249, 1
br i1 %250, label %251, label %253
251: ; preds = %248, %245, %242
%252 = call i32 (...) @abort()
unreachable
253: ; preds = %248
%254 = call i32 @_COM_CMPGE64s(i64 1, i64 2)
%255 = icmp ne i32 %254, 0
br i1 %255, label %262, label %256
256: ; preds = %253
%257 = call i32 @_COM_CMPGE64s(i64 2, i64 1)
%258 = icmp ne i32 %257, 1
br i1 %258, label %262, label %259
259: ; preds = %256
%260 = call i32 @_COM_CMPGE64s(i64 1, i64 1)
%261 = icmp ne i32 %260, 1
br i1 %261, label %262, label %264
262: ; preds = %259, %256, %253
%263 = call i32 (...) @abort()
unreachable
264: ; preds = %259
%265 = call i32 @_COM_CMPGE64u(i64 1, i64 2)
%266 = icmp ne i32 %265, 0
br i1 %266, label %273, label %267
267: ; preds = %264
%268 = call i32 @_COM_CMPGE64u(i64 2, i64 1)
%269 = icmp ne i32 %268, 1
br i1 %269, label %273, label %270
270: ; preds = %267
%271 = call i32 @_COM_CMPGE64u(i64 1, i64 1)
%272 = icmp ne i32 %271, 1
br i1 %272, label %273, label %275
273: ; preds = %270, %267, %264
%274 = call i32 (...) @abort()
unreachable
275: ; preds = %270
%276 = call i32 @_COM_CMPEQ64(i64 1, i64 2)
%277 = icmp ne i32 %276, 0
br i1 %277, label %284, label %278
278: ; preds = %275
%279 = call i32 @_COM_CMPEQ64(i64 2, i64 1)
%280 = icmp ne i32 %279, 0
br i1 %280, label %284, label %281
281: ; preds = %278
%282 = call i32 @_COM_CMPEQ64(i64 1, i64 1)
%283 = icmp ne i32 %282, 1
br i1 %283, label %284, label %286
284: ; preds = %281, %278, %275
%285 = call i32 (...) @abort()
unreachable
286: ; preds = %281
%287 = call i32 @_COM_CMPNE64(i64 1, i64 2)
%288 = icmp ne i32 %287, 1
br i1 %288, label %295, label %289
289: ; preds = %286
%290 = call i32 @_COM_CMPNE64(i64 2, i64 1)
%291 = icmp ne i32 %290, 1
br i1 %291, label %295, label %292
292: ; preds = %289
%293 = call i32 @_COM_CMPNE64(i64 1, i64 1)
%294 = icmp ne i32 %293, 0
br i1 %294, label %295, label %297
295: ; preds = %292, %289, %286
%296 = call i32 (...) @abort()
unreachable
297: ; preds = %292
%298 = call double @_COM_ADDd(double 1.000000e+00, double 2.000000e+00)
%299 = fcmp une double %298, 3.000000e+00
br i1 %299, label %300, label %302
300: ; preds = %297
%301 = call i32 (...) @abort()
unreachable
302: ; preds = %297
%303 = call double @_COM_SUBd(double 3.000000e+00, double 2.000000e+00)
%304 = fcmp une double %303, 1.000000e+00
br i1 %304, label %305, label %307
305: ; preds = %302
%306 = call i32 (...) @abort()
unreachable
307: ; preds = %302
%308 = call double @_COM_MULd(double 2.000000e+00, double 3.000000e+00)
%309 = fcmp une double %308, 6.000000e+00
br i1 %309, label %310, label %312
310: ; preds = %307
%311 = call i32 (...) @abort()
unreachable
312: ; preds = %307
%313 = call double @_COM_DIVd(double 6.000000e+00, double 2.000000e+00)
%314 = fcmp une double %313, 3.000000e+00
br i1 %314, label %315, label %317
315: ; preds = %312
%316 = call i32 (...) @abort()
unreachable
317: ; preds = %312
%318 = call i32 @_COM_CONVd32s(double -2.000000e+00)
%319 = icmp ne i32 %318, -2
br i1 %319, label %320, label %322
320: ; preds = %317
%321 = call i32 (...) @abort()
unreachable
322: ; preds = %317
%323 = call i32 @_COM_CONVd32u(double -2.000000e+00)
%324 = icmp ne i32 %323, -2
br i1 %324, label %325, label %327
325: ; preds = %322
%326 = call i32 (...) @abort()
unreachable
327: ; preds = %322
%328 = call double @_COM_CONV32sd(i32 -2)
%329 = fcmp une double %328, -2.000000e+00
br i1 %329, label %330, label %332
330: ; preds = %327
%331 = call i32 (...) @abort()
unreachable
332: ; preds = %327
%333 = call double @_COM_CONV32ud(i32 2)
%334 = fcmp une double %333, 2.000000e+00
br i1 %334, label %335, label %337
335: ; preds = %332
%336 = call i32 (...) @abort()
unreachable
337: ; preds = %332
%338 = call double @_COM_CONVfd(float 2.000000e+00)
%339 = fcmp une double %338, 2.000000e+00
br i1 %339, label %340, label %342
340: ; preds = %337
%341 = call i32 (...) @abort()
unreachable
342: ; preds = %337
%343 = call float @_COM_CONVdf(double 2.000000e+00)
%344 = fcmp une float %343, 2.000000e+00
br i1 %344, label %345, label %347
345: ; preds = %342
%346 = call i32 (...) @abort()
unreachable
347: ; preds = %342
%348 = call double @_COM_NEGd(double -2.000000e+00)
%349 = fcmp une double %348, 2.000000e+00
br i1 %349, label %350, label %352
350: ; preds = %347
%351 = call i32 (...) @abort()
unreachable
352: ; preds = %347
%353 = call i32 @_COM_CMPLTd(double 1.000000e+00, double 2.000000e+00)
%354 = icmp ne i32 %353, 1
br i1 %354, label %361, label %355
355: ; preds = %352
%356 = call i32 @_COM_CMPLTd(double 2.000000e+00, double 1.000000e+00)
%357 = icmp ne i32 %356, 0
br i1 %357, label %361, label %358
358: ; preds = %355
%359 = call i32 @_COM_CMPLTd(double 1.000000e+00, double 1.000000e+00)
%360 = icmp ne i32 %359, 0
br i1 %360, label %361, label %363
361: ; preds = %358, %355, %352
%362 = call i32 (...) @abort()
unreachable
363: ; preds = %358
%364 = call i32 @_COM_CMPGTd(double 1.000000e+00, double 2.000000e+00)
%365 = icmp ne i32 %364, 0
br i1 %365, label %372, label %366
366: ; preds = %363
%367 = call i32 @_COM_CMPGTd(double 2.000000e+00, double 1.000000e+00)
%368 = icmp ne i32 %367, 1
br i1 %368, label %372, label %369
369: ; preds = %366
%370 = call i32 @_COM_CMPGTd(double 1.000000e+00, double 1.000000e+00)
%371 = icmp ne i32 %370, 0
br i1 %371, label %372, label %374
372: ; preds = %369, %366, %363
%373 = call i32 (...) @abort()
unreachable
374: ; preds = %369
%375 = call i32 @_COM_CMPLEd(double 1.000000e+00, double 2.000000e+00)
%376 = icmp ne i32 %375, 1
br i1 %376, label %383, label %377
377: ; preds = %374
%378 = call i32 @_COM_CMPLEd(double 2.000000e+00, double 1.000000e+00)
%379 = icmp ne i32 %378, 0
br i1 %379, label %383, label %380
380: ; preds = %377
%381 = call i32 @_COM_CMPLEd(double 1.000000e+00, double 1.000000e+00)
%382 = icmp ne i32 %381, 1
br i1 %382, label %383, label %385
383: ; preds = %380, %377, %374
%384 = call i32 (...) @abort()
unreachable
385: ; preds = %380
%386 = call i32 @_COM_CMPGEd(double 1.000000e+00, double 2.000000e+00)
%387 = icmp ne i32 %386, 0
br i1 %387, label %394, label %388
388: ; preds = %385
%389 = call i32 @_COM_CMPGEd(double 2.000000e+00, double 1.000000e+00)
%390 = icmp ne i32 %389, 1
br i1 %390, label %394, label %391
391: ; preds = %388
%392 = call i32 @_COM_CMPGEd(double 1.000000e+00, double 1.000000e+00)
%393 = icmp ne i32 %392, 1
br i1 %393, label %394, label %396
394: ; preds = %391, %388, %385
%395 = call i32 (...) @abort()
unreachable
396: ; preds = %391
%397 = call i32 @_COM_CMPEQd(double 1.000000e+00, double 2.000000e+00)
%398 = icmp ne i32 %397, 0
br i1 %398, label %405, label %399
399: ; preds = %396
%400 = call i32 @_COM_CMPEQd(double 2.000000e+00, double 1.000000e+00)
%401 = icmp ne i32 %400, 0
br i1 %401, label %405, label %402
402: ; preds = %399
%403 = call i32 @_COM_CMPEQd(double 1.000000e+00, double 1.000000e+00)
%404 = icmp ne i32 %403, 1
br i1 %404, label %405, label %407
405: ; preds = %402, %399, %396
%406 = call i32 (...) @abort()
unreachable
407: ; preds = %402
%408 = call i32 @_COM_CMPNEd(double 1.000000e+00, double 2.000000e+00)
%409 = icmp ne i32 %408, 1
br i1 %409, label %416, label %410
410: ; preds = %407
%411 = call i32 @_COM_CMPNEd(double 2.000000e+00, double 1.000000e+00)
%412 = icmp ne i32 %411, 1
br i1 %412, label %416, label %413
413: ; preds = %410
%414 = call i32 @_COM_CMPNEd(double 1.000000e+00, double 1.000000e+00)
%415 = icmp ne i32 %414, 0
br i1 %415, label %416, label %418
416: ; preds = %413, %410, %407
%417 = call i32 (...) @abort()
unreachable
418: ; preds = %413
%419 = call i32 @exit(i32 0)
unreachable
}

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 @_COM_CONVf32s(float -2.000000e+00)
%2 = icmp eq i32 %1, -2
br i1 %2, label %5, label %3
3: ; preds = %0
%4 = tail call i32 (...) @abort()
unreachable
5: ; preds = %0
%6 = tail call i32 @_COM_CONVf32u(float -2.000000e+00)
%7 = icmp eq i32 %6, -2
br i1 %7, label %10, label %8
8: ; preds = %5
%9 = tail call i32 (...) @abort()
unreachable
10: ; preds = %5
%11 = tail call float @_COM_CONV32sf(i32 -2)
%12 = fcmp une float %11, -2.000000e+00
br i1 %12, label %13, label %15
13: ; preds = %10
%14 = tail call i32 (...) @abort()
unreachable
15: ; preds = %10
%16 = tail call float @_COM_CONV32uf(i32 2)
%17 = fcmp une float %16, 2.000000e+00
br i1 %17, label %18, label %20
18: ; preds = %15
%19 = tail call i32 (...) @abort()
unreachable
20: ; preds = %15
%21 = tail call float @_COM_ADDf(float 1.000000e+00, float 2.000000e+00)
%22 = fcmp une float %21, 3.000000e+00
br i1 %22, label %23, label %25
23: ; preds = %20
%24 = tail call i32 (...) @abort()
unreachable
25: ; preds = %20
%26 = tail call float @_COM_SUBf(float 3.000000e+00, float 2.000000e+00)
%27 = fcmp une float %26, 1.000000e+00
br i1 %27, label %28, label %30
28: ; preds = %25
%29 = tail call i32 (...) @abort()
unreachable
30: ; preds = %25
%31 = tail call float @_COM_MULf(float 2.000000e+00, float 3.000000e+00)
%32 = fcmp une float %31, 6.000000e+00
br i1 %32, label %33, label %35
33: ; preds = %30
%34 = tail call i32 (...) @abort()
unreachable
35: ; preds = %30
%36 = tail call float @_COM_DIVf(float 6.000000e+00, float 2.000000e+00)
%37 = fcmp une float %36, 3.000000e+00
br i1 %37, label %38, label %40
38: ; preds = %35
%39 = tail call i32 (...) @abort()
unreachable
40: ; preds = %35
%41 = tail call i32 @_COM_CMPLTf(float 1.000000e+00, float 2.000000e+00)
%42 = icmp eq i32 %41, 1
br i1 %42, label %43, label %49
43: ; preds = %40
%44 = tail call i32 @_COM_CMPLTf(float 2.000000e+00, float 1.000000e+00)
%45 = icmp eq i32 %44, 0
br i1 %45, label %46, label %49
46: ; preds = %43
%47 = tail call i32 @_COM_CMPLTf(float 1.000000e+00, float 1.000000e+00)
%48 = icmp eq i32 %47, 0
br i1 %48, label %51, label %49
49: ; preds = %46, %43, %40
%50 = tail call i32 (...) @abort()
unreachable
51: ; preds = %46
%52 = tail call i32 @_COM_CMPGTf(float 1.000000e+00, float 2.000000e+00)
%53 = icmp eq i32 %52, 0
br i1 %53, label %54, label %60
54: ; preds = %51
%55 = tail call i32 @_COM_CMPGTf(float 2.000000e+00, float 1.000000e+00)
%56 = icmp eq i32 %55, 1
br i1 %56, label %57, label %60
57: ; preds = %54
%58 = tail call i32 @_COM_CMPGTf(float 1.000000e+00, float 1.000000e+00)
%59 = icmp eq i32 %58, 0
br i1 %59, label %62, label %60
60: ; preds = %57, %54, %51
%61 = tail call i32 (...) @abort()
unreachable
62: ; preds = %57
%63 = tail call i32 @_COM_CMPLEf(float 1.000000e+00, float 2.000000e+00)
%64 = icmp eq i32 %63, 1
br i1 %64, label %65, label %71
65: ; preds = %62
%66 = tail call i32 @_COM_CMPLEf(float 2.000000e+00, float 1.000000e+00)
%67 = icmp eq i32 %66, 0
br i1 %67, label %68, label %71
68: ; preds = %65
%69 = tail call i32 @_COM_CMPLEf(float 1.000000e+00, float 1.000000e+00)
%70 = icmp eq i32 %69, 1
br i1 %70, label %73, label %71
71: ; preds = %68, %65, %62
%72 = tail call i32 (...) @abort()
unreachable
73: ; preds = %68
%74 = tail call i32 @_COM_CMPGEf(float 1.000000e+00, float 2.000000e+00)
%75 = icmp eq i32 %74, 0
br i1 %75, label %76, label %82
76: ; preds = %73
%77 = tail call i32 @_COM_CMPGEf(float 2.000000e+00, float 1.000000e+00)
%78 = icmp eq i32 %77, 1
br i1 %78, label %79, label %82
79: ; preds = %76
%80 = tail call i32 @_COM_CMPGEf(float 1.000000e+00, float 1.000000e+00)
%81 = icmp eq i32 %80, 1
br i1 %81, label %84, label %82
82: ; preds = %79, %76, %73
%83 = tail call i32 (...) @abort()
unreachable
84: ; preds = %79
%85 = tail call i32 @_COM_CMPEQf(float 1.000000e+00, float 2.000000e+00)
%86 = icmp eq i32 %85, 0
br i1 %86, label %87, label %93
87: ; preds = %84
%88 = tail call i32 @_COM_CMPEQf(float 2.000000e+00, float 1.000000e+00)
%89 = icmp eq i32 %88, 0
br i1 %89, label %90, label %93
90: ; preds = %87
%91 = tail call i32 @_COM_CMPEQf(float 1.000000e+00, float 1.000000e+00)
%92 = icmp eq i32 %91, 1
br i1 %92, label %95, label %93
93: ; preds = %90, %87, %84
%94 = tail call i32 (...) @abort()
unreachable
95: ; preds = %90
%96 = tail call i32 @_COM_CMPNEf(float 1.000000e+00, float 2.000000e+00)
%97 = icmp eq i32 %96, 1
br i1 %97, label %98, label %104
98: ; preds = %95
%99 = tail call i32 @_COM_CMPNEf(float 2.000000e+00, float 1.000000e+00)
%100 = icmp eq i32 %99, 1
br i1 %100, label %101, label %104
101: ; preds = %98
%102 = tail call i32 @_COM_CMPNEf(float 1.000000e+00, float 1.000000e+00)
%103 = icmp eq i32 %102, 0
br i1 %103, label %106, label %104
104: ; preds = %101, %98, %95
%105 = tail call i32 (...) @abort()
unreachable
106: ; preds = %101
%107 = tail call i64 @_COM_MUL64(i64 2, i64 4)
%108 = icmp eq i64 %107, 8
br i1 %108, label %111, label %109
109: ; preds = %106
%110 = tail call i32 (...) @abort()
unreachable
111: ; preds = %106
%112 = tail call i64 @_COM_DIV64s(i64 6, i64 3)
%113 = icmp eq i64 %112, 2
br i1 %113, label %116, label %114
114: ; preds = %111
%115 = tail call i32 (...) @abort()
unreachable
116: ; preds = %111
%117 = tail call i64 @_COM_DIV64u(i64 6, i64 3)
%118 = icmp eq i64 %117, 2
br i1 %118, label %121, label %119
119: ; preds = %116
%120 = tail call i32 (...) @abort()
unreachable
121: ; preds = %116
%122 = tail call i64 @_COM_SHLL64(i64 6, i32 3)
%123 = icmp eq i64 %122, 48
br i1 %123, label %126, label %124
124: ; preds = %121
%125 = tail call i32 (...) @abort()
unreachable
126: ; preds = %121
%127 = tail call i64 @_COM_SHLR64(i64 8, i32 2)
%128 = icmp eq i64 %127, 2
br i1 %128, label %131, label %129
129: ; preds = %126
%130 = tail call i32 (...) @abort()
unreachable
131: ; preds = %126
%132 = tail call i64 @_COM_SHAR64(i64 -1, i32 2)
%133 = icmp eq i64 %132, -1
br i1 %133, label %136, label %134
134: ; preds = %131
%135 = tail call i32 (...) @abort()
unreachable
136: ; preds = %131
%137 = tail call i64 @_COM_CONVf64s(float -2.000000e+00)
%138 = icmp eq i64 %137, -2
br i1 %138, label %141, label %139
139: ; preds = %136
%140 = tail call i32 (...) @abort()
unreachable
141: ; preds = %136
%142 = tail call i64 @_COM_CONVf64u(float 2.000000e+00)
%143 = icmp eq i64 %142, 2
br i1 %143, label %146, label %144
144: ; preds = %141
%145 = tail call i32 (...) @abort()
unreachable
146: ; preds = %141
%147 = tail call i64 @_COM_CONVd64s(double -2.000000e+00)
%148 = icmp eq i64 %147, -2
br i1 %148, label %151, label %149
149: ; preds = %146
%150 = tail call i32 (...) @abort()
unreachable
151: ; preds = %146
%152 = tail call i64 @_COM_CONVd64u(double 2.000000e+00)
%153 = icmp eq i64 %152, 2
br i1 %153, label %156, label %154
154: ; preds = %151
%155 = tail call i32 (...) @abort()
unreachable
156: ; preds = %151
%157 = tail call float @_COM_CONV64sf(i64 -2)
%158 = fcmp une float %157, -2.000000e+00
br i1 %158, label %159, label %161
159: ; preds = %156
%160 = tail call i32 (...) @abort()
unreachable
161: ; preds = %156
%162 = tail call float @_COM_CONV64uf(i64 2)
%163 = fcmp une float %162, 2.000000e+00
br i1 %163, label %164, label %166
164: ; preds = %161
%165 = tail call i32 (...) @abort()
unreachable
166: ; preds = %161
%167 = tail call double @_COM_CONV64sd(i64 -2)
%168 = fcmp une double %167, -2.000000e+00
br i1 %168, label %169, label %171
169: ; preds = %166
%170 = tail call i32 (...) @abort()
unreachable
171: ; preds = %166
%172 = tail call double @_COM_CONV64ud(i64 2)
%173 = fcmp une double %172, 2.000000e+00
br i1 %173, label %174, label %176
174: ; preds = %171
%175 = tail call i32 (...) @abort()
unreachable
176: ; preds = %171
%177 = tail call i64 @_COM_MOD64s(i64 4, i64 3)
%178 = icmp eq i64 %177, 1
br i1 %178, label %181, label %179
179: ; preds = %176
%180 = tail call i32 (...) @abort()
unreachable
181: ; preds = %176
%182 = tail call i64 @_COM_MOD64u(i64 4, i64 3)
%183 = icmp eq i64 %182, 1
br i1 %183, label %186, label %184
184: ; preds = %181
%185 = tail call i32 (...) @abort()
unreachable
186: ; preds = %181
%187 = tail call i32 @_COM_CMPLT64s(i64 1, i64 2)
%188 = icmp eq i32 %187, 1
br i1 %188, label %189, label %195
189: ; preds = %186
%190 = tail call i32 @_COM_CMPLT64s(i64 2, i64 1)
%191 = icmp eq i32 %190, 0
br i1 %191, label %192, label %195
192: ; preds = %189
%193 = tail call i32 @_COM_CMPLT64s(i64 1, i64 1)
%194 = icmp eq i32 %193, 0
br i1 %194, label %197, label %195
195: ; preds = %192, %189, %186
%196 = tail call i32 (...) @abort()
unreachable
197: ; preds = %192
%198 = tail call i32 @_COM_CMPLT64u(i64 1, i64 2)
%199 = icmp eq i32 %198, 1
br i1 %199, label %200, label %206
200: ; preds = %197
%201 = tail call i32 @_COM_CMPLT64u(i64 2, i64 1)
%202 = icmp eq i32 %201, 0
br i1 %202, label %203, label %206
203: ; preds = %200
%204 = tail call i32 @_COM_CMPLT64u(i64 1, i64 1)
%205 = icmp eq i32 %204, 0
br i1 %205, label %208, label %206
206: ; preds = %203, %200, %197
%207 = tail call i32 (...) @abort()
unreachable
208: ; preds = %203
%209 = tail call i32 @_COM_CMPGT64s(i64 1, i64 2)
%210 = icmp eq i32 %209, 0
br i1 %210, label %211, label %217
211: ; preds = %208
%212 = tail call i32 @_COM_CMPGT64s(i64 2, i64 1)
%213 = icmp eq i32 %212, 1
br i1 %213, label %214, label %217
214: ; preds = %211
%215 = tail call i32 @_COM_CMPGT64s(i64 1, i64 1)
%216 = icmp eq i32 %215, 0
br i1 %216, label %219, label %217
217: ; preds = %214, %211, %208
%218 = tail call i32 (...) @abort()
unreachable
219: ; preds = %214
%220 = tail call i32 @_COM_CMPGT64u(i64 1, i64 2)
%221 = icmp eq i32 %220, 0
br i1 %221, label %222, label %228
222: ; preds = %219
%223 = tail call i32 @_COM_CMPGT64u(i64 2, i64 1)
%224 = icmp eq i32 %223, 1
br i1 %224, label %225, label %228
225: ; preds = %222
%226 = tail call i32 @_COM_CMPGT64u(i64 1, i64 1)
%227 = icmp eq i32 %226, 0
br i1 %227, label %230, label %228
228: ; preds = %225, %222, %219
%229 = tail call i32 (...) @abort()
unreachable
230: ; preds = %225
%231 = tail call i32 @_COM_CMPLE64s(i64 1, i64 2)
%232 = icmp eq i32 %231, 1
br i1 %232, label %233, label %239
233: ; preds = %230
%234 = tail call i32 @_COM_CMPLE64s(i64 2, i64 1)
%235 = icmp eq i32 %234, 0
br i1 %235, label %236, label %239
236: ; preds = %233
%237 = tail call i32 @_COM_CMPLE64s(i64 1, i64 1)
%238 = icmp eq i32 %237, 1
br i1 %238, label %241, label %239
239: ; preds = %236, %233, %230
%240 = tail call i32 (...) @abort()
unreachable
241: ; preds = %236
%242 = tail call i32 @_COM_CMPLE64u(i64 1, i64 2)
%243 = icmp eq i32 %242, 1
br i1 %243, label %244, label %250
244: ; preds = %241
%245 = tail call i32 @_COM_CMPLE64u(i64 2, i64 1)
%246 = icmp eq i32 %245, 0
br i1 %246, label %247, label %250
247: ; preds = %244
%248 = tail call i32 @_COM_CMPLE64u(i64 1, i64 1)
%249 = icmp eq i32 %248, 1
br i1 %249, label %252, label %250
250: ; preds = %247, %244, %241
%251 = tail call i32 (...) @abort()
unreachable
252: ; preds = %247
%253 = tail call i32 @_COM_CMPGE64s(i64 1, i64 2)
%254 = icmp eq i32 %253, 0
br i1 %254, label %255, label %261
255: ; preds = %252
%256 = tail call i32 @_COM_CMPGE64s(i64 2, i64 1)
%257 = icmp eq i32 %256, 1
br i1 %257, label %258, label %261
258: ; preds = %255
%259 = tail call i32 @_COM_CMPGE64s(i64 1, i64 1)
%260 = icmp eq i32 %259, 1
br i1 %260, label %263, label %261
261: ; preds = %258, %255, %252
%262 = tail call i32 (...) @abort()
unreachable
263: ; preds = %258
%264 = tail call i32 @_COM_CMPGE64u(i64 1, i64 2)
%265 = icmp eq i32 %264, 0
br i1 %265, label %266, label %272
266: ; preds = %263
%267 = tail call i32 @_COM_CMPGE64u(i64 2, i64 1)
%268 = icmp eq i32 %267, 1
br i1 %268, label %269, label %272
269: ; preds = %266
%270 = tail call i32 @_COM_CMPGE64u(i64 1, i64 1)
%271 = icmp eq i32 %270, 1
br i1 %271, label %274, label %272
272: ; preds = %269, %266, %263
%273 = tail call i32 (...) @abort()
unreachable
274: ; preds = %269
%275 = tail call i32 @_COM_CMPEQ64(i64 1, i64 2)
%276 = icmp eq i32 %275, 0
br i1 %276, label %277, label %283
277: ; preds = %274
%278 = tail call i32 @_COM_CMPEQ64(i64 2, i64 1)
%279 = icmp eq i32 %278, 0
br i1 %279, label %280, label %283
280: ; preds = %277
%281 = tail call i32 @_COM_CMPEQ64(i64 1, i64 1)
%282 = icmp eq i32 %281, 1
br i1 %282, label %285, label %283
283: ; preds = %280, %277, %274
%284 = tail call i32 (...) @abort()
unreachable
285: ; preds = %280
%286 = tail call i32 @_COM_CMPNE64(i64 1, i64 2)
%287 = icmp eq i32 %286, 1
br i1 %287, label %288, label %294
288: ; preds = %285
%289 = tail call i32 @_COM_CMPNE64(i64 2, i64 1)
%290 = icmp eq i32 %289, 1
br i1 %290, label %291, label %294
291: ; preds = %288
%292 = tail call i32 @_COM_CMPNE64(i64 1, i64 1)
%293 = icmp eq i32 %292, 0
br i1 %293, label %296, label %294
294: ; preds = %291, %288, %285
%295 = tail call i32 (...) @abort()
unreachable
296: ; preds = %291
%297 = tail call double @_COM_ADDd(double 1.000000e+00, double 2.000000e+00)
%298 = fcmp une double %297, 3.000000e+00
br i1 %298, label %299, label %301
299: ; preds = %296
%300 = tail call i32 (...) @abort()
unreachable
301: ; preds = %296
%302 = tail call double @_COM_SUBd(double 3.000000e+00, double 2.000000e+00)
%303 = fcmp une double %302, 1.000000e+00
br i1 %303, label %304, label %306
304: ; preds = %301
%305 = tail call i32 (...) @abort()
unreachable
306: ; preds = %301
%307 = tail call double @_COM_MULd(double 2.000000e+00, double 3.000000e+00)
%308 = fcmp une double %307, 6.000000e+00
br i1 %308, label %309, label %311
309: ; preds = %306
%310 = tail call i32 (...) @abort()
unreachable
311: ; preds = %306
%312 = tail call double @_COM_DIVd(double 6.000000e+00, double 2.000000e+00)
%313 = fcmp une double %312, 3.000000e+00
br i1 %313, label %314, label %316
314: ; preds = %311
%315 = tail call i32 (...) @abort()
unreachable
316: ; preds = %311
%317 = tail call i32 @_COM_CONVd32s(double -2.000000e+00)
%318 = icmp eq i32 %317, -2
br i1 %318, label %321, label %319
319: ; preds = %316
%320 = tail call i32 (...) @abort()
unreachable
321: ; preds = %316
%322 = tail call i32 @_COM_CONVd32u(double -2.000000e+00)
%323 = icmp eq i32 %322, -2
br i1 %323, label %326, label %324
324: ; preds = %321
%325 = tail call i32 (...) @abort()
unreachable
326: ; preds = %321
%327 = tail call double @_COM_CONV32sd(i32 -2)
%328 = fcmp une double %327, -2.000000e+00
br i1 %328, label %329, label %331
329: ; preds = %326
%330 = tail call i32 (...) @abort()
unreachable
331: ; preds = %326
%332 = tail call double @_COM_CONV32ud(i32 2)
%333 = fcmp une double %332, 2.000000e+00
br i1 %333, label %334, label %336
334: ; preds = %331
%335 = tail call i32 (...) @abort()
unreachable
336: ; preds = %331
%337 = tail call double @_COM_CONVfd(float 2.000000e+00)
%338 = fcmp une double %337, 2.000000e+00
br i1 %338, label %339, label %341
339: ; preds = %336
%340 = tail call i32 (...) @abort()
unreachable
341: ; preds = %336
%342 = tail call float @_COM_CONVdf(double 2.000000e+00)
%343 = fcmp une float %342, 2.000000e+00
br i1 %343, label %344, label %346
344: ; preds = %341
%345 = tail call i32 (...) @abort()
unreachable
346: ; preds = %341
%347 = tail call double @_COM_NEGd(double -2.000000e+00)
%348 = fcmp une double %347, 2.000000e+00
br i1 %348, label %349, label %351
349: ; preds = %346
%350 = tail call i32 (...) @abort()
unreachable
351: ; preds = %346
%352 = tail call i32 @_COM_CMPLTd(double 1.000000e+00, double 2.000000e+00)
%353 = icmp eq i32 %352, 1
br i1 %353, label %354, label %360
354: ; preds = %351
%355 = tail call i32 @_COM_CMPLTd(double 2.000000e+00, double 1.000000e+00)
%356 = icmp eq i32 %355, 0
br i1 %356, label %357, label %360
357: ; preds = %354
%358 = tail call i32 @_COM_CMPLTd(double 1.000000e+00, double 1.000000e+00)
%359 = icmp eq i32 %358, 0
br i1 %359, label %362, label %360
360: ; preds = %357, %354, %351
%361 = tail call i32 (...) @abort()
unreachable
362: ; preds = %357
%363 = tail call i32 @_COM_CMPGTd(double 1.000000e+00, double 2.000000e+00)
%364 = icmp eq i32 %363, 0
br i1 %364, label %365, label %371
365: ; preds = %362
%366 = tail call i32 @_COM_CMPGTd(double 2.000000e+00, double 1.000000e+00)
%367 = icmp eq i32 %366, 1
br i1 %367, label %368, label %371
368: ; preds = %365
%369 = tail call i32 @_COM_CMPGTd(double 1.000000e+00, double 1.000000e+00)
%370 = icmp eq i32 %369, 0
br i1 %370, label %373, label %371
371: ; preds = %368, %365, %362
%372 = tail call i32 (...) @abort()
unreachable
373: ; preds = %368
%374 = tail call i32 @_COM_CMPLEd(double 1.000000e+00, double 2.000000e+00)
%375 = icmp eq i32 %374, 1
br i1 %375, label %376, label %382
376: ; preds = %373
%377 = tail call i32 @_COM_CMPLEd(double 2.000000e+00, double 1.000000e+00)
%378 = icmp eq i32 %377, 0
br i1 %378, label %379, label %382
379: ; preds = %376
%380 = tail call i32 @_COM_CMPLEd(double 1.000000e+00, double 1.000000e+00)
%381 = icmp eq i32 %380, 1
br i1 %381, label %384, label %382
382: ; preds = %379, %376, %373
%383 = tail call i32 (...) @abort()
unreachable
384: ; preds = %379
%385 = tail call i32 @_COM_CMPGEd(double 1.000000e+00, double 2.000000e+00)
%386 = icmp eq i32 %385, 0
br i1 %386, label %387, label %393
387: ; preds = %384
%388 = tail call i32 @_COM_CMPGEd(double 2.000000e+00, double 1.000000e+00)
%389 = icmp eq i32 %388, 1
br i1 %389, label %390, label %393
390: ; preds = %387
%391 = tail call i32 @_COM_CMPGEd(double 1.000000e+00, double 1.000000e+00)
%392 = icmp eq i32 %391, 1
br i1 %392, label %395, label %393
393: ; preds = %390, %387, %384
%394 = tail call i32 (...) @abort()
unreachable
395: ; preds = %390
%396 = tail call i32 @_COM_CMPEQd(double 1.000000e+00, double 2.000000e+00)
%397 = icmp eq i32 %396, 0
br i1 %397, label %398, label %404
398: ; preds = %395
%399 = tail call i32 @_COM_CMPEQd(double 2.000000e+00, double 1.000000e+00)
%400 = icmp eq i32 %399, 0
br i1 %400, label %401, label %404
401: ; preds = %398
%402 = tail call i32 @_COM_CMPEQd(double 1.000000e+00, double 1.000000e+00)
%403 = icmp eq i32 %402, 1
br i1 %403, label %406, label %404
404: ; preds = %401, %398, %395
%405 = tail call i32 (...) @abort()
unreachable
406: ; preds = %401
%407 = tail call i32 @_COM_CMPNEd(double 1.000000e+00, double 2.000000e+00)
%408 = icmp eq i32 %407, 1
br i1 %408, label %409, label %415
409: ; preds = %406
%410 = tail call i32 @_COM_CMPNEd(double 2.000000e+00, double 1.000000e+00)
%411 = icmp eq i32 %410, 1
br i1 %411, label %412, label %415
412: ; preds = %409
%413 = tail call i32 @_COM_CMPNEd(double 1.000000e+00, double 1.000000e+00)
%414 = icmp eq i32 %413, 0
br i1 %414, label %417, label %415
415: ; preds = %412, %409, %406
%416 = tail call i32 (...) @abort()
unreachable
417: ; preds = %412
%418 = tail call i32 @exit(i32 0)
unreachable
}