int main() {
  do {
    long long x = 0x1555555555555556LL;
    long long y = 6LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7ffffffffffffffcLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0x1555555555555556LL;
    long long y = -6LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7ffffffffffffffcLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0x1555555555555556LL;
    long long y = -6LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7ffffffffffffffcLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0x1555555555555556LL;
    long long y = 6LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7ffffffffffffffcLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0x81234568LL;
    long long y = 0xfdbe971fLL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7fffffff439a4068LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0x81234568LL;
    long long y = -0xfdbe971fLL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7fffffff439a4068LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0x81234568LL;
    long long y = -0xfdbe971fLL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7fffffff439a4068LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0x81234568LL;
    long long y = 0xfdbe971fLL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7fffffff439a4068LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0x1555555555555555LL;
    long long y = 7LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x6aaaaaaaaaaaaaadLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0x1555555555555555LL;
    long long y = -7LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x6aaaaaaaaaaaaaadLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0x1555555555555555LL;
    long long y = -7LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x6aaaaaaaaaaaaaadLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0x1555555555555555LL;
    long long y = 7LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x6aaaaaaaaaaaaaadLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0x81234567LL;
    long long y = 0xfdbe9720LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7fffffffc0359220LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0x81234567LL;
    long long y = -0xfdbe9720LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7fffffffc0359220LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0x81234567LL;
    long long y = -0xfdbe9720LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7fffffffc0359220LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0x81234567LL;
    long long y = 0xfdbe9720LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7fffffffc0359220LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 6LL;
    long long y = 0x1555555555555556LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7ffffffffffffffcLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -6LL;
    long long y = -0x1555555555555556LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7ffffffffffffffcLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -6LL;
    long long y = 0x1555555555555556LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7ffffffffffffffcLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 6LL;
    long long y = -0x1555555555555556LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7ffffffffffffffcLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0xfdbe971fLL;
    long long y = 0x81234568LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7fffffff439a4068LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0xfdbe971fLL;
    long long y = -0x81234568LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7fffffff439a4068LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0xfdbe971fLL;
    long long y = 0x81234568LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7fffffff439a4068LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0xfdbe971fLL;
    long long y = -0x81234568LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7fffffff439a4068LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 7LL;
    long long y = 0x1555555555555555LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x6aaaaaaaaaaaaaadLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -7LL;
    long long y = -0x1555555555555555LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x6aaaaaaaaaaaaaadLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -7LL;
    long long y = 0x1555555555555555LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x6aaaaaaaaaaaaaadLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 7LL;
    long long y = -0x1555555555555555LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x6aaaaaaaaaaaaaadLL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0xfdbe9720LL;
    long long y = 0x81234567LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7fffffffc0359220LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0xfdbe9720LL;
    long long y = -0x81234567LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != -0x7fffffffc0359220LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = -0xfdbe9720LL;
    long long y = 0x81234567LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7fffffffc0359220LL)
      __builtin_abort();
  } while (0);
  do {
    long long x = 0xfdbe9720LL;
    long long y = -0x81234567LL;
    long long z;
    asm("" : "+g"(x));
    asm("" : "+g"(y));
    z = x * y;
    asm("" : "+g"(z));
    if (z != 0x7fffffffc0359220LL)
      __builtin_abort();
  } while (0);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x310,%rsp
movl   $0x0,-0x4(%rbp)
movabs $0x1555555555555556,%rax
55 55 15
mov    %rax,-0x10(%rbp)
movq   $0x6,-0x18(%rbp)
mov    -0x10(%rbp),%rax
mov    %rax,-0x10(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x10(%rbp),%rax
imul   -0x18(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
movabs $0x8000000000000004,%rax
cmp    %rax,-0x20(%rbp)
je     1176 <main+0x66>
call   1030 <abort@plt>
jmp    117b <main+0x6b>
jmp    1180 <main+0x70>
movabs $0xeaaaaaaaaaaaaaaa,%rax
aa aa ea
mov    %rax,-0x28(%rbp)
movq   $0xfffffffffffffffa,-0x30(%rbp)
ff
mov    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x28(%rbp),%rax
imul   -0x30(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
movabs $0x8000000000000004,%rax
cmp    %rax,-0x38(%rbp)
je     11d4 <main+0xc4>
call   1030 <abort@plt>
jmp    11d9 <main+0xc9>
jmp    11de <main+0xce>
movabs $0x1555555555555556,%rax
55 55 15
mov    %rax,-0x40(%rbp)
movq   $0xfffffffffffffffa,-0x48(%rbp)
ff
mov    -0x40(%rbp),%rax
mov    %rax,-0x40(%rbp)
mov    -0x48(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x40(%rbp),%rax
imul   -0x48(%rbp),%rax
mov    %rax,-0x50(%rbp)
mov    -0x50(%rbp),%rax
mov    %rax,-0x50(%rbp)
movabs $0x7ffffffffffffffc,%rax
ff ff 7f
cmp    %rax,-0x50(%rbp)
je     1232 <main+0x122>
call   1030 <abort@plt>
jmp    1237 <main+0x127>
jmp    123c <main+0x12c>
movabs $0xeaaaaaaaaaaaaaaa,%rax
aa aa ea
mov    %rax,-0x58(%rbp)
movq   $0x6,-0x60(%rbp)
mov    -0x58(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x60(%rbp),%rax
mov    %rax,-0x60(%rbp)
mov    -0x58(%rbp),%rax
imul   -0x60(%rbp),%rax
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rax
mov    %rax,-0x68(%rbp)
movabs $0x7ffffffffffffffc,%rax
ff ff 7f
cmp    %rax,-0x68(%rbp)
je     1290 <main+0x180>
call   1030 <abort@plt>
jmp    1295 <main+0x185>
jmp    129a <main+0x18a>
mov    $0x81234568,%eax
mov    %rax,-0x70(%rbp)
mov    $0xfdbe971f,%eax
mov    %rax,-0x78(%rbp)
mov    -0x70(%rbp),%rax
mov    %rax,-0x70(%rbp)
mov    -0x78(%rbp),%rax
mov    %rax,-0x78(%rbp)
mov    -0x70(%rbp),%rax
imul   -0x78(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x80(%rbp),%rax
mov    %rax,-0x80(%rbp)
movabs $0x80000000bc65bf98,%rax
cmp    %rax,-0x80(%rbp)
je     12ea <main+0x1da>
call   1030 <abort@plt>
jmp    12ef <main+0x1df>
jmp    12f4 <main+0x1e4>
movabs $0xffffffff7edcba98,%rax
ff ff ff
mov    %rax,-0x88(%rbp)
movabs $0xffffffff024168e1,%rax
ff ff ff
mov    %rax,-0x90(%rbp)
mov    -0x88(%rbp),%rax
mov    %rax,-0x88(%rbp)
mov    -0x90(%rbp),%rax
mov    %rax,-0x90(%rbp)
mov    -0x88(%rbp),%rax
imul   -0x90(%rbp),%rax
ff
mov    %rax,-0x98(%rbp)
mov    -0x98(%rbp),%rax
mov    %rax,-0x98(%rbp)
movabs $0x80000000bc65bf98,%rax
cmp    %rax,-0x98(%rbp)
je     1372 <main+0x262>
call   1030 <abort@plt>
jmp    1377 <main+0x267>
jmp    137c <main+0x26c>
mov    $0x81234568,%eax
mov    %rax,-0xa0(%rbp)
movabs $0xffffffff024168e1,%rax
ff ff ff
mov    %rax,-0xa8(%rbp)
mov    -0xa0(%rbp),%rax
mov    %rax,-0xa0(%rbp)
mov    -0xa8(%rbp),%rax
mov    %rax,-0xa8(%rbp)
mov    -0xa0(%rbp),%rax
imul   -0xa8(%rbp),%rax
ff
mov    %rax,-0xb0(%rbp)
mov    -0xb0(%rbp),%rax
mov    %rax,-0xb0(%rbp)
movabs $0x7fffffff439a4068,%rax
ff ff 7f
cmp    %rax,-0xb0(%rbp)
je     13f5 <main+0x2e5>
call   1030 <abort@plt>
jmp    13fa <main+0x2ea>
jmp    13ff <main+0x2ef>
movabs $0xffffffff7edcba98,%rax
ff ff ff
mov    %rax,-0xb8(%rbp)
mov    $0xfdbe971f,%eax
mov    %rax,-0xc0(%rbp)
mov    -0xb8(%rbp),%rax
mov    %rax,-0xb8(%rbp)
mov    -0xc0(%rbp),%rax
mov    %rax,-0xc0(%rbp)
mov    -0xb8(%rbp),%rax
imul   -0xc0(%rbp),%rax
ff
mov    %rax,-0xc8(%rbp)
mov    -0xc8(%rbp),%rax
mov    %rax,-0xc8(%rbp)
movabs $0x7fffffff439a4068,%rax
ff ff 7f
cmp    %rax,-0xc8(%rbp)
je     1478 <main+0x368>
call   1030 <abort@plt>
jmp    147d <main+0x36d>
jmp    1482 <main+0x372>
movabs $0x1555555555555555,%rax
55 55 15
mov    %rax,-0xd0(%rbp)
movq   $0x7,-0xd8(%rbp)
mov    -0xd0(%rbp),%rax
mov    %rax,-0xd0(%rbp)
mov    -0xd8(%rbp),%rax
mov    %rax,-0xd8(%rbp)
mov    -0xd0(%rbp),%rax
imul   -0xd8(%rbp),%rax
ff
mov    %rax,-0xe0(%rbp)
mov    -0xe0(%rbp),%rax
mov    %rax,-0xe0(%rbp)
movabs $0x9555555555555553,%rax
55 55 95
cmp    %rax,-0xe0(%rbp)
je     14fa <main+0x3ea>
call   1030 <abort@plt>
jmp    14ff <main+0x3ef>
jmp    1504 <main+0x3f4>
movabs $0xeaaaaaaaaaaaaaab,%rax
aa aa ea
mov    %rax,-0xe8(%rbp)
movq   $0xfffffffffffffff9,-0xf0(%rbp)
f9 ff ff ff
mov    -0xe8(%rbp),%rax
mov    %rax,-0xe8(%rbp)
mov    -0xf0(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0xe8(%rbp),%rax
imul   -0xf0(%rbp),%rax
ff
mov    %rax,-0xf8(%rbp)
mov    -0xf8(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movabs $0x9555555555555553,%rax
55 55 95
cmp    %rax,-0xf8(%rbp)
je     157c <main+0x46c>
call   1030 <abort@plt>
jmp    1581 <main+0x471>
jmp    1586 <main+0x476>
movabs $0x1555555555555555,%rax
55 55 15
mov    %rax,-0x100(%rbp)
movq   $0xfffffffffffffff9,-0x108(%rbp)
f9 ff ff ff
mov    -0x100(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x108(%rbp),%rax
mov    %rax,-0x108(%rbp)
mov    -0x100(%rbp),%rax
imul   -0x108(%rbp),%rax
ff
mov    %rax,-0x110(%rbp)
mov    -0x110(%rbp),%rax
mov    %rax,-0x110(%rbp)
movabs $0x6aaaaaaaaaaaaaad,%rax
aa aa 6a
cmp    %rax,-0x110(%rbp)
je     15fe <main+0x4ee>
call   1030 <abort@plt>
jmp    1603 <main+0x4f3>
jmp    1608 <main+0x4f8>
movabs $0xeaaaaaaaaaaaaaab,%rax
aa aa ea
mov    %rax,-0x118(%rbp)
movq   $0x7,-0x120(%rbp)
mov    -0x118(%rbp),%rax
mov    %rax,-0x118(%rbp)
mov    -0x120(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    -0x118(%rbp),%rax
imul   -0x120(%rbp),%rax
ff
mov    %rax,-0x128(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0x128(%rbp)
movabs $0x6aaaaaaaaaaaaaad,%rax
aa aa 6a
cmp    %rax,-0x128(%rbp)
je     1680 <main+0x570>
call   1030 <abort@plt>
jmp    1685 <main+0x575>
jmp    168a <main+0x57a>
mov    $0x81234567,%eax
mov    %rax,-0x130(%rbp)
mov    $0xfdbe9720,%eax
mov    %rax,-0x138(%rbp)
mov    -0x130(%rbp),%rax
mov    %rax,-0x130(%rbp)
mov    -0x138(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x130(%rbp),%rax
imul   -0x138(%rbp),%rax
ff
mov    %rax,-0x140(%rbp)
mov    -0x140(%rbp),%rax
mov    %rax,-0x140(%rbp)
movabs $0x800000003fca6de0,%rax
cmp    %rax,-0x140(%rbp)
je     16fe <main+0x5ee>
call   1030 <abort@plt>
jmp    1703 <main+0x5f3>
jmp    1708 <main+0x5f8>
movabs $0xffffffff7edcba99,%rax
ff ff ff
mov    %rax,-0x148(%rbp)
movabs $0xffffffff024168e0,%rax
ff ff ff
mov    %rax,-0x150(%rbp)
mov    -0x148(%rbp),%rax
mov    %rax,-0x148(%rbp)
mov    -0x150(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x148(%rbp),%rax
imul   -0x150(%rbp),%rax
ff
mov    %rax,-0x158(%rbp)
mov    -0x158(%rbp),%rax
mov    %rax,-0x158(%rbp)
movabs $0x800000003fca6de0,%rax
cmp    %rax,-0x158(%rbp)
je     1786 <main+0x676>
call   1030 <abort@plt>
jmp    178b <main+0x67b>
jmp    1790 <main+0x680>
mov    $0x81234567,%eax
mov    %rax,-0x160(%rbp)
movabs $0xffffffff024168e0,%rax
ff ff ff
mov    %rax,-0x168(%rbp)
mov    -0x160(%rbp),%rax
mov    %rax,-0x160(%rbp)
mov    -0x168(%rbp),%rax
mov    %rax,-0x168(%rbp)
mov    -0x160(%rbp),%rax
imul   -0x168(%rbp),%rax
ff
mov    %rax,-0x170(%rbp)
mov    -0x170(%rbp),%rax
mov    %rax,-0x170(%rbp)
movabs $0x7fffffffc0359220,%rax
ff ff 7f
cmp    %rax,-0x170(%rbp)
je     1809 <main+0x6f9>
call   1030 <abort@plt>
jmp    180e <main+0x6fe>
jmp    1813 <main+0x703>
movabs $0xffffffff7edcba99,%rax
ff ff ff
mov    %rax,-0x178(%rbp)
mov    $0xfdbe9720,%eax
mov    %rax,-0x180(%rbp)
mov    -0x178(%rbp),%rax
mov    %rax,-0x178(%rbp)
mov    -0x180(%rbp),%rax
mov    %rax,-0x180(%rbp)
mov    -0x178(%rbp),%rax
imul   -0x180(%rbp),%rax
ff
mov    %rax,-0x188(%rbp)
mov    -0x188(%rbp),%rax
mov    %rax,-0x188(%rbp)
movabs $0x7fffffffc0359220,%rax
ff ff 7f
cmp    %rax,-0x188(%rbp)
je     188c <main+0x77c>
call   1030 <abort@plt>
jmp    1891 <main+0x781>
jmp    1896 <main+0x786>
movq   $0x6,-0x190(%rbp)
movabs $0x1555555555555556,%rax
55 55 15
mov    %rax,-0x198(%rbp)
mov    -0x190(%rbp),%rax
mov    %rax,-0x190(%rbp)
mov    -0x198(%rbp),%rax
mov    %rax,-0x198(%rbp)
mov    -0x190(%rbp),%rax
imul   -0x198(%rbp),%rax
ff
mov    %rax,-0x1a0(%rbp)
mov    -0x1a0(%rbp),%rax
mov    %rax,-0x1a0(%rbp)
movabs $0x8000000000000004,%rax
cmp    %rax,-0x1a0(%rbp)
je     190e <main+0x7fe>
call   1030 <abort@plt>
jmp    1913 <main+0x803>
jmp    1918 <main+0x808>
movq   $0xfffffffffffffffa,-0x1a8(%rbp)
fa ff ff ff
movabs $0xeaaaaaaaaaaaaaaa,%rax
aa aa ea
mov    %rax,-0x1b0(%rbp)
mov    -0x1a8(%rbp),%rax
mov    %rax,-0x1a8(%rbp)
mov    -0x1b0(%rbp),%rax
mov    %rax,-0x1b0(%rbp)
mov    -0x1a8(%rbp),%rax
imul   -0x1b0(%rbp),%rax
ff
mov    %rax,-0x1b8(%rbp)
mov    -0x1b8(%rbp),%rax
mov    %rax,-0x1b8(%rbp)
movabs $0x8000000000000004,%rax
cmp    %rax,-0x1b8(%rbp)
je     1990 <main+0x880>
call   1030 <abort@plt>
jmp    1995 <main+0x885>
jmp    199a <main+0x88a>
movq   $0xfffffffffffffffa,-0x1c0(%rbp)
fa ff ff ff
movabs $0x1555555555555556,%rax
55 55 15
mov    %rax,-0x1c8(%rbp)
mov    -0x1c0(%rbp),%rax
mov    %rax,-0x1c0(%rbp)
mov    -0x1c8(%rbp),%rax
mov    %rax,-0x1c8(%rbp)
mov    -0x1c0(%rbp),%rax
imul   -0x1c8(%rbp),%rax
ff
mov    %rax,-0x1d0(%rbp)
mov    -0x1d0(%rbp),%rax
mov    %rax,-0x1d0(%rbp)
movabs $0x7ffffffffffffffc,%rax
ff ff 7f
cmp    %rax,-0x1d0(%rbp)
je     1a12 <main+0x902>
call   1030 <abort@plt>
jmp    1a17 <main+0x907>
jmp    1a1c <main+0x90c>
movq   $0x6,-0x1d8(%rbp)
movabs $0xeaaaaaaaaaaaaaaa,%rax
aa aa ea
mov    %rax,-0x1e0(%rbp)
mov    -0x1d8(%rbp),%rax
mov    %rax,-0x1d8(%rbp)
mov    -0x1e0(%rbp),%rax
mov    %rax,-0x1e0(%rbp)
mov    -0x1d8(%rbp),%rax
imul   -0x1e0(%rbp),%rax
ff
mov    %rax,-0x1e8(%rbp)
mov    -0x1e8(%rbp),%rax
mov    %rax,-0x1e8(%rbp)
movabs $0x7ffffffffffffffc,%rax
ff ff 7f
cmp    %rax,-0x1e8(%rbp)
je     1a94 <main+0x984>
call   1030 <abort@plt>
jmp    1a99 <main+0x989>
jmp    1a9e <main+0x98e>
mov    $0xfdbe971f,%eax
mov    %rax,-0x1f0(%rbp)
mov    $0x81234568,%eax
mov    %rax,-0x1f8(%rbp)
mov    -0x1f0(%rbp),%rax
mov    %rax,-0x1f0(%rbp)
mov    -0x1f8(%rbp),%rax
mov    %rax,-0x1f8(%rbp)
mov    -0x1f0(%rbp),%rax
imul   -0x1f8(%rbp),%rax
ff
mov    %rax,-0x200(%rbp)
mov    -0x200(%rbp),%rax
mov    %rax,-0x200(%rbp)
movabs $0x80000000bc65bf98,%rax
cmp    %rax,-0x200(%rbp)
je     1b12 <main+0xa02>
call   1030 <abort@plt>
jmp    1b17 <main+0xa07>
jmp    1b1c <main+0xa0c>
movabs $0xffffffff024168e1,%rax
ff ff ff
mov    %rax,-0x208(%rbp)
movabs $0xffffffff7edcba98,%rax
ff ff ff
mov    %rax,-0x210(%rbp)
mov    -0x208(%rbp),%rax
mov    %rax,-0x208(%rbp)
mov    -0x210(%rbp),%rax
mov    %rax,-0x210(%rbp)
mov    -0x208(%rbp),%rax
imul   -0x210(%rbp),%rax
ff
mov    %rax,-0x218(%rbp)
mov    -0x218(%rbp),%rax
mov    %rax,-0x218(%rbp)
movabs $0x80000000bc65bf98,%rax
cmp    %rax,-0x218(%rbp)
je     1b9a <main+0xa8a>
call   1030 <abort@plt>
jmp    1b9f <main+0xa8f>
jmp    1ba4 <main+0xa94>
movabs $0xffffffff024168e1,%rax
ff ff ff
mov    %rax,-0x220(%rbp)
mov    $0x81234568,%eax
mov    %rax,-0x228(%rbp)
mov    -0x220(%rbp),%rax
mov    %rax,-0x220(%rbp)
mov    -0x228(%rbp),%rax
mov    %rax,-0x228(%rbp)
mov    -0x220(%rbp),%rax
imul   -0x228(%rbp),%rax
ff
mov    %rax,-0x230(%rbp)
mov    -0x230(%rbp),%rax
mov    %rax,-0x230(%rbp)
movabs $0x7fffffff439a4068,%rax
ff ff 7f
cmp    %rax,-0x230(%rbp)
je     1c1d <main+0xb0d>
call   1030 <abort@plt>
jmp    1c22 <main+0xb12>
jmp    1c27 <main+0xb17>
mov    $0xfdbe971f,%eax
mov    %rax,-0x238(%rbp)
movabs $0xffffffff7edcba98,%rax
ff ff ff
mov    %rax,-0x240(%rbp)
mov    -0x238(%rbp),%rax
mov    %rax,-0x238(%rbp)
mov    -0x240(%rbp),%rax
mov    %rax,-0x240(%rbp)
mov    -0x238(%rbp),%rax
imul   -0x240(%rbp),%rax
ff
mov    %rax,-0x248(%rbp)
mov    -0x248(%rbp),%rax
mov    %rax,-0x248(%rbp)
movabs $0x7fffffff439a4068,%rax
ff ff 7f
cmp    %rax,-0x248(%rbp)
je     1ca0 <main+0xb90>
call   1030 <abort@plt>
jmp    1ca5 <main+0xb95>
jmp    1caa <main+0xb9a>
movq   $0x7,-0x250(%rbp)
movabs $0x1555555555555555,%rax
55 55 15
mov    %rax,-0x258(%rbp)
mov    -0x250(%rbp),%rax
mov    %rax,-0x250(%rbp)
mov    -0x258(%rbp),%rax
mov    %rax,-0x258(%rbp)
mov    -0x250(%rbp),%rax
imul   -0x258(%rbp),%rax
ff
mov    %rax,-0x260(%rbp)
mov    -0x260(%rbp),%rax
mov    %rax,-0x260(%rbp)
movabs $0x9555555555555553,%rax
55 55 95
cmp    %rax,-0x260(%rbp)
je     1d22 <main+0xc12>
call   1030 <abort@plt>
jmp    1d27 <main+0xc17>
jmp    1d2c <main+0xc1c>
movq   $0xfffffffffffffff9,-0x268(%rbp)
f9 ff ff ff
movabs $0xeaaaaaaaaaaaaaab,%rax
aa aa ea
mov    %rax,-0x270(%rbp)
mov    -0x268(%rbp),%rax
mov    %rax,-0x268(%rbp)
mov    -0x270(%rbp),%rax
mov    %rax,-0x270(%rbp)
mov    -0x268(%rbp),%rax
imul   -0x270(%rbp),%rax
ff
mov    %rax,-0x278(%rbp)
mov    -0x278(%rbp),%rax
mov    %rax,-0x278(%rbp)
movabs $0x9555555555555553,%rax
55 55 95
cmp    %rax,-0x278(%rbp)
je     1da4 <main+0xc94>
call   1030 <abort@plt>
jmp    1da9 <main+0xc99>
jmp    1dae <main+0xc9e>
movq   $0xfffffffffffffff9,-0x280(%rbp)
f9 ff ff ff
movabs $0x1555555555555555,%rax
55 55 15
mov    %rax,-0x288(%rbp)
mov    -0x280(%rbp),%rax
mov    %rax,-0x280(%rbp)
mov    -0x288(%rbp),%rax
mov    %rax,-0x288(%rbp)
mov    -0x280(%rbp),%rax
imul   -0x288(%rbp),%rax
ff
mov    %rax,-0x290(%rbp)
mov    -0x290(%rbp),%rax
mov    %rax,-0x290(%rbp)
movabs $0x6aaaaaaaaaaaaaad,%rax
aa aa 6a
cmp    %rax,-0x290(%rbp)
je     1e26 <main+0xd16>
call   1030 <abort@plt>
jmp    1e2b <main+0xd1b>
jmp    1e30 <main+0xd20>
movq   $0x7,-0x298(%rbp)
movabs $0xeaaaaaaaaaaaaaab,%rax
aa aa ea
mov    %rax,-0x2a0(%rbp)
mov    -0x298(%rbp),%rax
mov    %rax,-0x298(%rbp)
mov    -0x2a0(%rbp),%rax
mov    %rax,-0x2a0(%rbp)
mov    -0x298(%rbp),%rax
imul   -0x2a0(%rbp),%rax
ff
mov    %rax,-0x2a8(%rbp)
mov    -0x2a8(%rbp),%rax
mov    %rax,-0x2a8(%rbp)
movabs $0x6aaaaaaaaaaaaaad,%rax
aa aa 6a
cmp    %rax,-0x2a8(%rbp)
je     1ea8 <main+0xd98>
call   1030 <abort@plt>
jmp    1ead <main+0xd9d>
jmp    1eb2 <main+0xda2>
mov    $0xfdbe9720,%eax
mov    %rax,-0x2b0(%rbp)
mov    $0x81234567,%eax
mov    %rax,-0x2b8(%rbp)
mov    -0x2b0(%rbp),%rax
mov    %rax,-0x2b0(%rbp)
mov    -0x2b8(%rbp),%rax
mov    %rax,-0x2b8(%rbp)
mov    -0x2b0(%rbp),%rax
imul   -0x2b8(%rbp),%rax
ff
mov    %rax,-0x2c0(%rbp)
mov    -0x2c0(%rbp),%rax
mov    %rax,-0x2c0(%rbp)
movabs $0x800000003fca6de0,%rax
cmp    %rax,-0x2c0(%rbp)
je     1f26 <main+0xe16>
call   1030 <abort@plt>
jmp    1f2b <main+0xe1b>
jmp    1f30 <main+0xe20>
movabs $0xffffffff024168e0,%rax
ff ff ff
mov    %rax,-0x2c8(%rbp)
movabs $0xffffffff7edcba99,%rax
ff ff ff
mov    %rax,-0x2d0(%rbp)
mov    -0x2c8(%rbp),%rax
mov    %rax,-0x2c8(%rbp)
mov    -0x2d0(%rbp),%rax
mov    %rax,-0x2d0(%rbp)
mov    -0x2c8(%rbp),%rax
imul   -0x2d0(%rbp),%rax
ff
mov    %rax,-0x2d8(%rbp)
mov    -0x2d8(%rbp),%rax
mov    %rax,-0x2d8(%rbp)
movabs $0x800000003fca6de0,%rax
cmp    %rax,-0x2d8(%rbp)
je     1fae <main+0xe9e>
call   1030 <abort@plt>
jmp    1fb3 <main+0xea3>
jmp    1fb8 <main+0xea8>
movabs $0xffffffff024168e0,%rax
ff ff ff
mov    %rax,-0x2e0(%rbp)
mov    $0x81234567,%eax
mov    %rax,-0x2e8(%rbp)
mov    -0x2e0(%rbp),%rax
mov    %rax,-0x2e0(%rbp)
mov    -0x2e8(%rbp),%rax
mov    %rax,-0x2e8(%rbp)
mov    -0x2e0(%rbp),%rax
imul   -0x2e8(%rbp),%rax
ff
mov    %rax,-0x2f0(%rbp)
mov    -0x2f0(%rbp),%rax
mov    %rax,-0x2f0(%rbp)
movabs $0x7fffffffc0359220,%rax
ff ff 7f
cmp    %rax,-0x2f0(%rbp)
je     2031 <main+0xf21>
call   1030 <abort@plt>
jmp    2036 <main+0xf26>
jmp    203b <main+0xf2b>
mov    $0xfdbe9720,%eax
mov    %rax,-0x2f8(%rbp)
movabs $0xffffffff7edcba99,%rax
ff ff ff
mov    %rax,-0x300(%rbp)
mov    -0x2f8(%rbp),%rax
mov    %rax,-0x2f8(%rbp)
mov    -0x300(%rbp),%rax
mov    %rax,-0x300(%rbp)
mov    -0x2f8(%rbp),%rax
imul   -0x300(%rbp),%rax
ff
mov    %rax,-0x308(%rbp)
mov    -0x308(%rbp),%rax
mov    %rax,-0x308(%rbp)
movabs $0x7fffffffc0359220,%rax
ff ff 7f
cmp    %rax,-0x308(%rbp)
je     20b4 <main+0xfa4>
call   1030 <abort@plt>
jmp    20b9 <main+0xfa9>
xor    %eax,%eax
add    $0x310,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x58,%rsp
movabs $0x7ffffffffffffffc,%rax
ff ff 7f
movabs $0x1555555555555555,%r12
55 55 15
lea    0x1(%r12),%r8
mov    %r8,0x8(%rsp)
movq   $0x6,0x10(%rsp)
movabs $0x1555555555555556,%r11
55 55 15
mov    %r11,%rcx
mov    %rcx,0x8(%rsp)
mov    $0x6,%ecx
mov    %rcx,0x10(%rsp)
imul   0x8(%rsp),%rcx
mov    %rcx,0x18(%rsp)
mov    %rcx,0x18(%rsp)
lea    0x8(%rax),%rbx
cmp    %rbx,%rcx
jne    197f <main+0x86f>
movabs $0xeaaaaaaaaaaaaaaa,%rcx
aa aa ea
mov    %rcx,0x8(%rsp)
movq   $0xfffffffffffffffa,0x10(%rsp)
ff ff
mov    %rcx,%rdx
mov    %rdx,0x8(%rsp)
mov    0x10(%rsp),%rdx
mov    %rdx,0x10(%rsp)
imul   0x8(%rsp),%rdx
mov    %rdx,0x18(%rsp)
mov    %rdx,0x18(%rsp)
cmp    %rbx,%rdx
jne    197f <main+0x86f>
mov    %r8,0x8(%rsp)
movq   $0xfffffffffffffffa,0x10(%rsp)
ff ff
mov    %r11,%rdx
mov    %rdx,0x8(%rsp)
mov    0x10(%rsp),%rdx
mov    %rdx,0x10(%rsp)
imul   0x8(%rsp),%rdx
mov    %rdx,0x18(%rsp)
mov    %rdx,0x18(%rsp)
cmp    %rax,%rdx
jne    197f <main+0x86f>
mov    %rcx,0x8(%rsp)
movq   $0x6,0x10(%rsp)
mov    %rcx,%rdx
mov    %rdx,0x8(%rsp)
mov    0x10(%rsp),%rdx
mov    %rdx,0x10(%rsp)
imul   0x8(%rsp),%rdx
mov    %rdx,0x18(%rsp)
mov    %rdx,0x18(%rsp)
cmp    %rax,%rdx
jne    197f <main+0x86f>
movabs $0x80000000bc65bf98,%rsi
mov    $0x81234567,%r9d
lea    0x1(%r9),%rax
mov    %rax,0x8(%rsp)
lea    0x7c9b51b8(%r9),%r14
mov    %r14,0x10(%rsp)
mov    $0x81234568,%edx
mov    %rdx,0x8(%rsp)
mov    0x10(%rsp),%rdx
mov    %rdx,0x10(%rsp)
imul   0x8(%rsp),%rdx
mov    %rdx,0x18(%rsp)
mov    %rdx,0x18(%rsp)
cmp    %rsi,%rdx
jne    197f <main+0x86f>
mov    %rsi,%rdx
movabs $0xffffffff024168e0,%r13
ff ff ff
lea    0x7c9b51b8(%r13),%rbp
mov    %rbp,0x8(%rsp)
lea    0x1(%r13),%rsi
mov    %rsi,0x10(%rsp)
movabs $0xffffffff7edcba98,%r15
ff ff ff
mov    %r15,%rsi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %rdx,%rsi
jne    197f <main+0x86f>
movabs $0x7fffffff439a4068,%rdx
ff ff 7f
mov    %rax,0x8(%rsp)
lea    0x1(%r13),%rdi
mov    %rdi,0x10(%rsp)
mov    $0x81234568,%esi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %rdx,%rsi
jne    197f <main+0x86f>
mov    %rbp,0x8(%rsp)
mov    %r14,0x10(%rsp)
mov    %r15,%rsi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %rdx,%rsi
jne    197f <main+0x86f>
mov    %rbx,0x50(%rsp)
movabs $0x9555555555555553,%r10
55 55 95
mov    %r12,0x8(%rsp)
movq   $0x7,0x10(%rsp)
mov    %r12,%rsi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %r10,%rsi
jne    197f <main+0x86f>
mov    %rdi,0x48(%rsp)
lea    0x1(%rcx),%rdx
mov    %rdx,0x8(%rsp)
movq   $0xfffffffffffffff9,0x10(%rsp)
ff ff
movabs $0xeaaaaaaaaaaaaaab,%rbx
aa aa ea
mov    %rbx,%rsi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %r10,%rsi
jne    197f <main+0x86f>
movabs $0x6aaaaaaaaaaaaaad,%rdi
aa aa 6a
mov    %r12,0x8(%rsp)
movq   $0xfffffffffffffff9,0x10(%rsp)
mov    %r12,%rsi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %rdi,%rsi
jne    197f <main+0x86f>
mov    %rdx,0x40(%rsp)
mov    %rdx,0x8(%rsp)
movq   $0x7,0x10(%rsp)
mov    %rbx,%rsi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %rdi,%rsi
jne    197f <main+0x86f>
mov    %rbp,0x28(%rsp)
mov    %rax,0x30(%rsp)
mov    %r9,0x8(%rsp)
lea    0x7c9b51b9(%r9),%rdx
mov    %rdx,0x20(%rsp)
mov    %rdx,0x10(%rsp)
mov    $0x81234567,%esi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
movabs $0x7ffffffffffffffc,%rax
ff ff 7f
add    $0x3fca6de4,%rax
cmp    %rax,%rsi
jne    197f <main+0x86f>
lea    0x7c9b51b9(%r13),%rdi
mov    %rdi,0x8(%rsp)
mov    %r13,0x10(%rsp)
movabs $0xffffffff7edcba99,%rbp
ff ff ff
mov    %rbp,%rsi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %rax,%rsi
movabs $0x7fffffff439a4068,%rdx
ff ff 7f
jne    197f <main+0x86f>
mov    %rax,0x38(%rsp)
mov    %r9,0x8(%rsp)
mov    %r13,0x10(%rsp)
mov    $0x81234567,%esi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
lea    0x7c9b51b8(%rdx),%rax
cmp    %rax,%rsi
jne    197f <main+0x86f>
mov    %rdi,0x8(%rsp)
mov    0x20(%rsp),%rsi
mov    %rsi,0x10(%rsp)
mov    %rbp,%rsi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %rax,%rsi
jne    197f <main+0x86f>
mov    %r8,%rdx
mov    %rdi,%r10
movq   $0x6,0x8(%rsp)
mov    %r8,0x10(%rsp)
mov    $0x6,%esi
mov    %rsi,0x8(%rsp)
mov    0x10(%rsp),%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
mov    0x50(%rsp),%r9
cmp    %r9,%rsi
mov    0x48(%rsp),%rdi
jne    197f <main+0x86f>
mov    %r14,%r8
movq   $0xfffffffffffffffa,0x8(%rsp)
ff ff
mov    %rcx,0x10(%rsp)
mov    $0xfffffffffffffffa,%r14
mov    $0xfffffffffffffffa,%rsi
mov    %rsi,0x8(%rsp)
mov    %rcx,%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %r9,%rsi
jne    197f <main+0x86f>
movq   $0xfffffffffffffffa,0x8(%rsp)
ff ff
mov    %rdx,0x10(%rsp)
mov    %r14,0x8(%rsp)
mov    %r11,0x10(%rsp)
imul   0x8(%rsp),%r11
mov    %r11,0x18(%rsp)
mov    %r11,0x18(%rsp)
movabs $0x7ffffffffffffffc,%rdx
ff ff 7f
cmp    %rdx,%r11
jne    197f <main+0x86f>
mov    %r10,%r9
movq   $0x6,0x8(%rsp)
mov    %rcx,0x10(%rsp)
mov    $0x6,%esi
mov    %rsi,0x8(%rsp)
mov    %rcx,0x10(%rsp)
imul   0x8(%rsp),%rcx
mov    %rcx,0x18(%rsp)
mov    %rcx,0x18(%rsp)
cmp    %rdx,%rcx
mov    $0x81234567,%r14d
movabs $0x6aaaaaaaaaaaaaad,%r10
aa aa 6a
jne    197f <main+0x86f>
mov    %r8,0x8(%rsp)
mov    0x30(%rsp),%rcx
mov    %rcx,0x10(%rsp)
mov    $0xfdbe971f,%ecx
mov    %rcx,0x8(%rsp)
mov    $0x81234568,%ecx
mov    %rcx,0x10(%rsp)
imul   0x8(%rsp),%rcx
mov    %rcx,0x18(%rsp)
mov    %rcx,0x18(%rsp)
movabs $0x80000000bc65bf98,%rdx
cmp    %rdx,%rcx
jne    197f <main+0x86f>
mov    %rdi,0x8(%rsp)
mov    0x28(%rsp),%rcx
mov    %rcx,0x10(%rsp)
movabs $0xffffffff024168e1,%rcx
ff ff ff
mov    %rcx,%rsi
mov    %rsi,0x8(%rsp)
mov    %r15,%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %rdx,%rsi
jne    197f <main+0x86f>
mov    %rdi,0x8(%rsp)
mov    0x30(%rsp),%rdx
mov    %rdx,0x10(%rsp)
mov    %rcx,0x8(%rsp)
mov    $0x81234568,%ecx
mov    %rcx,0x10(%rsp)
imul   0x8(%rsp),%rcx
mov    %rcx,0x18(%rsp)
mov    %rcx,0x18(%rsp)
movabs $0x7fffffff439a4068,%rdx
ff ff 7f
cmp    %rdx,%rcx
jne    197f <main+0x86f>
mov    %r8,0x8(%rsp)
mov    0x28(%rsp),%rcx
mov    %rcx,0x10(%rsp)
mov    $0xfdbe971f,%ecx
mov    %rcx,0x8(%rsp)
mov    %r15,0x10(%rsp)
imul   0x8(%rsp),%r15
mov    %r15,0x18(%rsp)
mov    %r15,0x18(%rsp)
cmp    %rdx,%r15
jne    197f <main+0x86f>
movq   $0x7,0x8(%rsp)
mov    %r12,0x10(%rsp)
mov    $0x7,%ecx
mov    %rcx,0x8(%rsp)
mov    %r12,%rcx
mov    %rcx,0x10(%rsp)
imul   0x8(%rsp),%rcx
mov    %rcx,0x18(%rsp)
mov    %rcx,0x18(%rsp)
movabs $0x9555555555555553,%rdi
55 55 95
cmp    %rdi,%rcx
mov    0x40(%rsp),%rdx
jne    197f <main+0x86f>
movq   $0xfffffffffffffff9,0x8(%rsp)
ff ff
mov    %rdx,0x10(%rsp)
mov    $0xfffffffffffffff9,%rcx
mov    $0xfffffffffffffff9,%rsi
mov    %rsi,0x8(%rsp)
mov    %rbx,%rsi
mov    %rsi,0x10(%rsp)
imul   0x8(%rsp),%rsi
mov    %rsi,0x18(%rsp)
mov    %rsi,0x18(%rsp)
cmp    %rdi,%rsi
jne    197f <main+0x86f>
movq   $0xfffffffffffffff9,0x8(%rsp)
ff ff
mov    %r12,0x10(%rsp)
mov    %rcx,0x8(%rsp)
mov    %r12,0x10(%rsp)
imul   0x8(%rsp),%r12
mov    %r12,0x18(%rsp)
mov    %r12,0x18(%rsp)
cmp    %r10,%r12
jne    197f <main+0x86f>
mov    %rax,%rsi
movq   $0x7,0x8(%rsp)
mov    %rdx,0x10(%rsp)
mov    $0x7,%eax
mov    %rax,0x8(%rsp)
mov    %rbx,0x10(%rsp)
imul   0x8(%rsp),%rbx
mov    %rbx,0x18(%rsp)
mov    %rbx,0x18(%rsp)
cmp    %r10,%rbx
jne    197f <main+0x86f>
mov    0x20(%rsp),%rax
mov    %rax,0x8(%rsp)
mov    %r14,0x10(%rsp)
mov    $0xfdbe9720,%eax
mov    %rax,0x8(%rsp)
mov    $0x81234567,%eax
mov    %rax,0x10(%rsp)
imul   0x8(%rsp),%rax
mov    %rax,0x18(%rsp)
mov    %rax,0x18(%rsp)
mov    0x38(%rsp),%rcx
cmp    %rcx,%rax
jne    197f <main+0x86f>
mov    %r13,0x8(%rsp)
mov    %r9,0x10(%rsp)
mov    %r13,%rax
mov    %rax,0x8(%rsp)
mov    %rbp,%rax
mov    %rax,0x10(%rsp)
imul   0x8(%rsp),%rax
mov    %rax,0x18(%rsp)
mov    %rax,0x18(%rsp)
cmp    %rcx,%rax
jne    197f <main+0x86f>
mov    %r13,0x8(%rsp)
mov    %r14,0x10(%rsp)
mov    %r13,0x8(%rsp)
mov    $0x81234567,%eax
mov    %rax,0x10(%rsp)
imul   0x8(%rsp),%rax
mov    %rax,0x18(%rsp)
mov    %rax,0x18(%rsp)
cmp    %rsi,%rax
jne    197f <main+0x86f>
mov    0x20(%rsp),%rax
mov    %rax,0x8(%rsp)
mov    %r9,0x10(%rsp)
mov    $0xfdbe9720,%eax
mov    %rax,0x8(%rsp)
mov    %rbp,0x10(%rsp)
imul   0x8(%rsp),%rbp
mov    %rbp,0x18(%rsp)
mov    %rbp,0x18(%rsp)
cmp    %rsi,%rbp
jne    197f <main+0x86f>
xor    %eax,%eax
add    $0x58,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
call   1030 <abort@plt>

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
%2 = alloca i64
%3 = alloca i64
%4 = alloca i64
%5 = alloca i64
%6 = alloca i64
%7 = alloca i64
%8 = alloca i64
%9 = alloca i64
%10 = alloca i64
%11 = alloca i64
%12 = alloca i64
%13 = alloca i64
%14 = alloca i64
%15 = alloca i64
%16 = alloca i64
%17 = alloca i64
%18 = alloca i64
%19 = alloca i64
%20 = alloca i64
%21 = alloca i64
%22 = alloca i64
%23 = alloca i64
%24 = alloca i64
%25 = alloca i64
%26 = alloca i64
%27 = alloca i64
%28 = alloca i64
%29 = alloca i64
%30 = alloca i64
%31 = alloca i64
%32 = alloca i64
%33 = alloca i64
%34 = alloca i64
%35 = alloca i64
%36 = alloca i64
%37 = alloca i64
%38 = alloca i64
%39 = alloca i64
%40 = alloca i64
%41 = alloca i64
%42 = alloca i64
%43 = alloca i64
%44 = alloca i64
%45 = alloca i64
%46 = alloca i64
%47 = alloca i64
%48 = alloca i64
%49 = alloca i64
%50 = alloca i64
%51 = alloca i64
%52 = alloca i64
%53 = alloca i64
%54 = alloca i64
%55 = alloca i64
%56 = alloca i64
%57 = alloca i64
%58 = alloca i64
%59 = alloca i64
%60 = alloca i64
%61 = alloca i64
%62 = alloca i64
%63 = alloca i64
%64 = alloca i64
%65 = alloca i64
%66 = alloca i64
%67 = alloca i64
%68 = alloca i64
%69 = alloca i64
%70 = alloca i64
%71 = alloca i64
%72 = alloca i64
%73 = alloca i64
%74 = alloca i64
%75 = alloca i64
%76 = alloca i64
%77 = alloca i64
%78 = alloca i64
%79 = alloca i64
%80 = alloca i64
%81 = alloca i64
%82 = alloca i64
%83 = alloca i64
%84 = alloca i64
%85 = alloca i64
%86 = alloca i64
%87 = alloca i64
%88 = alloca i64
%89 = alloca i64
%90 = alloca i64
%91 = alloca i64
%92 = alloca i64
%93 = alloca i64
%94 = alloca i64
%95 = alloca i64
%96 = alloca i64
%97 = alloca i64
store i32 0, i32* %1
br label %98
98: ; preds = %0
store i64 1537228672809129302, i64* %2
store i64 6, i64* %3
%99 = load i64, i64* %2
%100 = load i64, i64* %3
%101 = load i64, i64* %2
%102 = load i64, i64* %3
%103 = mul nsw i64 %101, %102
store i64 %103, i64* %4
%104 = load i64, i64* %4
%105 = load i64, i64* %4
%106 = icmp ne i64 %105, -9223372036854775804
br i1 %106, label %107, label %108
107: ; preds = %98
unreachable
108: ; preds = %98
br label %109
109: ; preds = %108
br label %110
110: ; preds = %109
store i64 -1537228672809129302, i64* %5
store i64 -6, i64* %6
%111 = load i64, i64* %5
%112 = load i64, i64* %6
%113 = load i64, i64* %5
%114 = load i64, i64* %6
%115 = mul nsw i64 %113, %114
store i64 %115, i64* %7
%116 = load i64, i64* %7
%117 = load i64, i64* %7
%118 = icmp ne i64 %117, -9223372036854775804
br i1 %118, label %119, label %120
119: ; preds = %110
unreachable
120: ; preds = %110
br label %121
121: ; preds = %120
br label %122
122: ; preds = %121
store i64 1537228672809129302, i64* %8
store i64 -6, i64* %9
%123 = load i64, i64* %8
%124 = load i64, i64* %9
%125 = load i64, i64* %8
%126 = load i64, i64* %9
%127 = mul nsw i64 %125, %126
store i64 %127, i64* %10
%128 = load i64, i64* %10
%129 = load i64, i64* %10
%130 = icmp ne i64 %129, 9223372036854775804
br i1 %130, label %131, label %132
131: ; preds = %122
unreachable
132: ; preds = %122
br label %133
133: ; preds = %132
br label %134
134: ; preds = %133
store i64 -1537228672809129302, i64* %11
store i64 6, i64* %12
%135 = load i64, i64* %11
%136 = load i64, i64* %12
%137 = load i64, i64* %11
%138 = load i64, i64* %12
%139 = mul nsw i64 %137, %138
store i64 %139, i64* %13
%140 = load i64, i64* %13
%141 = load i64, i64* %13
%142 = icmp ne i64 %141, 9223372036854775804
br i1 %142, label %143, label %144
143: ; preds = %134
unreachable
144: ; preds = %134
br label %145
145: ; preds = %144
br label %146
146: ; preds = %145
store i64 2166572392, i64* %14
store i64 4257126175, i64* %15
%147 = load i64, i64* %14
%148 = load i64, i64* %15
%149 = load i64, i64* %14
%150 = load i64, i64* %15
%151 = mul nsw i64 %149, %150
store i64 %151, i64* %16
%152 = load i64, i64* %16
%153 = load i64, i64* %16
%154 = icmp ne i64 %153, -9223372033693991016
br i1 %154, label %155, label %156
155: ; preds = %146
unreachable
156: ; preds = %146
br label %157
157: ; preds = %156
br label %158
158: ; preds = %157
store i64 -2166572392, i64* %17
store i64 -4257126175, i64* %18
%159 = load i64, i64* %17
%160 = load i64, i64* %18
%161 = load i64, i64* %17
%162 = load i64, i64* %18
%163 = mul nsw i64 %161, %162
store i64 %163, i64* %19
%164 = load i64, i64* %19
%165 = load i64, i64* %19
%166 = icmp ne i64 %165, -9223372033693991016
br i1 %166, label %167, label %168
167: ; preds = %158
unreachable
168: ; preds = %158
br label %169
169: ; preds = %168
br label %170
170: ; preds = %169
store i64 2166572392, i64* %20
store i64 -4257126175, i64* %21
%171 = load i64, i64* %20
%172 = load i64, i64* %21
%173 = load i64, i64* %20
%174 = load i64, i64* %21
%175 = mul nsw i64 %173, %174
store i64 %175, i64* %22
%176 = load i64, i64* %22
%177 = load i64, i64* %22
%178 = icmp ne i64 %177, 9223372033693991016
br i1 %178, label %179, label %180
179: ; preds = %170
unreachable
180: ; preds = %170
br label %181
181: ; preds = %180
br label %182
182: ; preds = %181
store i64 -2166572392, i64* %23
store i64 4257126175, i64* %24
%183 = load i64, i64* %23
%184 = load i64, i64* %24
%185 = load i64, i64* %23
%186 = load i64, i64* %24
%187 = mul nsw i64 %185, %186
store i64 %187, i64* %25
%188 = load i64, i64* %25
%189 = load i64, i64* %25
%190 = icmp ne i64 %189, 9223372033693991016
br i1 %190, label %191, label %192
191: ; preds = %182
unreachable
192: ; preds = %182
br label %193
193: ; preds = %192
br label %194
194: ; preds = %193
store i64 1537228672809129301, i64* %26
store i64 7, i64* %27
%195 = load i64, i64* %26
%196 = load i64, i64* %27
%197 = load i64, i64* %26
%198 = load i64, i64* %27
%199 = mul nsw i64 %197, %198
store i64 %199, i64* %28
%200 = load i64, i64* %28
%201 = load i64, i64* %28
%202 = icmp ne i64 %201, -7686143364045646509
br i1 %202, label %203, label %204
203: ; preds = %194
unreachable
204: ; preds = %194
br label %205
205: ; preds = %204
br label %206
206: ; preds = %205
store i64 -1537228672809129301, i64* %29
store i64 -7, i64* %30
%207 = load i64, i64* %29
%208 = load i64, i64* %30
%209 = load i64, i64* %29
%210 = load i64, i64* %30
%211 = mul nsw i64 %209, %210
store i64 %211, i64* %31
%212 = load i64, i64* %31
%213 = load i64, i64* %31
%214 = icmp ne i64 %213, -7686143364045646509
br i1 %214, label %215, label %216
215: ; preds = %206
unreachable
216: ; preds = %206
br label %217
217: ; preds = %216
br label %218
218: ; preds = %217
store i64 1537228672809129301, i64* %32
store i64 -7, i64* %33
%219 = load i64, i64* %32
%220 = load i64, i64* %33
%221 = load i64, i64* %32
%222 = load i64, i64* %33
%223 = mul nsw i64 %221, %222
store i64 %223, i64* %34
%224 = load i64, i64* %34
%225 = load i64, i64* %34
%226 = icmp ne i64 %225, 7686143364045646509
br i1 %226, label %227, label %228
227: ; preds = %218
unreachable
228: ; preds = %218
br label %229
229: ; preds = %228
br label %230
230: ; preds = %229
store i64 -1537228672809129301, i64* %35
store i64 7, i64* %36
%231 = load i64, i64* %35
%232 = load i64, i64* %36
%233 = load i64, i64* %35
%234 = load i64, i64* %36
%235 = mul nsw i64 %233, %234
store i64 %235, i64* %37
%236 = load i64, i64* %37
%237 = load i64, i64* %37
%238 = icmp ne i64 %237, 7686143364045646509
br i1 %238, label %239, label %240
239: ; preds = %230
unreachable
240: ; preds = %230
br label %241
241: ; preds = %240
br label %242
242: ; preds = %241
store i64 2166572391, i64* %38
store i64 4257126176, i64* %39
%243 = load i64, i64* %38
%244 = load i64, i64* %39
%245 = load i64, i64* %38
%246 = load i64, i64* %39
%247 = mul nsw i64 %245, %246
store i64 %247, i64* %40
%248 = load i64, i64* %40
%249 = load i64, i64* %40
%250 = icmp ne i64 %249, -9223372035784544800
br i1 %250, label %251, label %252
251: ; preds = %242
unreachable
252: ; preds = %242
br label %253
253: ; preds = %252
br label %254
254: ; preds = %253
store i64 -2166572391, i64* %41
store i64 -4257126176, i64* %42
%255 = load i64, i64* %41
%256 = load i64, i64* %42
%257 = load i64, i64* %41
%258 = load i64, i64* %42
%259 = mul nsw i64 %257, %258
store i64 %259, i64* %43
%260 = load i64, i64* %43
%261 = load i64, i64* %43
%262 = icmp ne i64 %261, -9223372035784544800
br i1 %262, label %263, label %264
263: ; preds = %254
unreachable
264: ; preds = %254
br label %265
265: ; preds = %264
br label %266
266: ; preds = %265
store i64 2166572391, i64* %44
store i64 -4257126176, i64* %45
%267 = load i64, i64* %44
%268 = load i64, i64* %45
%269 = load i64, i64* %44
%270 = load i64, i64* %45
%271 = mul nsw i64 %269, %270
store i64 %271, i64* %46
%272 = load i64, i64* %46
%273 = load i64, i64* %46
%274 = icmp ne i64 %273, 9223372035784544800
br i1 %274, label %275, label %276
275: ; preds = %266
unreachable
276: ; preds = %266
br label %277
277: ; preds = %276
br label %278
278: ; preds = %277
store i64 -2166572391, i64* %47
store i64 4257126176, i64* %48
%279 = load i64, i64* %47
%280 = load i64, i64* %48
%281 = load i64, i64* %47
%282 = load i64, i64* %48
%283 = mul nsw i64 %281, %282
store i64 %283, i64* %49
%284 = load i64, i64* %49
%285 = load i64, i64* %49
%286 = icmp ne i64 %285, 9223372035784544800
br i1 %286, label %287, label %288
287: ; preds = %278
unreachable
288: ; preds = %278
br label %289
289: ; preds = %288
br label %290
290: ; preds = %289
store i64 6, i64* %50
store i64 1537228672809129302, i64* %51
%291 = load i64, i64* %50
%292 = load i64, i64* %51
%293 = load i64, i64* %50
%294 = load i64, i64* %51
%295 = mul nsw i64 %293, %294
store i64 %295, i64* %52
%296 = load i64, i64* %52
%297 = load i64, i64* %52
%298 = icmp ne i64 %297, -9223372036854775804
br i1 %298, label %299, label %300
299: ; preds = %290
unreachable
300: ; preds = %290
br label %301
301: ; preds = %300
br label %302
302: ; preds = %301
store i64 -6, i64* %53
store i64 -1537228672809129302, i64* %54
%303 = load i64, i64* %53
%304 = load i64, i64* %54
%305 = load i64, i64* %53
%306 = load i64, i64* %54
%307 = mul nsw i64 %305, %306
store i64 %307, i64* %55
%308 = load i64, i64* %55
%309 = load i64, i64* %55
%310 = icmp ne i64 %309, -9223372036854775804
br i1 %310, label %311, label %312
311: ; preds = %302
unreachable
312: ; preds = %302
br label %313
313: ; preds = %312
br label %314
314: ; preds = %313
store i64 -6, i64* %56
store i64 1537228672809129302, i64* %57
%315 = load i64, i64* %56
%316 = load i64, i64* %57
%317 = load i64, i64* %56
%318 = load i64, i64* %57
%319 = mul nsw i64 %317, %318
store i64 %319, i64* %58
%320 = load i64, i64* %58
%321 = load i64, i64* %58
%322 = icmp ne i64 %321, 9223372036854775804
br i1 %322, label %323, label %324
323: ; preds = %314
unreachable
324: ; preds = %314
br label %325
325: ; preds = %324
br label %326
326: ; preds = %325
store i64 6, i64* %59
store i64 -1537228672809129302, i64* %60
%327 = load i64, i64* %59
%328 = load i64, i64* %60
%329 = load i64, i64* %59
%330 = load i64, i64* %60
%331 = mul nsw i64 %329, %330
store i64 %331, i64* %61
%332 = load i64, i64* %61
%333 = load i64, i64* %61
%334 = icmp ne i64 %333, 9223372036854775804
br i1 %334, label %335, label %336
335: ; preds = %326
unreachable
336: ; preds = %326
br label %337
337: ; preds = %336
br label %338
338: ; preds = %337
store i64 4257126175, i64* %62
store i64 2166572392, i64* %63
%339 = load i64, i64* %62
%340 = load i64, i64* %63
%341 = load i64, i64* %62
%342 = load i64, i64* %63
%343 = mul nsw i64 %341, %342
store i64 %343, i64* %64
%344 = load i64, i64* %64
%345 = load i64, i64* %64
%346 = icmp ne i64 %345, -9223372033693991016
br i1 %346, label %347, label %348
347: ; preds = %338
unreachable
348: ; preds = %338
br label %349
349: ; preds = %348
br label %350
350: ; preds = %349
store i64 -4257126175, i64* %65
store i64 -2166572392, i64* %66
%351 = load i64, i64* %65
%352 = load i64, i64* %66
%353 = load i64, i64* %65
%354 = load i64, i64* %66
%355 = mul nsw i64 %353, %354
store i64 %355, i64* %67
%356 = load i64, i64* %67
%357 = load i64, i64* %67
%358 = icmp ne i64 %357, -9223372033693991016
br i1 %358, label %359, label %360
359: ; preds = %350
unreachable
360: ; preds = %350
br label %361
361: ; preds = %360
br label %362
362: ; preds = %361
store i64 -4257126175, i64* %68
store i64 2166572392, i64* %69
%363 = load i64, i64* %68
%364 = load i64, i64* %69
%365 = load i64, i64* %68
%366 = load i64, i64* %69
%367 = mul nsw i64 %365, %366
store i64 %367, i64* %70
%368 = load i64, i64* %70
%369 = load i64, i64* %70
%370 = icmp ne i64 %369, 9223372033693991016
br i1 %370, label %371, label %372
371: ; preds = %362
unreachable
372: ; preds = %362
br label %373
373: ; preds = %372
br label %374
374: ; preds = %373
store i64 4257126175, i64* %71
store i64 -2166572392, i64* %72
%375 = load i64, i64* %71
%376 = load i64, i64* %72
%377 = load i64, i64* %71
%378 = load i64, i64* %72
%379 = mul nsw i64 %377, %378
store i64 %379, i64* %73
%380 = load i64, i64* %73
%381 = load i64, i64* %73
%382 = icmp ne i64 %381, 9223372033693991016
br i1 %382, label %383, label %384
383: ; preds = %374
unreachable
384: ; preds = %374
br label %385
385: ; preds = %384
br label %386
386: ; preds = %385
store i64 7, i64* %74
store i64 1537228672809129301, i64* %75
%387 = load i64, i64* %74
%388 = load i64, i64* %75
%389 = load i64, i64* %74
%390 = load i64, i64* %75
%391 = mul nsw i64 %389, %390
store i64 %391, i64* %76
%392 = load i64, i64* %76
%393 = load i64, i64* %76
%394 = icmp ne i64 %393, -7686143364045646509
br i1 %394, label %395, label %396
395: ; preds = %386
unreachable
396: ; preds = %386
br label %397
397: ; preds = %396
br label %398
398: ; preds = %397
store i64 -7, i64* %77
store i64 -1537228672809129301, i64* %78
%399 = load i64, i64* %77
%400 = load i64, i64* %78
%401 = load i64, i64* %77
%402 = load i64, i64* %78
%403 = mul nsw i64 %401, %402
store i64 %403, i64* %79
%404 = load i64, i64* %79
%405 = load i64, i64* %79
%406 = icmp ne i64 %405, -7686143364045646509
br i1 %406, label %407, label %408
407: ; preds = %398
unreachable
408: ; preds = %398
br label %409
409: ; preds = %408
br label %410
410: ; preds = %409
store i64 -7, i64* %80
store i64 1537228672809129301, i64* %81
%411 = load i64, i64* %80
%412 = load i64, i64* %81
%413 = load i64, i64* %80
%414 = load i64, i64* %81
%415 = mul nsw i64 %413, %414
store i64 %415, i64* %82
%416 = load i64, i64* %82
%417 = load i64, i64* %82
%418 = icmp ne i64 %417, 7686143364045646509
br i1 %418, label %419, label %420
419: ; preds = %410
unreachable
420: ; preds = %410
br label %421
421: ; preds = %420
br label %422
422: ; preds = %421
store i64 7, i64* %83
store i64 -1537228672809129301, i64* %84
%423 = load i64, i64* %83
%424 = load i64, i64* %84
%425 = load i64, i64* %83
%426 = load i64, i64* %84
%427 = mul nsw i64 %425, %426
store i64 %427, i64* %85
%428 = load i64, i64* %85
%429 = load i64, i64* %85
%430 = icmp ne i64 %429, 7686143364045646509
br i1 %430, label %431, label %432
431: ; preds = %422
unreachable
432: ; preds = %422
br label %433
433: ; preds = %432
br label %434
434: ; preds = %433
store i64 4257126176, i64* %86
store i64 2166572391, i64* %87
%435 = load i64, i64* %86
%436 = load i64, i64* %87
%437 = load i64, i64* %86
%438 = load i64, i64* %87
%439 = mul nsw i64 %437, %438
store i64 %439, i64* %88
%440 = load i64, i64* %88
%441 = load i64, i64* %88
%442 = icmp ne i64 %441, -9223372035784544800
br i1 %442, label %443, label %444
443: ; preds = %434
unreachable
444: ; preds = %434
br label %445
445: ; preds = %444
br label %446
446: ; preds = %445
store i64 -4257126176, i64* %89
store i64 -2166572391, i64* %90
%447 = load i64, i64* %89
%448 = load i64, i64* %90
%449 = load i64, i64* %89
%450 = load i64, i64* %90
%451 = mul nsw i64 %449, %450
store i64 %451, i64* %91
%452 = load i64, i64* %91
%453 = load i64, i64* %91
%454 = icmp ne i64 %453, -9223372035784544800
br i1 %454, label %455, label %456
455: ; preds = %446
unreachable
456: ; preds = %446
br label %457
457: ; preds = %456
br label %458
458: ; preds = %457
store i64 -4257126176, i64* %92
store i64 2166572391, i64* %93
%459 = load i64, i64* %92
%460 = load i64, i64* %93
%461 = load i64, i64* %92
%462 = load i64, i64* %93
%463 = mul nsw i64 %461, %462
store i64 %463, i64* %94
%464 = load i64, i64* %94
%465 = load i64, i64* %94
%466 = icmp ne i64 %465, 9223372035784544800
br i1 %466, label %467, label %468
467: ; preds = %458
unreachable
468: ; preds = %458
br label %469
469: ; preds = %468
br label %470
470: ; preds = %469
store i64 4257126176, i64* %95
store i64 -2166572391, i64* %96
%471 = load i64, i64* %95
%472 = load i64, i64* %96
%473 = load i64, i64* %95
%474 = load i64, i64* %96
%475 = mul nsw i64 %473, %474
store i64 %475, i64* %97
%476 = load i64, i64* %97
%477 = load i64, i64* %97
%478 = icmp ne i64 %477, 9223372035784544800
br i1 %478, label %479, label %480
479: ; preds = %470
unreachable
480: ; preds = %470
br label %481
481: ; preds = %480
ret i32 0
}

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