#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ make_ti(int, int);
scalar_t__ test__ashrti3(int /*<<< orphan*/, int, int /*<<< orphan*/);
int main() {
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 0,
                    make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 1,
                    make_ti(0xFF6E5D4C3B2A190ALL, 0xFF6E5D4C3B2A190ALL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 2,
                    make_ti(0xFFB72EA61D950C85LL, 0x7FB72EA61D950C85LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 3,
                    make_ti(0xFFDB97530ECA8642LL, 0xBFDB97530ECA8642LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 4,
                    make_ti(0xFFEDCBA987654321LL, 0x5FEDCBA987654321LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 28,
                    make_ti(0xFFFFFFFFEDCBA987LL, 0x6543215FEDCBA987LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 29,
                    make_ti(0xFFFFFFFFF6E5D4C3LL, 0xB2A190AFF6E5D4C3LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 30,
                    make_ti(0xFFFFFFFFFB72EA61LL, 0xD950C857FB72EA61LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 31,
                    make_ti(0xFFFFFFFFFDB97530LL, 0xECA8642BFDB97530LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 32,
                    make_ti(0xFFFFFFFFFEDCBA98LL, 0x76543215FEDCBA98LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 33,
                    make_ti(0xFFFFFFFFFF6E5D4CLL, 0x3B2A190AFF6E5D4CLL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 34,
                    make_ti(0xFFFFFFFFFFB72EA6LL, 0x1D950C857FB72EA6LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 35,
                    make_ti(0xFFFFFFFFFFDB9753LL, 0x0ECA8642BFDB9753LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 36,
                    make_ti(0xFFFFFFFFFFEDCBA9LL, 0x876543215FEDCBA9LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 60,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xEDCBA9876543215FLL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 61,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xF6E5D4C3B2A190AFLL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 62,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFB72EA61D950C857LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 63,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFDB97530ECA8642BLL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 64,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFEDCBA9876543215LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 65,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFF6E5D4C3B2A190ALL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 66,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFB72EA61D950C85LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 67,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFDB97530ECA8642LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 68,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFEDCBA987654321LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 92,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFEDCBA987LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 93,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFF6E5D4C3LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 94,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFB72EA61LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 95,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFDB97530LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 96,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFEDCBA98LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 97,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFF6E5D4CLL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 98,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFB72EA6LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 99,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFDB9753LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 100,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFEDCBA9LL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 124,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 125,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 126,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL)))
    return 1;
  if (test__ashrti3(make_ti(0xFEDCBA9876543215LL, 0xFEDCBA9876543215LL), 127,
                    make_ti(0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL)))
    return 1;
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0xa0,%rsp
movl   $0x0,-0x4(%rbp)
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x8(%rbp)
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x8(%rbp),%edi
mov    %eax,%edx
xor    %esi,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     116f <main+0x4f>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0xc(%rbp)
mov    $0x3b2a190a,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0xc(%rbp),%edi
mov    %eax,%edx
mov    $0x1,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     11af <main+0x8f>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x10(%rbp)
mov    $0x1d950c85,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x10(%rbp),%edi
mov    %eax,%edx
mov    $0x2,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     11ef <main+0xcf>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x14(%rbp)
mov    $0xeca8642,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x14(%rbp),%edi
mov    %eax,%edx
mov    $0x3,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     122f <main+0x10f>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x18(%rbp)
mov    $0x87654321,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x18(%rbp),%edi
mov    %eax,%edx
mov    $0x4,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     126f <main+0x14f>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x1c(%rbp)
mov    $0xedcba987,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x1c(%rbp),%edi
mov    %eax,%edx
mov    $0x1c,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     12af <main+0x18f>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x20(%rbp)
mov    $0xf6e5d4c3,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x20(%rbp),%edi
mov    %eax,%edx
mov    $0x1d,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     12ef <main+0x1cf>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x24(%rbp)
mov    $0xfb72ea61,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x24(%rbp),%edi
mov    %eax,%edx
mov    $0x1e,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     132f <main+0x20f>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x28(%rbp)
mov    $0xfdb97530,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x28(%rbp),%edi
mov    %eax,%edx
mov    $0x1f,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     136f <main+0x24f>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x2c(%rbp)
mov    $0xfedcba98,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x2c(%rbp),%edi
mov    %eax,%edx
mov    $0x20,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     13af <main+0x28f>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x30(%rbp)
mov    $0xff6e5d4c,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x30(%rbp),%edi
mov    %eax,%edx
mov    $0x21,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     13ef <main+0x2cf>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x34(%rbp)
mov    $0xffb72ea6,%edi
mov    $0x7fb72ea6,%esi
call   1040 <make_ti@plt>
mov    -0x34(%rbp),%edi
mov    %eax,%edx
mov    $0x22,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1432 <main+0x312>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x38(%rbp)
mov    $0xffdb9753,%edi
mov    $0xbfdb9753,%esi
call   1040 <make_ti@plt>
mov    -0x38(%rbp),%edi
mov    %eax,%edx
mov    $0x23,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1475 <main+0x355>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x3c(%rbp)
mov    $0xffedcba9,%edi
mov    $0x5fedcba9,%esi
call   1040 <make_ti@plt>
mov    -0x3c(%rbp),%edi
mov    %eax,%edx
mov    $0x24,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     14b8 <main+0x398>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x40(%rbp)
mov    $0xffffffff,%edi
mov    $0x6543215f,%esi
call   1040 <make_ti@plt>
mov    -0x40(%rbp),%edi
mov    %eax,%edx
mov    $0x3c,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     14fb <main+0x3db>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x44(%rbp)
mov    $0xffffffff,%edi
mov    $0xb2a190af,%esi
call   1040 <make_ti@plt>
mov    -0x44(%rbp),%edi
mov    %eax,%edx
mov    $0x3d,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     153e <main+0x41e>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x48(%rbp)
mov    $0xffffffff,%edi
mov    $0xd950c857,%esi
call   1040 <make_ti@plt>
mov    -0x48(%rbp),%edi
mov    %eax,%edx
mov    $0x3e,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1581 <main+0x461>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x4c(%rbp)
mov    $0xffffffff,%edi
mov    $0xeca8642b,%esi
call   1040 <make_ti@plt>
mov    -0x4c(%rbp),%edi
mov    %eax,%edx
mov    $0x3f,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     15c4 <main+0x4a4>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x50(%rbp)
mov    $0xffffffff,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    -0x50(%rbp),%edi
mov    %eax,%edx
mov    $0x40,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1607 <main+0x4e7>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x54(%rbp)
mov    $0xffffffff,%edi
mov    $0x3b2a190a,%esi
call   1040 <make_ti@plt>
mov    -0x54(%rbp),%edi
mov    %eax,%edx
mov    $0x41,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     164a <main+0x52a>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x58(%rbp)
mov    $0xffffffff,%edi
mov    $0x1d950c85,%esi
call   1040 <make_ti@plt>
mov    -0x58(%rbp),%edi
mov    %eax,%edx
mov    $0x42,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     168d <main+0x56d>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x5c(%rbp)
mov    $0xffffffff,%edi
mov    $0xeca8642,%esi
call   1040 <make_ti@plt>
mov    -0x5c(%rbp),%edi
mov    %eax,%edx
mov    $0x43,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     16d0 <main+0x5b0>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x60(%rbp)
mov    $0xffffffff,%edi
mov    $0x87654321,%esi
call   1040 <make_ti@plt>
mov    -0x60(%rbp),%edi
mov    %eax,%edx
mov    $0x44,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1713 <main+0x5f3>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x64(%rbp)
mov    $0xffffffff,%edi
mov    $0xedcba987,%esi
call   1040 <make_ti@plt>
mov    -0x64(%rbp),%edi
mov    %eax,%edx
mov    $0x5c,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1756 <main+0x636>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x68(%rbp)
mov    $0xffffffff,%edi
mov    $0xf6e5d4c3,%esi
call   1040 <make_ti@plt>
mov    -0x68(%rbp),%edi
mov    %eax,%edx
mov    $0x5d,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1799 <main+0x679>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x6c(%rbp)
mov    $0xffffffff,%edi
mov    $0xfb72ea61,%esi
call   1040 <make_ti@plt>
mov    -0x6c(%rbp),%edi
mov    %eax,%edx
mov    $0x5e,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     17dc <main+0x6bc>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x70(%rbp)
mov    $0xffffffff,%edi
mov    $0xfdb97530,%esi
call   1040 <make_ti@plt>
mov    -0x70(%rbp),%edi
mov    %eax,%edx
mov    $0x5f,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     181f <main+0x6ff>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x74(%rbp)
mov    $0xffffffff,%edi
mov    $0xfedcba98,%esi
call   1040 <make_ti@plt>
mov    -0x74(%rbp),%edi
mov    %eax,%edx
mov    $0x60,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1862 <main+0x742>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x78(%rbp)
mov    $0xffffffff,%edi
mov    $0xff6e5d4c,%esi
call   1040 <make_ti@plt>
mov    -0x78(%rbp),%edi
mov    %eax,%edx
mov    $0x61,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     18a5 <main+0x785>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x7c(%rbp)
mov    $0xffffffff,%edi
mov    $0xffb72ea6,%esi
call   1040 <make_ti@plt>
mov    -0x7c(%rbp),%edi
mov    %eax,%edx
mov    $0x62,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     18e8 <main+0x7c8>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x80(%rbp)
mov    $0xffffffff,%edi
mov    $0xffdb9753,%esi
call   1040 <make_ti@plt>
mov    -0x80(%rbp),%edi
mov    %eax,%edx
mov    $0x63,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     192b <main+0x80b>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x84(%rbp)
mov    $0xffffffff,%edi
mov    $0xffedcba9,%esi
call   1040 <make_ti@plt>
mov    -0x84(%rbp),%edi
mov    %eax,%edx
mov    $0x64,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1974 <main+0x854>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x88(%rbp)
mov    $0xffffffff,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x88(%rbp),%edi
mov    %eax,%edx
mov    $0x7c,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     19ba <main+0x89a>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x8c(%rbp)
mov    $0xffffffff,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x8c(%rbp),%edi
mov    %eax,%edx
mov    $0x7d,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1a00 <main+0x8e0>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x90(%rbp)
mov    $0xffffffff,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x90(%rbp),%edi
mov    %eax,%edx
mov    $0x7e,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1a46 <main+0x926>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
mov    $0x76543215,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    %eax,-0x94(%rbp)
mov    $0xffffffff,%esi
mov    %esi,%edi
call   1040 <make_ti@plt>
mov    -0x94(%rbp),%edi
mov    %eax,%edx
mov    $0x7f,%esi
call   1030 <test__ashrti3@plt>
cmp    $0x0,%rax
je     1a8c <main+0x96c>
movl   $0x1,-0x4(%rbp)
jmp    1a93 <main+0x973>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0xa0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %rbx
push   %rax
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebx
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %ebx,%edi
xor    %esi,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
mov    $0x1,%ebx
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0x3b2a190a,%edi
mov    $0x3b2a190a,%esi
call   1040 <make_ti@plt>
mov    $0x1,%ebx
mov    %ebp,%edi
mov    $0x1,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0x1d950c85,%edi
mov    $0x1d950c85,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x2,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xeca8642,%edi
mov    $0xeca8642,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x3,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0x87654321,%edi
mov    $0x87654321,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x4,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xedcba987,%edi
mov    $0xedcba987,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x1c,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xf6e5d4c3,%edi
mov    $0xf6e5d4c3,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x1d,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xfb72ea61,%edi
mov    $0xfb72ea61,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x1e,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xfdb97530,%edi
mov    $0xfdb97530,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x1f,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xfedcba98,%edi
mov    $0xfedcba98,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x20,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xff6e5d4c,%edi
mov    $0xff6e5d4c,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x21,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffb72ea6,%edi
mov    $0x7fb72ea6,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x22,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffdb9753,%edi
mov    $0xbfdb9753,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x23,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffedcba9,%edi
mov    $0x5fedcba9,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x24,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0x6543215f,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x3c,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xb2a190af,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x3d,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xd950c857,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x3e,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xeca8642b,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x3f,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x40,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0x3b2a190a,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x41,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0x1d950c85,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x42,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xeca8642,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x43,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0x87654321,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x44,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xedcba987,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x5c,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xf6e5d4c3,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x5d,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xfb72ea61,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x5e,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xfdb97530,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x5f,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xfedcba98,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x60,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xff6e5d4c,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x61,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xffb72ea6,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x62,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xffdb9753,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x63,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xffedcba9,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x64,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xffffffff,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x7c,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xffffffff,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x7d,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebp
mov    $0xffffffff,%edi
mov    $0xffffffff,%esi
call   1040 <make_ti@plt>
mov    %ebp,%edi
mov    $0x7e,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
test   %rax,%rax
jne    18dd <main+0x7bd>
mov    $0x76543215,%edi
mov    $0x76543215,%esi
call   1040 <make_ti@plt>
mov    %eax,%ebx
mov    $0xffffffff,%edi
mov    $0xffffffff,%esi
call   1040 <make_ti@plt>
mov    %ebx,%edi
mov    $0x7f,%esi
mov    %eax,%edx
call   1030 <test__ashrti3@plt>
xor    %ebx,%ebx
test   %rax,%rax
setne  %bl
mov    %ebx,%eax
add    $0x8,%rsp
pop    %rbx
pop    %rbp
ret

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
store i32 0, i32* %1
%2 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%3 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%4 = call i64 @test__ashrti3(i32 %2, i32 0, i32 %3)
%5 = icmp ne i64 %4, 0
br i1 %5, label %6, label %7
6: ; preds = %0
store i32 1, i32* %1
br label %218
7: ; preds = %0
%8 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%9 = call i32 @make_ti(i32 992614666, i32 992614666)
%10 = call i64 @test__ashrti3(i32 %8, i32 1, i32 %9)
%11 = icmp ne i64 %10, 0
br i1 %11, label %12, label %13
12: ; preds = %7
store i32 1, i32* %1
br label %218
13: ; preds = %7
%14 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%15 = call i32 @make_ti(i32 496307333, i32 496307333)
%16 = call i64 @test__ashrti3(i32 %14, i32 2, i32 %15)
%17 = icmp ne i64 %16, 0
br i1 %17, label %18, label %19
18: ; preds = %13
store i32 1, i32* %1
br label %218
19: ; preds = %13
%20 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%21 = call i32 @make_ti(i32 248153666, i32 248153666)
%22 = call i64 @test__ashrti3(i32 %20, i32 3, i32 %21)
%23 = icmp ne i64 %22, 0
br i1 %23, label %24, label %25
24: ; preds = %19
store i32 1, i32* %1
br label %218
25: ; preds = %19
%26 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%27 = call i32 @make_ti(i32 -2023406815, i32 -2023406815)
%28 = call i64 @test__ashrti3(i32 %26, i32 4, i32 %27)
%29 = icmp ne i64 %28, 0
br i1 %29, label %30, label %31
30: ; preds = %25
store i32 1, i32* %1
br label %218
31: ; preds = %25
%32 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%33 = call i32 @make_ti(i32 -305419897, i32 -305419897)
%34 = call i64 @test__ashrti3(i32 %32, i32 28, i32 %33)
%35 = icmp ne i64 %34, 0
br i1 %35, label %36, label %37
36: ; preds = %31
store i32 1, i32* %1
br label %218
37: ; preds = %31
%38 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%39 = call i32 @make_ti(i32 -152709949, i32 -152709949)
%40 = call i64 @test__ashrti3(i32 %38, i32 29, i32 %39)
%41 = icmp ne i64 %40, 0
br i1 %41, label %42, label %43
42: ; preds = %37
store i32 1, i32* %1
br label %218
43: ; preds = %37
%44 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%45 = call i32 @make_ti(i32 -76354975, i32 -76354975)
%46 = call i64 @test__ashrti3(i32 %44, i32 30, i32 %45)
%47 = icmp ne i64 %46, 0
br i1 %47, label %48, label %49
48: ; preds = %43
store i32 1, i32* %1
br label %218
49: ; preds = %43
%50 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%51 = call i32 @make_ti(i32 -38177488, i32 -38177488)
%52 = call i64 @test__ashrti3(i32 %50, i32 31, i32 %51)
%53 = icmp ne i64 %52, 0
br i1 %53, label %54, label %55
54: ; preds = %49
store i32 1, i32* %1
br label %218
55: ; preds = %49
%56 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%57 = call i32 @make_ti(i32 -19088744, i32 -19088744)
%58 = call i64 @test__ashrti3(i32 %56, i32 32, i32 %57)
%59 = icmp ne i64 %58, 0
br i1 %59, label %60, label %61
60: ; preds = %55
store i32 1, i32* %1
br label %218
61: ; preds = %55
%62 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%63 = call i32 @make_ti(i32 -9544372, i32 -9544372)
%64 = call i64 @test__ashrti3(i32 %62, i32 33, i32 %63)
%65 = icmp ne i64 %64, 0
br i1 %65, label %66, label %67
66: ; preds = %61
store i32 1, i32* %1
br label %218
67: ; preds = %61
%68 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%69 = call i32 @make_ti(i32 -4772186, i32 2142711462)
%70 = call i64 @test__ashrti3(i32 %68, i32 34, i32 %69)
%71 = icmp ne i64 %70, 0
br i1 %71, label %72, label %73
72: ; preds = %67
store i32 1, i32* %1
br label %218
73: ; preds = %67
%74 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%75 = call i32 @make_ti(i32 -2386093, i32 -1076127917)
%76 = call i64 @test__ashrti3(i32 %74, i32 35, i32 %75)
%77 = icmp ne i64 %76, 0
br i1 %77, label %78, label %79
78: ; preds = %73
store i32 1, i32* %1
br label %218
79: ; preds = %73
%80 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%81 = call i32 @make_ti(i32 -1193047, i32 1609419689)
%82 = call i64 @test__ashrti3(i32 %80, i32 36, i32 %81)
%83 = icmp ne i64 %82, 0
br i1 %83, label %84, label %85
84: ; preds = %79
store i32 1, i32* %1
br label %218
85: ; preds = %79
%86 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%87 = call i32 @make_ti(i32 -1, i32 1698898271)
%88 = call i64 @test__ashrti3(i32 %86, i32 60, i32 %87)
%89 = icmp ne i64 %88, 0
br i1 %89, label %90, label %91
90: ; preds = %85
store i32 1, i32* %1
br label %218
91: ; preds = %85
%92 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%93 = call i32 @make_ti(i32 -1, i32 -1298034513)
%94 = call i64 @test__ashrti3(i32 %92, i32 61, i32 %93)
%95 = icmp ne i64 %94, 0
br i1 %95, label %96, label %97
96: ; preds = %91
store i32 1, i32* %1
br label %218
97: ; preds = %91
%98 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%99 = call i32 @make_ti(i32 -1, i32 -649017257)
%100 = call i64 @test__ashrti3(i32 %98, i32 62, i32 %99)
%101 = icmp ne i64 %100, 0
br i1 %101, label %102, label %103
102: ; preds = %97
store i32 1, i32* %1
br label %218
103: ; preds = %97
%104 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%105 = call i32 @make_ti(i32 -1, i32 -324508629)
%106 = call i64 @test__ashrti3(i32 %104, i32 63, i32 %105)
%107 = icmp ne i64 %106, 0
br i1 %107, label %108, label %109
108: ; preds = %103
store i32 1, i32* %1
br label %218
109: ; preds = %103
%110 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%111 = call i32 @make_ti(i32 -1, i32 1985229333)
%112 = call i64 @test__ashrti3(i32 %110, i32 64, i32 %111)
%113 = icmp ne i64 %112, 0
br i1 %113, label %114, label %115
114: ; preds = %109
store i32 1, i32* %1
br label %218
115: ; preds = %109
%116 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%117 = call i32 @make_ti(i32 -1, i32 992614666)
%118 = call i64 @test__ashrti3(i32 %116, i32 65, i32 %117)
%119 = icmp ne i64 %118, 0
br i1 %119, label %120, label %121
120: ; preds = %115
store i32 1, i32* %1
br label %218
121: ; preds = %115
%122 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%123 = call i32 @make_ti(i32 -1, i32 496307333)
%124 = call i64 @test__ashrti3(i32 %122, i32 66, i32 %123)
%125 = icmp ne i64 %124, 0
br i1 %125, label %126, label %127
126: ; preds = %121
store i32 1, i32* %1
br label %218
127: ; preds = %121
%128 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%129 = call i32 @make_ti(i32 -1, i32 248153666)
%130 = call i64 @test__ashrti3(i32 %128, i32 67, i32 %129)
%131 = icmp ne i64 %130, 0
br i1 %131, label %132, label %133
132: ; preds = %127
store i32 1, i32* %1
br label %218
133: ; preds = %127
%134 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%135 = call i32 @make_ti(i32 -1, i32 -2023406815)
%136 = call i64 @test__ashrti3(i32 %134, i32 68, i32 %135)
%137 = icmp ne i64 %136, 0
br i1 %137, label %138, label %139
138: ; preds = %133
store i32 1, i32* %1
br label %218
139: ; preds = %133
%140 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%141 = call i32 @make_ti(i32 -1, i32 -305419897)
%142 = call i64 @test__ashrti3(i32 %140, i32 92, i32 %141)
%143 = icmp ne i64 %142, 0
br i1 %143, label %144, label %145
144: ; preds = %139
store i32 1, i32* %1
br label %218
145: ; preds = %139
%146 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%147 = call i32 @make_ti(i32 -1, i32 -152709949)
%148 = call i64 @test__ashrti3(i32 %146, i32 93, i32 %147)
%149 = icmp ne i64 %148, 0
br i1 %149, label %150, label %151
150: ; preds = %145
store i32 1, i32* %1
br label %218
151: ; preds = %145
%152 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%153 = call i32 @make_ti(i32 -1, i32 -76354975)
%154 = call i64 @test__ashrti3(i32 %152, i32 94, i32 %153)
%155 = icmp ne i64 %154, 0
br i1 %155, label %156, label %157
156: ; preds = %151
store i32 1, i32* %1
br label %218
157: ; preds = %151
%158 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%159 = call i32 @make_ti(i32 -1, i32 -38177488)
%160 = call i64 @test__ashrti3(i32 %158, i32 95, i32 %159)
%161 = icmp ne i64 %160, 0
br i1 %161, label %162, label %163
162: ; preds = %157
store i32 1, i32* %1
br label %218
163: ; preds = %157
%164 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%165 = call i32 @make_ti(i32 -1, i32 -19088744)
%166 = call i64 @test__ashrti3(i32 %164, i32 96, i32 %165)
%167 = icmp ne i64 %166, 0
br i1 %167, label %168, label %169
168: ; preds = %163
store i32 1, i32* %1
br label %218
169: ; preds = %163
%170 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%171 = call i32 @make_ti(i32 -1, i32 -9544372)
%172 = call i64 @test__ashrti3(i32 %170, i32 97, i32 %171)
%173 = icmp ne i64 %172, 0
br i1 %173, label %174, label %175
174: ; preds = %169
store i32 1, i32* %1
br label %218
175: ; preds = %169
%176 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%177 = call i32 @make_ti(i32 -1, i32 -4772186)
%178 = call i64 @test__ashrti3(i32 %176, i32 98, i32 %177)
%179 = icmp ne i64 %178, 0
br i1 %179, label %180, label %181
180: ; preds = %175
store i32 1, i32* %1
br label %218
181: ; preds = %175
%182 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%183 = call i32 @make_ti(i32 -1, i32 -2386093)
%184 = call i64 @test__ashrti3(i32 %182, i32 99, i32 %183)
%185 = icmp ne i64 %184, 0
br i1 %185, label %186, label %187
186: ; preds = %181
store i32 1, i32* %1
br label %218
187: ; preds = %181
%188 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%189 = call i32 @make_ti(i32 -1, i32 -1193047)
%190 = call i64 @test__ashrti3(i32 %188, i32 100, i32 %189)
%191 = icmp ne i64 %190, 0
br i1 %191, label %192, label %193
192: ; preds = %187
store i32 1, i32* %1
br label %218
193: ; preds = %187
%194 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%195 = call i32 @make_ti(i32 -1, i32 -1)
%196 = call i64 @test__ashrti3(i32 %194, i32 124, i32 %195)
%197 = icmp ne i64 %196, 0
br i1 %197, label %198, label %199
198: ; preds = %193
store i32 1, i32* %1
br label %218
199: ; preds = %193
%200 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%201 = call i32 @make_ti(i32 -1, i32 -1)
%202 = call i64 @test__ashrti3(i32 %200, i32 125, i32 %201)
%203 = icmp ne i64 %202, 0
br i1 %203, label %204, label %205
204: ; preds = %199
store i32 1, i32* %1
br label %218
205: ; preds = %199
%206 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%207 = call i32 @make_ti(i32 -1, i32 -1)
%208 = call i64 @test__ashrti3(i32 %206, i32 126, i32 %207)
%209 = icmp ne i64 %208, 0
br i1 %209, label %210, label %211
210: ; preds = %205
store i32 1, i32* %1
br label %218
211: ; preds = %205
%212 = call i32 @make_ti(i32 1985229333, i32 1985229333)
%213 = call i32 @make_ti(i32 -1, i32 -1)
%214 = call i64 @test__ashrti3(i32 %212, i32 127, i32 %213)
%215 = icmp ne i64 %214, 0
br i1 %215, label %216, label %217
216: ; preds = %211
store i32 1, i32* %1
br label %218
217: ; preds = %211
store i32 0, i32* %1
br label %218
218: ; preds = %217, %216, %210, %204, %198, %192, %186, %180, %174, %168, %162, %156, %150, %144, %138, %132, %126, %120, %114, %108, %102, %96, %90, %84, %78, %72, %66, %60, %54, %48, %42, %36, %30, %24, %18, %12, %6
%219 = load i32, i32* %1
ret i32 %219
}

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%2 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%3 = tail call i64 @test__ashrti3(i32 %1, i32 0, i32 %2)
%4 = icmp eq i64 %3, 0
br i1 %4, label %5, label %181
5: ; preds = %0
%6 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%7 = tail call i32 @make_ti(i32 992614666, i32 992614666)
%8 = tail call i64 @test__ashrti3(i32 %6, i32 1, i32 %7)
%9 = icmp eq i64 %8, 0
br i1 %9, label %10, label %181
10: ; preds = %5
%11 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%12 = tail call i32 @make_ti(i32 496307333, i32 496307333)
%13 = tail call i64 @test__ashrti3(i32 %11, i32 2, i32 %12)
%14 = icmp eq i64 %13, 0
br i1 %14, label %15, label %181
15: ; preds = %10
%16 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%17 = tail call i32 @make_ti(i32 248153666, i32 248153666)
%18 = tail call i64 @test__ashrti3(i32 %16, i32 3, i32 %17)
%19 = icmp eq i64 %18, 0
br i1 %19, label %20, label %181
20: ; preds = %15
%21 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%22 = tail call i32 @make_ti(i32 -2023406815, i32 -2023406815)
%23 = tail call i64 @test__ashrti3(i32 %21, i32 4, i32 %22)
%24 = icmp eq i64 %23, 0
br i1 %24, label %25, label %181
25: ; preds = %20
%26 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%27 = tail call i32 @make_ti(i32 -305419897, i32 -305419897)
%28 = tail call i64 @test__ashrti3(i32 %26, i32 28, i32 %27)
%29 = icmp eq i64 %28, 0
br i1 %29, label %30, label %181
30: ; preds = %25
%31 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%32 = tail call i32 @make_ti(i32 -152709949, i32 -152709949)
%33 = tail call i64 @test__ashrti3(i32 %31, i32 29, i32 %32)
%34 = icmp eq i64 %33, 0
br i1 %34, label %35, label %181
35: ; preds = %30
%36 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%37 = tail call i32 @make_ti(i32 -76354975, i32 -76354975)
%38 = tail call i64 @test__ashrti3(i32 %36, i32 30, i32 %37)
%39 = icmp eq i64 %38, 0
br i1 %39, label %40, label %181
40: ; preds = %35
%41 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%42 = tail call i32 @make_ti(i32 -38177488, i32 -38177488)
%43 = tail call i64 @test__ashrti3(i32 %41, i32 31, i32 %42)
%44 = icmp eq i64 %43, 0
br i1 %44, label %45, label %181
45: ; preds = %40
%46 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%47 = tail call i32 @make_ti(i32 -19088744, i32 -19088744)
%48 = tail call i64 @test__ashrti3(i32 %46, i32 32, i32 %47)
%49 = icmp eq i64 %48, 0
br i1 %49, label %50, label %181
50: ; preds = %45
%51 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%52 = tail call i32 @make_ti(i32 -9544372, i32 -9544372)
%53 = tail call i64 @test__ashrti3(i32 %51, i32 33, i32 %52)
%54 = icmp eq i64 %53, 0
br i1 %54, label %55, label %181
55: ; preds = %50
%56 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%57 = tail call i32 @make_ti(i32 -4772186, i32 2142711462)
%58 = tail call i64 @test__ashrti3(i32 %56, i32 34, i32 %57)
%59 = icmp eq i64 %58, 0
br i1 %59, label %60, label %181
60: ; preds = %55
%61 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%62 = tail call i32 @make_ti(i32 -2386093, i32 -1076127917)
%63 = tail call i64 @test__ashrti3(i32 %61, i32 35, i32 %62)
%64 = icmp eq i64 %63, 0
br i1 %64, label %65, label %181
65: ; preds = %60
%66 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%67 = tail call i32 @make_ti(i32 -1193047, i32 1609419689)
%68 = tail call i64 @test__ashrti3(i32 %66, i32 36, i32 %67)
%69 = icmp eq i64 %68, 0
br i1 %69, label %70, label %181
70: ; preds = %65
%71 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%72 = tail call i32 @make_ti(i32 -1, i32 1698898271)
%73 = tail call i64 @test__ashrti3(i32 %71, i32 60, i32 %72)
%74 = icmp eq i64 %73, 0
br i1 %74, label %75, label %181
75: ; preds = %70
%76 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%77 = tail call i32 @make_ti(i32 -1, i32 -1298034513)
%78 = tail call i64 @test__ashrti3(i32 %76, i32 61, i32 %77)
%79 = icmp eq i64 %78, 0
br i1 %79, label %80, label %181
80: ; preds = %75
%81 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%82 = tail call i32 @make_ti(i32 -1, i32 -649017257)
%83 = tail call i64 @test__ashrti3(i32 %81, i32 62, i32 %82)
%84 = icmp eq i64 %83, 0
br i1 %84, label %85, label %181
85: ; preds = %80
%86 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%87 = tail call i32 @make_ti(i32 -1, i32 -324508629)
%88 = tail call i64 @test__ashrti3(i32 %86, i32 63, i32 %87)
%89 = icmp eq i64 %88, 0
br i1 %89, label %90, label %181
90: ; preds = %85
%91 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%92 = tail call i32 @make_ti(i32 -1, i32 1985229333)
%93 = tail call i64 @test__ashrti3(i32 %91, i32 64, i32 %92)
%94 = icmp eq i64 %93, 0
br i1 %94, label %95, label %181
95: ; preds = %90
%96 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%97 = tail call i32 @make_ti(i32 -1, i32 992614666)
%98 = tail call i64 @test__ashrti3(i32 %96, i32 65, i32 %97)
%99 = icmp eq i64 %98, 0
br i1 %99, label %100, label %181
100: ; preds = %95
%101 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%102 = tail call i32 @make_ti(i32 -1, i32 496307333)
%103 = tail call i64 @test__ashrti3(i32 %101, i32 66, i32 %102)
%104 = icmp eq i64 %103, 0
br i1 %104, label %105, label %181
105: ; preds = %100
%106 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%107 = tail call i32 @make_ti(i32 -1, i32 248153666)
%108 = tail call i64 @test__ashrti3(i32 %106, i32 67, i32 %107)
%109 = icmp eq i64 %108, 0
br i1 %109, label %110, label %181
110: ; preds = %105
%111 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%112 = tail call i32 @make_ti(i32 -1, i32 -2023406815)
%113 = tail call i64 @test__ashrti3(i32 %111, i32 68, i32 %112)
%114 = icmp eq i64 %113, 0
br i1 %114, label %115, label %181
115: ; preds = %110
%116 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%117 = tail call i32 @make_ti(i32 -1, i32 -305419897)
%118 = tail call i64 @test__ashrti3(i32 %116, i32 92, i32 %117)
%119 = icmp eq i64 %118, 0
br i1 %119, label %120, label %181
120: ; preds = %115
%121 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%122 = tail call i32 @make_ti(i32 -1, i32 -152709949)
%123 = tail call i64 @test__ashrti3(i32 %121, i32 93, i32 %122)
%124 = icmp eq i64 %123, 0
br i1 %124, label %125, label %181
125: ; preds = %120
%126 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%127 = tail call i32 @make_ti(i32 -1, i32 -76354975)
%128 = tail call i64 @test__ashrti3(i32 %126, i32 94, i32 %127)
%129 = icmp eq i64 %128, 0
br i1 %129, label %130, label %181
130: ; preds = %125
%131 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%132 = tail call i32 @make_ti(i32 -1, i32 -38177488)
%133 = tail call i64 @test__ashrti3(i32 %131, i32 95, i32 %132)
%134 = icmp eq i64 %133, 0
br i1 %134, label %135, label %181
135: ; preds = %130
%136 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%137 = tail call i32 @make_ti(i32 -1, i32 -19088744)
%138 = tail call i64 @test__ashrti3(i32 %136, i32 96, i32 %137)
%139 = icmp eq i64 %138, 0
br i1 %139, label %140, label %181
140: ; preds = %135
%141 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%142 = tail call i32 @make_ti(i32 -1, i32 -9544372)
%143 = tail call i64 @test__ashrti3(i32 %141, i32 97, i32 %142)
%144 = icmp eq i64 %143, 0
br i1 %144, label %145, label %181
145: ; preds = %140
%146 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%147 = tail call i32 @make_ti(i32 -1, i32 -4772186)
%148 = tail call i64 @test__ashrti3(i32 %146, i32 98, i32 %147)
%149 = icmp eq i64 %148, 0
br i1 %149, label %150, label %181
150: ; preds = %145
%151 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%152 = tail call i32 @make_ti(i32 -1, i32 -2386093)
%153 = tail call i64 @test__ashrti3(i32 %151, i32 99, i32 %152)
%154 = icmp eq i64 %153, 0
br i1 %154, label %155, label %181
155: ; preds = %150
%156 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%157 = tail call i32 @make_ti(i32 -1, i32 -1193047)
%158 = tail call i64 @test__ashrti3(i32 %156, i32 100, i32 %157)
%159 = icmp eq i64 %158, 0
br i1 %159, label %160, label %181
160: ; preds = %155
%161 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%162 = tail call i32 @make_ti(i32 -1, i32 -1)
%163 = tail call i64 @test__ashrti3(i32 %161, i32 124, i32 %162)
%164 = icmp eq i64 %163, 0
br i1 %164, label %165, label %181
165: ; preds = %160
%166 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%167 = tail call i32 @make_ti(i32 -1, i32 -1)
%168 = tail call i64 @test__ashrti3(i32 %166, i32 125, i32 %167)
%169 = icmp eq i64 %168, 0
br i1 %169, label %170, label %181
170: ; preds = %165
%171 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%172 = tail call i32 @make_ti(i32 -1, i32 -1)
%173 = tail call i64 @test__ashrti3(i32 %171, i32 126, i32 %172)
%174 = icmp eq i64 %173, 0
br i1 %174, label %175, label %181
175: ; preds = %170
%176 = tail call i32 @make_ti(i32 1985229333, i32 1985229333)
%177 = tail call i32 @make_ti(i32 -1, i32 -1)
%178 = tail call i64 @test__ashrti3(i32 %176, i32 127, i32 %177)
%179 = icmp ne i64 %178, 0
%180 = zext i1 %179 to i32
br label %181
181: ; preds = %175, %170, %165, %160, %155, %150, %145, %140, %135, %130, %125, %120, %115, %110, %105, %100, %95, %90, %85, %80, %75, %70, %65, %60, %55, %50, %45, %40, %35, %30, %25, %20, %15, %10, %5, %0
%182 = phi i32 [ 1, %0 ], [ 1, %5 ], [ 1, %10 ], [ 1, %15 ], [ 1, %20 ], [ 1, %25 ], [ 1, %30 ], [ 1, %35 ], [ 1, %40 ], [ 1, %45 ], [ 1, %50 ], [ 1, %55 ], [ 1, %60 ], [ 1, %65 ], [ 1, %70 ], [ 1, %75 ], [ 1, %80 ], [ 1, %85 ], [ 1, %90 ], [ 1, %95 ], [ 1, %100 ], [ 1, %105 ], [ 1, %110 ], [ 1, %115 ], [ 1, %120 ], [ 1, %125 ], [ 1, %130 ], [ 1, %135 ], [ 1, %140 ], [ 1, %145 ], [ 1, %150 ], [ 1, %155 ], [ 1, %160 ], [ 1, %165 ], [ 1, %170 ], [ %180, %175 ]
ret i32 %182
}