#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*/ abort();
int test1(int);
int test10(int);
int test11(int);
int test12(int);
int test2(int);
int test3(int);
int test4(int);
int test5(int);
int test6(int);
int test7(int);
int test8(int);
int test9(int);
int main() {
  if (test1(-30) != 0)
    abort();
  if (test1(-29) != 1)
    abort();
  if (test1(-20) != 1)
    abort();
  if (test1(-19) != 0)
    abort();
  if (test2(0) != 1)
    abort();
  if (test2(9) != 1)
    abort();
  if (test2(10) != 0)
    abort();
  if (test2(-1) != 1)
    abort();
  if (test2(-9) != 1)
    abort();
  if (test2(-10) != 0)
    abort();
  if (test3(-30) != 1)
    abort();
  if (test3(-29) != 0)
    abort();
  if (test3(-20) != 0)
    abort();
  if (test3(-19) != 1)
    abort();
  if (test4(0) != 0)
    abort();
  if (test4(9) != 0)
    abort();
  if (test4(10) != 1)
    abort();
  if (test4(-1) != 0)
    abort();
  if (test4(-9) != 0)
    abort();
  if (test4(-10) != 1)
    abort();
  if (test5(-30) != 0)
    abort();
  if (test5(-29) != 0)
    abort();
  if (test5(-20) != 0)
    abort();
  if (test5(-19) != 1)
    abort();
  if (test6(0) != 0)
    abort();
  if (test6(9) != 0)
    abort();
  if (test6(10) != 1)
    abort();
  if (test6(-1) != 0)
    abort();
  if (test6(-9) != 0)
    abort();
  if (test6(-10) != 0)
    abort();
  if (test7(-30) != 0)
    abort();
  if (test7(-29) != 1)
    abort();
  if (test7(-20) != 1)
    abort();
  if (test7(-19) != 1)
    abort();
  if (test8(0) != 1)
    abort();
  if (test8(9) != 1)
    abort();
  if (test8(10) != 1)
    abort();
  if (test8(-1) != 1)
    abort();
  if (test8(-9) != 1)
    abort();
  if (test8(-10) != 0)
    abort();
  if (test9(-30) != 1)
    abort();
  if (test9(-29) != 0)
    abort();
  if (test9(-20) != 0)
    abort();
  if (test9(-19) != 0)
    abort();
  if (test10(0) != 0)
    abort();
  if (test10(9) != 0)
    abort();
  if (test10(10) != 0)
    abort();
  if (test10(-1) != 0)
    abort();
  if (test10(-9) != 0)
    abort();
  if (test10(-10) != 1)
    abort();
  if (test11(-30) != 1)
    abort();
  if (test11(-29) != 1)
    abort();
  if (test11(-20) != 1)
    abort();
  if (test11(-19) != 0)
    abort();
  if (test12(0) != 1)
    abort();
  if (test12(9) != 1)
    abort();
  if (test12(10) != 0)
    abort();
  if (test12(-1) != 1)
    abort();
  if (test12(-9) != 1)
    abort();
  if (test12(-10) != 1)
    abort();
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
mov    $0xffffffe2,%edi
call   1080 <test1@plt>
cmp    $0x0,%eax
je     11f9 <main+0x29>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe3,%edi
call   1080 <test1@plt>
cmp    $0x1,%eax
je     1213 <main+0x43>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffec,%edi
call   1080 <test1@plt>
cmp    $0x1,%eax
je     122d <main+0x5d>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffed,%edi
call   1080 <test1@plt>
cmp    $0x0,%eax
je     1247 <main+0x77>
mov    $0x0,%al
call   1030 <abort@plt>
xor    %edi,%edi
call   10d0 <test2@plt>
cmp    $0x1,%eax
je     125e <main+0x8e>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0x9,%edi
call   10d0 <test2@plt>
cmp    $0x1,%eax
je     1278 <main+0xa8>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xa,%edi
call   10d0 <test2@plt>
cmp    $0x0,%eax
je     1292 <main+0xc2>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffff,%edi
call   10d0 <test2@plt>
cmp    $0x1,%eax
je     12ac <main+0xdc>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff7,%edi
call   10d0 <test2@plt>
cmp    $0x1,%eax
je     12c6 <main+0xf6>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff6,%edi
call   10d0 <test2@plt>
cmp    $0x0,%eax
je     12e0 <main+0x110>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe2,%edi
call   1060 <test3@plt>
cmp    $0x1,%eax
je     12fa <main+0x12a>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe3,%edi
call   1060 <test3@plt>
cmp    $0x0,%eax
je     1314 <main+0x144>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffec,%edi
call   1060 <test3@plt>
cmp    $0x0,%eax
je     132e <main+0x15e>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffed,%edi
call   1060 <test3@plt>
cmp    $0x1,%eax
je     1348 <main+0x178>
mov    $0x0,%al
call   1030 <abort@plt>
xor    %edi,%edi
call   10c0 <test4@plt>
cmp    $0x0,%eax
je     135f <main+0x18f>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0x9,%edi
call   10c0 <test4@plt>
cmp    $0x0,%eax
je     1379 <main+0x1a9>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xa,%edi
call   10c0 <test4@plt>
cmp    $0x1,%eax
je     1393 <main+0x1c3>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffff,%edi
call   10c0 <test4@plt>
cmp    $0x0,%eax
je     13ad <main+0x1dd>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff7,%edi
call   10c0 <test4@plt>
cmp    $0x0,%eax
je     13c7 <main+0x1f7>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff6,%edi
call   10c0 <test4@plt>
cmp    $0x1,%eax
je     13e1 <main+0x211>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe2,%edi
call   1050 <test5@plt>
cmp    $0x0,%eax
je     13fb <main+0x22b>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe3,%edi
call   1050 <test5@plt>
cmp    $0x0,%eax
je     1415 <main+0x245>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffec,%edi
call   1050 <test5@plt>
cmp    $0x0,%eax
je     142f <main+0x25f>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffed,%edi
call   1050 <test5@plt>
cmp    $0x1,%eax
je     1449 <main+0x279>
mov    $0x0,%al
call   1030 <abort@plt>
xor    %edi,%edi
call   10b0 <test6@plt>
cmp    $0x0,%eax
je     1460 <main+0x290>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0x9,%edi
call   10b0 <test6@plt>
cmp    $0x0,%eax
je     147a <main+0x2aa>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xa,%edi
call   10b0 <test6@plt>
cmp    $0x1,%eax
je     1494 <main+0x2c4>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffff,%edi
call   10b0 <test6@plt>
cmp    $0x0,%eax
je     14ae <main+0x2de>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff7,%edi
call   10b0 <test6@plt>
cmp    $0x0,%eax
je     14c8 <main+0x2f8>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff6,%edi
call   10b0 <test6@plt>
cmp    $0x0,%eax
je     14e2 <main+0x312>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe2,%edi
call   1040 <test7@plt>
cmp    $0x0,%eax
je     14fc <main+0x32c>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe3,%edi
call   1040 <test7@plt>
cmp    $0x1,%eax
je     1516 <main+0x346>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffec,%edi
call   1040 <test7@plt>
cmp    $0x1,%eax
je     1530 <main+0x360>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffed,%edi
call   1040 <test7@plt>
cmp    $0x1,%eax
je     154a <main+0x37a>
mov    $0x0,%al
call   1030 <abort@plt>
xor    %edi,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
je     1561 <main+0x391>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0x9,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
je     157b <main+0x3ab>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xa,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
je     1595 <main+0x3c5>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffff,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
je     15af <main+0x3df>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff7,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
je     15c9 <main+0x3f9>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff6,%edi
call   10f0 <test8@plt>
cmp    $0x0,%eax
je     15e3 <main+0x413>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe2,%edi
call   10a0 <test9@plt>
cmp    $0x1,%eax
je     15fd <main+0x42d>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe3,%edi
call   10a0 <test9@plt>
cmp    $0x0,%eax
je     1617 <main+0x447>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffec,%edi
call   10a0 <test9@plt>
cmp    $0x0,%eax
je     1631 <main+0x461>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffed,%edi
call   10a0 <test9@plt>
cmp    $0x0,%eax
je     164b <main+0x47b>
mov    $0x0,%al
call   1030 <abort@plt>
xor    %edi,%edi
call   1070 <test10@plt>
cmp    $0x0,%eax
je     1662 <main+0x492>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0x9,%edi
call   1070 <test10@plt>
cmp    $0x0,%eax
je     167c <main+0x4ac>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xa,%edi
call   1070 <test10@plt>
cmp    $0x0,%eax
je     1696 <main+0x4c6>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffff,%edi
call   1070 <test10@plt>
cmp    $0x0,%eax
je     16b0 <main+0x4e0>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff7,%edi
call   1070 <test10@plt>
cmp    $0x0,%eax
je     16ca <main+0x4fa>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff6,%edi
call   1070 <test10@plt>
cmp    $0x1,%eax
je     16e4 <main+0x514>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe2,%edi
call   10e0 <test11@plt>
cmp    $0x1,%eax
je     16fe <main+0x52e>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffe3,%edi
call   10e0 <test11@plt>
cmp    $0x1,%eax
je     1718 <main+0x548>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffec,%edi
call   10e0 <test11@plt>
cmp    $0x1,%eax
je     1732 <main+0x562>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffed,%edi
call   10e0 <test11@plt>
cmp    $0x0,%eax
je     174c <main+0x57c>
mov    $0x0,%al
call   1030 <abort@plt>
xor    %edi,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
je     1763 <main+0x593>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0x9,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
je     177d <main+0x5ad>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xa,%edi
call   1090 <test12@plt>
cmp    $0x0,%eax
je     1797 <main+0x5c7>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xffffffff,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
je     17b1 <main+0x5e1>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff7,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
je     17cb <main+0x5fb>
mov    $0x0,%al
call   1030 <abort@plt>
mov    $0xfffffff6,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
je     17e5 <main+0x615>
mov    $0x0,%al
call   1030 <abort@plt>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rax
mov    $0xffffffe2,%edi
call   1080 <test1@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe3,%edi
call   1080 <test1@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffec,%edi
call   1080 <test1@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffed,%edi
call   1080 <test1@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
xor    %edi,%edi
call   10d0 <test2@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0x9,%edi
call   10d0 <test2@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xa,%edi
call   10d0 <test2@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffff,%edi
call   10d0 <test2@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff7,%edi
call   10d0 <test2@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff6,%edi
call   10d0 <test2@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe2,%edi
call   1060 <test3@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe3,%edi
call   1060 <test3@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffec,%edi
call   1060 <test3@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffed,%edi
call   1060 <test3@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
xor    %edi,%edi
call   10c0 <test4@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0x9,%edi
call   10c0 <test4@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xa,%edi
call   10c0 <test4@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffff,%edi
call   10c0 <test4@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff7,%edi
call   10c0 <test4@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff6,%edi
call   10c0 <test4@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe2,%edi
call   1050 <test5@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe3,%edi
call   1050 <test5@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffec,%edi
call   1050 <test5@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffed,%edi
call   1050 <test5@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
xor    %edi,%edi
call   10b0 <test6@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0x9,%edi
call   10b0 <test6@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xa,%edi
call   10b0 <test6@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffff,%edi
call   10b0 <test6@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff7,%edi
call   10b0 <test6@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff6,%edi
call   10b0 <test6@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe2,%edi
call   1040 <test7@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe3,%edi
call   1040 <test7@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffec,%edi
call   1040 <test7@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffed,%edi
call   1040 <test7@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
xor    %edi,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0x9,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xa,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffff,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff7,%edi
call   10f0 <test8@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff6,%edi
call   10f0 <test8@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe2,%edi
call   10a0 <test9@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe3,%edi
call   10a0 <test9@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffec,%edi
call   10a0 <test9@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffed,%edi
call   10a0 <test9@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
xor    %edi,%edi
call   1070 <test10@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0x9,%edi
call   1070 <test10@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xa,%edi
call   1070 <test10@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffff,%edi
call   1070 <test10@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff7,%edi
call   1070 <test10@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff6,%edi
call   1070 <test10@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe2,%edi
call   10e0 <test11@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffe3,%edi
call   10e0 <test11@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffec,%edi
call   10e0 <test11@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xffffffed,%edi
call   10e0 <test11@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
xor    %edi,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0x9,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xa,%edi
call   1090 <test12@plt>
test   %eax,%eax
jne    15f5 <main+0x425>
mov    $0xffffffff,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff7,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
mov    $0xfffffff6,%edi
call   1090 <test12@plt>
cmp    $0x1,%eax
jne    15f5 <main+0x425>
xor    %eax,%eax
pop    %rcx
ret
xor    %eax,%eax
call   1030 <abort@plt>

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
store i32 0, i32* %1
%2 = call i32 @test1(i32 -30)
%3 = icmp ne i32 %2, 0
br i1 %3, label %4, label %6
4: ; preds = %0
%5 = call i32 (...) @abort()
unreachable
6: ; preds = %0
%7 = call i32 @test1(i32 -29)
%8 = icmp ne i32 %7, 1
br i1 %8, label %9, label %11
9: ; preds = %6
%10 = call i32 (...) @abort()
unreachable
11: ; preds = %6
%12 = call i32 @test1(i32 -20)
%13 = icmp ne i32 %12, 1
br i1 %13, label %14, label %16
14: ; preds = %11
%15 = call i32 (...) @abort()
unreachable
16: ; preds = %11
%17 = call i32 @test1(i32 -19)
%18 = icmp ne i32 %17, 0
br i1 %18, label %19, label %21
19: ; preds = %16
%20 = call i32 (...) @abort()
unreachable
21: ; preds = %16
%22 = call i32 @test2(i32 0)
%23 = icmp ne i32 %22, 1
br i1 %23, label %24, label %26
24: ; preds = %21
%25 = call i32 (...) @abort()
unreachable
26: ; preds = %21
%27 = call i32 @test2(i32 9)
%28 = icmp ne i32 %27, 1
br i1 %28, label %29, label %31
29: ; preds = %26
%30 = call i32 (...) @abort()
unreachable
31: ; preds = %26
%32 = call i32 @test2(i32 10)
%33 = icmp ne i32 %32, 0
br i1 %33, label %34, label %36
34: ; preds = %31
%35 = call i32 (...) @abort()
unreachable
36: ; preds = %31
%37 = call i32 @test2(i32 -1)
%38 = icmp ne i32 %37, 1
br i1 %38, label %39, label %41
39: ; preds = %36
%40 = call i32 (...) @abort()
unreachable
41: ; preds = %36
%42 = call i32 @test2(i32 -9)
%43 = icmp ne i32 %42, 1
br i1 %43, label %44, label %46
44: ; preds = %41
%45 = call i32 (...) @abort()
unreachable
46: ; preds = %41
%47 = call i32 @test2(i32 -10)
%48 = icmp ne i32 %47, 0
br i1 %48, label %49, label %51
49: ; preds = %46
%50 = call i32 (...) @abort()
unreachable
51: ; preds = %46
%52 = call i32 @test3(i32 -30)
%53 = icmp ne i32 %52, 1
br i1 %53, label %54, label %56
54: ; preds = %51
%55 = call i32 (...) @abort()
unreachable
56: ; preds = %51
%57 = call i32 @test3(i32 -29)
%58 = icmp ne i32 %57, 0
br i1 %58, label %59, label %61
59: ; preds = %56
%60 = call i32 (...) @abort()
unreachable
61: ; preds = %56
%62 = call i32 @test3(i32 -20)
%63 = icmp ne i32 %62, 0
br i1 %63, label %64, label %66
64: ; preds = %61
%65 = call i32 (...) @abort()
unreachable
66: ; preds = %61
%67 = call i32 @test3(i32 -19)
%68 = icmp ne i32 %67, 1
br i1 %68, label %69, label %71
69: ; preds = %66
%70 = call i32 (...) @abort()
unreachable
71: ; preds = %66
%72 = call i32 @test4(i32 0)
%73 = icmp ne i32 %72, 0
br i1 %73, label %74, label %76
74: ; preds = %71
%75 = call i32 (...) @abort()
unreachable
76: ; preds = %71
%77 = call i32 @test4(i32 9)
%78 = icmp ne i32 %77, 0
br i1 %78, label %79, label %81
79: ; preds = %76
%80 = call i32 (...) @abort()
unreachable
81: ; preds = %76
%82 = call i32 @test4(i32 10)
%83 = icmp ne i32 %82, 1
br i1 %83, label %84, label %86
84: ; preds = %81
%85 = call i32 (...) @abort()
unreachable
86: ; preds = %81
%87 = call i32 @test4(i32 -1)
%88 = icmp ne i32 %87, 0
br i1 %88, label %89, label %91
89: ; preds = %86
%90 = call i32 (...) @abort()
unreachable
91: ; preds = %86
%92 = call i32 @test4(i32 -9)
%93 = icmp ne i32 %92, 0
br i1 %93, label %94, label %96
94: ; preds = %91
%95 = call i32 (...) @abort()
unreachable
96: ; preds = %91
%97 = call i32 @test4(i32 -10)
%98 = icmp ne i32 %97, 1
br i1 %98, label %99, label %101
99: ; preds = %96
%100 = call i32 (...) @abort()
unreachable
101: ; preds = %96
%102 = call i32 @test5(i32 -30)
%103 = icmp ne i32 %102, 0
br i1 %103, label %104, label %106
104: ; preds = %101
%105 = call i32 (...) @abort()
unreachable
106: ; preds = %101
%107 = call i32 @test5(i32 -29)
%108 = icmp ne i32 %107, 0
br i1 %108, label %109, label %111
109: ; preds = %106
%110 = call i32 (...) @abort()
unreachable
111: ; preds = %106
%112 = call i32 @test5(i32 -20)
%113 = icmp ne i32 %112, 0
br i1 %113, label %114, label %116
114: ; preds = %111
%115 = call i32 (...) @abort()
unreachable
116: ; preds = %111
%117 = call i32 @test5(i32 -19)
%118 = icmp ne i32 %117, 1
br i1 %118, label %119, label %121
119: ; preds = %116
%120 = call i32 (...) @abort()
unreachable
121: ; preds = %116
%122 = call i32 @test6(i32 0)
%123 = icmp ne i32 %122, 0
br i1 %123, label %124, label %126
124: ; preds = %121
%125 = call i32 (...) @abort()
unreachable
126: ; preds = %121
%127 = call i32 @test6(i32 9)
%128 = icmp ne i32 %127, 0
br i1 %128, label %129, label %131
129: ; preds = %126
%130 = call i32 (...) @abort()
unreachable
131: ; preds = %126
%132 = call i32 @test6(i32 10)
%133 = icmp ne i32 %132, 1
br i1 %133, label %134, label %136
134: ; preds = %131
%135 = call i32 (...) @abort()
unreachable
136: ; preds = %131
%137 = call i32 @test6(i32 -1)
%138 = icmp ne i32 %137, 0
br i1 %138, label %139, label %141
139: ; preds = %136
%140 = call i32 (...) @abort()
unreachable
141: ; preds = %136
%142 = call i32 @test6(i32 -9)
%143 = icmp ne i32 %142, 0
br i1 %143, label %144, label %146
144: ; preds = %141
%145 = call i32 (...) @abort()
unreachable
146: ; preds = %141
%147 = call i32 @test6(i32 -10)
%148 = icmp ne i32 %147, 0
br i1 %148, label %149, label %151
149: ; preds = %146
%150 = call i32 (...) @abort()
unreachable
151: ; preds = %146
%152 = call i32 @test7(i32 -30)
%153 = icmp ne i32 %152, 0
br i1 %153, label %154, label %156
154: ; preds = %151
%155 = call i32 (...) @abort()
unreachable
156: ; preds = %151
%157 = call i32 @test7(i32 -29)
%158 = icmp ne i32 %157, 1
br i1 %158, label %159, label %161
159: ; preds = %156
%160 = call i32 (...) @abort()
unreachable
161: ; preds = %156
%162 = call i32 @test7(i32 -20)
%163 = icmp ne i32 %162, 1
br i1 %163, label %164, label %166
164: ; preds = %161
%165 = call i32 (...) @abort()
unreachable
166: ; preds = %161
%167 = call i32 @test7(i32 -19)
%168 = icmp ne i32 %167, 1
br i1 %168, label %169, label %171
169: ; preds = %166
%170 = call i32 (...) @abort()
unreachable
171: ; preds = %166
%172 = call i32 @test8(i32 0)
%173 = icmp ne i32 %172, 1
br i1 %173, label %174, label %176
174: ; preds = %171
%175 = call i32 (...) @abort()
unreachable
176: ; preds = %171
%177 = call i32 @test8(i32 9)
%178 = icmp ne i32 %177, 1
br i1 %178, label %179, label %181
179: ; preds = %176
%180 = call i32 (...) @abort()
unreachable
181: ; preds = %176
%182 = call i32 @test8(i32 10)
%183 = icmp ne i32 %182, 1
br i1 %183, label %184, label %186
184: ; preds = %181
%185 = call i32 (...) @abort()
unreachable
186: ; preds = %181
%187 = call i32 @test8(i32 -1)
%188 = icmp ne i32 %187, 1
br i1 %188, label %189, label %191
189: ; preds = %186
%190 = call i32 (...) @abort()
unreachable
191: ; preds = %186
%192 = call i32 @test8(i32 -9)
%193 = icmp ne i32 %192, 1
br i1 %193, label %194, label %196
194: ; preds = %191
%195 = call i32 (...) @abort()
unreachable
196: ; preds = %191
%197 = call i32 @test8(i32 -10)
%198 = icmp ne i32 %197, 0
br i1 %198, label %199, label %201
199: ; preds = %196
%200 = call i32 (...) @abort()
unreachable
201: ; preds = %196
%202 = call i32 @test9(i32 -30)
%203 = icmp ne i32 %202, 1
br i1 %203, label %204, label %206
204: ; preds = %201
%205 = call i32 (...) @abort()
unreachable
206: ; preds = %201
%207 = call i32 @test9(i32 -29)
%208 = icmp ne i32 %207, 0
br i1 %208, label %209, label %211
209: ; preds = %206
%210 = call i32 (...) @abort()
unreachable
211: ; preds = %206
%212 = call i32 @test9(i32 -20)
%213 = icmp ne i32 %212, 0
br i1 %213, label %214, label %216
214: ; preds = %211
%215 = call i32 (...) @abort()
unreachable
216: ; preds = %211
%217 = call i32 @test9(i32 -19)
%218 = icmp ne i32 %217, 0
br i1 %218, label %219, label %221
219: ; preds = %216
%220 = call i32 (...) @abort()
unreachable
221: ; preds = %216
%222 = call i32 @test10(i32 0)
%223 = icmp ne i32 %222, 0
br i1 %223, label %224, label %226
224: ; preds = %221
%225 = call i32 (...) @abort()
unreachable
226: ; preds = %221
%227 = call i32 @test10(i32 9)
%228 = icmp ne i32 %227, 0
br i1 %228, label %229, label %231
229: ; preds = %226
%230 = call i32 (...) @abort()
unreachable
231: ; preds = %226
%232 = call i32 @test10(i32 10)
%233 = icmp ne i32 %232, 0
br i1 %233, label %234, label %236
234: ; preds = %231
%235 = call i32 (...) @abort()
unreachable
236: ; preds = %231
%237 = call i32 @test10(i32 -1)
%238 = icmp ne i32 %237, 0
br i1 %238, label %239, label %241
239: ; preds = %236
%240 = call i32 (...) @abort()
unreachable
241: ; preds = %236
%242 = call i32 @test10(i32 -9)
%243 = icmp ne i32 %242, 0
br i1 %243, label %244, label %246
244: ; preds = %241
%245 = call i32 (...) @abort()
unreachable
246: ; preds = %241
%247 = call i32 @test10(i32 -10)
%248 = icmp ne i32 %247, 1
br i1 %248, label %249, label %251
249: ; preds = %246
%250 = call i32 (...) @abort()
unreachable
251: ; preds = %246
%252 = call i32 @test11(i32 -30)
%253 = icmp ne i32 %252, 1
br i1 %253, label %254, label %256
254: ; preds = %251
%255 = call i32 (...) @abort()
unreachable
256: ; preds = %251
%257 = call i32 @test11(i32 -29)
%258 = icmp ne i32 %257, 1
br i1 %258, label %259, label %261
259: ; preds = %256
%260 = call i32 (...) @abort()
unreachable
261: ; preds = %256
%262 = call i32 @test11(i32 -20)
%263 = icmp ne i32 %262, 1
br i1 %263, label %264, label %266
264: ; preds = %261
%265 = call i32 (...) @abort()
unreachable
266: ; preds = %261
%267 = call i32 @test11(i32 -19)
%268 = icmp ne i32 %267, 0
br i1 %268, label %269, label %271
269: ; preds = %266
%270 = call i32 (...) @abort()
unreachable
271: ; preds = %266
%272 = call i32 @test12(i32 0)
%273 = icmp ne i32 %272, 1
br i1 %273, label %274, label %276
274: ; preds = %271
%275 = call i32 (...) @abort()
unreachable
276: ; preds = %271
%277 = call i32 @test12(i32 9)
%278 = icmp ne i32 %277, 1
br i1 %278, label %279, label %281
279: ; preds = %276
%280 = call i32 (...) @abort()
unreachable
281: ; preds = %276
%282 = call i32 @test12(i32 10)
%283 = icmp ne i32 %282, 0
br i1 %283, label %284, label %286
284: ; preds = %281
%285 = call i32 (...) @abort()
unreachable
286: ; preds = %281
%287 = call i32 @test12(i32 -1)
%288 = icmp ne i32 %287, 1
br i1 %288, label %289, label %291
289: ; preds = %286
%290 = call i32 (...) @abort()
unreachable
291: ; preds = %286
%292 = call i32 @test12(i32 -9)
%293 = icmp ne i32 %292, 1
br i1 %293, label %294, label %296
294: ; preds = %291
%295 = call i32 (...) @abort()
unreachable
296: ; preds = %291
%297 = call i32 @test12(i32 -10)
%298 = icmp ne i32 %297, 1
br i1 %298, label %299, label %301
299: ; preds = %296
%300 = call i32 (...) @abort()
unreachable
301: ; preds = %296
ret i32 0
}

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 @test1(i32 -30)
%2 = icmp eq i32 %1, 0
br i1 %2, label %5, label %3
3: ; preds = %0
%4 = tail call i32 (...) @abort()
unreachable
5: ; preds = %0
%6 = tail call i32 @test1(i32 -29)
%7 = icmp eq i32 %6, 1
br i1 %7, label %10, label %8
8: ; preds = %5
%9 = tail call i32 (...) @abort()
unreachable
10: ; preds = %5
%11 = tail call i32 @test1(i32 -20)
%12 = icmp eq i32 %11, 1
br i1 %12, label %15, label %13
13: ; preds = %10
%14 = tail call i32 (...) @abort()
unreachable
15: ; preds = %10
%16 = tail call i32 @test1(i32 -19)
%17 = icmp eq i32 %16, 0
br i1 %17, label %20, label %18
18: ; preds = %15
%19 = tail call i32 (...) @abort()
unreachable
20: ; preds = %15
%21 = tail call i32 @test2(i32 0)
%22 = icmp eq i32 %21, 1
br i1 %22, label %25, label %23
23: ; preds = %20
%24 = tail call i32 (...) @abort()
unreachable
25: ; preds = %20
%26 = tail call i32 @test2(i32 9)
%27 = icmp eq i32 %26, 1
br i1 %27, label %30, label %28
28: ; preds = %25
%29 = tail call i32 (...) @abort()
unreachable
30: ; preds = %25
%31 = tail call i32 @test2(i32 10)
%32 = icmp eq i32 %31, 0
br i1 %32, label %35, label %33
33: ; preds = %30
%34 = tail call i32 (...) @abort()
unreachable
35: ; preds = %30
%36 = tail call i32 @test2(i32 -1)
%37 = icmp eq i32 %36, 1
br i1 %37, label %40, label %38
38: ; preds = %35
%39 = tail call i32 (...) @abort()
unreachable
40: ; preds = %35
%41 = tail call i32 @test2(i32 -9)
%42 = icmp eq i32 %41, 1
br i1 %42, label %45, label %43
43: ; preds = %40
%44 = tail call i32 (...) @abort()
unreachable
45: ; preds = %40
%46 = tail call i32 @test2(i32 -10)
%47 = icmp eq i32 %46, 0
br i1 %47, label %50, label %48
48: ; preds = %45
%49 = tail call i32 (...) @abort()
unreachable
50: ; preds = %45
%51 = tail call i32 @test3(i32 -30)
%52 = icmp eq i32 %51, 1
br i1 %52, label %55, label %53
53: ; preds = %50
%54 = tail call i32 (...) @abort()
unreachable
55: ; preds = %50
%56 = tail call i32 @test3(i32 -29)
%57 = icmp eq i32 %56, 0
br i1 %57, label %60, label %58
58: ; preds = %55
%59 = tail call i32 (...) @abort()
unreachable
60: ; preds = %55
%61 = tail call i32 @test3(i32 -20)
%62 = icmp eq i32 %61, 0
br i1 %62, label %65, label %63
63: ; preds = %60
%64 = tail call i32 (...) @abort()
unreachable
65: ; preds = %60
%66 = tail call i32 @test3(i32 -19)
%67 = icmp eq i32 %66, 1
br i1 %67, label %70, label %68
68: ; preds = %65
%69 = tail call i32 (...) @abort()
unreachable
70: ; preds = %65
%71 = tail call i32 @test4(i32 0)
%72 = icmp eq i32 %71, 0
br i1 %72, label %75, label %73
73: ; preds = %70
%74 = tail call i32 (...) @abort()
unreachable
75: ; preds = %70
%76 = tail call i32 @test4(i32 9)
%77 = icmp eq i32 %76, 0
br i1 %77, label %80, label %78
78: ; preds = %75
%79 = tail call i32 (...) @abort()
unreachable
80: ; preds = %75
%81 = tail call i32 @test4(i32 10)
%82 = icmp eq i32 %81, 1
br i1 %82, label %85, label %83
83: ; preds = %80
%84 = tail call i32 (...) @abort()
unreachable
85: ; preds = %80
%86 = tail call i32 @test4(i32 -1)
%87 = icmp eq i32 %86, 0
br i1 %87, label %90, label %88
88: ; preds = %85
%89 = tail call i32 (...) @abort()
unreachable
90: ; preds = %85
%91 = tail call i32 @test4(i32 -9)
%92 = icmp eq i32 %91, 0
br i1 %92, label %95, label %93
93: ; preds = %90
%94 = tail call i32 (...) @abort()
unreachable
95: ; preds = %90
%96 = tail call i32 @test4(i32 -10)
%97 = icmp eq i32 %96, 1
br i1 %97, label %100, label %98
98: ; preds = %95
%99 = tail call i32 (...) @abort()
unreachable
100: ; preds = %95
%101 = tail call i32 @test5(i32 -30)
%102 = icmp eq i32 %101, 0
br i1 %102, label %105, label %103
103: ; preds = %100
%104 = tail call i32 (...) @abort()
unreachable
105: ; preds = %100
%106 = tail call i32 @test5(i32 -29)
%107 = icmp eq i32 %106, 0
br i1 %107, label %110, label %108
108: ; preds = %105
%109 = tail call i32 (...) @abort()
unreachable
110: ; preds = %105
%111 = tail call i32 @test5(i32 -20)
%112 = icmp eq i32 %111, 0
br i1 %112, label %115, label %113
113: ; preds = %110
%114 = tail call i32 (...) @abort()
unreachable
115: ; preds = %110
%116 = tail call i32 @test5(i32 -19)
%117 = icmp eq i32 %116, 1
br i1 %117, label %120, label %118
118: ; preds = %115
%119 = tail call i32 (...) @abort()
unreachable
120: ; preds = %115
%121 = tail call i32 @test6(i32 0)
%122 = icmp eq i32 %121, 0
br i1 %122, label %125, label %123
123: ; preds = %120
%124 = tail call i32 (...) @abort()
unreachable
125: ; preds = %120
%126 = tail call i32 @test6(i32 9)
%127 = icmp eq i32 %126, 0
br i1 %127, label %130, label %128
128: ; preds = %125
%129 = tail call i32 (...) @abort()
unreachable
130: ; preds = %125
%131 = tail call i32 @test6(i32 10)
%132 = icmp eq i32 %131, 1
br i1 %132, label %135, label %133
133: ; preds = %130
%134 = tail call i32 (...) @abort()
unreachable
135: ; preds = %130
%136 = tail call i32 @test6(i32 -1)
%137 = icmp eq i32 %136, 0
br i1 %137, label %140, label %138
138: ; preds = %135
%139 = tail call i32 (...) @abort()
unreachable
140: ; preds = %135
%141 = tail call i32 @test6(i32 -9)
%142 = icmp eq i32 %141, 0
br i1 %142, label %145, label %143
143: ; preds = %140
%144 = tail call i32 (...) @abort()
unreachable
145: ; preds = %140
%146 = tail call i32 @test6(i32 -10)
%147 = icmp eq i32 %146, 0
br i1 %147, label %150, label %148
148: ; preds = %145
%149 = tail call i32 (...) @abort()
unreachable
150: ; preds = %145
%151 = tail call i32 @test7(i32 -30)
%152 = icmp eq i32 %151, 0
br i1 %152, label %155, label %153
153: ; preds = %150
%154 = tail call i32 (...) @abort()
unreachable
155: ; preds = %150
%156 = tail call i32 @test7(i32 -29)
%157 = icmp eq i32 %156, 1
br i1 %157, label %160, label %158
158: ; preds = %155
%159 = tail call i32 (...) @abort()
unreachable
160: ; preds = %155
%161 = tail call i32 @test7(i32 -20)
%162 = icmp eq i32 %161, 1
br i1 %162, label %165, label %163
163: ; preds = %160
%164 = tail call i32 (...) @abort()
unreachable
165: ; preds = %160
%166 = tail call i32 @test7(i32 -19)
%167 = icmp eq i32 %166, 1
br i1 %167, label %170, label %168
168: ; preds = %165
%169 = tail call i32 (...) @abort()
unreachable
170: ; preds = %165
%171 = tail call i32 @test8(i32 0)
%172 = icmp eq i32 %171, 1
br i1 %172, label %175, label %173
173: ; preds = %170
%174 = tail call i32 (...) @abort()
unreachable
175: ; preds = %170
%176 = tail call i32 @test8(i32 9)
%177 = icmp eq i32 %176, 1
br i1 %177, label %180, label %178
178: ; preds = %175
%179 = tail call i32 (...) @abort()
unreachable
180: ; preds = %175
%181 = tail call i32 @test8(i32 10)
%182 = icmp eq i32 %181, 1
br i1 %182, label %185, label %183
183: ; preds = %180
%184 = tail call i32 (...) @abort()
unreachable
185: ; preds = %180
%186 = tail call i32 @test8(i32 -1)
%187 = icmp eq i32 %186, 1
br i1 %187, label %190, label %188
188: ; preds = %185
%189 = tail call i32 (...) @abort()
unreachable
190: ; preds = %185
%191 = tail call i32 @test8(i32 -9)
%192 = icmp eq i32 %191, 1
br i1 %192, label %195, label %193
193: ; preds = %190
%194 = tail call i32 (...) @abort()
unreachable
195: ; preds = %190
%196 = tail call i32 @test8(i32 -10)
%197 = icmp eq i32 %196, 0
br i1 %197, label %200, label %198
198: ; preds = %195
%199 = tail call i32 (...) @abort()
unreachable
200: ; preds = %195
%201 = tail call i32 @test9(i32 -30)
%202 = icmp eq i32 %201, 1
br i1 %202, label %205, label %203
203: ; preds = %200
%204 = tail call i32 (...) @abort()
unreachable
205: ; preds = %200
%206 = tail call i32 @test9(i32 -29)
%207 = icmp eq i32 %206, 0
br i1 %207, label %210, label %208
208: ; preds = %205
%209 = tail call i32 (...) @abort()
unreachable
210: ; preds = %205
%211 = tail call i32 @test9(i32 -20)
%212 = icmp eq i32 %211, 0
br i1 %212, label %215, label %213
213: ; preds = %210
%214 = tail call i32 (...) @abort()
unreachable
215: ; preds = %210
%216 = tail call i32 @test9(i32 -19)
%217 = icmp eq i32 %216, 0
br i1 %217, label %220, label %218
218: ; preds = %215
%219 = tail call i32 (...) @abort()
unreachable
220: ; preds = %215
%221 = tail call i32 @test10(i32 0)
%222 = icmp eq i32 %221, 0
br i1 %222, label %225, label %223
223: ; preds = %220
%224 = tail call i32 (...) @abort()
unreachable
225: ; preds = %220
%226 = tail call i32 @test10(i32 9)
%227 = icmp eq i32 %226, 0
br i1 %227, label %230, label %228
228: ; preds = %225
%229 = tail call i32 (...) @abort()
unreachable
230: ; preds = %225
%231 = tail call i32 @test10(i32 10)
%232 = icmp eq i32 %231, 0
br i1 %232, label %235, label %233
233: ; preds = %230
%234 = tail call i32 (...) @abort()
unreachable
235: ; preds = %230
%236 = tail call i32 @test10(i32 -1)
%237 = icmp eq i32 %236, 0
br i1 %237, label %240, label %238
238: ; preds = %235
%239 = tail call i32 (...) @abort()
unreachable
240: ; preds = %235
%241 = tail call i32 @test10(i32 -9)
%242 = icmp eq i32 %241, 0
br i1 %242, label %245, label %243
243: ; preds = %240
%244 = tail call i32 (...) @abort()
unreachable
245: ; preds = %240
%246 = tail call i32 @test10(i32 -10)
%247 = icmp eq i32 %246, 1
br i1 %247, label %250, label %248
248: ; preds = %245
%249 = tail call i32 (...) @abort()
unreachable
250: ; preds = %245
%251 = tail call i32 @test11(i32 -30)
%252 = icmp eq i32 %251, 1
br i1 %252, label %255, label %253
253: ; preds = %250
%254 = tail call i32 (...) @abort()
unreachable
255: ; preds = %250
%256 = tail call i32 @test11(i32 -29)
%257 = icmp eq i32 %256, 1
br i1 %257, label %260, label %258
258: ; preds = %255
%259 = tail call i32 (...) @abort()
unreachable
260: ; preds = %255
%261 = tail call i32 @test11(i32 -20)
%262 = icmp eq i32 %261, 1
br i1 %262, label %265, label %263
263: ; preds = %260
%264 = tail call i32 (...) @abort()
unreachable
265: ; preds = %260
%266 = tail call i32 @test11(i32 -19)
%267 = icmp eq i32 %266, 0
br i1 %267, label %270, label %268
268: ; preds = %265
%269 = tail call i32 (...) @abort()
unreachable
270: ; preds = %265
%271 = tail call i32 @test12(i32 0)
%272 = icmp eq i32 %271, 1
br i1 %272, label %275, label %273
273: ; preds = %270
%274 = tail call i32 (...) @abort()
unreachable
275: ; preds = %270
%276 = tail call i32 @test12(i32 9)
%277 = icmp eq i32 %276, 1
br i1 %277, label %280, label %278
278: ; preds = %275
%279 = tail call i32 (...) @abort()
unreachable
280: ; preds = %275
%281 = tail call i32 @test12(i32 10)
%282 = icmp eq i32 %281, 0
br i1 %282, label %285, label %283
283: ; preds = %280
%284 = tail call i32 (...) @abort()
unreachable
285: ; preds = %280
%286 = tail call i32 @test12(i32 -1)
%287 = icmp eq i32 %286, 1
br i1 %287, label %290, label %288
288: ; preds = %285
%289 = tail call i32 (...) @abort()
unreachable
290: ; preds = %285
%291 = tail call i32 @test12(i32 -9)
%292 = icmp eq i32 %291, 1
br i1 %292, label %295, label %293
293: ; preds = %290
%294 = tail call i32 (...) @abort()
unreachable
295: ; preds = %290
%296 = tail call i32 @test12(i32 -10)
%297 = icmp eq i32 %296, 1
br i1 %297, label %300, label %298
298: ; preds = %295
%299 = tail call i32 (...) @abort()
unreachable
300: ; preds = %295
ret i32 0
}