void f(int x, int y, int z) {
  int a, b;
  if ((a > 2) > 1) {
  }
  if (a > b) {
  }
  if (a < b) {
  }
  if (a >= b) {
  }
  if (a <= b) {
  }
  if (a == b) {
  }
  if (a != b) {
  }
  if (a > 0) {
  }
  if (a > 1) {
  }
  if (a > 2) {
  }
  if (a >= 0) {
  }
  if (a >= 1) {
  }
  if (a >= 2) {
  }
  if (a >= -1) {
  }
  if (a <= 0) {
  }
  if (a <= 1) {
  }
  if (a <= 2) {
  }
  if (a <= -1) {
  }
  if (!a > 0) {
  }
  if (!a > 1) {
  }
  if (!a > 2) {
  }
  if (!a > y) {
  }
  if (!a > b) {
  }
  if (!a > -1) {
  }
  if (!a < 0) {
  }
  if (!a < 1) {
  }
  if (!a < 2) {
  }
  if (!a < y) {
  }
  if (!a < b) {
  }
  if (!a < -1) {
  }
  if (!a >= 0) {
  }
  if (!a >= 1) {
  }
  if (!a >= 2) {
  }
  if (!a >= y) {
  }
  if (!a >= b) {
  }
  if (!a >= -1) {
  }
  if (!a <= 0) {
  }
  if (!a <= 1) {
  }
  if (!a <= 2) {
  }
  if (!a <= y) {
  }
  if (!a <= b) {
  }
  if (!a <= -1) {
  }
  if ((a || b) > 0) {
  }
  if ((a || b) > 1) {
  }
  if ((a || b) > 4) {
  }
  if ((a || b) > -1) {
  }
  if ((a && b) > 0) {
  }
  if ((a && b) > 1) {
  }
  if ((a && b) > 4) {
  }
  if ((a < y) > 0) {
  }
  if ((a < y) > 1) {
  }
  if ((a < y) > 4) {
  }
  if ((a < y) > z) {
  }
  if ((a < y) > -1) {
  }
  if ((a < y) == 0) {
  }
  if ((a < y) == 1) {
  }
  if ((a < y) == 2) {
  }
  if ((a < y) == z) {
  }
  if ((a < y) == -1) {
  }
  if ((a < y) != 0) {
  }
  if ((a < y) != 1) {
  }
  if ((a < y) != 2) {
  }
  if ((a < y) != z) {
  }
  if ((a < y) != -1) {
  }
  if ((a < y) == z) {
  }
  if (a > y < z) {
  }
  if ((a < y) > z) {
  }
  if ((a < y) > (z < y)) {
  }
  if ((a < y) == (z < y)) {
  }
  if ((a < y) != (z < y)) {
  }
  if ((z == x) < (y == z)) {
  }
  if ((a < y) != ((z == x) < (y == z))) {
  }
  if (0 > !a) {
  }
  if (1 > !a) {
  }
  if (2 > !a) {
  }
  if (y > !a) {
  }
  if (-1 > !a) {
  }
  if (0 < !a) {
  }
  if (1 < !a) {
  }
  if (2 < !a) {
  }
  if (y < !a) {
  }
  if (-1 < !a) {
  }
  if (0 >= !a) {
  }
  if (1 >= !a) {
  }
  if (2 >= !a) {
  }
  if (y >= !a) {
  }
  if (-1 >= !a) {
  }
  if (0 <= !a) {
  }
  if (1 <= !a) {
  }
  if (2 <= !a) {
  }
  if (y <= !a) {
  }
  if (-1 <= !a) {
  }
  if (0 > (a || b)) {
  }
  if (1 > (a || b)) {
  }
  if (4 > (a || b)) {
  }
  if (0 > (a && b)) {
  }
  if (1 > (a && b)) {
  }
  if (4 > (a && b)) {
  }
  if (0 > (a < y)) {
  }
  if (1 > (a < y)) {
  }
  if (4 > (a < y)) {
  }
  if (z > (a < y)) {
  }
  if (-1 > (a < y)) {
  }
  if (0 == (a < y)) {
  }
  if (1 == (a < y)) {
  }
  if (2 == (a < y)) {
  }
  if (z == (a < y)) {
  }
  if (-1 == (a < y)) {
  }
  if (0 != (a < y)) {
  }
  if (1 != (a < y)) {
  }
  if (2 != (a < y)) {
  }
  if (z != (a < y)) {
  }
  if (-1 != (a < y)) {
  }
  if (z == (a < y)) {
  }
  if (z<a> y) {
  }
  if (z > (a < y)) {
  }
  if ((z < y) > (a < y)) {
  }
  if ((z < y) == (a < y)) {
  }
  if ((z < y) != (a < y)) {
  }
  if ((y == z) < (z == x)) {
  }
  if (((z == x) < (y == z)) != (a < y)) {
  }
  if (((z == x) < (-1 == z)) != (a < y)) {
  }
  if (((z == x) < (z == -1)) != (a < y)) {
  }
  if (((z == x) < -1) != (a < y)) {
  }
  if (((z == x) < 2) != (a < y)) {
  }
  if (((z == x) < (z > 2)) != (a < y)) {
  }
}


x86 assembly (clang, -O0):
<f>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
cmpl   $0x2,-0x10(%rbp)
setg   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
jle    1127 <f+0x27>
jmp    1127 <f+0x27>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jle    1138 <f+0x38>
jmp    1138 <f+0x38>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1149 <f+0x49>
jmp    1149 <f+0x49>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jl     115a <f+0x5a>
jmp    115a <f+0x5a>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jg     116b <f+0x6b>
jmp    116b <f+0x6b>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jne    117c <f+0x7c>
jmp    117c <f+0x7c>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
je     118d <f+0x8d>
jmp    118d <f+0x8d>
cmpl   $0x0,-0x10(%rbp)
jle    119c <f+0x9c>
jmp    119c <f+0x9c>
cmpl   $0x1,-0x10(%rbp)
jle    11ab <f+0xab>
jmp    11ab <f+0xab>
cmpl   $0x2,-0x10(%rbp)
jle    11ba <f+0xba>
jmp    11ba <f+0xba>
cmpl   $0x0,-0x10(%rbp)
jl     11c9 <f+0xc9>
jmp    11c9 <f+0xc9>
cmpl   $0x1,-0x10(%rbp)
jl     11d8 <f+0xd8>
jmp    11d8 <f+0xd8>
cmpl   $0x2,-0x10(%rbp)
jl     11e7 <f+0xe7>
jmp    11e7 <f+0xe7>
cmpl   $0xffffffff,-0x10(%rbp)
jl     11f6 <f+0xf6>
jmp    11f6 <f+0xf6>
cmpl   $0x0,-0x10(%rbp)
jg     1205 <f+0x105>
jmp    1205 <f+0x105>
cmpl   $0x1,-0x10(%rbp)
jg     1214 <f+0x114>
jmp    1214 <f+0x114>
cmpl   $0x2,-0x10(%rbp)
jg     1223 <f+0x123>
jmp    1223 <f+0x123>
cmpl   $0xffffffff,-0x10(%rbp)
jg     1232 <f+0x132>
jmp    1232 <f+0x132>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x0,%eax
jle    124e <f+0x14e>
jmp    124e <f+0x14e>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
jle    126a <f+0x16a>
jmp    126a <f+0x16a>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x2,%eax
jle    1286 <f+0x186>
jmp    1286 <f+0x186>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    -0x8(%rbp),%eax
jle    12a2 <f+0x1a2>
jmp    12a2 <f+0x1a2>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    -0x14(%rbp),%eax
jle    12be <f+0x1be>
jmp    12be <f+0x1be>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0xffffffff,%eax
jle    12da <f+0x1da>
jmp    12da <f+0x1da>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x0,%eax
jge    12f6 <f+0x1f6>
jmp    12f6 <f+0x1f6>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
jge    1312 <f+0x212>
jmp    1312 <f+0x212>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x2,%eax
jge    132e <f+0x22e>
jmp    132e <f+0x22e>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    -0x8(%rbp),%eax
jge    134a <f+0x24a>
jmp    134a <f+0x24a>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    -0x14(%rbp),%eax
jge    1366 <f+0x266>
jmp    1366 <f+0x266>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0xffffffff,%eax
jge    1382 <f+0x282>
jmp    1382 <f+0x282>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x0,%eax
jl     139e <f+0x29e>
jmp    139e <f+0x29e>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
jl     13ba <f+0x2ba>
jmp    13ba <f+0x2ba>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x2,%eax
jl     13d6 <f+0x2d6>
jmp    13d6 <f+0x2d6>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    -0x8(%rbp),%eax
jl     13f2 <f+0x2f2>
jmp    13f2 <f+0x2f2>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    -0x14(%rbp),%eax
jl     140e <f+0x30e>
jmp    140e <f+0x30e>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0xffffffff,%eax
jl     142a <f+0x32a>
jmp    142a <f+0x32a>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x0,%eax
jg     1446 <f+0x346>
jmp    1446 <f+0x346>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
jg     1462 <f+0x362>
jmp    1462 <f+0x362>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x2,%eax
jg     147e <f+0x37e>
jmp    147e <f+0x37e>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    -0x8(%rbp),%eax
jg     149a <f+0x39a>
jmp    149a <f+0x39a>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    -0x14(%rbp),%eax
jg     14b6 <f+0x3b6>
jmp    14b6 <f+0x3b6>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0xffffffff,%eax
jg     14d2 <f+0x3d2>
jmp    14d2 <f+0x3d2>
mov    $0x1,%al
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x15(%rbp)
jne    14eb <f+0x3eb>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x15(%rbp)
mov    -0x15(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x0,%eax
jle    1501 <f+0x401>
jmp    1501 <f+0x401>
mov    $0x1,%al
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x16(%rbp)
jne    151a <f+0x41a>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x16(%rbp)
mov    -0x16(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
jle    1530 <f+0x430>
jmp    1530 <f+0x430>
mov    $0x1,%al
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x17(%rbp)
jne    1549 <f+0x449>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x17(%rbp)
mov    -0x17(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x4,%eax
jle    155f <f+0x45f>
jmp    155f <f+0x45f>
mov    $0x1,%al
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x18(%rbp)
jne    1578 <f+0x478>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x18(%rbp)
mov    -0x18(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0xffffffff,%eax
jle    158e <f+0x48e>
jmp    158e <f+0x48e>
xor    %eax,%eax
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x19(%rbp)
je     15a7 <f+0x4a7>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x19(%rbp)
mov    -0x19(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x0,%eax
jle    15bd <f+0x4bd>
jmp    15bd <f+0x4bd>
xor    %eax,%eax
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x1a(%rbp)
je     15d6 <f+0x4d6>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x1a(%rbp)
mov    -0x1a(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
jle    15ec <f+0x4ec>
jmp    15ec <f+0x4ec>
xor    %eax,%eax
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x1b(%rbp)
je     1605 <f+0x505>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x1b(%rbp)
mov    -0x1b(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x4,%eax
jle    161b <f+0x51b>
jmp    161b <f+0x51b>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x0,%eax
jle    1637 <f+0x537>
jmp    1637 <f+0x537>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
jle    1653 <f+0x553>
jmp    1653 <f+0x553>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x4,%eax
jle    166f <f+0x56f>
jmp    166f <f+0x56f>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    -0xc(%rbp),%eax
jle    168b <f+0x58b>
jmp    168b <f+0x58b>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0xffffffff,%eax
jle    16a7 <f+0x5a7>
jmp    16a7 <f+0x5a7>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x0,%eax
jne    16c3 <f+0x5c3>
jmp    16c3 <f+0x5c3>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
jne    16df <f+0x5df>
jmp    16df <f+0x5df>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x2,%eax
jne    16fb <f+0x5fb>
jmp    16fb <f+0x5fb>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    -0xc(%rbp),%eax
jne    1717 <f+0x617>
jmp    1717 <f+0x617>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0xffffffff,%eax
jne    1733 <f+0x633>
jmp    1733 <f+0x633>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x0,%eax
je     174f <f+0x64f>
jmp    174f <f+0x64f>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x1,%eax
je     176b <f+0x66b>
jmp    176b <f+0x66b>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x2,%eax
je     1787 <f+0x687>
jmp    1787 <f+0x687>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    -0xc(%rbp),%eax
je     17a3 <f+0x6a3>
jmp    17a3 <f+0x6a3>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0xffffffff,%eax
je     17bf <f+0x6bf>
jmp    17bf <f+0x6bf>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    -0xc(%rbp),%eax
jne    17db <f+0x6db>
jmp    17db <f+0x6db>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setg   %al
and    $0x1,%al
movzbl %al,%eax
cmp    -0xc(%rbp),%eax
jge    17f7 <f+0x6f7>
jmp    17f7 <f+0x6f7>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    -0xc(%rbp),%eax
jle    1813 <f+0x713>
jmp    1813 <f+0x713>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0xc(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jle    183d <f+0x73d>
jmp    183d <f+0x73d>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0xc(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jne    1867 <f+0x767>
jmp    1867 <f+0x767>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0xc(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     1891 <f+0x791>
jmp    1891 <f+0x791>
mov    -0xc(%rbp),%eax
cmp    -0x4(%rbp),%eax
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x8(%rbp),%ecx
cmp    -0xc(%rbp),%ecx
sete   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jge    18bb <f+0x7bb>
jmp    18bb <f+0x7bb>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0xc(%rbp),%ecx
cmp    -0x4(%rbp),%ecx
sete   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0x8(%rbp),%edx
cmp    -0xc(%rbp),%edx
sete   %dl
and    $0x1,%dl
movzbl %dl,%edx
cmp    %edx,%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     18ff <f+0x7ff>
jmp    18ff <f+0x7ff>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jle    191c <f+0x81c>
jmp    191c <f+0x81c>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x1,%eax
cmp    %ecx,%eax
jle    193c <f+0x83c>
jmp    193c <f+0x83c>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x2,%eax
cmp    %ecx,%eax
jle    195c <f+0x85c>
jmp    195c <f+0x85c>
mov    -0x8(%rbp),%eax
cmpl   $0x0,-0x10(%rbp)
setne  %cl
xor    $0xff,%cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jle    197c <f+0x87c>
jmp    197c <f+0x87c>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0xffffffff,%eax
cmp    %ecx,%eax
jle    199c <f+0x89c>
jmp    199c <f+0x89c>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jge    19b9 <f+0x8b9>
jmp    19b9 <f+0x8b9>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x1,%eax
cmp    %ecx,%eax
jge    19d9 <f+0x8d9>
jmp    19d9 <f+0x8d9>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x2,%eax
cmp    %ecx,%eax
jge    19f9 <f+0x8f9>
jmp    19f9 <f+0x8f9>
mov    -0x8(%rbp),%eax
cmpl   $0x0,-0x10(%rbp)
setne  %cl
xor    $0xff,%cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jge    1a19 <f+0x919>
jmp    1a19 <f+0x919>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0xffffffff,%eax
cmp    %ecx,%eax
jge    1a39 <f+0x939>
jmp    1a39 <f+0x939>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jl     1a56 <f+0x956>
jmp    1a56 <f+0x956>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x1,%eax
cmp    %ecx,%eax
jl     1a76 <f+0x976>
jmp    1a76 <f+0x976>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x2,%eax
cmp    %ecx,%eax
jl     1a96 <f+0x996>
jmp    1a96 <f+0x996>
mov    -0x8(%rbp),%eax
cmpl   $0x0,-0x10(%rbp)
setne  %cl
xor    $0xff,%cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jl     1ab6 <f+0x9b6>
jmp    1ab6 <f+0x9b6>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0xffffffff,%eax
cmp    %ecx,%eax
jl     1ad6 <f+0x9d6>
jmp    1ad6 <f+0x9d6>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1af3 <f+0x9f3>
jmp    1af3 <f+0x9f3>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x1,%eax
cmp    %ecx,%eax
jg     1b13 <f+0xa13>
jmp    1b13 <f+0xa13>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x2,%eax
cmp    %ecx,%eax
jg     1b33 <f+0xa33>
jmp    1b33 <f+0xa33>
mov    -0x8(%rbp),%eax
cmpl   $0x0,-0x10(%rbp)
setne  %cl
xor    $0xff,%cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jg     1b53 <f+0xa53>
jmp    1b53 <f+0xa53>
cmpl   $0x0,-0x10(%rbp)
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0xffffffff,%eax
cmp    %ecx,%eax
jg     1b73 <f+0xa73>
jmp    1b73 <f+0xa73>
mov    $0x1,%al
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x1c(%rbp)
jne    1b8c <f+0xa8c>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x1c(%rbp)
mov    -0x1c(%rbp),%al
and    $0x1,%al
movzbl %al,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jle    1ba3 <f+0xaa3>
jmp    1ba3 <f+0xaa3>
mov    $0x1,%al
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x1d(%rbp)
jne    1bbc <f+0xabc>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x1d(%rbp)
mov    -0x1d(%rbp),%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x1,%eax
cmp    %ecx,%eax
jle    1bd6 <f+0xad6>
jmp    1bd6 <f+0xad6>
mov    $0x1,%al
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x1e(%rbp)
jne    1bef <f+0xaef>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x1e(%rbp)
mov    -0x1e(%rbp),%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jle    1c09 <f+0xb09>
jmp    1c09 <f+0xb09>
xor    %eax,%eax
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x1f(%rbp)
je     1c22 <f+0xb22>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x1f(%rbp)
mov    -0x1f(%rbp),%al
and    $0x1,%al
movzbl %al,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jle    1c39 <f+0xb39>
jmp    1c39 <f+0xb39>
xor    %eax,%eax
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x20(%rbp)
je     1c52 <f+0xb52>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x20(%rbp)
mov    -0x20(%rbp),%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x1,%eax
cmp    %ecx,%eax
jle    1c6c <f+0xb6c>
jmp    1c6c <f+0xb6c>
xor    %eax,%eax
cmpl   $0x0,-0x10(%rbp)
mov    %al,-0x21(%rbp)
je     1c85 <f+0xb85>
cmpl   $0x0,-0x14(%rbp)
setne  %al
mov    %al,-0x21(%rbp)
mov    -0x21(%rbp),%al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jle    1c9f <f+0xb9f>
jmp    1c9f <f+0xb9f>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jle    1cbc <f+0xbbc>
jmp    1cbc <f+0xbbc>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x1,%eax
cmp    %ecx,%eax
jle    1cdc <f+0xbdc>
jmp    1cdc <f+0xbdc>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jle    1cfc <f+0xbfc>
jmp    1cfc <f+0xbfc>
mov    -0xc(%rbp),%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jle    1d1b <f+0xc1b>
jmp    1d1b <f+0xc1b>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
mov    $0xffffffff,%eax
cmp    %ecx,%eax
jle    1d3b <f+0xc3b>
jmp    1d3b <f+0xc3b>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jne    1d58 <f+0xc58>
jmp    1d58 <f+0xc58>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x1,%eax
cmp    %ecx,%eax
jne    1d78 <f+0xc78>
jmp    1d78 <f+0xc78>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x2,%eax
cmp    %ecx,%eax
jne    1d98 <f+0xc98>
jmp    1d98 <f+0xc98>
mov    -0xc(%rbp),%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jne    1db7 <f+0xcb7>
jmp    1db7 <f+0xcb7>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
mov    $0xffffffff,%eax
cmp    %ecx,%eax
jne    1dd7 <f+0xcd7>
jmp    1dd7 <f+0xcd7>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
je     1df4 <f+0xcf4>
jmp    1df4 <f+0xcf4>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x1,%eax
cmp    %ecx,%eax
je     1e14 <f+0xd14>
jmp    1e14 <f+0xd14>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
mov    $0x2,%eax
cmp    %ecx,%eax
je     1e34 <f+0xd34>
jmp    1e34 <f+0xd34>
mov    -0xc(%rbp),%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     1e53 <f+0xd53>
jmp    1e53 <f+0xd53>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%ecx
mov    $0xffffffff,%eax
cmp    %ecx,%eax
je     1e73 <f+0xd73>
jmp    1e73 <f+0xd73>
mov    -0xc(%rbp),%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jne    1e92 <f+0xd92>
jmp    1e92 <f+0xd92>
mov    -0xc(%rbp),%eax
cmp    -0x10(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
cmp    -0x8(%rbp),%eax
jle    1eae <f+0xdae>
jmp    1eae <f+0xdae>
mov    -0xc(%rbp),%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jle    1ecd <f+0xdcd>
jmp    1ecd <f+0xdcd>
mov    -0xc(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jle    1ef7 <f+0xdf7>
jmp    1ef7 <f+0xdf7>
mov    -0xc(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jne    1f21 <f+0xe21>
jmp    1f21 <f+0xe21>
mov    -0xc(%rbp),%eax
cmp    -0x8(%rbp),%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     1f4b <f+0xe4b>
jmp    1f4b <f+0xe4b>
mov    -0x8(%rbp),%eax
cmp    -0xc(%rbp),%eax
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0xc(%rbp),%ecx
cmp    -0x4(%rbp),%ecx
sete   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
jge    1f75 <f+0xe75>
jmp    1f75 <f+0xe75>
mov    -0xc(%rbp),%eax
cmp    -0x4(%rbp),%eax
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x8(%rbp),%ecx
cmp    -0xc(%rbp),%ecx
sete   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     1fb8 <f+0xeb8>
jmp    1fb8 <f+0xeb8>
mov    -0xc(%rbp),%eax
cmp    -0x4(%rbp),%eax
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    $0xffffffff,%ecx
cmp    -0xc(%rbp),%ecx
sete   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     1ffd <f+0xefd>
jmp    1ffd <f+0xefd>
mov    -0xc(%rbp),%eax
cmp    -0x4(%rbp),%eax
sete   %al
and    $0x1,%al
movzbl %al,%eax
cmpl   $0xffffffff,-0xc(%rbp)
sete   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     203e <f+0xf3e>
jmp    203e <f+0xf3e>
mov    -0xc(%rbp),%eax
cmp    -0x4(%rbp),%eax
sete   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0xffffffff,%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     2073 <f+0xf73>
jmp    2073 <f+0xf73>
mov    -0xc(%rbp),%eax
cmp    -0x4(%rbp),%eax
sete   %al
and    $0x1,%al
movzbl %al,%eax
cmp    $0x2,%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     20a8 <f+0xfa8>
jmp    20a8 <f+0xfa8>
mov    -0xc(%rbp),%eax
cmp    -0x4(%rbp),%eax
sete   %al
and    $0x1,%al
movzbl %al,%eax
cmpl   $0x2,-0xc(%rbp)
setg   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
setl   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x10(%rbp),%ecx
cmp    -0x8(%rbp),%ecx
setl   %cl
and    $0x1,%cl
movzbl %cl,%ecx
cmp    %ecx,%eax
je     20e9 <f+0xfe9>
jmp    20e9 <f+0xfe9>
pop    %rbp
ret

x86 assembly (clang, -O2):
<f>:
ret

LLVM IR (-O0):
define void @f(i32 %0, i32 %1, i32 %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
store i32 %0, i32* %4
store i32 %1, i32* %5
store i32 %2, i32* %6
%9 = load i32, i32* %7
%10 = icmp sgt i32 %9, 2
%11 = zext i1 %10 to i32
%12 = icmp sgt i32 %11, 1
br i1 %12, label %13, label %14
13: ; preds = %3
br label %14
14: ; preds = %13, %3
%15 = load i32, i32* %7
%16 = load i32, i32* %8
%17 = icmp sgt i32 %15, %16
br i1 %17, label %18, label %19
18: ; preds = %14
br label %19
19: ; preds = %18, %14
%20 = load i32, i32* %7
%21 = load i32, i32* %8
%22 = icmp slt i32 %20, %21
br i1 %22, label %23, label %24
23: ; preds = %19
br label %24
24: ; preds = %23, %19
%25 = load i32, i32* %7
%26 = load i32, i32* %8
%27 = icmp sge i32 %25, %26
br i1 %27, label %28, label %29
28: ; preds = %24
br label %29
29: ; preds = %28, %24
%30 = load i32, i32* %7
%31 = load i32, i32* %8
%32 = icmp sle i32 %30, %31
br i1 %32, label %33, label %34
33: ; preds = %29
br label %34
34: ; preds = %33, %29
%35 = load i32, i32* %7
%36 = load i32, i32* %8
%37 = icmp eq i32 %35, %36
br i1 %37, label %38, label %39
38: ; preds = %34
br label %39
39: ; preds = %38, %34
%40 = load i32, i32* %7
%41 = load i32, i32* %8
%42 = icmp ne i32 %40, %41
br i1 %42, label %43, label %44
43: ; preds = %39
br label %44
44: ; preds = %43, %39
%45 = load i32, i32* %7
%46 = icmp sgt i32 %45, 0
br i1 %46, label %47, label %48
47: ; preds = %44
br label %48
48: ; preds = %47, %44
%49 = load i32, i32* %7
%50 = icmp sgt i32 %49, 1
br i1 %50, label %51, label %52
51: ; preds = %48
br label %52
52: ; preds = %51, %48
%53 = load i32, i32* %7
%54 = icmp sgt i32 %53, 2
br i1 %54, label %55, label %56
55: ; preds = %52
br label %56
56: ; preds = %55, %52
%57 = load i32, i32* %7
%58 = icmp sge i32 %57, 0
br i1 %58, label %59, label %60
59: ; preds = %56
br label %60
60: ; preds = %59, %56
%61 = load i32, i32* %7
%62 = icmp sge i32 %61, 1
br i1 %62, label %63, label %64
63: ; preds = %60
br label %64
64: ; preds = %63, %60
%65 = load i32, i32* %7
%66 = icmp sge i32 %65, 2
br i1 %66, label %67, label %68
67: ; preds = %64
br label %68
68: ; preds = %67, %64
%69 = load i32, i32* %7
%70 = icmp sge i32 %69, -1
br i1 %70, label %71, label %72
71: ; preds = %68
br label %72
72: ; preds = %71, %68
%73 = load i32, i32* %7
%74 = icmp sle i32 %73, 0
br i1 %74, label %75, label %76
75: ; preds = %72
br label %76
76: ; preds = %75, %72
%77 = load i32, i32* %7
%78 = icmp sle i32 %77, 1
br i1 %78, label %79, label %80
79: ; preds = %76
br label %80
80: ; preds = %79, %76
%81 = load i32, i32* %7
%82 = icmp sle i32 %81, 2
br i1 %82, label %83, label %84
83: ; preds = %80
br label %84
84: ; preds = %83, %80
%85 = load i32, i32* %7
%86 = icmp sle i32 %85, -1
br i1 %86, label %87, label %88
87: ; preds = %84
br label %88
88: ; preds = %87, %84
%89 = load i32, i32* %7
%90 = icmp ne i32 %89, 0
%91 = xor i1 %90, true
%92 = zext i1 %91 to i32
%93 = icmp sgt i32 %92, 0
br i1 %93, label %94, label %95
94: ; preds = %88
br label %95
95: ; preds = %94, %88
%96 = load i32, i32* %7
%97 = icmp ne i32 %96, 0
%98 = xor i1 %97, true
%99 = zext i1 %98 to i32
%100 = icmp sgt i32 %99, 1
br i1 %100, label %101, label %102
101: ; preds = %95
br label %102
102: ; preds = %101, %95
%103 = load i32, i32* %7
%104 = icmp ne i32 %103, 0
%105 = xor i1 %104, true
%106 = zext i1 %105 to i32
%107 = icmp sgt i32 %106, 2
br i1 %107, label %108, label %109
108: ; preds = %102
br label %109
109: ; preds = %108, %102
%110 = load i32, i32* %7
%111 = icmp ne i32 %110, 0
%112 = xor i1 %111, true
%113 = zext i1 %112 to i32
%114 = load i32, i32* %5
%115 = icmp sgt i32 %113, %114
br i1 %115, label %116, label %117
116: ; preds = %109
br label %117
117: ; preds = %116, %109
%118 = load i32, i32* %7
%119 = icmp ne i32 %118, 0
%120 = xor i1 %119, true
%121 = zext i1 %120 to i32
%122 = load i32, i32* %8
%123 = icmp sgt i32 %121, %122
br i1 %123, label %124, label %125
124: ; preds = %117
br label %125
125: ; preds = %124, %117
%126 = load i32, i32* %7
%127 = icmp ne i32 %126, 0
%128 = xor i1 %127, true
%129 = zext i1 %128 to i32
%130 = icmp sgt i32 %129, -1
br i1 %130, label %131, label %132
131: ; preds = %125
br label %132
132: ; preds = %131, %125
%133 = load i32, i32* %7
%134 = icmp ne i32 %133, 0
%135 = xor i1 %134, true
%136 = zext i1 %135 to i32
%137 = icmp slt i32 %136, 0
br i1 %137, label %138, label %139
138: ; preds = %132
br label %139
139: ; preds = %138, %132
%140 = load i32, i32* %7
%141 = icmp ne i32 %140, 0
%142 = xor i1 %141, true
%143 = zext i1 %142 to i32
%144 = icmp slt i32 %143, 1
br i1 %144, label %145, label %146
145: ; preds = %139
br label %146
146: ; preds = %145, %139
%147 = load i32, i32* %7
%148 = icmp ne i32 %147, 0
%149 = xor i1 %148, true
%150 = zext i1 %149 to i32
%151 = icmp slt i32 %150, 2
br i1 %151, label %152, label %153
152: ; preds = %146
br label %153
153: ; preds = %152, %146
%154 = load i32, i32* %7
%155 = icmp ne i32 %154, 0
%156 = xor i1 %155, true
%157 = zext i1 %156 to i32
%158 = load i32, i32* %5
%159 = icmp slt i32 %157, %158
br i1 %159, label %160, label %161
160: ; preds = %153
br label %161
161: ; preds = %160, %153
%162 = load i32, i32* %7
%163 = icmp ne i32 %162, 0
%164 = xor i1 %163, true
%165 = zext i1 %164 to i32
%166 = load i32, i32* %8
%167 = icmp slt i32 %165, %166
br i1 %167, label %168, label %169
168: ; preds = %161
br label %169
169: ; preds = %168, %161
%170 = load i32, i32* %7
%171 = icmp ne i32 %170, 0
%172 = xor i1 %171, true
%173 = zext i1 %172 to i32
%174 = icmp slt i32 %173, -1
br i1 %174, label %175, label %176
175: ; preds = %169
br label %176
176: ; preds = %175, %169
%177 = load i32, i32* %7
%178 = icmp ne i32 %177, 0
%179 = xor i1 %178, true
%180 = zext i1 %179 to i32
%181 = icmp sge i32 %180, 0
br i1 %181, label %182, label %183
182: ; preds = %176
br label %183
183: ; preds = %182, %176
%184 = load i32, i32* %7
%185 = icmp ne i32 %184, 0
%186 = xor i1 %185, true
%187 = zext i1 %186 to i32
%188 = icmp sge i32 %187, 1
br i1 %188, label %189, label %190
189: ; preds = %183
br label %190
190: ; preds = %189, %183
%191 = load i32, i32* %7
%192 = icmp ne i32 %191, 0
%193 = xor i1 %192, true
%194 = zext i1 %193 to i32
%195 = icmp sge i32 %194, 2
br i1 %195, label %196, label %197
196: ; preds = %190
br label %197
197: ; preds = %196, %190
%198 = load i32, i32* %7
%199 = icmp ne i32 %198, 0
%200 = xor i1 %199, true
%201 = zext i1 %200 to i32
%202 = load i32, i32* %5
%203 = icmp sge i32 %201, %202
br i1 %203, label %204, label %205
204: ; preds = %197
br label %205
205: ; preds = %204, %197
%206 = load i32, i32* %7
%207 = icmp ne i32 %206, 0
%208 = xor i1 %207, true
%209 = zext i1 %208 to i32
%210 = load i32, i32* %8
%211 = icmp sge i32 %209, %210
br i1 %211, label %212, label %213
212: ; preds = %205
br label %213
213: ; preds = %212, %205
%214 = load i32, i32* %7
%215 = icmp ne i32 %214, 0
%216 = xor i1 %215, true
%217 = zext i1 %216 to i32
%218 = icmp sge i32 %217, -1
br i1 %218, label %219, label %220
219: ; preds = %213
br label %220
220: ; preds = %219, %213
%221 = load i32, i32* %7
%222 = icmp ne i32 %221, 0
%223 = xor i1 %222, true
%224 = zext i1 %223 to i32
%225 = icmp sle i32 %224, 0
br i1 %225, label %226, label %227
226: ; preds = %220
br label %227
227: ; preds = %226, %220
%228 = load i32, i32* %7
%229 = icmp ne i32 %228, 0
%230 = xor i1 %229, true
%231 = zext i1 %230 to i32
%232 = icmp sle i32 %231, 1
br i1 %232, label %233, label %234
233: ; preds = %227
br label %234
234: ; preds = %233, %227
%235 = load i32, i32* %7
%236 = icmp ne i32 %235, 0
%237 = xor i1 %236, true
%238 = zext i1 %237 to i32
%239 = icmp sle i32 %238, 2
br i1 %239, label %240, label %241
240: ; preds = %234
br label %241
241: ; preds = %240, %234
%242 = load i32, i32* %7
%243 = icmp ne i32 %242, 0
%244 = xor i1 %243, true
%245 = zext i1 %244 to i32
%246 = load i32, i32* %5
%247 = icmp sle i32 %245, %246
br i1 %247, label %248, label %249
248: ; preds = %241
br label %249
249: ; preds = %248, %241
%250 = load i32, i32* %7
%251 = icmp ne i32 %250, 0
%252 = xor i1 %251, true
%253 = zext i1 %252 to i32
%254 = load i32, i32* %8
%255 = icmp sle i32 %253, %254
br i1 %255, label %256, label %257
256: ; preds = %249
br label %257
257: ; preds = %256, %249
%258 = load i32, i32* %7
%259 = icmp ne i32 %258, 0
%260 = xor i1 %259, true
%261 = zext i1 %260 to i32
%262 = icmp sle i32 %261, -1
br i1 %262, label %263, label %264
263: ; preds = %257
br label %264
264: ; preds = %263, %257
%265 = load i32, i32* %7
%266 = icmp ne i32 %265, 0
br i1 %266, label %270, label %267
267: ; preds = %264
%268 = load i32, i32* %8
%269 = icmp ne i32 %268, 0
br label %270
270: ; preds = %267, %264
%271 = phi i1 [ true, %264 ], [ %269, %267 ]
%272 = zext i1 %271 to i32
%273 = icmp sgt i32 %272, 0
br i1 %273, label %274, label %275
274: ; preds = %270
br label %275
275: ; preds = %274, %270
%276 = load i32, i32* %7
%277 = icmp ne i32 %276, 0
br i1 %277, label %281, label %278
278: ; preds = %275
%279 = load i32, i32* %8
%280 = icmp ne i32 %279, 0
br label %281
281: ; preds = %278, %275
%282 = phi i1 [ true, %275 ], [ %280, %278 ]
%283 = zext i1 %282 to i32
%284 = icmp sgt i32 %283, 1
br i1 %284, label %285, label %286
285: ; preds = %281
br label %286
286: ; preds = %285, %281
%287 = load i32, i32* %7
%288 = icmp ne i32 %287, 0
br i1 %288, label %292, label %289
289: ; preds = %286
%290 = load i32, i32* %8
%291 = icmp ne i32 %290, 0
br label %292
292: ; preds = %289, %286
%293 = phi i1 [ true, %286 ], [ %291, %289 ]
%294 = zext i1 %293 to i32
%295 = icmp sgt i32 %294, 4
br i1 %295, label %296, label %297
296: ; preds = %292
br label %297
297: ; preds = %296, %292
%298 = load i32, i32* %7
%299 = icmp ne i32 %298, 0
br i1 %299, label %303, label %300
300: ; preds = %297
%301 = load i32, i32* %8
%302 = icmp ne i32 %301, 0
br label %303
303: ; preds = %300, %297
%304 = phi i1 [ true, %297 ], [ %302, %300 ]
%305 = zext i1 %304 to i32
%306 = icmp sgt i32 %305, -1
br i1 %306, label %307, label %308
307: ; preds = %303
br label %308
308: ; preds = %307, %303
%309 = load i32, i32* %7
%310 = icmp ne i32 %309, 0
br i1 %310, label %311, label %314
311: ; preds = %308
%312 = load i32, i32* %8
%313 = icmp ne i32 %312, 0
br label %314
314: ; preds = %311, %308
%315 = phi i1 [ false, %308 ], [ %313, %311 ]
%316 = zext i1 %315 to i32
%317 = icmp sgt i32 %316, 0
br i1 %317, label %318, label %319
318: ; preds = %314
br label %319
319: ; preds = %318, %314
%320 = load i32, i32* %7
%321 = icmp ne i32 %320, 0
br i1 %321, label %322, label %325
322: ; preds = %319
%323 = load i32, i32* %8
%324 = icmp ne i32 %323, 0
br label %325
325: ; preds = %322, %319
%326 = phi i1 [ false, %319 ], [ %324, %322 ]
%327 = zext i1 %326 to i32
%328 = icmp sgt i32 %327, 1
br i1 %328, label %329, label %330
329: ; preds = %325
br label %330
330: ; preds = %329, %325
%331 = load i32, i32* %7
%332 = icmp ne i32 %331, 0
br i1 %332, label %333, label %336
333: ; preds = %330
%334 = load i32, i32* %8
%335 = icmp ne i32 %334, 0
br label %336
336: ; preds = %333, %330
%337 = phi i1 [ false, %330 ], [ %335, %333 ]
%338 = zext i1 %337 to i32
%339 = icmp sgt i32 %338, 4
br i1 %339, label %340, label %341
340: ; preds = %336
br label %341
341: ; preds = %340, %336
%342 = load i32, i32* %7
%343 = load i32, i32* %5
%344 = icmp slt i32 %342, %343
%345 = zext i1 %344 to i32
%346 = icmp sgt i32 %345, 0
br i1 %346, label %347, label %348
347: ; preds = %341
br label %348
348: ; preds = %347, %341
%349 = load i32, i32* %7
%350 = load i32, i32* %5
%351 = icmp slt i32 %349, %350
%352 = zext i1 %351 to i32
%353 = icmp sgt i32 %352, 1
br i1 %353, label %354, label %355
354: ; preds = %348
br label %355
355: ; preds = %354, %348
%356 = load i32, i32* %7
%357 = load i32, i32* %5
%358 = icmp slt i32 %356, %357
%359 = zext i1 %358 to i32
%360 = icmp sgt i32 %359, 4
br i1 %360, label %361, label %362
361: ; preds = %355
br label %362
362: ; preds = %361, %355
%363 = load i32, i32* %7
%364 = load i32, i32* %5
%365 = icmp slt i32 %363, %364
%366 = zext i1 %365 to i32
%367 = load i32, i32* %6
%368 = icmp sgt i32 %366, %367
br i1 %368, label %369, label %370
369: ; preds = %362
br label %370
370: ; preds = %369, %362
%371 = load i32, i32* %7
%372 = load i32, i32* %5
%373 = icmp slt i32 %371, %372
%374 = zext i1 %373 to i32
%375 = icmp sgt i32 %374, -1
br i1 %375, label %376, label %377
376: ; preds = %370
br label %377
377: ; preds = %376, %370
%378 = load i32, i32* %7
%379 = load i32, i32* %5
%380 = icmp slt i32 %378, %379
%381 = zext i1 %380 to i32
%382 = icmp eq i32 %381, 0
br i1 %382, label %383, label %384
383: ; preds = %377
br label %384
384: ; preds = %383, %377
%385 = load i32, i32* %7
%386 = load i32, i32* %5
%387 = icmp slt i32 %385, %386
%388 = zext i1 %387 to i32
%389 = icmp eq i32 %388, 1
br i1 %389, label %390, label %391
390: ; preds = %384
br label %391
391: ; preds = %390, %384
%392 = load i32, i32* %7
%393 = load i32, i32* %5
%394 = icmp slt i32 %392, %393
%395 = zext i1 %394 to i32
%396 = icmp eq i32 %395, 2
br i1 %396, label %397, label %398
397: ; preds = %391
br label %398
398: ; preds = %397, %391
%399 = load i32, i32* %7
%400 = load i32, i32* %5
%401 = icmp slt i32 %399, %400
%402 = zext i1 %401 to i32
%403 = load i32, i32* %6
%404 = icmp eq i32 %402, %403
br i1 %404, label %405, label %406
405: ; preds = %398
br label %406
406: ; preds = %405, %398
%407 = load i32, i32* %7
%408 = load i32, i32* %5
%409 = icmp slt i32 %407, %408
%410 = zext i1 %409 to i32
%411 = icmp eq i32 %410, -1
br i1 %411, label %412, label %413
412: ; preds = %406
br label %413
413: ; preds = %412, %406
%414 = load i32, i32* %7
%415 = load i32, i32* %5
%416 = icmp slt i32 %414, %415
%417 = zext i1 %416 to i32
%418 = icmp ne i32 %417, 0
br i1 %418, label %419, label %420
419: ; preds = %413
br label %420
420: ; preds = %419, %413
%421 = load i32, i32* %7
%422 = load i32, i32* %5
%423 = icmp slt i32 %421, %422
%424 = zext i1 %423 to i32
%425 = icmp ne i32 %424, 1
br i1 %425, label %426, label %427
426: ; preds = %420
br label %427
427: ; preds = %426, %420
%428 = load i32, i32* %7
%429 = load i32, i32* %5
%430 = icmp slt i32 %428, %429
%431 = zext i1 %430 to i32
%432 = icmp ne i32 %431, 2
br i1 %432, label %433, label %434
433: ; preds = %427
br label %434
434: ; preds = %433, %427
%435 = load i32, i32* %7
%436 = load i32, i32* %5
%437 = icmp slt i32 %435, %436
%438 = zext i1 %437 to i32
%439 = load i32, i32* %6
%440 = icmp ne i32 %438, %439
br i1 %440, label %441, label %442
441: ; preds = %434
br label %442
442: ; preds = %441, %434
%443 = load i32, i32* %7
%444 = load i32, i32* %5
%445 = icmp slt i32 %443, %444
%446 = zext i1 %445 to i32
%447 = icmp ne i32 %446, -1
br i1 %447, label %448, label %449
448: ; preds = %442
br label %449
449: ; preds = %448, %442
%450 = load i32, i32* %7
%451 = load i32, i32* %5
%452 = icmp slt i32 %450, %451
%453 = zext i1 %452 to i32
%454 = load i32, i32* %6
%455 = icmp eq i32 %453, %454
br i1 %455, label %456, label %457
456: ; preds = %449
br label %457
457: ; preds = %456, %449
%458 = load i32, i32* %7
%459 = load i32, i32* %5
%460 = icmp sgt i32 %458, %459
%461 = zext i1 %460 to i32
%462 = load i32, i32* %6
%463 = icmp slt i32 %461, %462
br i1 %463, label %464, label %465
464: ; preds = %457
br label %465
465: ; preds = %464, %457
%466 = load i32, i32* %7
%467 = load i32, i32* %5
%468 = icmp slt i32 %466, %467
%469 = zext i1 %468 to i32
%470 = load i32, i32* %6
%471 = icmp sgt i32 %469, %470
br i1 %471, label %472, label %473
472: ; preds = %465
br label %473
473: ; preds = %472, %465
%474 = load i32, i32* %7
%475 = load i32, i32* %5
%476 = icmp slt i32 %474, %475
%477 = zext i1 %476 to i32
%478 = load i32, i32* %6
%479 = load i32, i32* %5
%480 = icmp slt i32 %478, %479
%481 = zext i1 %480 to i32
%482 = icmp sgt i32 %477, %481
br i1 %482, label %483, label %484
483: ; preds = %473
br label %484
484: ; preds = %483, %473
%485 = load i32, i32* %7
%486 = load i32, i32* %5
%487 = icmp slt i32 %485, %486
%488 = zext i1 %487 to i32
%489 = load i32, i32* %6
%490 = load i32, i32* %5
%491 = icmp slt i32 %489, %490
%492 = zext i1 %491 to i32
%493 = icmp eq i32 %488, %492
br i1 %493, label %494, label %495
494: ; preds = %484
br label %495
495: ; preds = %494, %484
%496 = load i32, i32* %7
%497 = load i32, i32* %5
%498 = icmp slt i32 %496, %497
%499 = zext i1 %498 to i32
%500 = load i32, i32* %6
%501 = load i32, i32* %5
%502 = icmp slt i32 %500, %501
%503 = zext i1 %502 to i32
%504 = icmp ne i32 %499, %503
br i1 %504, label %505, label %506
505: ; preds = %495
br label %506
506: ; preds = %505, %495
%507 = load i32, i32* %6
%508 = load i32, i32* %4
%509 = icmp eq i32 %507, %508
%510 = zext i1 %509 to i32
%511 = load i32, i32* %5
%512 = load i32, i32* %6
%513 = icmp eq i32 %511, %512
%514 = zext i1 %513 to i32
%515 = icmp slt i32 %510, %514
br i1 %515, label %516, label %517
516: ; preds = %506
br label %517
517: ; preds = %516, %506
%518 = load i32, i32* %7
%519 = load i32, i32* %5
%520 = icmp slt i32 %518, %519
%521 = zext i1 %520 to i32
%522 = load i32, i32* %6
%523 = load i32, i32* %4
%524 = icmp eq i32 %522, %523
%525 = zext i1 %524 to i32
%526 = load i32, i32* %5
%527 = load i32, i32* %6
%528 = icmp eq i32 %526, %527
%529 = zext i1 %528 to i32
%530 = icmp slt i32 %525, %529
%531 = zext i1 %530 to i32
%532 = icmp ne i32 %521, %531
br i1 %532, label %533, label %534
533: ; preds = %517
br label %534
534: ; preds = %533, %517
%535 = load i32, i32* %7
%536 = icmp ne i32 %535, 0
%537 = xor i1 %536, true
%538 = zext i1 %537 to i32
%539 = icmp sgt i32 0, %538
br i1 %539, label %540, label %541
540: ; preds = %534
br label %541
541: ; preds = %540, %534
%542 = load i32, i32* %7
%543 = icmp ne i32 %542, 0
%544 = xor i1 %543, true
%545 = zext i1 %544 to i32
%546 = icmp sgt i32 1, %545
br i1 %546, label %547, label %548
547: ; preds = %541
br label %548
548: ; preds = %547, %541
%549 = load i32, i32* %7
%550 = icmp ne i32 %549, 0
%551 = xor i1 %550, true
%552 = zext i1 %551 to i32
%553 = icmp sgt i32 2, %552
br i1 %553, label %554, label %555
554: ; preds = %548
br label %555
555: ; preds = %554, %548
%556 = load i32, i32* %5
%557 = load i32, i32* %7
%558 = icmp ne i32 %557, 0
%559 = xor i1 %558, true
%560 = zext i1 %559 to i32
%561 = icmp sgt i32 %556, %560
br i1 %561, label %562, label %563
562: ; preds = %555
br label %563
563: ; preds = %562, %555
%564 = load i32, i32* %7
%565 = icmp ne i32 %564, 0
%566 = xor i1 %565, true
%567 = zext i1 %566 to i32
%568 = icmp sgt i32 -1, %567
br i1 %568, label %569, label %570
569: ; preds = %563
br label %570
570: ; preds = %569, %563
%571 = load i32, i32* %7
%572 = icmp ne i32 %571, 0
%573 = xor i1 %572, true
%574 = zext i1 %573 to i32
%575 = icmp slt i32 0, %574
br i1 %575, label %576, label %577
576: ; preds = %570
br label %577
577: ; preds = %576, %570
%578 = load i32, i32* %7
%579 = icmp ne i32 %578, 0
%580 = xor i1 %579, true
%581 = zext i1 %580 to i32
%582 = icmp slt i32 1, %581
br i1 %582, label %583, label %584
583: ; preds = %577
br label %584
584: ; preds = %583, %577
%585 = load i32, i32* %7
%586 = icmp ne i32 %585, 0
%587 = xor i1 %586, true
%588 = zext i1 %587 to i32
%589 = icmp slt i32 2, %588
br i1 %589, label %590, label %591
590: ; preds = %584
br label %591
591: ; preds = %590, %584
%592 = load i32, i32* %5
%593 = load i32, i32* %7
%594 = icmp ne i32 %593, 0
%595 = xor i1 %594, true
%596 = zext i1 %595 to i32
%597 = icmp slt i32 %592, %596
br i1 %597, label %598, label %599
598: ; preds = %591
br label %599
599: ; preds = %598, %591
%600 = load i32, i32* %7
%601 = icmp ne i32 %600, 0
%602 = xor i1 %601, true
%603 = zext i1 %602 to i32
%604 = icmp slt i32 -1, %603
br i1 %604, label %605, label %606
605: ; preds = %599
br label %606
606: ; preds = %605, %599
%607 = load i32, i32* %7
%608 = icmp ne i32 %607, 0
%609 = xor i1 %608, true
%610 = zext i1 %609 to i32
%611 = icmp sge i32 0, %610
br i1 %611, label %612, label %613
612: ; preds = %606
br label %613
613: ; preds = %612, %606
%614 = load i32, i32* %7
%615 = icmp ne i32 %614, 0
%616 = xor i1 %615, true
%617 = zext i1 %616 to i32
%618 = icmp sge i32 1, %617
br i1 %618, label %619, label %620
619: ; preds = %613
br label %620
620: ; preds = %619, %613
%621 = load i32, i32* %7
%622 = icmp ne i32 %621, 0
%623 = xor i1 %622, true
%624 = zext i1 %623 to i32
%625 = icmp sge i32 2, %624
br i1 %625, label %626, label %627
626: ; preds = %620
br label %627
627: ; preds = %626, %620
%628 = load i32, i32* %5
%629 = load i32, i32* %7
%630 = icmp ne i32 %629, 0
%631 = xor i1 %630, true
%632 = zext i1 %631 to i32
%633 = icmp sge i32 %628, %632
br i1 %633, label %634, label %635
634: ; preds = %627
br label %635
635: ; preds = %634, %627
%636 = load i32, i32* %7
%637 = icmp ne i32 %636, 0
%638 = xor i1 %637, true
%639 = zext i1 %638 to i32
%640 = icmp sge i32 -1, %639
br i1 %640, label %641, label %642
641: ; preds = %635
br label %642
642: ; preds = %641, %635
%643 = load i32, i32* %7
%644 = icmp ne i32 %643, 0
%645 = xor i1 %644, true
%646 = zext i1 %645 to i32
%647 = icmp sle i32 0, %646
br i1 %647, label %648, label %649
648: ; preds = %642
br label %649
649: ; preds = %648, %642
%650 = load i32, i32* %7
%651 = icmp ne i32 %650, 0
%652 = xor i1 %651, true
%653 = zext i1 %652 to i32
%654 = icmp sle i32 1, %653
br i1 %654, label %655, label %656
655: ; preds = %649
br label %656
656: ; preds = %655, %649
%657 = load i32, i32* %7
%658 = icmp ne i32 %657, 0
%659 = xor i1 %658, true
%660 = zext i1 %659 to i32
%661 = icmp sle i32 2, %660
br i1 %661, label %662, label %663
662: ; preds = %656
br label %663
663: ; preds = %662, %656
%664 = load i32, i32* %5
%665 = load i32, i32* %7
%666 = icmp ne i32 %665, 0
%667 = xor i1 %666, true
%668 = zext i1 %667 to i32
%669 = icmp sle i32 %664, %668
br i1 %669, label %670, label %671
670: ; preds = %663
br label %671
671: ; preds = %670, %663
%672 = load i32, i32* %7
%673 = icmp ne i32 %672, 0
%674 = xor i1 %673, true
%675 = zext i1 %674 to i32
%676 = icmp sle i32 -1, %675
br i1 %676, label %677, label %678
677: ; preds = %671
br label %678
678: ; preds = %677, %671
%679 = load i32, i32* %7
%680 = icmp ne i32 %679, 0
br i1 %680, label %684, label %681
681: ; preds = %678
%682 = load i32, i32* %8
%683 = icmp ne i32 %682, 0
br label %684
684: ; preds = %681, %678
%685 = phi i1 [ true, %678 ], [ %683, %681 ]
%686 = zext i1 %685 to i32
%687 = icmp sgt i32 0, %686
br i1 %687, label %688, label %689
688: ; preds = %684
br label %689
689: ; preds = %688, %684
%690 = load i32, i32* %7
%691 = icmp ne i32 %690, 0
br i1 %691, label %695, label %692
692: ; preds = %689
%693 = load i32, i32* %8
%694 = icmp ne i32 %693, 0
br label %695
695: ; preds = %692, %689
%696 = phi i1 [ true, %689 ], [ %694, %692 ]
%697 = zext i1 %696 to i32
%698 = icmp sgt i32 1, %697
br i1 %698, label %699, label %700
699: ; preds = %695
br label %700
700: ; preds = %699, %695
%701 = load i32, i32* %7
%702 = icmp ne i32 %701, 0
br i1 %702, label %706, label %703
703: ; preds = %700
%704 = load i32, i32* %8
%705 = icmp ne i32 %704, 0
br label %706
706: ; preds = %703, %700
%707 = phi i1 [ true, %700 ], [ %705, %703 ]
%708 = zext i1 %707 to i32
%709 = icmp sgt i32 4, %708
br i1 %709, label %710, label %711
710: ; preds = %706
br label %711
711: ; preds = %710, %706
%712 = load i32, i32* %7
%713 = icmp ne i32 %712, 0
br i1 %713, label %714, label %717
714: ; preds = %711
%715 = load i32, i32* %8
%716 = icmp ne i32 %715, 0
br label %717
717: ; preds = %714, %711
%718 = phi i1 [ false, %711 ], [ %716, %714 ]
%719 = zext i1 %718 to i32
%720 = icmp sgt i32 0, %719
br i1 %720, label %721, label %722
721: ; preds = %717
br label %722
722: ; preds = %721, %717
%723 = load i32, i32* %7
%724 = icmp ne i32 %723, 0
br i1 %724, label %725, label %728
725: ; preds = %722
%726 = load i32, i32* %8
%727 = icmp ne i32 %726, 0
br label %728
728: ; preds = %725, %722
%729 = phi i1 [ false, %722 ], [ %727, %725 ]
%730 = zext i1 %729 to i32
%731 = icmp sgt i32 1, %730
br i1 %731, label %732, label %733
732: ; preds = %728
br label %733
733: ; preds = %732, %728
%734 = load i32, i32* %7
%735 = icmp ne i32 %734, 0
br i1 %735, label %736, label %739
736: ; preds = %733
%737 = load i32, i32* %8
%738 = icmp ne i32 %737, 0
br label %739
739: ; preds = %736, %733
%740 = phi i1 [ false, %733 ], [ %738, %736 ]
%741 = zext i1 %740 to i32
%742 = icmp sgt i32 4, %741
br i1 %742, label %743, label %744
743: ; preds = %739
br label %744
744: ; preds = %743, %739
%745 = load i32, i32* %7
%746 = load i32, i32* %5
%747 = icmp slt i32 %745, %746
%748 = zext i1 %747 to i32
%749 = icmp sgt i32 0, %748
br i1 %749, label %750, label %751
750: ; preds = %744
br label %751
751: ; preds = %750, %744
%752 = load i32, i32* %7
%753 = load i32, i32* %5
%754 = icmp slt i32 %752, %753
%755 = zext i1 %754 to i32
%756 = icmp sgt i32 1, %755
br i1 %756, label %757, label %758
757: ; preds = %751
br label %758
758: ; preds = %757, %751
%759 = load i32, i32* %7
%760 = load i32, i32* %5
%761 = icmp slt i32 %759, %760
%762 = zext i1 %761 to i32
%763 = icmp sgt i32 4, %762
br i1 %763, label %764, label %765
764: ; preds = %758
br label %765
765: ; preds = %764, %758
%766 = load i32, i32* %6
%767 = load i32, i32* %7
%768 = load i32, i32* %5
%769 = icmp slt i32 %767, %768
%770 = zext i1 %769 to i32
%771 = icmp sgt i32 %766, %770
br i1 %771, label %772, label %773
772: ; preds = %765
br label %773
773: ; preds = %772, %765
%774 = load i32, i32* %7
%775 = load i32, i32* %5
%776 = icmp slt i32 %774, %775
%777 = zext i1 %776 to i32
%778 = icmp sgt i32 -1, %777
br i1 %778, label %779, label %780
779: ; preds = %773
br label %780
780: ; preds = %779, %773
%781 = load i32, i32* %7
%782 = load i32, i32* %5
%783 = icmp slt i32 %781, %782
%784 = zext i1 %783 to i32
%785 = icmp eq i32 0, %784
br i1 %785, label %786, label %787
786: ; preds = %780
br label %787
787: ; preds = %786, %780
%788 = load i32, i32* %7
%789 = load i32, i32* %5
%790 = icmp slt i32 %788, %789
%791 = zext i1 %790 to i32
%792 = icmp eq i32 1, %791
br i1 %792, label %793, label %794
793: ; preds = %787
br label %794
794: ; preds = %793, %787
%795 = load i32, i32* %7
%796 = load i32, i32* %5
%797 = icmp slt i32 %795, %796
%798 = zext i1 %797 to i32
%799 = icmp eq i32 2, %798
br i1 %799, label %800, label %801
800: ; preds = %794
br label %801
801: ; preds = %800, %794
%802 = load i32, i32* %6
%803 = load i32, i32* %7
%804 = load i32, i32* %5
%805 = icmp slt i32 %803, %804
%806 = zext i1 %805 to i32
%807 = icmp eq i32 %802, %806
br i1 %807, label %808, label %809
808: ; preds = %801
br label %809
809: ; preds = %808, %801
%810 = load i32, i32* %7
%811 = load i32, i32* %5
%812 = icmp slt i32 %810, %811
%813 = zext i1 %812 to i32
%814 = icmp eq i32 -1, %813
br i1 %814, label %815, label %816
815: ; preds = %809
br label %816
816: ; preds = %815, %809
%817 = load i32, i32* %7
%818 = load i32, i32* %5
%819 = icmp slt i32 %817, %818
%820 = zext i1 %819 to i32
%821 = icmp ne i32 0, %820
br i1 %821, label %822, label %823
822: ; preds = %816
br label %823
823: ; preds = %822, %816
%824 = load i32, i32* %7
%825 = load i32, i32* %5
%826 = icmp slt i32 %824, %825
%827 = zext i1 %826 to i32
%828 = icmp ne i32 1, %827
br i1 %828, label %829, label %830
829: ; preds = %823
br label %830
830: ; preds = %829, %823
%831 = load i32, i32* %7
%832 = load i32, i32* %5
%833 = icmp slt i32 %831, %832
%834 = zext i1 %833 to i32
%835 = icmp ne i32 2, %834
br i1 %835, label %836, label %837
836: ; preds = %830
br label %837
837: ; preds = %836, %830
%838 = load i32, i32* %6
%839 = load i32, i32* %7
%840 = load i32, i32* %5
%841 = icmp slt i32 %839, %840
%842 = zext i1 %841 to i32
%843 = icmp ne i32 %838, %842
br i1 %843, label %844, label %845
844: ; preds = %837
br label %845
845: ; preds = %844, %837
%846 = load i32, i32* %7
%847 = load i32, i32* %5
%848 = icmp slt i32 %846, %847
%849 = zext i1 %848 to i32
%850 = icmp ne i32 -1, %849
br i1 %850, label %851, label %852
851: ; preds = %845
br label %852
852: ; preds = %851, %845
%853 = load i32, i32* %6
%854 = load i32, i32* %7
%855 = load i32, i32* %5
%856 = icmp slt i32 %854, %855
%857 = zext i1 %856 to i32
%858 = icmp eq i32 %853, %857
br i1 %858, label %859, label %860
859: ; preds = %852
br label %860
860: ; preds = %859, %852
%861 = load i32, i32* %6
%862 = load i32, i32* %7
%863 = icmp slt i32 %861, %862
%864 = zext i1 %863 to i32
%865 = load i32, i32* %5
%866 = icmp sgt i32 %864, %865
br i1 %866, label %867, label %868
867: ; preds = %860
br label %868
868: ; preds = %867, %860
%869 = load i32, i32* %6
%870 = load i32, i32* %7
%871 = load i32, i32* %5
%872 = icmp slt i32 %870, %871
%873 = zext i1 %872 to i32
%874 = icmp sgt i32 %869, %873
br i1 %874, label %875, label %876
875: ; preds = %868
br label %876
876: ; preds = %875, %868
%877 = load i32, i32* %6
%878 = load i32, i32* %5
%879 = icmp slt i32 %877, %878
%880 = zext i1 %879 to i32
%881 = load i32, i32* %7
%882 = load i32, i32* %5
%883 = icmp slt i32 %881, %882
%884 = zext i1 %883 to i32
%885 = icmp sgt i32 %880, %884
br i1 %885, label %886, label %887
886: ; preds = %876
br label %887
887: ; preds = %886, %876
%888 = load i32, i32* %6
%889 = load i32, i32* %5
%890 = icmp slt i32 %888, %889
%891 = zext i1 %890 to i32
%892 = load i32, i32* %7
%893 = load i32, i32* %5
%894 = icmp slt i32 %892, %893
%895 = zext i1 %894 to i32
%896 = icmp eq i32 %891, %895
br i1 %896, label %897, label %898
897: ; preds = %887
br label %898
898: ; preds = %897, %887
%899 = load i32, i32* %6
%900 = load i32, i32* %5
%901 = icmp slt i32 %899, %900
%902 = zext i1 %901 to i32
%903 = load i32, i32* %7
%904 = load i32, i32* %5
%905 = icmp slt i32 %903, %904
%906 = zext i1 %905 to i32
%907 = icmp ne i32 %902, %906
br i1 %907, label %908, label %909
908: ; preds = %898
br label %909
909: ; preds = %908, %898
%910 = load i32, i32* %5
%911 = load i32, i32* %6
%912 = icmp eq i32 %910, %911
%913 = zext i1 %912 to i32
%914 = load i32, i32* %6
%915 = load i32, i32* %4
%916 = icmp eq i32 %914, %915
%917 = zext i1 %916 to i32
%918 = icmp slt i32 %913, %917
br i1 %918, label %919, label %920
919: ; preds = %909
br label %920
920: ; preds = %919, %909
%921 = load i32, i32* %6
%922 = load i32, i32* %4
%923 = icmp eq i32 %921, %922
%924 = zext i1 %923 to i32
%925 = load i32, i32* %5
%926 = load i32, i32* %6
%927 = icmp eq i32 %925, %926
%928 = zext i1 %927 to i32
%929 = icmp slt i32 %924, %928
%930 = zext i1 %929 to i32
%931 = load i32, i32* %7
%932 = load i32, i32* %5
%933 = icmp slt i32 %931, %932
%934 = zext i1 %933 to i32
%935 = icmp ne i32 %930, %934
br i1 %935, label %936, label %937
936: ; preds = %920
br label %937
937: ; preds = %936, %920
%938 = load i32, i32* %6
%939 = load i32, i32* %4
%940 = icmp eq i32 %938, %939
%941 = zext i1 %940 to i32
%942 = load i32, i32* %6
%943 = icmp eq i32 -1, %942
%944 = zext i1 %943 to i32
%945 = icmp slt i32 %941, %944
%946 = zext i1 %945 to i32
%947 = load i32, i32* %7
%948 = load i32, i32* %5
%949 = icmp slt i32 %947, %948
%950 = zext i1 %949 to i32
%951 = icmp ne i32 %946, %950
br i1 %951, label %952, label %953
952: ; preds = %937
br label %953
953: ; preds = %952, %937
%954 = load i32, i32* %6
%955 = load i32, i32* %4
%956 = icmp eq i32 %954, %955
%957 = zext i1 %956 to i32
%958 = load i32, i32* %6
%959 = icmp eq i32 %958, -1
%960 = zext i1 %959 to i32
%961 = icmp slt i32 %957, %960
%962 = zext i1 %961 to i32
%963 = load i32, i32* %7
%964 = load i32, i32* %5
%965 = icmp slt i32 %963, %964
%966 = zext i1 %965 to i32
%967 = icmp ne i32 %962, %966
br i1 %967, label %968, label %969
968: ; preds = %953
br label %969
969: ; preds = %968, %953
%970 = load i32, i32* %6
%971 = load i32, i32* %4
%972 = icmp eq i32 %970, %971
%973 = zext i1 %972 to i32
%974 = icmp slt i32 %973, -1
%975 = zext i1 %974 to i32
%976 = load i32, i32* %7
%977 = load i32, i32* %5
%978 = icmp slt i32 %976, %977
%979 = zext i1 %978 to i32
%980 = icmp ne i32 %975, %979
br i1 %980, label %981, label %982
981: ; preds = %969
br label %982
982: ; preds = %981, %969
%983 = load i32, i32* %6
%984 = load i32, i32* %4
%985 = icmp eq i32 %983, %984
%986 = zext i1 %985 to i32
%987 = icmp slt i32 %986, 2
%988 = zext i1 %987 to i32
%989 = load i32, i32* %7
%990 = load i32, i32* %5
%991 = icmp slt i32 %989, %990
%992 = zext i1 %991 to i32
%993 = icmp ne i32 %988, %992
br i1 %993, label %994, label %995
994: ; preds = %982
br label %995
995: ; preds = %994, %982
%996 = load i32, i32* %6
%997 = load i32, i32* %4
%998 = icmp eq i32 %996, %997
%999 = zext i1 %998 to i32
%1000 = load i32, i32* %6
%1001 = icmp sgt i32 %1000, 2
%1002 = zext i1 %1001 to i32
%1003 = icmp slt i32 %999, %1002
%1004 = zext i1 %1003 to i32
%1005 = load i32, i32* %7
%1006 = load i32, i32* %5
%1007 = icmp slt i32 %1005, %1006
%1008 = zext i1 %1007 to i32
%1009 = icmp ne i32 %1004, %1008
br i1 %1009, label %1010, label %1011
1010: ; preds = %995
br label %1011
1011: ; preds = %1010, %995
ret void
}

LLVM IR (-O2):
define void @f(i32 %0, i32 %1, i32 %2) {
ret void
}