main() {
  if (cmpz(1) != 1 || cmpz(0) != 0)
    return 1;
  if (and1(3, 2) != 1 || and1(0, 99) != 0)
    return 1;
  if (and2(15) != 1 || and2(16) != 0)
    return 1;
  if (and3(15) != 1 || and3(16) != 0)
    return 1;
  if (and4(15) != 1 || and4(16) != 0)
    return 1;
  if (and5(15) != 1 || and5(16) != 0)
    return 1;
  if (and6(15) != 1 || and6(16) != 0)
    return 1;
  if (or (1, 2) != 1 || or (0, 0) != 0)
    return 1;
  if (xor(1, 2) != 1 || xor(1, 1) != 0)
    return 1;
  if (add1(3, 4) != 1 || add1(2, -2) != 0)
    return 1;
  if (add2(5) != 1 || add2(-3) != 0)
    return 1;
  if (add3(5) != 1 || add3(-3) != 0)
    return 1;
  if (sub1(5, 3) != 1 || sub1(3, 3) != 0)
    return 1;
  if (sub2(5) != 1 || sub2(3) != 0)
    return 1;
  if (sub3(5) != 1 || sub3(3) != 0)
    return 1;
  if (mul(2, 3) != 1 || mul(3, 0) != 0)
    return 1;
  if (div(3, 2) != 1 || div(2, 3) != 0)
    return 1;
  if (slv(1, 3) != 1 || slv(0, 3) != 0)
    return 1;
  if (sl30(2) != 1 || sl30(16) != 0)
    return 1;
  if (sl31(1) != 1 || sl31(16) != 0)
    return 1;
  if (lsv(16, 2) != 1 || lsv(16, 5) != 0)
    return 1;
  if (ls30(0x40000000) != 1 || ls30(0x10000000) != 0)
    return 1;
  if (ls31(0x80000000) != 1 || ls31(0x10000000) != 0)
    return 1;
  if (asv(16, 2) != 1 || lsv(16, 5) != 0)
    return 1;
  if (as30(0x40000000) != 1 || as30(0x10000000) != 0)
    return 1;
  if (as31(0x80000000) != 1 || as31(0x10000000) != 0)
    return 1;
  if (not(0) != 1 || not(-1) != 0)
    return 1;
  if (neg(1) != 1 || neg(0) != 0)
    return 1;
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   11d0 <cmpz@plt>
cmp    $0x1,%eax
jne    12f6 <main+0x36>
xor    %edi,%edi
mov    $0x0,%al
call   11d0 <cmpz@plt>
cmp    $0x0,%eax
je     1302 <main+0x42>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x3,%edi
mov    $0x2,%esi
mov    $0x0,%al
call   1180 <and1@plt>
cmp    $0x1,%eax
jne    1333 <main+0x73>
xor    %edi,%edi
mov    $0x63,%esi
mov    $0x0,%al
call   1180 <and1@plt>
cmp    $0x0,%eax
je     133f <main+0x7f>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0xf,%edi
mov    $0x0,%al
call   1080 <and2@plt>
cmp    $0x1,%eax
jne    1369 <main+0xa9>
mov    $0x10,%edi
mov    $0x0,%al
call   1080 <and2@plt>
cmp    $0x0,%eax
je     1375 <main+0xb5>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0xf,%edi
mov    $0x0,%al
call   11a0 <and3@plt>
cmp    $0x1,%eax
jne    139f <main+0xdf>
mov    $0x10,%edi
mov    $0x0,%al
call   11a0 <and3@plt>
cmp    $0x0,%eax
je     13ab <main+0xeb>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0xf,%edi
mov    $0x0,%al
call   1070 <and4@plt>
cmp    $0x1,%eax
jne    13d5 <main+0x115>
mov    $0x10,%edi
mov    $0x0,%al
call   1070 <and4@plt>
cmp    $0x0,%eax
je     13e1 <main+0x121>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0xf,%edi
mov    $0x0,%al
call   1190 <and5@plt>
cmp    $0x1,%eax
jne    140b <main+0x14b>
mov    $0x10,%edi
mov    $0x0,%al
call   1190 <and5@plt>
cmp    $0x0,%eax
je     1417 <main+0x157>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0xf,%edi
mov    $0x0,%al
call   1060 <and6@plt>
cmp    $0x1,%eax
jne    1441 <main+0x181>
mov    $0x10,%edi
mov    $0x0,%al
call   1060 <and6@plt>
cmp    $0x0,%eax
je     144d <main+0x18d>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x0,%al
call   1130 <or@plt>
cmp    $0x1,%eax
jne    147b <main+0x1bb>
xor    %esi,%esi
mov    %esi,%edi
mov    $0x0,%al
call   1130 <or@plt>
cmp    $0x0,%eax
je     1487 <main+0x1c7>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x1,%edi
mov    $0x2,%esi
mov    $0x0,%al
call   1110 <xor@plt>
cmp    $0x1,%eax
jne    14b8 <main+0x1f8>
mov    $0x1,%esi
mov    %esi,%edi
mov    $0x0,%al
call   1110 <xor@plt>
cmp    $0x0,%eax
je     14c4 <main+0x204>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x3,%edi
mov    $0x4,%esi
mov    $0x0,%al
call   10d0 <add1@plt>
cmp    $0x1,%eax
jne    14f8 <main+0x238>
mov    $0x2,%edi
mov    $0xfffffffe,%esi
mov    $0x0,%al
call   10d0 <add1@plt>
cmp    $0x0,%eax
je     1504 <main+0x244>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x5,%edi
mov    $0x0,%al
call   11e0 <add2@plt>
cmp    $0x1,%eax
jne    152e <main+0x26e>
mov    $0xfffffffd,%edi
mov    $0x0,%al
call   11e0 <add2@plt>
cmp    $0x0,%eax
je     153a <main+0x27a>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x5,%edi
mov    $0x0,%al
call   10c0 <add3@plt>
cmp    $0x1,%eax
jne    1564 <main+0x2a4>
mov    $0xfffffffd,%edi
mov    $0x0,%al
call   10c0 <add3@plt>
cmp    $0x0,%eax
je     1570 <main+0x2b0>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x5,%edi
mov    $0x3,%esi
mov    $0x0,%al
call   10f0 <sub1@plt>
cmp    $0x1,%eax
jne    15a1 <main+0x2e1>
mov    $0x3,%esi
mov    %esi,%edi
mov    $0x0,%al
call   10f0 <sub1@plt>
cmp    $0x0,%eax
je     15ad <main+0x2ed>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x5,%edi
mov    $0x0,%al
call   1030 <sub2@plt>
cmp    $0x1,%eax
jne    15d7 <main+0x317>
mov    $0x3,%edi
mov    $0x0,%al
call   1030 <sub2@plt>
cmp    $0x0,%eax
je     15e3 <main+0x323>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x5,%edi
mov    $0x0,%al
call   10e0 <sub3@plt>
cmp    $0x1,%eax
jne    160d <main+0x34d>
mov    $0x3,%edi
mov    $0x0,%al
call   10e0 <sub3@plt>
cmp    $0x0,%eax
je     1619 <main+0x359>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x2,%edi
mov    $0x3,%esi
mov    $0x0,%al
call   1160 <mul@plt>
cmp    $0x1,%eax
jne    164a <main+0x38a>
mov    $0x3,%edi
xor    %esi,%esi
mov    $0x0,%al
call   1160 <mul@plt>
cmp    $0x0,%eax
je     1656 <main+0x396>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x3,%edi
mov    $0x2,%esi
mov    $0x0,%al
call   1100 <div@plt>
cmp    $0x1,%eax
jne    168a <main+0x3ca>
mov    $0x2,%edi
mov    $0x3,%esi
mov    $0x0,%al
call   1100 <div@plt>
cmp    $0x0,%eax
je     1696 <main+0x3d6>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x1,%edi
mov    $0x3,%esi
mov    $0x0,%al
call   1120 <slv@plt>
cmp    $0x1,%eax
jne    16c7 <main+0x407>
xor    %edi,%edi
mov    $0x3,%esi
mov    $0x0,%al
call   1120 <slv@plt>
cmp    $0x0,%eax
je     16d3 <main+0x413>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x2,%edi
mov    $0x0,%al
call   1150 <sl30@plt>
cmp    $0x1,%eax
jne    16fd <main+0x43d>
mov    $0x10,%edi
mov    $0x0,%al
call   1150 <sl30@plt>
cmp    $0x0,%eax
je     1709 <main+0x449>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <sl31@plt>
cmp    $0x1,%eax
jne    1733 <main+0x473>
mov    $0x10,%edi
mov    $0x0,%al
call   1050 <sl31@plt>
cmp    $0x0,%eax
je     173f <main+0x47f>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x10,%edi
mov    $0x2,%esi
mov    $0x0,%al
call   11b0 <lsv@plt>
cmp    $0x1,%eax
jne    1773 <main+0x4b3>
mov    $0x10,%edi
mov    $0x5,%esi
mov    $0x0,%al
call   11b0 <lsv@plt>
cmp    $0x0,%eax
je     177f <main+0x4bf>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x40000000,%edi
mov    $0x0,%al
call   1090 <ls30@plt>
cmp    $0x1,%eax
jne    17a9 <main+0x4e9>
mov    $0x10000000,%edi
mov    $0x0,%al
call   1090 <ls30@plt>
cmp    $0x0,%eax
je     17b5 <main+0x4f5>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x80000000,%edi
mov    $0x0,%al
call   1170 <ls31@plt>
cmp    $0x1,%eax
jne    17df <main+0x51f>
mov    $0x10000000,%edi
mov    $0x0,%al
call   1170 <ls31@plt>
cmp    $0x0,%eax
je     17eb <main+0x52b>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x10,%edi
mov    $0x2,%esi
mov    $0x0,%al
call   1140 <asv@plt>
cmp    $0x1,%eax
jne    181f <main+0x55f>
mov    $0x10,%edi
mov    $0x5,%esi
mov    $0x0,%al
call   11b0 <lsv@plt>
cmp    $0x0,%eax
je     182b <main+0x56b>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x40000000,%edi
mov    $0x0,%al
call   11c0 <as30@plt>
cmp    $0x1,%eax
jne    1855 <main+0x595>
mov    $0x10000000,%edi
mov    $0x0,%al
call   11c0 <as30@plt>
cmp    $0x0,%eax
je     1861 <main+0x5a1>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x80000000,%edi
mov    $0x0,%al
call   10a0 <as31@plt>
cmp    $0x1,%eax
jne    188b <main+0x5cb>
mov    $0x10000000,%edi
mov    $0x0,%al
call   10a0 <as31@plt>
cmp    $0x0,%eax
je     1897 <main+0x5d7>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
xor    %edi,%edi
mov    $0x0,%al
call   10b0 <not@plt>
cmp    $0x1,%eax
jne    18be <main+0x5fe>
mov    $0xffffffff,%edi
mov    $0x0,%al
call   10b0 <not@plt>
cmp    $0x0,%eax
je     18ca <main+0x60a>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
mov    $0x1,%edi
mov    $0x0,%al
call   1040 <neg@plt>
cmp    $0x1,%eax
jne    18f1 <main+0x631>
xor    %edi,%edi
mov    $0x0,%al
call   1040 <neg@plt>
cmp    $0x0,%eax
je     18fd <main+0x63d>
movl   $0x1,-0x4(%rbp)
jmp    1904 <main+0x644>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbx
mov    $0x1,%ebx
mov    $0x1,%edi
xor    %eax,%eax
call   11d0 <cmpz@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
xor    %edi,%edi
xor    %eax,%eax
call   11d0 <cmpz@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x3,%edi
mov    $0x2,%esi
xor    %eax,%eax
call   1180 <and1@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
xor    %edi,%edi
mov    $0x63,%esi
xor    %eax,%eax
call   1180 <and1@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0xf,%edi
xor    %eax,%eax
call   1080 <and2@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
xor    %eax,%eax
call   1080 <and2@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0xf,%edi
xor    %eax,%eax
call   11a0 <and3@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
xor    %eax,%eax
call   11a0 <and3@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0xf,%edi
xor    %eax,%eax
call   1070 <and4@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
xor    %eax,%eax
call   1070 <and4@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0xf,%edi
xor    %eax,%eax
call   1190 <and5@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
xor    %eax,%eax
call   1190 <and5@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0xf,%edi
xor    %eax,%eax
call   1060 <and6@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
xor    %eax,%eax
call   1060 <and6@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x1,%ebx
mov    $0x1,%edi
mov    $0x2,%esi
xor    %eax,%eax
call   1130 <or@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
xor    %edi,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1130 <or@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x1,%ebx
mov    $0x1,%edi
mov    $0x2,%esi
xor    %eax,%eax
call   1110 <xor@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x1,%ebx
mov    $0x1,%edi
mov    $0x1,%esi
xor    %eax,%eax
call   1110 <xor@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x3,%edi
mov    $0x4,%esi
xor    %eax,%eax
call   10d0 <add1@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x2,%edi
mov    $0xfffffffe,%esi
xor    %eax,%eax
call   10d0 <add1@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x5,%edi
xor    %eax,%eax
call   11e0 <add2@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0xfffffffd,%edi
xor    %eax,%eax
call   11e0 <add2@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x5,%edi
xor    %eax,%eax
call   10c0 <add3@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0xfffffffd,%edi
xor    %eax,%eax
call   10c0 <add3@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x5,%edi
mov    $0x3,%esi
xor    %eax,%eax
call   10f0 <sub1@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x3,%edi
mov    $0x3,%esi
xor    %eax,%eax
call   10f0 <sub1@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x5,%edi
xor    %eax,%eax
call   1030 <sub2@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x3,%edi
xor    %eax,%eax
call   1030 <sub2@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x5,%edi
xor    %eax,%eax
call   10e0 <sub3@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x3,%edi
xor    %eax,%eax
call   10e0 <sub3@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x2,%edi
mov    $0x3,%esi
xor    %eax,%eax
call   1160 <mul@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x3,%edi
xor    %esi,%esi
xor    %eax,%eax
call   1160 <mul@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x3,%edi
mov    $0x2,%esi
xor    %eax,%eax
call   1100 <div@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x2,%edi
mov    $0x3,%esi
xor    %eax,%eax
call   1100 <div@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x1,%ebx
mov    $0x1,%edi
mov    $0x3,%esi
xor    %eax,%eax
call   1120 <slv@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
xor    %edi,%edi
mov    $0x3,%esi
xor    %eax,%eax
call   1120 <slv@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x2,%edi
xor    %eax,%eax
call   1150 <sl30@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
xor    %eax,%eax
call   1150 <sl30@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x1,%ebx
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <sl31@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
xor    %eax,%eax
call   1050 <sl31@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
mov    $0x2,%esi
xor    %eax,%eax
call   11b0 <lsv@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
mov    $0x5,%esi
xor    %eax,%eax
call   11b0 <lsv@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x40000000,%edi
xor    %eax,%eax
call   1090 <ls30@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10000000,%edi
xor    %eax,%eax
call   1090 <ls30@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x80000000,%edi
xor    %eax,%eax
call   1170 <ls31@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10000000,%edi
xor    %eax,%eax
call   1170 <ls31@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
mov    $0x2,%esi
xor    %eax,%eax
call   1140 <asv@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10,%edi
mov    $0x5,%esi
xor    %eax,%eax
call   11b0 <lsv@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x40000000,%edi
xor    %eax,%eax
call   11c0 <as30@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10000000,%edi
xor    %eax,%eax
call   11c0 <as30@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x80000000,%edi
xor    %eax,%eax
call   10a0 <as31@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0x10000000,%edi
xor    %eax,%eax
call   10a0 <as31@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
xor    %edi,%edi
xor    %eax,%eax
call   10b0 <not@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
mov    $0xffffffff,%edi
xor    %eax,%eax
call   10b0 <not@plt>
test   %eax,%eax
jne    178f <main+0x4cf>
mov    $0x1,%ebx
mov    $0x1,%edi
xor    %eax,%eax
call   1040 <neg@plt>
cmp    $0x1,%eax
jne    178f <main+0x4cf>
xor    %edi,%edi
xor    %eax,%eax
call   1040 <neg@plt>
xor    %ebx,%ebx
test   %eax,%eax
setne  %bl
mov    %ebx,%eax
pop    %rbx
ret

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
store i32 0, i32* %1
%2 = call i32 (i32, ...) bitcast (i32 (...)* @cmpz to i32 (i32, ...)*)(i32 1)
%3 = icmp ne i32 %2, 1
br i1 %3, label %7, label %4
4: ; preds = %0
%5 = call i32 (i32, ...) bitcast (i32 (...)* @cmpz to i32 (i32, ...)*)(i32 0)
%6 = icmp ne i32 %5, 0
br i1 %6, label %7, label %8
7: ; preds = %4, %0
store i32 1, i32* %1
br label %198
8: ; preds = %4
%9 = call i32 (i32, i32, ...) bitcast (i32 (...)* @and1 to i32 (i32, i32, ...)*)(i32 3, i32 2)
%10 = icmp ne i32 %9, 1
br i1 %10, label %14, label %11
11: ; preds = %8
%12 = call i32 (i32, i32, ...) bitcast (i32 (...)* @and1 to i32 (i32, i32, ...)*)(i32 0, i32 99)
%13 = icmp ne i32 %12, 0
br i1 %13, label %14, label %15
14: ; preds = %11, %8
store i32 1, i32* %1
br label %198
15: ; preds = %11
%16 = call i32 (i32, ...) bitcast (i32 (...)* @and2 to i32 (i32, ...)*)(i32 15)
%17 = icmp ne i32 %16, 1
br i1 %17, label %21, label %18
18: ; preds = %15
%19 = call i32 (i32, ...) bitcast (i32 (...)* @and2 to i32 (i32, ...)*)(i32 16)
%20 = icmp ne i32 %19, 0
br i1 %20, label %21, label %22
21: ; preds = %18, %15
store i32 1, i32* %1
br label %198
22: ; preds = %18
%23 = call i32 (i32, ...) bitcast (i32 (...)* @and3 to i32 (i32, ...)*)(i32 15)
%24 = icmp ne i32 %23, 1
br i1 %24, label %28, label %25
25: ; preds = %22
%26 = call i32 (i32, ...) bitcast (i32 (...)* @and3 to i32 (i32, ...)*)(i32 16)
%27 = icmp ne i32 %26, 0
br i1 %27, label %28, label %29
28: ; preds = %25, %22
store i32 1, i32* %1
br label %198
29: ; preds = %25
%30 = call i32 (i32, ...) bitcast (i32 (...)* @and4 to i32 (i32, ...)*)(i32 15)
%31 = icmp ne i32 %30, 1
br i1 %31, label %35, label %32
32: ; preds = %29
%33 = call i32 (i32, ...) bitcast (i32 (...)* @and4 to i32 (i32, ...)*)(i32 16)
%34 = icmp ne i32 %33, 0
br i1 %34, label %35, label %36
35: ; preds = %32, %29
store i32 1, i32* %1
br label %198
36: ; preds = %32
%37 = call i32 (i32, ...) bitcast (i32 (...)* @and5 to i32 (i32, ...)*)(i32 15)
%38 = icmp ne i32 %37, 1
br i1 %38, label %42, label %39
39: ; preds = %36
%40 = call i32 (i32, ...) bitcast (i32 (...)* @and5 to i32 (i32, ...)*)(i32 16)
%41 = icmp ne i32 %40, 0
br i1 %41, label %42, label %43
42: ; preds = %39, %36
store i32 1, i32* %1
br label %198
43: ; preds = %39
%44 = call i32 (i32, ...) bitcast (i32 (...)* @and6 to i32 (i32, ...)*)(i32 15)
%45 = icmp ne i32 %44, 1
br i1 %45, label %49, label %46
46: ; preds = %43
%47 = call i32 (i32, ...) bitcast (i32 (...)* @and6 to i32 (i32, ...)*)(i32 16)
%48 = icmp ne i32 %47, 0
br i1 %48, label %49, label %50
49: ; preds = %46, %43
store i32 1, i32* %1
br label %198
50: ; preds = %46
%51 = call i32 (i32, i32, ...) bitcast (i32 (...)* @or to i32 (i32, i32, ...)*)(i32 1, i32 2)
%52 = icmp ne i32 %51, 1
br i1 %52, label %56, label %53
53: ; preds = %50
%54 = call i32 (i32, i32, ...) bitcast (i32 (...)* @or to i32 (i32, i32, ...)*)(i32 0, i32 0)
%55 = icmp ne i32 %54, 0
br i1 %55, label %56, label %57
56: ; preds = %53, %50
store i32 1, i32* %1
br label %198
57: ; preds = %53
%58 = call i32 (i32, i32, ...) bitcast (i32 (...)* @xor to i32 (i32, i32, ...)*)(i32 1, i32 2)
%59 = icmp ne i32 %58, 1
br i1 %59, label %63, label %60
60: ; preds = %57
%61 = call i32 (i32, i32, ...) bitcast (i32 (...)* @xor to i32 (i32, i32, ...)*)(i32 1, i32 1)
%62 = icmp ne i32 %61, 0
br i1 %62, label %63, label %64
63: ; preds = %60, %57
store i32 1, i32* %1
br label %198
64: ; preds = %60
%65 = call i32 (i32, i32, ...) bitcast (i32 (...)* @add1 to i32 (i32, i32, ...)*)(i32 3, i32 4)
%66 = icmp ne i32 %65, 1
br i1 %66, label %70, label %67
67: ; preds = %64
%68 = call i32 (i32, i32, ...) bitcast (i32 (...)* @add1 to i32 (i32, i32, ...)*)(i32 2, i32 -2)
%69 = icmp ne i32 %68, 0
br i1 %69, label %70, label %71
70: ; preds = %67, %64
store i32 1, i32* %1
br label %198
71: ; preds = %67
%72 = call i32 (i32, ...) bitcast (i32 (...)* @add2 to i32 (i32, ...)*)(i32 5)
%73 = icmp ne i32 %72, 1
br i1 %73, label %77, label %74
74: ; preds = %71
%75 = call i32 (i32, ...) bitcast (i32 (...)* @add2 to i32 (i32, ...)*)(i32 -3)
%76 = icmp ne i32 %75, 0
br i1 %76, label %77, label %78
77: ; preds = %74, %71
store i32 1, i32* %1
br label %198
78: ; preds = %74
%79 = call i32 (i32, ...) bitcast (i32 (...)* @add3 to i32 (i32, ...)*)(i32 5)
%80 = icmp ne i32 %79, 1
br i1 %80, label %84, label %81
81: ; preds = %78
%82 = call i32 (i32, ...) bitcast (i32 (...)* @add3 to i32 (i32, ...)*)(i32 -3)
%83 = icmp ne i32 %82, 0
br i1 %83, label %84, label %85
84: ; preds = %81, %78
store i32 1, i32* %1
br label %198
85: ; preds = %81
%86 = call i32 (i32, i32, ...) bitcast (i32 (...)* @sub1 to i32 (i32, i32, ...)*)(i32 5, i32 3)
%87 = icmp ne i32 %86, 1
br i1 %87, label %91, label %88
88: ; preds = %85
%89 = call i32 (i32, i32, ...) bitcast (i32 (...)* @sub1 to i32 (i32, i32, ...)*)(i32 3, i32 3)
%90 = icmp ne i32 %89, 0
br i1 %90, label %91, label %92
91: ; preds = %88, %85
store i32 1, i32* %1
br label %198
92: ; preds = %88
%93 = call i32 (i32, ...) bitcast (i32 (...)* @sub2 to i32 (i32, ...)*)(i32 5)
%94 = icmp ne i32 %93, 1
br i1 %94, label %98, label %95
95: ; preds = %92
%96 = call i32 (i32, ...) bitcast (i32 (...)* @sub2 to i32 (i32, ...)*)(i32 3)
%97 = icmp ne i32 %96, 0
br i1 %97, label %98, label %99
98: ; preds = %95, %92
store i32 1, i32* %1
br label %198
99: ; preds = %95
%100 = call i32 (i32, ...) bitcast (i32 (...)* @sub3 to i32 (i32, ...)*)(i32 5)
%101 = icmp ne i32 %100, 1
br i1 %101, label %105, label %102
102: ; preds = %99
%103 = call i32 (i32, ...) bitcast (i32 (...)* @sub3 to i32 (i32, ...)*)(i32 3)
%104 = icmp ne i32 %103, 0
br i1 %104, label %105, label %106
105: ; preds = %102, %99
store i32 1, i32* %1
br label %198
106: ; preds = %102
%107 = call i32 (i32, i32, ...) bitcast (i32 (...)* @mul to i32 (i32, i32, ...)*)(i32 2, i32 3)
%108 = icmp ne i32 %107, 1
br i1 %108, label %112, label %109
109: ; preds = %106
%110 = call i32 (i32, i32, ...) bitcast (i32 (...)* @mul to i32 (i32, i32, ...)*)(i32 3, i32 0)
%111 = icmp ne i32 %110, 0
br i1 %111, label %112, label %113
112: ; preds = %109, %106
store i32 1, i32* %1
br label %198
113: ; preds = %109
%114 = call i32 (i32, i32, ...) bitcast (i32 (...)* @div to i32 (i32, i32, ...)*)(i32 3, i32 2)
%115 = icmp ne i32 %114, 1
br i1 %115, label %119, label %116
116: ; preds = %113
%117 = call i32 (i32, i32, ...) bitcast (i32 (...)* @div to i32 (i32, i32, ...)*)(i32 2, i32 3)
%118 = icmp ne i32 %117, 0
br i1 %118, label %119, label %120
119: ; preds = %116, %113
store i32 1, i32* %1
br label %198
120: ; preds = %116
%121 = call i32 (i32, i32, ...) bitcast (i32 (...)* @slv to i32 (i32, i32, ...)*)(i32 1, i32 3)
%122 = icmp ne i32 %121, 1
br i1 %122, label %126, label %123
123: ; preds = %120
%124 = call i32 (i32, i32, ...) bitcast (i32 (...)* @slv to i32 (i32, i32, ...)*)(i32 0, i32 3)
%125 = icmp ne i32 %124, 0
br i1 %125, label %126, label %127
126: ; preds = %123, %120
store i32 1, i32* %1
br label %198
127: ; preds = %123
%128 = call i32 (i32, ...) bitcast (i32 (...)* @sl30 to i32 (i32, ...)*)(i32 2)
%129 = icmp ne i32 %128, 1
br i1 %129, label %133, label %130
130: ; preds = %127
%131 = call i32 (i32, ...) bitcast (i32 (...)* @sl30 to i32 (i32, ...)*)(i32 16)
%132 = icmp ne i32 %131, 0
br i1 %132, label %133, label %134
133: ; preds = %130, %127
store i32 1, i32* %1
br label %198
134: ; preds = %130
%135 = call i32 (i32, ...) bitcast (i32 (...)* @sl31 to i32 (i32, ...)*)(i32 1)
%136 = icmp ne i32 %135, 1
br i1 %136, label %140, label %137
137: ; preds = %134
%138 = call i32 (i32, ...) bitcast (i32 (...)* @sl31 to i32 (i32, ...)*)(i32 16)
%139 = icmp ne i32 %138, 0
br i1 %139, label %140, label %141
140: ; preds = %137, %134
store i32 1, i32* %1
br label %198
141: ; preds = %137
%142 = call i32 (i32, i32, ...) bitcast (i32 (...)* @lsv to i32 (i32, i32, ...)*)(i32 16, i32 2)
%143 = icmp ne i32 %142, 1
br i1 %143, label %147, label %144
144: ; preds = %141
%145 = call i32 (i32, i32, ...) bitcast (i32 (...)* @lsv to i32 (i32, i32, ...)*)(i32 16, i32 5)
%146 = icmp ne i32 %145, 0
br i1 %146, label %147, label %148
147: ; preds = %144, %141
store i32 1, i32* %1
br label %198
148: ; preds = %144
%149 = call i32 (i32, ...) bitcast (i32 (...)* @ls30 to i32 (i32, ...)*)(i32 1073741824)
%150 = icmp ne i32 %149, 1
br i1 %150, label %154, label %151
151: ; preds = %148
%152 = call i32 (i32, ...) bitcast (i32 (...)* @ls30 to i32 (i32, ...)*)(i32 268435456)
%153 = icmp ne i32 %152, 0
br i1 %153, label %154, label %155
154: ; preds = %151, %148
store i32 1, i32* %1
br label %198
155: ; preds = %151
%156 = call i32 (i32, ...) bitcast (i32 (...)* @ls31 to i32 (i32, ...)*)(i32 -2147483648)
%157 = icmp ne i32 %156, 1
br i1 %157, label %161, label %158
158: ; preds = %155
%159 = call i32 (i32, ...) bitcast (i32 (...)* @ls31 to i32 (i32, ...)*)(i32 268435456)
%160 = icmp ne i32 %159, 0
br i1 %160, label %161, label %162
161: ; preds = %158, %155
store i32 1, i32* %1
br label %198
162: ; preds = %158
%163 = call i32 (i32, i32, ...) bitcast (i32 (...)* @asv to i32 (i32, i32, ...)*)(i32 16, i32 2)
%164 = icmp ne i32 %163, 1
br i1 %164, label %168, label %165
165: ; preds = %162
%166 = call i32 (i32, i32, ...) bitcast (i32 (...)* @lsv to i32 (i32, i32, ...)*)(i32 16, i32 5)
%167 = icmp ne i32 %166, 0
br i1 %167, label %168, label %169
168: ; preds = %165, %162
store i32 1, i32* %1
br label %198
169: ; preds = %165
%170 = call i32 (i32, ...) bitcast (i32 (...)* @as30 to i32 (i32, ...)*)(i32 1073741824)
%171 = icmp ne i32 %170, 1
br i1 %171, label %175, label %172
172: ; preds = %169
%173 = call i32 (i32, ...) bitcast (i32 (...)* @as30 to i32 (i32, ...)*)(i32 268435456)
%174 = icmp ne i32 %173, 0
br i1 %174, label %175, label %176
175: ; preds = %172, %169
store i32 1, i32* %1
br label %198
176: ; preds = %172
%177 = call i32 (i32, ...) bitcast (i32 (...)* @as31 to i32 (i32, ...)*)(i32 -2147483648)
%178 = icmp ne i32 %177, 1
br i1 %178, label %182, label %179
179: ; preds = %176
%180 = call i32 (i32, ...) bitcast (i32 (...)* @as31 to i32 (i32, ...)*)(i32 268435456)
%181 = icmp ne i32 %180, 0
br i1 %181, label %182, label %183
182: ; preds = %179, %176
store i32 1, i32* %1
br label %198
183: ; preds = %179
%184 = call i32 (i32, ...) bitcast (i32 (...)* @not to i32 (i32, ...)*)(i32 0)
%185 = icmp ne i32 %184, 1
br i1 %185, label %189, label %186
186: ; preds = %183
%187 = call i32 (i32, ...) bitcast (i32 (...)* @not to i32 (i32, ...)*)(i32 -1)
%188 = icmp ne i32 %187, 0
br i1 %188, label %189, label %190
189: ; preds = %186, %183
store i32 1, i32* %1
br label %198
190: ; preds = %186
%191 = call i32 (i32, ...) bitcast (i32 (...)* @neg to i32 (i32, ...)*)(i32 1)
%192 = icmp ne i32 %191, 1
br i1 %192, label %196, label %193
193: ; preds = %190
%194 = call i32 (i32, ...) bitcast (i32 (...)* @neg to i32 (i32, ...)*)(i32 0)
%195 = icmp ne i32 %194, 0
br i1 %195, label %196, label %197
196: ; preds = %193, %190
store i32 1, i32* %1
br label %198
197: ; preds = %193
store i32 0, i32* %1
br label %198
198: ; preds = %197, %196, %189, %182, %175, %168, %161, %154, %147, %140, %133, %126, %119, %112, %105, %98, %91, %84, %77, %70, %63, %56, %49, %42, %35, %28, %21, %14, %7
%199 = load i32, i32* %1
ret i32 %199
}

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 (i32, ...) bitcast (i32 (...)* @cmpz to i32 (i32, ...)*)(i32 1)
%2 = icmp eq i32 %1, 1
br i1 %2, label %3, label %169
3: ; preds = %0
%4 = tail call i32 (i32, ...) bitcast (i32 (...)* @cmpz to i32 (i32, ...)*)(i32 0)
%5 = icmp eq i32 %4, 0
br i1 %5, label %6, label %169
6: ; preds = %3
%7 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @and1 to i32 (i32, i32, ...)*)(i32 3, i32 2)
%8 = icmp eq i32 %7, 1
br i1 %8, label %9, label %169
9: ; preds = %6
%10 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @and1 to i32 (i32, i32, ...)*)(i32 0, i32 99)
%11 = icmp eq i32 %10, 0
br i1 %11, label %12, label %169
12: ; preds = %9
%13 = tail call i32 (i32, ...) bitcast (i32 (...)* @and2 to i32 (i32, ...)*)(i32 15)
%14 = icmp eq i32 %13, 1
br i1 %14, label %15, label %169
15: ; preds = %12
%16 = tail call i32 (i32, ...) bitcast (i32 (...)* @and2 to i32 (i32, ...)*)(i32 16)
%17 = icmp eq i32 %16, 0
br i1 %17, label %18, label %169
18: ; preds = %15
%19 = tail call i32 (i32, ...) bitcast (i32 (...)* @and3 to i32 (i32, ...)*)(i32 15)
%20 = icmp eq i32 %19, 1
br i1 %20, label %21, label %169
21: ; preds = %18
%22 = tail call i32 (i32, ...) bitcast (i32 (...)* @and3 to i32 (i32, ...)*)(i32 16)
%23 = icmp eq i32 %22, 0
br i1 %23, label %24, label %169
24: ; preds = %21
%25 = tail call i32 (i32, ...) bitcast (i32 (...)* @and4 to i32 (i32, ...)*)(i32 15)
%26 = icmp eq i32 %25, 1
br i1 %26, label %27, label %169
27: ; preds = %24
%28 = tail call i32 (i32, ...) bitcast (i32 (...)* @and4 to i32 (i32, ...)*)(i32 16)
%29 = icmp eq i32 %28, 0
br i1 %29, label %30, label %169
30: ; preds = %27
%31 = tail call i32 (i32, ...) bitcast (i32 (...)* @and5 to i32 (i32, ...)*)(i32 15)
%32 = icmp eq i32 %31, 1
br i1 %32, label %33, label %169
33: ; preds = %30
%34 = tail call i32 (i32, ...) bitcast (i32 (...)* @and5 to i32 (i32, ...)*)(i32 16)
%35 = icmp eq i32 %34, 0
br i1 %35, label %36, label %169
36: ; preds = %33
%37 = tail call i32 (i32, ...) bitcast (i32 (...)* @and6 to i32 (i32, ...)*)(i32 15)
%38 = icmp eq i32 %37, 1
br i1 %38, label %39, label %169
39: ; preds = %36
%40 = tail call i32 (i32, ...) bitcast (i32 (...)* @and6 to i32 (i32, ...)*)(i32 16)
%41 = icmp eq i32 %40, 0
br i1 %41, label %42, label %169
42: ; preds = %39
%43 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @or to i32 (i32, i32, ...)*)(i32 1, i32 2)
%44 = icmp eq i32 %43, 1
br i1 %44, label %45, label %169
45: ; preds = %42
%46 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @or to i32 (i32, i32, ...)*)(i32 0, i32 0)
%47 = icmp eq i32 %46, 0
br i1 %47, label %48, label %169
48: ; preds = %45
%49 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @xor to i32 (i32, i32, ...)*)(i32 1, i32 2)
%50 = icmp eq i32 %49, 1
br i1 %50, label %51, label %169
51: ; preds = %48
%52 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @xor to i32 (i32, i32, ...)*)(i32 1, i32 1)
%53 = icmp eq i32 %52, 0
br i1 %53, label %54, label %169
54: ; preds = %51
%55 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @add1 to i32 (i32, i32, ...)*)(i32 3, i32 4)
%56 = icmp eq i32 %55, 1
br i1 %56, label %57, label %169
57: ; preds = %54
%58 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @add1 to i32 (i32, i32, ...)*)(i32 2, i32 -2)
%59 = icmp eq i32 %58, 0
br i1 %59, label %60, label %169
60: ; preds = %57
%61 = tail call i32 (i32, ...) bitcast (i32 (...)* @add2 to i32 (i32, ...)*)(i32 5)
%62 = icmp eq i32 %61, 1
br i1 %62, label %63, label %169
63: ; preds = %60
%64 = tail call i32 (i32, ...) bitcast (i32 (...)* @add2 to i32 (i32, ...)*)(i32 -3)
%65 = icmp eq i32 %64, 0
br i1 %65, label %66, label %169
66: ; preds = %63
%67 = tail call i32 (i32, ...) bitcast (i32 (...)* @add3 to i32 (i32, ...)*)(i32 5)
%68 = icmp eq i32 %67, 1
br i1 %68, label %69, label %169
69: ; preds = %66
%70 = tail call i32 (i32, ...) bitcast (i32 (...)* @add3 to i32 (i32, ...)*)(i32 -3)
%71 = icmp eq i32 %70, 0
br i1 %71, label %72, label %169
72: ; preds = %69
%73 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @sub1 to i32 (i32, i32, ...)*)(i32 5, i32 3)
%74 = icmp eq i32 %73, 1
br i1 %74, label %75, label %169
75: ; preds = %72
%76 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @sub1 to i32 (i32, i32, ...)*)(i32 3, i32 3)
%77 = icmp eq i32 %76, 0
br i1 %77, label %78, label %169
78: ; preds = %75
%79 = tail call i32 (i32, ...) bitcast (i32 (...)* @sub2 to i32 (i32, ...)*)(i32 5)
%80 = icmp eq i32 %79, 1
br i1 %80, label %81, label %169
81: ; preds = %78
%82 = tail call i32 (i32, ...) bitcast (i32 (...)* @sub2 to i32 (i32, ...)*)(i32 3)
%83 = icmp eq i32 %82, 0
br i1 %83, label %84, label %169
84: ; preds = %81
%85 = tail call i32 (i32, ...) bitcast (i32 (...)* @sub3 to i32 (i32, ...)*)(i32 5)
%86 = icmp eq i32 %85, 1
br i1 %86, label %87, label %169
87: ; preds = %84
%88 = tail call i32 (i32, ...) bitcast (i32 (...)* @sub3 to i32 (i32, ...)*)(i32 3)
%89 = icmp eq i32 %88, 0
br i1 %89, label %90, label %169
90: ; preds = %87
%91 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @mul to i32 (i32, i32, ...)*)(i32 2, i32 3)
%92 = icmp eq i32 %91, 1
br i1 %92, label %93, label %169
93: ; preds = %90
%94 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @mul to i32 (i32, i32, ...)*)(i32 3, i32 0)
%95 = icmp eq i32 %94, 0
br i1 %95, label %96, label %169
96: ; preds = %93
%97 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @div to i32 (i32, i32, ...)*)(i32 3, i32 2)
%98 = icmp eq i32 %97, 1
br i1 %98, label %99, label %169
99: ; preds = %96
%100 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @div to i32 (i32, i32, ...)*)(i32 2, i32 3)
%101 = icmp eq i32 %100, 0
br i1 %101, label %102, label %169
102: ; preds = %99
%103 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @slv to i32 (i32, i32, ...)*)(i32 1, i32 3)
%104 = icmp eq i32 %103, 1
br i1 %104, label %105, label %169
105: ; preds = %102
%106 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @slv to i32 (i32, i32, ...)*)(i32 0, i32 3)
%107 = icmp eq i32 %106, 0
br i1 %107, label %108, label %169
108: ; preds = %105
%109 = tail call i32 (i32, ...) bitcast (i32 (...)* @sl30 to i32 (i32, ...)*)(i32 2)
%110 = icmp eq i32 %109, 1
br i1 %110, label %111, label %169
111: ; preds = %108
%112 = tail call i32 (i32, ...) bitcast (i32 (...)* @sl30 to i32 (i32, ...)*)(i32 16)
%113 = icmp eq i32 %112, 0
br i1 %113, label %114, label %169
114: ; preds = %111
%115 = tail call i32 (i32, ...) bitcast (i32 (...)* @sl31 to i32 (i32, ...)*)(i32 1)
%116 = icmp eq i32 %115, 1
br i1 %116, label %117, label %169
117: ; preds = %114
%118 = tail call i32 (i32, ...) bitcast (i32 (...)* @sl31 to i32 (i32, ...)*)(i32 16)
%119 = icmp eq i32 %118, 0
br i1 %119, label %120, label %169
120: ; preds = %117
%121 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @lsv to i32 (i32, i32, ...)*)(i32 16, i32 2)
%122 = icmp eq i32 %121, 1
br i1 %122, label %123, label %169
123: ; preds = %120
%124 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @lsv to i32 (i32, i32, ...)*)(i32 16, i32 5)
%125 = icmp eq i32 %124, 0
br i1 %125, label %126, label %169
126: ; preds = %123
%127 = tail call i32 (i32, ...) bitcast (i32 (...)* @ls30 to i32 (i32, ...)*)(i32 1073741824)
%128 = icmp eq i32 %127, 1
br i1 %128, label %129, label %169
129: ; preds = %126
%130 = tail call i32 (i32, ...) bitcast (i32 (...)* @ls30 to i32 (i32, ...)*)(i32 268435456)
%131 = icmp eq i32 %130, 0
br i1 %131, label %132, label %169
132: ; preds = %129
%133 = tail call i32 (i32, ...) bitcast (i32 (...)* @ls31 to i32 (i32, ...)*)(i32 -2147483648)
%134 = icmp eq i32 %133, 1
br i1 %134, label %135, label %169
135: ; preds = %132
%136 = tail call i32 (i32, ...) bitcast (i32 (...)* @ls31 to i32 (i32, ...)*)(i32 268435456)
%137 = icmp eq i32 %136, 0
br i1 %137, label %138, label %169
138: ; preds = %135
%139 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @asv to i32 (i32, i32, ...)*)(i32 16, i32 2)
%140 = icmp eq i32 %139, 1
br i1 %140, label %141, label %169
141: ; preds = %138
%142 = tail call i32 (i32, i32, ...) bitcast (i32 (...)* @lsv to i32 (i32, i32, ...)*)(i32 16, i32 5)
%143 = icmp eq i32 %142, 0
br i1 %143, label %144, label %169
144: ; preds = %141
%145 = tail call i32 (i32, ...) bitcast (i32 (...)* @as30 to i32 (i32, ...)*)(i32 1073741824)
%146 = icmp eq i32 %145, 1
br i1 %146, label %147, label %169
147: ; preds = %144
%148 = tail call i32 (i32, ...) bitcast (i32 (...)* @as30 to i32 (i32, ...)*)(i32 268435456)
%149 = icmp eq i32 %148, 0
br i1 %149, label %150, label %169
150: ; preds = %147
%151 = tail call i32 (i32, ...) bitcast (i32 (...)* @as31 to i32 (i32, ...)*)(i32 -2147483648)
%152 = icmp eq i32 %151, 1
br i1 %152, label %153, label %169
153: ; preds = %150
%154 = tail call i32 (i32, ...) bitcast (i32 (...)* @as31 to i32 (i32, ...)*)(i32 268435456)
%155 = icmp eq i32 %154, 0
br i1 %155, label %156, label %169
156: ; preds = %153
%157 = tail call i32 (i32, ...) bitcast (i32 (...)* @not to i32 (i32, ...)*)(i32 0)
%158 = icmp eq i32 %157, 1
br i1 %158, label %159, label %169
159: ; preds = %156
%160 = tail call i32 (i32, ...) bitcast (i32 (...)* @not to i32 (i32, ...)*)(i32 -1)
%161 = icmp eq i32 %160, 0
br i1 %161, label %162, label %169
162: ; preds = %159
%163 = tail call i32 (i32, ...) bitcast (i32 (...)* @neg to i32 (i32, ...)*)(i32 1)
%164 = icmp eq i32 %163, 1
br i1 %164, label %165, label %169
165: ; preds = %162
%166 = tail call i32 (i32, ...) bitcast (i32 (...)* @neg to i32 (i32, ...)*)(i32 0)
%167 = icmp ne i32 %166, 0
%168 = zext i1 %167 to i32
br label %169
169: ; preds = %165, %162, %156, %159, %150, %153, %144, %147, %138, %141, %132, %135, %126, %129, %120, %123, %114, %117, %108, %111, %102, %105, %96, %99, %90, %93, %84, %87, %78, %81, %72, %75, %66, %69, %60, %63, %54, %57, %48, %51, %42, %45, %36, %39, %30, %33, %24, %27, %18, %21, %12, %15, %6, %9, %0, %3
%170 = phi i32 [ 1, %3 ], [ 1, %0 ], [ 1, %9 ], [ 1, %6 ], [ 1, %15 ], [ 1, %12 ], [ 1, %21 ], [ 1, %18 ], [ 1, %27 ], [ 1, %24 ], [ 1, %33 ], [ 1, %30 ], [ 1, %39 ], [ 1, %36 ], [ 1, %45 ], [ 1, %42 ], [ 1, %51 ], [ 1, %48 ], [ 1, %57 ], [ 1, %54 ], [ 1, %63 ], [ 1, %60 ], [ 1, %69 ], [ 1, %66 ], [ 1, %75 ], [ 1, %72 ], [ 1, %81 ], [ 1, %78 ], [ 1, %87 ], [ 1, %84 ], [ 1, %93 ], [ 1, %90 ], [ 1, %99 ], [ 1, %96 ], [ 1, %105 ], [ 1, %102 ], [ 1, %111 ], [ 1, %108 ], [ 1, %117 ], [ 1, %114 ], [ 1, %123 ], [ 1, %120 ], [ 1, %129 ], [ 1, %126 ], [ 1, %135 ], [ 1, %132 ], [ 1, %141 ], [ 1, %138 ], [ 1, %147 ], [ 1, %144 ], [ 1, %153 ], [ 1, %150 ], [ 1, %159 ], [ 1, %156 ], [ 1, %162 ], [ %168, %165 ]
ret i32 %170
}