void check_box(int i, int j, int p, int l, int *sudoku_p, int *temp1_p) {
  if ((i >= 0 && i <= 2) && (j >= 0 && j <= 2)) {
    for (p = 0; p <= 2; p++) {
      for (l = 0; l <= 2; l++) {
        if (*(sudoku_p + ((p * (9)) + l)) != 0) {
          if (*(sudoku_p + ((p * (9)) + l)) == 1) {
            *(temp1_p + 0) = 1;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 2) {
            *(temp1_p + 1) = 2;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 3) {
            *(temp1_p + 2) = 3;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 4) {
            *(temp1_p + 3) = 4;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 5) {
            *(temp1_p + 4) = 5;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 6) {
            *(temp1_p + 5) = 6;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 7) {
            *(temp1_p + 6) = 7;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 8) {
            *(temp1_p + 7) = 8;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 9) {
            *(temp1_p + 8) = 9;
          }
        }
      }
    }
  } else if ((i >= 0 && i <= 2) && (j >= 3 && j <= 5)) {
    for (p = 0; p <= 2; p++) {
      for (l = 3; l <= 5; l++) {
        if (*(sudoku_p + ((p * (9)) + l)) != 0) {
          if (*(sudoku_p + ((p * (9)) + l)) == 1) {
            *(temp1_p + 0) = 1;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 2) {
            *(temp1_p + 1) = 2;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 3) {
            *(temp1_p + 2) = 3;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 4) {
            *(temp1_p + 3) = 4;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 5) {
            *(temp1_p + 4) = 5;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 6) {
            *(temp1_p + 5) = 6;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 7) {
            *(temp1_p + 6) = 7;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 8) {
            *(temp1_p + 7) = 8;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 9) {
            *(temp1_p + 8) = 9;
          }
        }
      }
    }
  } else if ((i >= 0 && i <= 2) && (j >= 7 && j <= 8)) {
    for (p = 0; p <= 2; p++) {
      for (l = 7; l <= 8; l++) {
        if (*(sudoku_p + ((p * (9)) + l)) != 0) {
          if (*(sudoku_p + ((p * (9)) + l)) == 1) {
            *(temp1_p + 0) = 1;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 2) {
            *(temp1_p + 1) = 2;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 3) {
            *(temp1_p + 2) = 3;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 4) {
            *(temp1_p + 3) = 4;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 5) {
            *(temp1_p + 4) = 5;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 6) {
            *(temp1_p + 5) = 6;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 7) {
            *(temp1_p + 6) = 7;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 8) {
            *(temp1_p + 7) = 8;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 9) {
            *(temp1_p + 8) = 9;
          }
        }
      }
    }
  } else if ((i >= 3 && i <= 5) && (j >= 0 && j <= 2)) {
    for (p = 3; p <= 5; p++) {
      for (l = 0; l <= 2; l++) {
        if (*(sudoku_p + ((p * (9)) + l)) != 0) {
          if (*(sudoku_p + ((p * (9)) + l)) == 1) {
            *(temp1_p + 0) = 1;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 2) {
            *(temp1_p + 1) = 2;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 3) {
            *(temp1_p + 2) = 3;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 4) {
            *(temp1_p + 3) = 4;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 5) {
            *(temp1_p + 4) = 5;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 6) {
            *(temp1_p + 5) = 6;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 7) {
            *(temp1_p + 6) = 7;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 8) {
            *(temp1_p + 7) = 8;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 9) {
            *(temp1_p + 8) = 9;
          }
        }
      }
    }
  } else if ((i >= 3 && i <= 5) && (j >= 3 && j <= 5)) {
    for (p = 3; p <= 5; p++) {
      for (l = 3; l <= 5; l++) {
        if (*(sudoku_p + ((p * (9)) + l)) != 0) {
          if (*(sudoku_p + ((p * (9)) + l)) == 1) {
            *(temp1_p + 0) = 1;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 2) {
            *(temp1_p + 1) = 2;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 3) {
            *(temp1_p + 2) = 3;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 4) {
            *(temp1_p + 3) = 4;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 5) {
            *(temp1_p + 4) = 5;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 6) {
            *(temp1_p + 5) = 6;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 7) {
            *(temp1_p + 6) = 7;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 8) {
            *(temp1_p + 7) = 8;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 9) {
            *(temp1_p + 8) = 9;
          }
        }
      }
    }
  } else if ((i >= 3 && i <= 5) && (j >= 7 && j <= 8)) {
    for (p = 3; p <= 5; p++) {
      for (l = 7; l <= 8; l++) {
        if (*(sudoku_p + ((p * (9)) + l)) != 0) {
          if (*(sudoku_p + ((p * (9)) + l)) == 1) {
            *(temp1_p + 0) = 1;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 2) {
            *(temp1_p + 1) = 2;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 3) {
            *(temp1_p + 2) = 3;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 4) {
            *(temp1_p + 3) = 4;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 5) {
            *(temp1_p + 4) = 5;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 6) {
            *(temp1_p + 5) = 6;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 7) {
            *(temp1_p + 6) = 7;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 8) {
            *(temp1_p + 7) = 8;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 9) {
            *(temp1_p + 8) = 9;
          }
        }
      }
    }
  } else if ((i >= 6 && i <= 8) && (j >= 0 && j <= 2)) {
    for (p = 6; p <= 8; p++) {
      for (l = 0; l <= 2; l++) {
        if (*(sudoku_p + ((p * (9)) + l)) != 0) {
          if (*(sudoku_p + ((p * (9)) + l)) == 1) {
            *(temp1_p + 0) = 1;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 2) {
            *(temp1_p + 1) = 2;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 3) {
            *(temp1_p + 2) = 3;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 4) {
            *(temp1_p + 3) = 4;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 5) {
            *(temp1_p + 4) = 5;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 6) {
            *(temp1_p + 5) = 6;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 7) {
            *(temp1_p + 6) = 7;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 8) {
            *(temp1_p + 7) = 8;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 9) {
            *(temp1_p + 8) = 9;
          }
        }
      }
    }
  } else if ((i >= 6 && i <= 8) && (j >= 3 && j <= 5)) {
    for (p = 6; p <= 8; p++) {
      for (l = 3; l <= 5; l++) {
        if (*(sudoku_p + ((p * (9)) + l)) != 0) {
          if (*(sudoku_p + ((p * (9)) + l)) == 1) {
            *(temp1_p + 0) = 1;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 2) {
            *(temp1_p + 1) = 2;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 3) {
            *(temp1_p + 2) = 3;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 4) {
            *(temp1_p + 3) = 4;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 5) {
            *(temp1_p + 4) = 5;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 6) {
            *(temp1_p + 5) = 6;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 7) {
            *(temp1_p + 6) = 7;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 8) {
            *(temp1_p + 7) = 8;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 9) {
            *(temp1_p + 8) = 9;
          }
        }
      }
    }
  } else if ((i >= 6 && i <= 8) && (j >= 6 && j <= 8)) {
    for (p = 6; p <= 8; p++) {
      for (l = 6; l <= 8; l++) {
        if (*(sudoku_p + ((p * (9)) + l)) != 0) {
          if (*(sudoku_p + ((p * (9)) + l)) == 1) {
            *(temp1_p + 0) = 1;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 2) {
            *(temp1_p + 1) = 2;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 3) {
            *(temp1_p + 2) = 3;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 4) {
            *(temp1_p + 3) = 4;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 5) {
            *(temp1_p + 4) = 5;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 6) {
            *(temp1_p + 5) = 6;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 7) {
            *(temp1_p + 6) = 7;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 8) {
            *(temp1_p + 7) = 8;
          } else if (*(sudoku_p + ((p * (9)) + l)) == 9) {
            *(temp1_p + 8) = 9;
          }
        }
      }
    }
  }
}


x86 assembly (clang, -O0):
<check_box>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
mov    %ecx,-0x10(%rbp)
mov    %r8,-0x18(%rbp)
mov    %r9,-0x20(%rbp)
cmpl   $0x0,-0x4(%rbp)
jl     1334 <check_box+0x234>
cmpl   $0x2,-0x4(%rbp)
jg     1334 <check_box+0x234>
cmpl   $0x0,-0x8(%rbp)
jl     1334 <check_box+0x234>
cmpl   $0x2,-0x8(%rbp)
jg     1334 <check_box+0x234>
movl   $0x0,-0xc(%rbp)
cmpl   $0x2,-0xc(%rbp)
jg     132f <check_box+0x22f>
movl   $0x0,-0x10(%rbp)
cmpl   $0x2,-0x10(%rbp)
jg     131c <check_box+0x21c>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1309 <check_box+0x209>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x1,(%rax,%rcx,4)
jne    11a1 <check_box+0xa1>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    1304 <check_box+0x204>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x2,(%rax,%rcx,4)
jne    11c9 <check_box+0xc9>
mov    -0x20(%rbp),%rax
movl   $0x2,0x4(%rax)
jmp    12ff <check_box+0x1ff>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x3,(%rax,%rcx,4)
jne    11f1 <check_box+0xf1>
mov    -0x20(%rbp),%rax
movl   $0x3,0x8(%rax)
jmp    12fa <check_box+0x1fa>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x4,(%rax,%rcx,4)
jne    1219 <check_box+0x119>
mov    -0x20(%rbp),%rax
movl   $0x4,0xc(%rax)
jmp    12f5 <check_box+0x1f5>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x5,(%rax,%rcx,4)
jne    1241 <check_box+0x141>
mov    -0x20(%rbp),%rax
movl   $0x5,0x10(%rax)
jmp    12f0 <check_box+0x1f0>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x6,(%rax,%rcx,4)
jne    1269 <check_box+0x169>
mov    -0x20(%rbp),%rax
movl   $0x6,0x14(%rax)
jmp    12eb <check_box+0x1eb>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x7,(%rax,%rcx,4)
jne    1291 <check_box+0x191>
mov    -0x20(%rbp),%rax
movl   $0x7,0x18(%rax)
jmp    12e6 <check_box+0x1e6>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x8,(%rax,%rcx,4)
jne    12b9 <check_box+0x1b9>
mov    -0x20(%rbp),%rax
movl   $0x8,0x1c(%rax)
jmp    12e1 <check_box+0x1e1>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x9,(%rax,%rcx,4)
jne    12dc <check_box+0x1dc>
mov    -0x20(%rbp),%rax
movl   $0x9,0x20(%rax)
jmp    12e1 <check_box+0x1e1>
jmp    12e6 <check_box+0x1e6>
jmp    12eb <check_box+0x1eb>
jmp    12f0 <check_box+0x1f0>
jmp    12f5 <check_box+0x1f5>
jmp    12fa <check_box+0x1fa>
jmp    12ff <check_box+0x1ff>
jmp    1304 <check_box+0x204>
jmp    1309 <check_box+0x209>
jmp    130e <check_box+0x20e>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1158 <check_box+0x58>
jmp    1321 <check_box+0x221>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1147 <check_box+0x47>
jmp    243c <check_box+0x133c>
cmpl   $0x0,-0x4(%rbp)
jl     1550 <check_box+0x450>
cmpl   $0x2,-0x4(%rbp)
jg     1550 <check_box+0x450>
cmpl   $0x3,-0x8(%rbp)
jl     1550 <check_box+0x450>
cmpl   $0x5,-0x8(%rbp)
jg     1550 <check_box+0x450>
movl   $0x0,-0xc(%rbp)
cmpl   $0x2,-0xc(%rbp)
jg     154b <check_box+0x44b>
movl   $0x3,-0x10(%rbp)
cmpl   $0x5,-0x10(%rbp)
jg     1538 <check_box+0x438>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1525 <check_box+0x425>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x1,(%rax,%rcx,4)
jne    13bd <check_box+0x2bd>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    1520 <check_box+0x420>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x2,(%rax,%rcx,4)
jne    13e5 <check_box+0x2e5>
mov    -0x20(%rbp),%rax
movl   $0x2,0x4(%rax)
jmp    151b <check_box+0x41b>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x3,(%rax,%rcx,4)
jne    140d <check_box+0x30d>
mov    -0x20(%rbp),%rax
movl   $0x3,0x8(%rax)
jmp    1516 <check_box+0x416>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x4,(%rax,%rcx,4)
jne    1435 <check_box+0x335>
mov    -0x20(%rbp),%rax
movl   $0x4,0xc(%rax)
jmp    1511 <check_box+0x411>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x5,(%rax,%rcx,4)
jne    145d <check_box+0x35d>
mov    -0x20(%rbp),%rax
movl   $0x5,0x10(%rax)
jmp    150c <check_box+0x40c>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x6,(%rax,%rcx,4)
jne    1485 <check_box+0x385>
mov    -0x20(%rbp),%rax
movl   $0x6,0x14(%rax)
jmp    1507 <check_box+0x407>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x7,(%rax,%rcx,4)
jne    14ad <check_box+0x3ad>
mov    -0x20(%rbp),%rax
movl   $0x7,0x18(%rax)
jmp    1502 <check_box+0x402>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x8,(%rax,%rcx,4)
jne    14d5 <check_box+0x3d5>
mov    -0x20(%rbp),%rax
movl   $0x8,0x1c(%rax)
jmp    14fd <check_box+0x3fd>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x9,(%rax,%rcx,4)
jne    14f8 <check_box+0x3f8>
mov    -0x20(%rbp),%rax
movl   $0x9,0x20(%rax)
jmp    14fd <check_box+0x3fd>
jmp    1502 <check_box+0x402>
jmp    1507 <check_box+0x407>
jmp    150c <check_box+0x40c>
jmp    1511 <check_box+0x411>
jmp    1516 <check_box+0x416>
jmp    151b <check_box+0x41b>
jmp    1520 <check_box+0x420>
jmp    1525 <check_box+0x425>
jmp    152a <check_box+0x42a>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1374 <check_box+0x274>
jmp    153d <check_box+0x43d>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1363 <check_box+0x263>
jmp    2437 <check_box+0x1337>
cmpl   $0x0,-0x4(%rbp)
jl     176c <check_box+0x66c>
cmpl   $0x2,-0x4(%rbp)
jg     176c <check_box+0x66c>
cmpl   $0x7,-0x8(%rbp)
jl     176c <check_box+0x66c>
cmpl   $0x8,-0x8(%rbp)
jg     176c <check_box+0x66c>
movl   $0x0,-0xc(%rbp)
cmpl   $0x2,-0xc(%rbp)
jg     1767 <check_box+0x667>
movl   $0x7,-0x10(%rbp)
cmpl   $0x8,-0x10(%rbp)
jg     1754 <check_box+0x654>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1741 <check_box+0x641>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x1,(%rax,%rcx,4)
jne    15d9 <check_box+0x4d9>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    173c <check_box+0x63c>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x2,(%rax,%rcx,4)
jne    1601 <check_box+0x501>
mov    -0x20(%rbp),%rax
movl   $0x2,0x4(%rax)
jmp    1737 <check_box+0x637>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x3,(%rax,%rcx,4)
jne    1629 <check_box+0x529>
mov    -0x20(%rbp),%rax
movl   $0x3,0x8(%rax)
jmp    1732 <check_box+0x632>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x4,(%rax,%rcx,4)
jne    1651 <check_box+0x551>
mov    -0x20(%rbp),%rax
movl   $0x4,0xc(%rax)
jmp    172d <check_box+0x62d>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x5,(%rax,%rcx,4)
jne    1679 <check_box+0x579>
mov    -0x20(%rbp),%rax
movl   $0x5,0x10(%rax)
jmp    1728 <check_box+0x628>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x6,(%rax,%rcx,4)
jne    16a1 <check_box+0x5a1>
mov    -0x20(%rbp),%rax
movl   $0x6,0x14(%rax)
jmp    1723 <check_box+0x623>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x7,(%rax,%rcx,4)
jne    16c9 <check_box+0x5c9>
mov    -0x20(%rbp),%rax
movl   $0x7,0x18(%rax)
jmp    171e <check_box+0x61e>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x8,(%rax,%rcx,4)
jne    16f1 <check_box+0x5f1>
mov    -0x20(%rbp),%rax
movl   $0x8,0x1c(%rax)
jmp    1719 <check_box+0x619>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x9,(%rax,%rcx,4)
jne    1714 <check_box+0x614>
mov    -0x20(%rbp),%rax
movl   $0x9,0x20(%rax)
jmp    1719 <check_box+0x619>
jmp    171e <check_box+0x61e>
jmp    1723 <check_box+0x623>
jmp    1728 <check_box+0x628>
jmp    172d <check_box+0x62d>
jmp    1732 <check_box+0x632>
jmp    1737 <check_box+0x637>
jmp    173c <check_box+0x63c>
jmp    1741 <check_box+0x641>
jmp    1746 <check_box+0x646>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1590 <check_box+0x490>
jmp    1759 <check_box+0x659>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    157f <check_box+0x47f>
jmp    2432 <check_box+0x1332>
cmpl   $0x3,-0x4(%rbp)
jl     1988 <check_box+0x888>
cmpl   $0x5,-0x4(%rbp)
jg     1988 <check_box+0x888>
cmpl   $0x0,-0x8(%rbp)
jl     1988 <check_box+0x888>
cmpl   $0x2,-0x8(%rbp)
jg     1988 <check_box+0x888>
movl   $0x3,-0xc(%rbp)
cmpl   $0x5,-0xc(%rbp)
jg     1983 <check_box+0x883>
movl   $0x0,-0x10(%rbp)
cmpl   $0x2,-0x10(%rbp)
jg     1970 <check_box+0x870>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     195d <check_box+0x85d>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x1,(%rax,%rcx,4)
jne    17f5 <check_box+0x6f5>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    1958 <check_box+0x858>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x2,(%rax,%rcx,4)
jne    181d <check_box+0x71d>
mov    -0x20(%rbp),%rax
movl   $0x2,0x4(%rax)
jmp    1953 <check_box+0x853>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x3,(%rax,%rcx,4)
jne    1845 <check_box+0x745>
mov    -0x20(%rbp),%rax
movl   $0x3,0x8(%rax)
jmp    194e <check_box+0x84e>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x4,(%rax,%rcx,4)
jne    186d <check_box+0x76d>
mov    -0x20(%rbp),%rax
movl   $0x4,0xc(%rax)
jmp    1949 <check_box+0x849>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x5,(%rax,%rcx,4)
jne    1895 <check_box+0x795>
mov    -0x20(%rbp),%rax
movl   $0x5,0x10(%rax)
jmp    1944 <check_box+0x844>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x6,(%rax,%rcx,4)
jne    18bd <check_box+0x7bd>
mov    -0x20(%rbp),%rax
movl   $0x6,0x14(%rax)
jmp    193f <check_box+0x83f>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x7,(%rax,%rcx,4)
jne    18e5 <check_box+0x7e5>
mov    -0x20(%rbp),%rax
movl   $0x7,0x18(%rax)
jmp    193a <check_box+0x83a>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x8,(%rax,%rcx,4)
jne    190d <check_box+0x80d>
mov    -0x20(%rbp),%rax
movl   $0x8,0x1c(%rax)
jmp    1935 <check_box+0x835>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x9,(%rax,%rcx,4)
jne    1930 <check_box+0x830>
mov    -0x20(%rbp),%rax
movl   $0x9,0x20(%rax)
jmp    1935 <check_box+0x835>
jmp    193a <check_box+0x83a>
jmp    193f <check_box+0x83f>
jmp    1944 <check_box+0x844>
jmp    1949 <check_box+0x849>
jmp    194e <check_box+0x84e>
jmp    1953 <check_box+0x853>
jmp    1958 <check_box+0x858>
jmp    195d <check_box+0x85d>
jmp    1962 <check_box+0x862>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    17ac <check_box+0x6ac>
jmp    1975 <check_box+0x875>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    179b <check_box+0x69b>
jmp    242d <check_box+0x132d>
cmpl   $0x3,-0x4(%rbp)
jl     1ba4 <check_box+0xaa4>
cmpl   $0x5,-0x4(%rbp)
jg     1ba4 <check_box+0xaa4>
cmpl   $0x3,-0x8(%rbp)
jl     1ba4 <check_box+0xaa4>
cmpl   $0x5,-0x8(%rbp)
jg     1ba4 <check_box+0xaa4>
movl   $0x3,-0xc(%rbp)
cmpl   $0x5,-0xc(%rbp)
jg     1b9f <check_box+0xa9f>
movl   $0x3,-0x10(%rbp)
cmpl   $0x5,-0x10(%rbp)
jg     1b8c <check_box+0xa8c>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1b79 <check_box+0xa79>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x1,(%rax,%rcx,4)
jne    1a11 <check_box+0x911>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    1b74 <check_box+0xa74>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x2,(%rax,%rcx,4)
jne    1a39 <check_box+0x939>
mov    -0x20(%rbp),%rax
movl   $0x2,0x4(%rax)
jmp    1b6f <check_box+0xa6f>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x3,(%rax,%rcx,4)
jne    1a61 <check_box+0x961>
mov    -0x20(%rbp),%rax
movl   $0x3,0x8(%rax)
jmp    1b6a <check_box+0xa6a>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x4,(%rax,%rcx,4)
jne    1a89 <check_box+0x989>
mov    -0x20(%rbp),%rax
movl   $0x4,0xc(%rax)
jmp    1b65 <check_box+0xa65>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x5,(%rax,%rcx,4)
jne    1ab1 <check_box+0x9b1>
mov    -0x20(%rbp),%rax
movl   $0x5,0x10(%rax)
jmp    1b60 <check_box+0xa60>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x6,(%rax,%rcx,4)
jne    1ad9 <check_box+0x9d9>
mov    -0x20(%rbp),%rax
movl   $0x6,0x14(%rax)
jmp    1b5b <check_box+0xa5b>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x7,(%rax,%rcx,4)
jne    1b01 <check_box+0xa01>
mov    -0x20(%rbp),%rax
movl   $0x7,0x18(%rax)
jmp    1b56 <check_box+0xa56>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x8,(%rax,%rcx,4)
jne    1b29 <check_box+0xa29>
mov    -0x20(%rbp),%rax
movl   $0x8,0x1c(%rax)
jmp    1b51 <check_box+0xa51>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x9,(%rax,%rcx,4)
jne    1b4c <check_box+0xa4c>
mov    -0x20(%rbp),%rax
movl   $0x9,0x20(%rax)
jmp    1b51 <check_box+0xa51>
jmp    1b56 <check_box+0xa56>
jmp    1b5b <check_box+0xa5b>
jmp    1b60 <check_box+0xa60>
jmp    1b65 <check_box+0xa65>
jmp    1b6a <check_box+0xa6a>
jmp    1b6f <check_box+0xa6f>
jmp    1b74 <check_box+0xa74>
jmp    1b79 <check_box+0xa79>
jmp    1b7e <check_box+0xa7e>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    19c8 <check_box+0x8c8>
jmp    1b91 <check_box+0xa91>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    19b7 <check_box+0x8b7>
jmp    2428 <check_box+0x1328>
cmpl   $0x3,-0x4(%rbp)
jl     1dc0 <check_box+0xcc0>
cmpl   $0x5,-0x4(%rbp)
jg     1dc0 <check_box+0xcc0>
cmpl   $0x7,-0x8(%rbp)
jl     1dc0 <check_box+0xcc0>
cmpl   $0x8,-0x8(%rbp)
jg     1dc0 <check_box+0xcc0>
movl   $0x3,-0xc(%rbp)
cmpl   $0x5,-0xc(%rbp)
jg     1dbb <check_box+0xcbb>
movl   $0x7,-0x10(%rbp)
cmpl   $0x8,-0x10(%rbp)
jg     1da8 <check_box+0xca8>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1d95 <check_box+0xc95>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x1,(%rax,%rcx,4)
jne    1c2d <check_box+0xb2d>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    1d90 <check_box+0xc90>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x2,(%rax,%rcx,4)
jne    1c55 <check_box+0xb55>
mov    -0x20(%rbp),%rax
movl   $0x2,0x4(%rax)
jmp    1d8b <check_box+0xc8b>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x3,(%rax,%rcx,4)
jne    1c7d <check_box+0xb7d>
mov    -0x20(%rbp),%rax
movl   $0x3,0x8(%rax)
jmp    1d86 <check_box+0xc86>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x4,(%rax,%rcx,4)
jne    1ca5 <check_box+0xba5>
mov    -0x20(%rbp),%rax
movl   $0x4,0xc(%rax)
jmp    1d81 <check_box+0xc81>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x5,(%rax,%rcx,4)
jne    1ccd <check_box+0xbcd>
mov    -0x20(%rbp),%rax
movl   $0x5,0x10(%rax)
jmp    1d7c <check_box+0xc7c>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x6,(%rax,%rcx,4)
jne    1cf5 <check_box+0xbf5>
mov    -0x20(%rbp),%rax
movl   $0x6,0x14(%rax)
jmp    1d77 <check_box+0xc77>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x7,(%rax,%rcx,4)
jne    1d1d <check_box+0xc1d>
mov    -0x20(%rbp),%rax
movl   $0x7,0x18(%rax)
jmp    1d72 <check_box+0xc72>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x8,(%rax,%rcx,4)
jne    1d45 <check_box+0xc45>
mov    -0x20(%rbp),%rax
movl   $0x8,0x1c(%rax)
jmp    1d6d <check_box+0xc6d>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x9,(%rax,%rcx,4)
jne    1d68 <check_box+0xc68>
mov    -0x20(%rbp),%rax
movl   $0x9,0x20(%rax)
jmp    1d6d <check_box+0xc6d>
jmp    1d72 <check_box+0xc72>
jmp    1d77 <check_box+0xc77>
jmp    1d7c <check_box+0xc7c>
jmp    1d81 <check_box+0xc81>
jmp    1d86 <check_box+0xc86>
jmp    1d8b <check_box+0xc8b>
jmp    1d90 <check_box+0xc90>
jmp    1d95 <check_box+0xc95>
jmp    1d9a <check_box+0xc9a>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1be4 <check_box+0xae4>
jmp    1dad <check_box+0xcad>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1bd3 <check_box+0xad3>
jmp    2423 <check_box+0x1323>
cmpl   $0x6,-0x4(%rbp)
jl     1fdc <check_box+0xedc>
cmpl   $0x8,-0x4(%rbp)
jg     1fdc <check_box+0xedc>
cmpl   $0x0,-0x8(%rbp)
jl     1fdc <check_box+0xedc>
cmpl   $0x2,-0x8(%rbp)
jg     1fdc <check_box+0xedc>
movl   $0x6,-0xc(%rbp)
cmpl   $0x8,-0xc(%rbp)
jg     1fd7 <check_box+0xed7>
movl   $0x0,-0x10(%rbp)
cmpl   $0x2,-0x10(%rbp)
jg     1fc4 <check_box+0xec4>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1fb1 <check_box+0xeb1>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x1,(%rax,%rcx,4)
jne    1e49 <check_box+0xd49>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    1fac <check_box+0xeac>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x2,(%rax,%rcx,4)
jne    1e71 <check_box+0xd71>
mov    -0x20(%rbp),%rax
movl   $0x2,0x4(%rax)
jmp    1fa7 <check_box+0xea7>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x3,(%rax,%rcx,4)
jne    1e99 <check_box+0xd99>
mov    -0x20(%rbp),%rax
movl   $0x3,0x8(%rax)
jmp    1fa2 <check_box+0xea2>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x4,(%rax,%rcx,4)
jne    1ec1 <check_box+0xdc1>
mov    -0x20(%rbp),%rax
movl   $0x4,0xc(%rax)
jmp    1f9d <check_box+0xe9d>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x5,(%rax,%rcx,4)
jne    1ee9 <check_box+0xde9>
mov    -0x20(%rbp),%rax
movl   $0x5,0x10(%rax)
jmp    1f98 <check_box+0xe98>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x6,(%rax,%rcx,4)
jne    1f11 <check_box+0xe11>
mov    -0x20(%rbp),%rax
movl   $0x6,0x14(%rax)
jmp    1f93 <check_box+0xe93>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x7,(%rax,%rcx,4)
jne    1f39 <check_box+0xe39>
mov    -0x20(%rbp),%rax
movl   $0x7,0x18(%rax)
jmp    1f8e <check_box+0xe8e>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x8,(%rax,%rcx,4)
jne    1f61 <check_box+0xe61>
mov    -0x20(%rbp),%rax
movl   $0x8,0x1c(%rax)
jmp    1f89 <check_box+0xe89>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x9,(%rax,%rcx,4)
jne    1f84 <check_box+0xe84>
mov    -0x20(%rbp),%rax
movl   $0x9,0x20(%rax)
jmp    1f89 <check_box+0xe89>
jmp    1f8e <check_box+0xe8e>
jmp    1f93 <check_box+0xe93>
jmp    1f98 <check_box+0xe98>
jmp    1f9d <check_box+0xe9d>
jmp    1fa2 <check_box+0xea2>
jmp    1fa7 <check_box+0xea7>
jmp    1fac <check_box+0xeac>
jmp    1fb1 <check_box+0xeb1>
jmp    1fb6 <check_box+0xeb6>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1e00 <check_box+0xd00>
jmp    1fc9 <check_box+0xec9>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1def <check_box+0xcef>
jmp    241e <check_box+0x131e>
cmpl   $0x6,-0x4(%rbp)
jl     21f8 <check_box+0x10f8>
cmpl   $0x8,-0x4(%rbp)
jg     21f8 <check_box+0x10f8>
cmpl   $0x3,-0x8(%rbp)
jl     21f8 <check_box+0x10f8>
cmpl   $0x5,-0x8(%rbp)
jg     21f8 <check_box+0x10f8>
movl   $0x6,-0xc(%rbp)
cmpl   $0x8,-0xc(%rbp)
jg     21f3 <check_box+0x10f3>
movl   $0x3,-0x10(%rbp)
cmpl   $0x5,-0x10(%rbp)
jg     21e0 <check_box+0x10e0>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     21cd <check_box+0x10cd>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x1,(%rax,%rcx,4)
jne    2065 <check_box+0xf65>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    21c8 <check_box+0x10c8>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x2,(%rax,%rcx,4)
jne    208d <check_box+0xf8d>
mov    -0x20(%rbp),%rax
movl   $0x2,0x4(%rax)
jmp    21c3 <check_box+0x10c3>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x3,(%rax,%rcx,4)
jne    20b5 <check_box+0xfb5>
mov    -0x20(%rbp),%rax
movl   $0x3,0x8(%rax)
jmp    21be <check_box+0x10be>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x4,(%rax,%rcx,4)
jne    20dd <check_box+0xfdd>
mov    -0x20(%rbp),%rax
movl   $0x4,0xc(%rax)
jmp    21b9 <check_box+0x10b9>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x5,(%rax,%rcx,4)
jne    2105 <check_box+0x1005>
mov    -0x20(%rbp),%rax
movl   $0x5,0x10(%rax)
jmp    21b4 <check_box+0x10b4>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x6,(%rax,%rcx,4)
jne    212d <check_box+0x102d>
mov    -0x20(%rbp),%rax
movl   $0x6,0x14(%rax)
jmp    21af <check_box+0x10af>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x7,(%rax,%rcx,4)
jne    2155 <check_box+0x1055>
mov    -0x20(%rbp),%rax
movl   $0x7,0x18(%rax)
jmp    21aa <check_box+0x10aa>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x8,(%rax,%rcx,4)
jne    217d <check_box+0x107d>
mov    -0x20(%rbp),%rax
movl   $0x8,0x1c(%rax)
jmp    21a5 <check_box+0x10a5>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x9,(%rax,%rcx,4)
jne    21a0 <check_box+0x10a0>
mov    -0x20(%rbp),%rax
movl   $0x9,0x20(%rax)
jmp    21a5 <check_box+0x10a5>
jmp    21aa <check_box+0x10aa>
jmp    21af <check_box+0x10af>
jmp    21b4 <check_box+0x10b4>
jmp    21b9 <check_box+0x10b9>
jmp    21be <check_box+0x10be>
jmp    21c3 <check_box+0x10c3>
jmp    21c8 <check_box+0x10c8>
jmp    21cd <check_box+0x10cd>
jmp    21d2 <check_box+0x10d2>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    201c <check_box+0xf1c>
jmp    21e5 <check_box+0x10e5>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    200b <check_box+0xf0b>
jmp    2419 <check_box+0x1319>
cmpl   $0x6,-0x4(%rbp)
jl     2414 <check_box+0x1314>
cmpl   $0x8,-0x4(%rbp)
jg     2414 <check_box+0x1314>
cmpl   $0x6,-0x8(%rbp)
jl     2414 <check_box+0x1314>
cmpl   $0x8,-0x8(%rbp)
jg     2414 <check_box+0x1314>
movl   $0x6,-0xc(%rbp)
cmpl   $0x8,-0xc(%rbp)
jg     240f <check_box+0x130f>
movl   $0x6,-0x10(%rbp)
cmpl   $0x8,-0x10(%rbp)
jg     23fc <check_box+0x12fc>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     23e9 <check_box+0x12e9>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x1,(%rax,%rcx,4)
jne    2281 <check_box+0x1181>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    23e4 <check_box+0x12e4>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x2,(%rax,%rcx,4)
jne    22a9 <check_box+0x11a9>
mov    -0x20(%rbp),%rax
movl   $0x2,0x4(%rax)
jmp    23df <check_box+0x12df>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x3,(%rax,%rcx,4)
jne    22d1 <check_box+0x11d1>
mov    -0x20(%rbp),%rax
movl   $0x3,0x8(%rax)
jmp    23da <check_box+0x12da>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x4,(%rax,%rcx,4)
jne    22f9 <check_box+0x11f9>
mov    -0x20(%rbp),%rax
movl   $0x4,0xc(%rax)
jmp    23d5 <check_box+0x12d5>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x5,(%rax,%rcx,4)
jne    2321 <check_box+0x1221>
mov    -0x20(%rbp),%rax
movl   $0x5,0x10(%rax)
jmp    23d0 <check_box+0x12d0>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x6,(%rax,%rcx,4)
jne    2349 <check_box+0x1249>
mov    -0x20(%rbp),%rax
movl   $0x6,0x14(%rax)
jmp    23cb <check_box+0x12cb>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x7,(%rax,%rcx,4)
jne    2371 <check_box+0x1271>
mov    -0x20(%rbp),%rax
movl   $0x7,0x18(%rax)
jmp    23c6 <check_box+0x12c6>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x8,(%rax,%rcx,4)
jne    2399 <check_box+0x1299>
mov    -0x20(%rbp),%rax
movl   $0x8,0x1c(%rax)
jmp    23c1 <check_box+0x12c1>
mov    -0x18(%rbp),%rax
imul   $0x9,-0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x9,(%rax,%rcx,4)
jne    23bc <check_box+0x12bc>
mov    -0x20(%rbp),%rax
movl   $0x9,0x20(%rax)
jmp    23c1 <check_box+0x12c1>
jmp    23c6 <check_box+0x12c6>
jmp    23cb <check_box+0x12cb>
jmp    23d0 <check_box+0x12d0>
jmp    23d5 <check_box+0x12d5>
jmp    23da <check_box+0x12da>
jmp    23df <check_box+0x12df>
jmp    23e4 <check_box+0x12e4>
jmp    23e9 <check_box+0x12e9>
jmp    23ee <check_box+0x12ee>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    2238 <check_box+0x1138>
jmp    2401 <check_box+0x1301>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    2227 <check_box+0x1127>
jmp    2414 <check_box+0x1314>
jmp    2419 <check_box+0x1319>
jmp    241e <check_box+0x131e>
jmp    2423 <check_box+0x1323>
jmp    2428 <check_box+0x1328>
jmp    242d <check_box+0x132d>
jmp    2432 <check_box+0x1332>
jmp    2437 <check_box+0x1337>
jmp    243c <check_box+0x133c>
pop    %rbp
ret

x86 assembly (clang, -O2):
<check_box>:
cmp    $0x2,%edi
ja     12b0 <check_box+0x1b0>
cmp    $0x2,%esi
ja     12b0 <check_box+0x1b0>
mov    $0x8,%eax
lea    0x2362(%rip),%rcx
lea    0x2337(%rip),%rdx
lea    0x230c(%rip),%rsi
jmp    114e <check_box+0x4e>
movl   $0x5,0x10(%r9)
cs nopw 0x0(%rax,%rax,1)
add    $0x24,%rax
cmp    $0x74,%rax
je     1c21 <check_box+0xb21>
mov    -0x8(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     11c0 <check_box+0xc0>
movslq (%rsi,%rdi,4),%rdi
add    %rsi,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    11c0 <check_box+0xc0>
movl   $0x3,0x8(%r9)
jmp    11c0 <check_box+0xc0>
movl   $0x5,0x10(%r9)
jmp    11c0 <check_box+0xc0>
movl   $0x2,0x4(%r9)
jmp    11c0 <check_box+0xc0>
movl   $0x4,0xc(%r9)
jmp    11c0 <check_box+0xc0>
movl   $0x6,0x14(%r9)
jmp    11c0 <check_box+0xc0>
movl   $0x7,0x18(%r9)
jmp    11c0 <check_box+0xc0>
movl   $0x8,0x1c(%r9)
jmp    11c0 <check_box+0xc0>
movl   $0x9,0x20(%r9)
nopl   0x0(%rax,%rax,1)
mov    -0x4(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1230 <check_box+0x130>
movslq (%rdx,%rdi,4),%rdi
add    %rdx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1230 <check_box+0x130>
movl   $0x3,0x8(%r9)
jmp    1230 <check_box+0x130>
movl   $0x5,0x10(%r9)
jmp    1230 <check_box+0x130>
movl   $0x2,0x4(%r9)
jmp    1230 <check_box+0x130>
movl   $0x4,0xc(%r9)
jmp    1230 <check_box+0x130>
movl   $0x6,0x14(%r9)
jmp    1230 <check_box+0x130>
movl   $0x7,0x18(%r9)
jmp    1230 <check_box+0x130>
movl   $0x8,0x1c(%r9)
jmp    1230 <check_box+0x130>
movl   $0x9,0x20(%r9)
nopl   (%rax)
mov    (%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1140 <check_box+0x40>
movslq (%rcx,%rdi,4),%rdi
add    %rcx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1140 <check_box+0x40>
movl   $0x3,0x8(%r9)
jmp    1140 <check_box+0x40>
movl   $0x2,0x4(%r9)
jmp    1140 <check_box+0x40>
movl   $0x4,0xc(%r9)
jmp    1140 <check_box+0x40>
movl   $0x6,0x14(%r9)
jmp    1140 <check_box+0x40>
movl   $0x7,0x18(%r9)
jmp    1140 <check_box+0x40>
movl   $0x8,0x1c(%r9)
jmp    1140 <check_box+0x40>
movl   $0x9,0x20(%r9)
jmp    1140 <check_box+0x40>
lea    -0x3(%rsi),%eax
cmp    $0x2,%edi
ja     1460 <check_box+0x360>
cmp    $0x2,%eax
ja     1460 <check_box+0x360>
mov    $0x14,%eax
lea    0x2143(%rip),%rcx
lea    0x2118(%rip),%rdx
lea    0x20ed(%rip),%rsi
jmp    1300 <check_box+0x200>
movl   $0x8,0x1c(%r9)
nopl   0x0(%rax)
add    $0x24,%rax
cmp    $0x80,%rax
je     1c21 <check_box+0xb21>
mov    -0x8(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1370 <check_box+0x270>
movslq (%rsi,%rdi,4),%rdi
add    %rsi,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1370 <check_box+0x270>
movl   $0x3,0x8(%r9)
jmp    1370 <check_box+0x270>
movl   $0x4,0xc(%r9)
jmp    1370 <check_box+0x270>
movl   $0x5,0x10(%r9)
jmp    1370 <check_box+0x270>
movl   $0x8,0x1c(%r9)
jmp    1370 <check_box+0x270>
movl   $0x2,0x4(%r9)
jmp    1370 <check_box+0x270>
movl   $0x6,0x14(%r9)
jmp    1370 <check_box+0x270>
movl   $0x7,0x18(%r9)
jmp    1370 <check_box+0x270>
movl   $0x9,0x20(%r9)
nopl   (%rax)
mov    -0x4(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     13e0 <check_box+0x2e0>
movslq (%rdx,%rdi,4),%rdi
add    %rdx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    13e0 <check_box+0x2e0>
movl   $0x3,0x8(%r9)
jmp    13e0 <check_box+0x2e0>
movl   $0x4,0xc(%r9)
jmp    13e0 <check_box+0x2e0>
movl   $0x5,0x10(%r9)
jmp    13e0 <check_box+0x2e0>
movl   $0x8,0x1c(%r9)
jmp    13e0 <check_box+0x2e0>
movl   $0x2,0x4(%r9)
jmp    13e0 <check_box+0x2e0>
movl   $0x6,0x14(%r9)
jmp    13e0 <check_box+0x2e0>
movl   $0x7,0x18(%r9)
jmp    13e0 <check_box+0x2e0>
movl   $0x9,0x20(%r9)
nopl   (%rax)
mov    (%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     12f0 <check_box+0x1f0>
movslq (%rcx,%rdi,4),%rdi
add    %rcx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    12f0 <check_box+0x1f0>
movl   $0x3,0x8(%r9)
jmp    12f0 <check_box+0x1f0>
movl   $0x4,0xc(%r9)
jmp    12f0 <check_box+0x1f0>
movl   $0x5,0x10(%r9)
jmp    12f0 <check_box+0x1f0>
movl   $0x2,0x4(%r9)
jmp    12f0 <check_box+0x1f0>
movl   $0x6,0x14(%r9)
jmp    12f0 <check_box+0x1f0>
movl   $0x7,0x18(%r9)
jmp    12f0 <check_box+0x1f0>
movl   $0x9,0x20(%r9)
jmp    12f0 <check_box+0x1f0>
lea    -0x7(%rsi),%ecx
cmp    $0x2,%edi
ja     1499 <check_box+0x399>
cmp    $0x1,%ecx
ja     1499 <check_box+0x399>
mov    0x1c(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     1a32 <check_box+0x932>
lea    0x1e70(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    1a32 <check_box+0x932>
lea    -0x3(%rdi),%edx
cmp    $0x2,%esi
ja     1641 <check_box+0x541>
cmp    $0x2,%edx
ja     1641 <check_box+0x541>
xor    %eax,%eax
lea    0x1e19(%rip),%rcx
lea    0x1dee(%rip),%rdx
lea    0x1dc3(%rip),%rsi
jmp    14de <check_box+0x3de>
movl   $0x8,0x1c(%r9)
nop
add    $0x24,%rax
cmp    $0x6c,%rax
je     1c21 <check_box+0xb21>
mov    0x6c(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1550 <check_box+0x450>
movslq (%rsi,%rdi,4),%rdi
add    %rsi,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1550 <check_box+0x450>
movl   $0x2,0x4(%r9)
jmp    1550 <check_box+0x450>
movl   $0x3,0x8(%r9)
jmp    1550 <check_box+0x450>
movl   $0x4,0xc(%r9)
jmp    1550 <check_box+0x450>
movl   $0x5,0x10(%r9)
jmp    1550 <check_box+0x450>
movl   $0x8,0x1c(%r9)
jmp    1550 <check_box+0x450>
movl   $0x6,0x14(%r9)
jmp    1550 <check_box+0x450>
movl   $0x7,0x18(%r9)
jmp    1550 <check_box+0x450>
movl   $0x9,0x20(%r9)
nopl   0x0(%rax,%rax,1)
mov    0x70(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     15c0 <check_box+0x4c0>
movslq (%rdx,%rdi,4),%rdi
add    %rdx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    15c0 <check_box+0x4c0>
movl   $0x2,0x4(%r9)
jmp    15c0 <check_box+0x4c0>
movl   $0x3,0x8(%r9)
jmp    15c0 <check_box+0x4c0>
movl   $0x4,0xc(%r9)
jmp    15c0 <check_box+0x4c0>
movl   $0x5,0x10(%r9)
jmp    15c0 <check_box+0x4c0>
movl   $0x8,0x1c(%r9)
jmp    15c0 <check_box+0x4c0>
movl   $0x6,0x14(%r9)
jmp    15c0 <check_box+0x4c0>
movl   $0x7,0x18(%r9)
jmp    15c0 <check_box+0x4c0>
movl   $0x9,0x20(%r9)
nopl   (%rax)
mov    0x74(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     14d0 <check_box+0x3d0>
movslq (%rcx,%rdi,4),%rdi
add    %rcx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    14d0 <check_box+0x3d0>
movl   $0x2,0x4(%r9)
jmp    14d0 <check_box+0x3d0>
movl   $0x3,0x8(%r9)
jmp    14d0 <check_box+0x3d0>
movl   $0x4,0xc(%r9)
jmp    14d0 <check_box+0x3d0>
movl   $0x5,0x10(%r9)
jmp    14d0 <check_box+0x3d0>
movl   $0x6,0x14(%r9)
jmp    14d0 <check_box+0x3d0>
movl   $0x7,0x18(%r9)
jmp    14d0 <check_box+0x3d0>
movl   $0x9,0x20(%r9)
jmp    14d0 <check_box+0x3d0>
cmp    $0x2,%edx
ja     17f4 <check_box+0x6f4>
cmp    $0x2,%eax
ja     17f4 <check_box+0x6f4>
xor    %eax,%eax
lea    0x1c08(%rip),%rcx
lea    0x1bdd(%rip),%rdx
lea    0x1bb2(%rip),%rsi
jmp    168e <check_box+0x58e>
movl   $0x8,0x1c(%r9)
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
add    $0x24,%rax
cmp    $0x6c,%rax
je     1c21 <check_box+0xb21>
mov    0x78(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1700 <check_box+0x600>
movslq (%rsi,%rdi,4),%rdi
add    %rsi,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1700 <check_box+0x600>
movl   $0x2,0x4(%r9)
jmp    1700 <check_box+0x600>
movl   $0x3,0x8(%r9)
jmp    1700 <check_box+0x600>
movl   $0x4,0xc(%r9)
jmp    1700 <check_box+0x600>
movl   $0x5,0x10(%r9)
jmp    1700 <check_box+0x600>
movl   $0x6,0x14(%r9)
jmp    1700 <check_box+0x600>
movl   $0x8,0x1c(%r9)
jmp    1700 <check_box+0x600>
movl   $0x7,0x18(%r9)
jmp    1700 <check_box+0x600>
movl   $0x9,0x20(%r9)
nopl   0x0(%rax,%rax,1)
mov    0x7c(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1770 <check_box+0x670>
movslq (%rdx,%rdi,4),%rdi
add    %rdx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1770 <check_box+0x670>
movl   $0x2,0x4(%r9)
jmp    1770 <check_box+0x670>
movl   $0x3,0x8(%r9)
jmp    1770 <check_box+0x670>
movl   $0x4,0xc(%r9)
jmp    1770 <check_box+0x670>
movl   $0x5,0x10(%r9)
jmp    1770 <check_box+0x670>
movl   $0x6,0x14(%r9)
jmp    1770 <check_box+0x670>
movl   $0x8,0x1c(%r9)
jmp    1770 <check_box+0x670>
movl   $0x7,0x18(%r9)
jmp    1770 <check_box+0x670>
movl   $0x9,0x20(%r9)
nopl   (%rax)
mov    0x80(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1680 <check_box+0x580>
movslq (%rcx,%rdi,4),%rdi
add    %rcx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1680 <check_box+0x580>
movl   $0x2,0x4(%r9)
jmp    1680 <check_box+0x580>
movl   $0x3,0x8(%r9)
jmp    1680 <check_box+0x580>
movl   $0x4,0xc(%r9)
jmp    1680 <check_box+0x580>
movl   $0x5,0x10(%r9)
jmp    1680 <check_box+0x580>
movl   $0x6,0x14(%r9)
jmp    1680 <check_box+0x580>
movl   $0x7,0x18(%r9)
jmp    1680 <check_box+0x580>
movl   $0x9,0x20(%r9)
jmp    1680 <check_box+0x580>
cmp    $0x2,%edx
ja     182d <check_box+0x72d>
cmp    $0x1,%ecx
ja     182d <check_box+0x72d>
mov    0x88(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     1fb9 <check_box+0xeb9>
lea    0x192c(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    1fb9 <check_box+0xeb9>
add    $0xfffffffa,%edi
cmp    $0x2,%esi
ja     1c22 <check_box+0xb22>
cmp    $0x2,%edi
ja     1c22 <check_box+0xb22>
xor    %eax,%eax
lea    0x18d5(%rip),%rcx
lea    0x18aa(%rip),%rdx
lea    0x187f(%rip),%rsi
jmp    187e <check_box+0x77e>
movl   $0x9,0x20(%r9)
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
add    $0x24,%rax
cmp    $0x6c,%rax
je     1c21 <check_box+0xb21>
mov    0xd8(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     18f0 <check_box+0x7f0>
movslq (%rsi,%rdi,4),%rdi
add    %rsi,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    18f0 <check_box+0x7f0>
movl   $0x2,0x4(%r9)
jmp    18f0 <check_box+0x7f0>
movl   $0x3,0x8(%r9)
jmp    18f0 <check_box+0x7f0>
movl   $0x4,0xc(%r9)
jmp    18f0 <check_box+0x7f0>
movl   $0x5,0x10(%r9)
jmp    18f0 <check_box+0x7f0>
movl   $0x6,0x14(%r9)
jmp    18f0 <check_box+0x7f0>
movl   $0x7,0x18(%r9)
jmp    18f0 <check_box+0x7f0>
movl   $0x8,0x1c(%r9)
jmp    18f0 <check_box+0x7f0>
movl   $0x9,0x20(%r9)
xchg   %ax,%ax
mov    0xdc(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1960 <check_box+0x860>
movslq (%rdx,%rdi,4),%rdi
add    %rdx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1960 <check_box+0x860>
movl   $0x2,0x4(%r9)
jmp    1960 <check_box+0x860>
movl   $0x3,0x8(%r9)
jmp    1960 <check_box+0x860>
movl   $0x4,0xc(%r9)
jmp    1960 <check_box+0x860>
movl   $0x5,0x10(%r9)
jmp    1960 <check_box+0x860>
movl   $0x6,0x14(%r9)
jmp    1960 <check_box+0x860>
movl   $0x7,0x18(%r9)
jmp    1960 <check_box+0x860>
movl   $0x8,0x1c(%r9)
jmp    1960 <check_box+0x860>
movl   $0x9,0x20(%r9)
mov    0xe0(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1870 <check_box+0x770>
movslq (%rcx,%rdi,4),%rdi
add    %rcx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1870 <check_box+0x770>
movl   $0x2,0x4(%r9)
jmp    1870 <check_box+0x770>
movl   $0x3,0x8(%r9)
jmp    1870 <check_box+0x770>
movl   $0x4,0xc(%r9)
jmp    1870 <check_box+0x770>
movl   $0x5,0x10(%r9)
jmp    1870 <check_box+0x770>
movl   $0x6,0x14(%r9)
jmp    1870 <check_box+0x770>
movl   $0x7,0x18(%r9)
jmp    1870 <check_box+0x770>
movl   $0x8,0x1c(%r9)
jmp    1870 <check_box+0x770>
movl   $0x2,0x4(%r9)
jmp    1a32 <check_box+0x932>
movl   $0x3,0x8(%r9)
jmp    1a32 <check_box+0x932>
movl   $0x4,0xc(%r9)
jmp    1a32 <check_box+0x932>
movl   $0x5,0x10(%r9)
jmp    1a32 <check_box+0x932>
movl   $0x8,0x1c(%r9)
jmp    1a32 <check_box+0x932>
movl   $0x6,0x14(%r9)
jmp    1a32 <check_box+0x932>
movl   $0x7,0x18(%r9)
jmp    1a32 <check_box+0x932>
movl   $0x9,0x20(%r9)
mov    0x20(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     1aa5 <check_box+0x9a5>
lea    0x18d3(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    1aa5 <check_box+0x9a5>
movl   $0x2,0x4(%r9)
jmp    1aa5 <check_box+0x9a5>
movl   $0x3,0x8(%r9)
jmp    1aa5 <check_box+0x9a5>
movl   $0x4,0xc(%r9)
jmp    1aa5 <check_box+0x9a5>
movl   $0x5,0x10(%r9)
jmp    1aa5 <check_box+0x9a5>
movl   $0x8,0x1c(%r9)
jmp    1aa5 <check_box+0x9a5>
movl   $0x6,0x14(%r9)
jmp    1aa5 <check_box+0x9a5>
movl   $0x7,0x18(%r9)
jmp    1aa5 <check_box+0x9a5>
movl   $0x9,0x20(%r9)
mov    0x40(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     1b18 <check_box+0xa18>
lea    0x1884(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    1b18 <check_box+0xa18>
movl   $0x2,0x4(%r9)
jmp    1b18 <check_box+0xa18>
movl   $0x3,0x8(%r9)
jmp    1b18 <check_box+0xa18>
movl   $0x4,0xc(%r9)
jmp    1b18 <check_box+0xa18>
movl   $0x5,0x10(%r9)
jmp    1b18 <check_box+0xa18>
movl   $0x8,0x1c(%r9)
jmp    1b18 <check_box+0xa18>
movl   $0x6,0x14(%r9)
jmp    1b18 <check_box+0xa18>
movl   $0x7,0x18(%r9)
jmp    1b18 <check_box+0xa18>
movl   $0x9,0x20(%r9)
mov    0x44(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     1b8b <check_box+0xa8b>
lea    0x1835(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    1b8b <check_box+0xa8b>
movl   $0x2,0x4(%r9)
jmp    1b8b <check_box+0xa8b>
movl   $0x3,0x8(%r9)
jmp    1b8b <check_box+0xa8b>
movl   $0x4,0xc(%r9)
jmp    1b8b <check_box+0xa8b>
movl   $0x5,0x10(%r9)
jmp    1b8b <check_box+0xa8b>
movl   $0x8,0x1c(%r9)
jmp    1b8b <check_box+0xa8b>
movl   $0x6,0x14(%r9)
jmp    1b8b <check_box+0xa8b>
movl   $0x7,0x18(%r9)
jmp    1b8b <check_box+0xa8b>
movl   $0x9,0x20(%r9)
mov    0x64(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     1bfe <check_box+0xafe>
lea    0x17e6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    1bfe <check_box+0xafe>
movl   $0x2,0x4(%r9)
jmp    1bfe <check_box+0xafe>
movl   $0x3,0x8(%r9)
jmp    1bfe <check_box+0xafe>
movl   $0x4,0xc(%r9)
jmp    1bfe <check_box+0xafe>
movl   $0x5,0x10(%r9)
jmp    1bfe <check_box+0xafe>
movl   $0x8,0x1c(%r9)
jmp    1bfe <check_box+0xafe>
movl   $0x6,0x14(%r9)
jmp    1bfe <check_box+0xafe>
movl   $0x7,0x18(%r9)
jmp    1bfe <check_box+0xafe>
movl   $0x9,0x20(%r9)
mov    0x68(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     1c21 <check_box+0xb21>
lea    0x1797(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
ret
cmp    $0x2,%edi
ja     1dc3 <check_box+0xcc3>
cmp    $0x2,%eax
ja     1dc3 <check_box+0xcc3>
xor    %eax,%eax
lea    0x1477(%rip),%rcx
lea    0x144c(%rip),%rdx
lea    0x1421(%rip),%rsi
jmp    1c5f <check_box+0xb5f>
movl   $0x9,0x20(%r9)
add    $0x24,%rax
cmp    $0x6c,%rax
je     1c21 <check_box+0xb21>
mov    0xe4(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1ccf <check_box+0xbcf>
movslq (%rsi,%rdi,4),%rdi
add    %rsi,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1ccf <check_box+0xbcf>
movl   $0x2,0x4(%r9)
jmp    1ccf <check_box+0xbcf>
movl   $0x3,0x8(%r9)
jmp    1ccf <check_box+0xbcf>
movl   $0x4,0xc(%r9)
jmp    1ccf <check_box+0xbcf>
movl   $0x5,0x10(%r9)
jmp    1ccf <check_box+0xbcf>
movl   $0x6,0x14(%r9)
jmp    1ccf <check_box+0xbcf>
movl   $0x7,0x18(%r9)
jmp    1ccf <check_box+0xbcf>
movl   $0x8,0x1c(%r9)
jmp    1ccf <check_box+0xbcf>
movl   $0x9,0x20(%r9)
mov    0xe8(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1d3f <check_box+0xc3f>
movslq (%rdx,%rdi,4),%rdi
add    %rdx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1d3f <check_box+0xc3f>
movl   $0x2,0x4(%r9)
jmp    1d3f <check_box+0xc3f>
movl   $0x3,0x8(%r9)
jmp    1d3f <check_box+0xc3f>
movl   $0x4,0xc(%r9)
jmp    1d3f <check_box+0xc3f>
movl   $0x5,0x10(%r9)
jmp    1d3f <check_box+0xc3f>
movl   $0x6,0x14(%r9)
jmp    1d3f <check_box+0xc3f>
movl   $0x7,0x18(%r9)
jmp    1d3f <check_box+0xc3f>
movl   $0x8,0x1c(%r9)
jmp    1d3f <check_box+0xc3f>
movl   $0x9,0x20(%r9)
mov    0xec(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1c55 <check_box+0xb55>
movslq (%rcx,%rdi,4),%rdi
add    %rcx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1c55 <check_box+0xb55>
movl   $0x2,0x4(%r9)
jmp    1c55 <check_box+0xb55>
movl   $0x3,0x8(%r9)
jmp    1c55 <check_box+0xb55>
movl   $0x4,0xc(%r9)
jmp    1c55 <check_box+0xb55>
movl   $0x5,0x10(%r9)
jmp    1c55 <check_box+0xb55>
movl   $0x6,0x14(%r9)
jmp    1c55 <check_box+0xb55>
movl   $0x7,0x18(%r9)
jmp    1c55 <check_box+0xb55>
movl   $0x8,0x1c(%r9)
jmp    1c55 <check_box+0xb55>
cmp    $0x2,%edi
ja     1c21 <check_box+0xb21>
add    $0xfffffffa,%esi
cmp    $0x2,%esi
ja     1c21 <check_box+0xb21>
xor    %eax,%eax
lea    0x1267(%rip),%rcx
lea    0x123c(%rip),%rdx
lea    0x1211(%rip),%rsi
jmp    1e07 <check_box+0xd07>
movl   $0x9,0x20(%r9)
add    $0x24,%rax
cmp    $0x6c,%rax
je     1c21 <check_box+0xb21>
mov    0xf0(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1e77 <check_box+0xd77>
movslq (%rsi,%rdi,4),%rdi
add    %rsi,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1e77 <check_box+0xd77>
movl   $0x2,0x4(%r9)
jmp    1e77 <check_box+0xd77>
movl   $0x3,0x8(%r9)
jmp    1e77 <check_box+0xd77>
movl   $0x4,0xc(%r9)
jmp    1e77 <check_box+0xd77>
movl   $0x5,0x10(%r9)
jmp    1e77 <check_box+0xd77>
movl   $0x6,0x14(%r9)
jmp    1e77 <check_box+0xd77>
movl   $0x7,0x18(%r9)
jmp    1e77 <check_box+0xd77>
movl   $0x8,0x1c(%r9)
jmp    1e77 <check_box+0xd77>
movl   $0x9,0x20(%r9)
mov    0xf4(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1ee7 <check_box+0xde7>
movslq (%rdx,%rdi,4),%rdi
add    %rdx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1ee7 <check_box+0xde7>
movl   $0x2,0x4(%r9)
jmp    1ee7 <check_box+0xde7>
movl   $0x3,0x8(%r9)
jmp    1ee7 <check_box+0xde7>
movl   $0x4,0xc(%r9)
jmp    1ee7 <check_box+0xde7>
movl   $0x5,0x10(%r9)
jmp    1ee7 <check_box+0xde7>
movl   $0x6,0x14(%r9)
jmp    1ee7 <check_box+0xde7>
movl   $0x7,0x18(%r9)
jmp    1ee7 <check_box+0xde7>
movl   $0x8,0x1c(%r9)
jmp    1ee7 <check_box+0xde7>
movl   $0x9,0x20(%r9)
mov    0xf8(%r8,%rax,1),%edi
add    $0xffffffff,%edi
cmp    $0x8,%edi
ja     1df9 <check_box+0xcf9>
movslq (%rcx,%rdi,4),%rdi
add    %rcx,%rdi
jmp    *%rdi
movl   $0x1,(%r9)
jmp    1df9 <check_box+0xcf9>
movl   $0x2,0x4(%r9)
jmp    1df9 <check_box+0xcf9>
movl   $0x3,0x8(%r9)
jmp    1df9 <check_box+0xcf9>
movl   $0x4,0xc(%r9)
jmp    1df9 <check_box+0xcf9>
movl   $0x5,0x10(%r9)
jmp    1df9 <check_box+0xcf9>
movl   $0x6,0x14(%r9)
jmp    1df9 <check_box+0xcf9>
movl   $0x7,0x18(%r9)
jmp    1df9 <check_box+0xcf9>
movl   $0x8,0x1c(%r9)
jmp    1df9 <check_box+0xcf9>
movl   $0x2,0x4(%r9)
jmp    1fb9 <check_box+0xeb9>
movl   $0x3,0x8(%r9)
jmp    1fb9 <check_box+0xeb9>
movl   $0x4,0xc(%r9)
jmp    1fb9 <check_box+0xeb9>
movl   $0x5,0x10(%r9)
jmp    1fb9 <check_box+0xeb9>
movl   $0x6,0x14(%r9)
jmp    1fb9 <check_box+0xeb9>
movl   $0x7,0x18(%r9)
jmp    1fb9 <check_box+0xeb9>
movl   $0x8,0x1c(%r9)
jmp    1fb9 <check_box+0xeb9>
movl   $0x9,0x20(%r9)
mov    0x8c(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     202f <check_box+0xf2f>
lea    0x1199(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    202f <check_box+0xf2f>
movl   $0x2,0x4(%r9)
jmp    202f <check_box+0xf2f>
movl   $0x3,0x8(%r9)
jmp    202f <check_box+0xf2f>
movl   $0x4,0xc(%r9)
jmp    202f <check_box+0xf2f>
movl   $0x5,0x10(%r9)
jmp    202f <check_box+0xf2f>
movl   $0x6,0x14(%r9)
jmp    202f <check_box+0xf2f>
movl   $0x7,0x18(%r9)
jmp    202f <check_box+0xf2f>
movl   $0x8,0x1c(%r9)
jmp    202f <check_box+0xf2f>
movl   $0x9,0x20(%r9)
mov    0xac(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     20a5 <check_box+0xfa5>
lea    0x1147(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    20a5 <check_box+0xfa5>
movl   $0x2,0x4(%r9)
jmp    20a5 <check_box+0xfa5>
movl   $0x3,0x8(%r9)
jmp    20a5 <check_box+0xfa5>
movl   $0x4,0xc(%r9)
jmp    20a5 <check_box+0xfa5>
movl   $0x5,0x10(%r9)
jmp    20a5 <check_box+0xfa5>
movl   $0x6,0x14(%r9)
jmp    20a5 <check_box+0xfa5>
movl   $0x7,0x18(%r9)
jmp    20a5 <check_box+0xfa5>
movl   $0x8,0x1c(%r9)
jmp    20a5 <check_box+0xfa5>
movl   $0x9,0x20(%r9)
mov    0xb0(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     211b <check_box+0x101b>
lea    0x10f5(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    211b <check_box+0x101b>
movl   $0x2,0x4(%r9)
jmp    211b <check_box+0x101b>
movl   $0x3,0x8(%r9)
jmp    211b <check_box+0x101b>
movl   $0x4,0xc(%r9)
jmp    211b <check_box+0x101b>
movl   $0x5,0x10(%r9)
jmp    211b <check_box+0x101b>
movl   $0x6,0x14(%r9)
jmp    211b <check_box+0x101b>
movl   $0x7,0x18(%r9)
jmp    211b <check_box+0x101b>
movl   $0x8,0x1c(%r9)
jmp    211b <check_box+0x101b>
movl   $0x9,0x20(%r9)
mov    0xd0(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     2191 <check_box+0x1091>
lea    0x10a3(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x1,(%r9)
jmp    2191 <check_box+0x1091>
movl   $0x2,0x4(%r9)
jmp    2191 <check_box+0x1091>
movl   $0x3,0x8(%r9)
jmp    2191 <check_box+0x1091>
movl   $0x4,0xc(%r9)
jmp    2191 <check_box+0x1091>
movl   $0x5,0x10(%r9)
jmp    2191 <check_box+0x1091>
movl   $0x6,0x14(%r9)
jmp    2191 <check_box+0x1091>
movl   $0x7,0x18(%r9)
jmp    2191 <check_box+0x1091>
movl   $0x8,0x1c(%r9)
jmp    2191 <check_box+0x1091>
movl   $0x9,0x20(%r9)
mov    0xd4(%r8),%eax
add    $0xffffffff,%eax
cmp    $0x8,%eax
ja     1c21 <check_box+0xb21>
lea    0x104d(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x2,0x4(%r9)
ret
movl   $0x3,0x8(%r9)
ret
movl   $0x4,0xc(%r9)
ret
movl   $0x5,0x10(%r9)
ret
movl   $0x8,0x1c(%r9)
ret
movl   $0x6,0x14(%r9)
ret
movl   $0x7,0x18(%r9)
ret
movl   $0x9,0x20(%r9)
ret

LLVM IR (-O0):
define void @check_box(i32 %0, i32 %1, i32 %2, i32 %3, i32* %4, i32* %5) {
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32*
%12 = alloca i32*
store i32 %0, i32* %7
store i32 %1, i32* %8
store i32 %2, i32* %9
store i32 %3, i32* %10
store i32* %4, i32** %11
store i32* %5, i32** %12
%13 = load i32, i32* %7
%14 = icmp sge i32 %13, 0
br i1 %14, label %15, label %177
15: ; preds = %6
%16 = load i32, i32* %7
%17 = icmp sle i32 %16, 2
br i1 %17, label %18, label %177
18: ; preds = %15
%19 = load i32, i32* %8
%20 = icmp sge i32 %19, 0
br i1 %20, label %21, label %177
21: ; preds = %18
%22 = load i32, i32* %8
%23 = icmp sle i32 %22, 2
br i1 %23, label %24, label %177
24: ; preds = %21
store i32 0, i32* %9
br label %25
25: ; preds = %173, %24
%26 = load i32, i32* %9
%27 = icmp sle i32 %26, 2
br i1 %27, label %28, label %176
28: ; preds = %25
store i32 0, i32* %10
br label %29
29: ; preds = %169, %28
%30 = load i32, i32* %10
%31 = icmp sle i32 %30, 2
br i1 %31, label %32, label %172
32: ; preds = %29
%33 = load i32*, i32** %11
%34 = load i32, i32* %9
%35 = mul nsw i32 %34, 9
%36 = load i32, i32* %10
%37 = add nsw i32 %35, %36
%38 = sext i32 %37 to i64
%39 = getelementptr inbounds i32, i32* %33, i64 %38
%40 = load i32, i32* %39
%41 = icmp ne i32 %40, 0
br i1 %41, label %42, label %168
42: ; preds = %32
%43 = load i32*, i32** %11
%44 = load i32, i32* %9
%45 = mul nsw i32 %44, 9
%46 = load i32, i32* %10
%47 = add nsw i32 %45, %46
%48 = sext i32 %47 to i64
%49 = getelementptr inbounds i32, i32* %43, i64 %48
%50 = load i32, i32* %49
%51 = icmp eq i32 %50, 1
br i1 %51, label %52, label %55
52: ; preds = %42
%53 = load i32*, i32** %12
%54 = getelementptr inbounds i32, i32* %53, i64 0
store i32 1, i32* %54
br label %167
55: ; preds = %42
%56 = load i32*, i32** %11
%57 = load i32, i32* %9
%58 = mul nsw i32 %57, 9
%59 = load i32, i32* %10
%60 = add nsw i32 %58, %59
%61 = sext i32 %60 to i64
%62 = getelementptr inbounds i32, i32* %56, i64 %61
%63 = load i32, i32* %62
%64 = icmp eq i32 %63, 2
br i1 %64, label %65, label %68
65: ; preds = %55
%66 = load i32*, i32** %12
%67 = getelementptr inbounds i32, i32* %66, i64 1
store i32 2, i32* %67
br label %166
68: ; preds = %55
%69 = load i32*, i32** %11
%70 = load i32, i32* %9
%71 = mul nsw i32 %70, 9
%72 = load i32, i32* %10
%73 = add nsw i32 %71, %72
%74 = sext i32 %73 to i64
%75 = getelementptr inbounds i32, i32* %69, i64 %74
%76 = load i32, i32* %75
%77 = icmp eq i32 %76, 3
br i1 %77, label %78, label %81
78: ; preds = %68
%79 = load i32*, i32** %12
%80 = getelementptr inbounds i32, i32* %79, i64 2
store i32 3, i32* %80
br label %165
81: ; preds = %68
%82 = load i32*, i32** %11
%83 = load i32, i32* %9
%84 = mul nsw i32 %83, 9
%85 = load i32, i32* %10
%86 = add nsw i32 %84, %85
%87 = sext i32 %86 to i64
%88 = getelementptr inbounds i32, i32* %82, i64 %87
%89 = load i32, i32* %88
%90 = icmp eq i32 %89, 4
br i1 %90, label %91, label %94
91: ; preds = %81
%92 = load i32*, i32** %12
%93 = getelementptr inbounds i32, i32* %92, i64 3
store i32 4, i32* %93
br label %164
94: ; preds = %81
%95 = load i32*, i32** %11
%96 = load i32, i32* %9
%97 = mul nsw i32 %96, 9
%98 = load i32, i32* %10
%99 = add nsw i32 %97, %98
%100 = sext i32 %99 to i64
%101 = getelementptr inbounds i32, i32* %95, i64 %100
%102 = load i32, i32* %101
%103 = icmp eq i32 %102, 5
br i1 %103, label %104, label %107
104: ; preds = %94
%105 = load i32*, i32** %12
%106 = getelementptr inbounds i32, i32* %105, i64 4
store i32 5, i32* %106
br label %163
107: ; preds = %94
%108 = load i32*, i32** %11
%109 = load i32, i32* %9
%110 = mul nsw i32 %109, 9
%111 = load i32, i32* %10
%112 = add nsw i32 %110, %111
%113 = sext i32 %112 to i64
%114 = getelementptr inbounds i32, i32* %108, i64 %113
%115 = load i32, i32* %114
%116 = icmp eq i32 %115, 6
br i1 %116, label %117, label %120
117: ; preds = %107
%118 = load i32*, i32** %12
%119 = getelementptr inbounds i32, i32* %118, i64 5
store i32 6, i32* %119
br label %162
120: ; preds = %107
%121 = load i32*, i32** %11
%122 = load i32, i32* %9
%123 = mul nsw i32 %122, 9
%124 = load i32, i32* %10
%125 = add nsw i32 %123, %124
%126 = sext i32 %125 to i64
%127 = getelementptr inbounds i32, i32* %121, i64 %126
%128 = load i32, i32* %127
%129 = icmp eq i32 %128, 7
br i1 %129, label %130, label %133
130: ; preds = %120
%131 = load i32*, i32** %12
%132 = getelementptr inbounds i32, i32* %131, i64 6
store i32 7, i32* %132
br label %161
133: ; preds = %120
%134 = load i32*, i32** %11
%135 = load i32, i32* %9
%136 = mul nsw i32 %135, 9
%137 = load i32, i32* %10
%138 = add nsw i32 %136, %137
%139 = sext i32 %138 to i64
%140 = getelementptr inbounds i32, i32* %134, i64 %139
%141 = load i32, i32* %140
%142 = icmp eq i32 %141, 8
br i1 %142, label %143, label %146
143: ; preds = %133
%144 = load i32*, i32** %12
%145 = getelementptr inbounds i32, i32* %144, i64 7
store i32 8, i32* %145
br label %160
146: ; preds = %133
%147 = load i32*, i32** %11
%148 = load i32, i32* %9
%149 = mul nsw i32 %148, 9
%150 = load i32, i32* %10
%151 = add nsw i32 %149, %150
%152 = sext i32 %151 to i64
%153 = getelementptr inbounds i32, i32* %147, i64 %152
%154 = load i32, i32* %153
%155 = icmp eq i32 %154, 9
br i1 %155, label %156, label %159
156: ; preds = %146
%157 = load i32*, i32** %12
%158 = getelementptr inbounds i32, i32* %157, i64 8
store i32 9, i32* %158
br label %159
159: ; preds = %156, %146
br label %160
160: ; preds = %159, %143
br label %161
161: ; preds = %160, %130
br label %162
162: ; preds = %161, %117
br label %163
163: ; preds = %162, %104
br label %164
164: ; preds = %163, %91
br label %165
165: ; preds = %164, %78
br label %166
166: ; preds = %165, %65
br label %167
167: ; preds = %166, %52
br label %168
168: ; preds = %167, %32
br label %169
169: ; preds = %168
%170 = load i32, i32* %10
%171 = add nsw i32 %170, 1
store i32 %171, i32* %10
br label %29
172: ; preds = %29
br label %173
173: ; preds = %172
%174 = load i32, i32* %9
%175 = add nsw i32 %174, 1
store i32 %175, i32* %9
br label %25
176: ; preds = %25
br label %1505
177: ; preds = %21, %18, %15, %6
%178 = load i32, i32* %7
%179 = icmp sge i32 %178, 0
br i1 %179, label %180, label %342
180: ; preds = %177
%181 = load i32, i32* %7
%182 = icmp sle i32 %181, 2
br i1 %182, label %183, label %342
183: ; preds = %180
%184 = load i32, i32* %8
%185 = icmp sge i32 %184, 3
br i1 %185, label %186, label %342
186: ; preds = %183
%187 = load i32, i32* %8
%188 = icmp sle i32 %187, 5
br i1 %188, label %189, label %342
189: ; preds = %186
store i32 0, i32* %9
br label %190
190: ; preds = %338, %189
%191 = load i32, i32* %9
%192 = icmp sle i32 %191, 2
br i1 %192, label %193, label %341
193: ; preds = %190
store i32 3, i32* %10
br label %194
194: ; preds = %334, %193
%195 = load i32, i32* %10
%196 = icmp sle i32 %195, 5
br i1 %196, label %197, label %337
197: ; preds = %194
%198 = load i32*, i32** %11
%199 = load i32, i32* %9
%200 = mul nsw i32 %199, 9
%201 = load i32, i32* %10
%202 = add nsw i32 %200, %201
%203 = sext i32 %202 to i64
%204 = getelementptr inbounds i32, i32* %198, i64 %203
%205 = load i32, i32* %204
%206 = icmp ne i32 %205, 0
br i1 %206, label %207, label %333
207: ; preds = %197
%208 = load i32*, i32** %11
%209 = load i32, i32* %9
%210 = mul nsw i32 %209, 9
%211 = load i32, i32* %10
%212 = add nsw i32 %210, %211
%213 = sext i32 %212 to i64
%214 = getelementptr inbounds i32, i32* %208, i64 %213
%215 = load i32, i32* %214
%216 = icmp eq i32 %215, 1
br i1 %216, label %217, label %220
217: ; preds = %207
%218 = load i32*, i32** %12
%219 = getelementptr inbounds i32, i32* %218, i64 0
store i32 1, i32* %219
br label %332
220: ; preds = %207
%221 = load i32*, i32** %11
%222 = load i32, i32* %9
%223 = mul nsw i32 %222, 9
%224 = load i32, i32* %10
%225 = add nsw i32 %223, %224
%226 = sext i32 %225 to i64
%227 = getelementptr inbounds i32, i32* %221, i64 %226
%228 = load i32, i32* %227
%229 = icmp eq i32 %228, 2
br i1 %229, label %230, label %233
230: ; preds = %220
%231 = load i32*, i32** %12
%232 = getelementptr inbounds i32, i32* %231, i64 1
store i32 2, i32* %232
br label %331
233: ; preds = %220
%234 = load i32*, i32** %11
%235 = load i32, i32* %9
%236 = mul nsw i32 %235, 9
%237 = load i32, i32* %10
%238 = add nsw i32 %236, %237
%239 = sext i32 %238 to i64
%240 = getelementptr inbounds i32, i32* %234, i64 %239
%241 = load i32, i32* %240
%242 = icmp eq i32 %241, 3
br i1 %242, label %243, label %246
243: ; preds = %233
%244 = load i32*, i32** %12
%245 = getelementptr inbounds i32, i32* %244, i64 2
store i32 3, i32* %245
br label %330
246: ; preds = %233
%247 = load i32*, i32** %11
%248 = load i32, i32* %9
%249 = mul nsw i32 %248, 9
%250 = load i32, i32* %10
%251 = add nsw i32 %249, %250
%252 = sext i32 %251 to i64
%253 = getelementptr inbounds i32, i32* %247, i64 %252
%254 = load i32, i32* %253
%255 = icmp eq i32 %254, 4
br i1 %255, label %256, label %259
256: ; preds = %246
%257 = load i32*, i32** %12
%258 = getelementptr inbounds i32, i32* %257, i64 3
store i32 4, i32* %258
br label %329
259: ; preds = %246
%260 = load i32*, i32** %11
%261 = load i32, i32* %9
%262 = mul nsw i32 %261, 9
%263 = load i32, i32* %10
%264 = add nsw i32 %262, %263
%265 = sext i32 %264 to i64
%266 = getelementptr inbounds i32, i32* %260, i64 %265
%267 = load i32, i32* %266
%268 = icmp eq i32 %267, 5
br i1 %268, label %269, label %272
269: ; preds = %259
%270 = load i32*, i32** %12
%271 = getelementptr inbounds i32, i32* %270, i64 4
store i32 5, i32* %271
br label %328
272: ; preds = %259
%273 = load i32*, i32** %11
%274 = load i32, i32* %9
%275 = mul nsw i32 %274, 9
%276 = load i32, i32* %10
%277 = add nsw i32 %275, %276
%278 = sext i32 %277 to i64
%279 = getelementptr inbounds i32, i32* %273, i64 %278
%280 = load i32, i32* %279
%281 = icmp eq i32 %280, 6
br i1 %281, label %282, label %285
282: ; preds = %272
%283 = load i32*, i32** %12
%284 = getelementptr inbounds i32, i32* %283, i64 5
store i32 6, i32* %284
br label %327
285: ; preds = %272
%286 = load i32*, i32** %11
%287 = load i32, i32* %9
%288 = mul nsw i32 %287, 9
%289 = load i32, i32* %10
%290 = add nsw i32 %288, %289
%291 = sext i32 %290 to i64
%292 = getelementptr inbounds i32, i32* %286, i64 %291
%293 = load i32, i32* %292
%294 = icmp eq i32 %293, 7
br i1 %294, label %295, label %298
295: ; preds = %285
%296 = load i32*, i32** %12
%297 = getelementptr inbounds i32, i32* %296, i64 6
store i32 7, i32* %297
br label %326
298: ; preds = %285
%299 = load i32*, i32** %11
%300 = load i32, i32* %9
%301 = mul nsw i32 %300, 9
%302 = load i32, i32* %10
%303 = add nsw i32 %301, %302
%304 = sext i32 %303 to i64
%305 = getelementptr inbounds i32, i32* %299, i64 %304
%306 = load i32, i32* %305
%307 = icmp eq i32 %306, 8
br i1 %307, label %308, label %311
308: ; preds = %298
%309 = load i32*, i32** %12
%310 = getelementptr inbounds i32, i32* %309, i64 7
store i32 8, i32* %310
br label %325
311: ; preds = %298
%312 = load i32*, i32** %11
%313 = load i32, i32* %9
%314 = mul nsw i32 %313, 9
%315 = load i32, i32* %10
%316 = add nsw i32 %314, %315
%317 = sext i32 %316 to i64
%318 = getelementptr inbounds i32, i32* %312, i64 %317
%319 = load i32, i32* %318
%320 = icmp eq i32 %319, 9
br i1 %320, label %321, label %324
321: ; preds = %311
%322 = load i32*, i32** %12
%323 = getelementptr inbounds i32, i32* %322, i64 8
store i32 9, i32* %323
br label %324
324: ; preds = %321, %311
br label %325
325: ; preds = %324, %308
br label %326
326: ; preds = %325, %295
br label %327
327: ; preds = %326, %282
br label %328
328: ; preds = %327, %269
br label %329
329: ; preds = %328, %256
br label %330
330: ; preds = %329, %243
br label %331
331: ; preds = %330, %230
br label %332
332: ; preds = %331, %217
br label %333
333: ; preds = %332, %197
br label %334
334: ; preds = %333
%335 = load i32, i32* %10
%336 = add nsw i32 %335, 1
store i32 %336, i32* %10
br label %194
337: ; preds = %194
br label %338
338: ; preds = %337
%339 = load i32, i32* %9
%340 = add nsw i32 %339, 1
store i32 %340, i32* %9
br label %190
341: ; preds = %190
br label %1504
342: ; preds = %186, %183, %180, %177
%343 = load i32, i32* %7
%344 = icmp sge i32 %343, 0
br i1 %344, label %345, label %507
345: ; preds = %342
%346 = load i32, i32* %7
%347 = icmp sle i32 %346, 2
br i1 %347, label %348, label %507
348: ; preds = %345
%349 = load i32, i32* %8
%350 = icmp sge i32 %349, 7
br i1 %350, label %351, label %507
351: ; preds = %348
%352 = load i32, i32* %8
%353 = icmp sle i32 %352, 8
br i1 %353, label %354, label %507
354: ; preds = %351
store i32 0, i32* %9
br label %355
355: ; preds = %503, %354
%356 = load i32, i32* %9
%357 = icmp sle i32 %356, 2
br i1 %357, label %358, label %506
358: ; preds = %355
store i32 7, i32* %10
br label %359
359: ; preds = %499, %358
%360 = load i32, i32* %10
%361 = icmp sle i32 %360, 8
br i1 %361, label %362, label %502
362: ; preds = %359
%363 = load i32*, i32** %11
%364 = load i32, i32* %9
%365 = mul nsw i32 %364, 9
%366 = load i32, i32* %10
%367 = add nsw i32 %365, %366
%368 = sext i32 %367 to i64
%369 = getelementptr inbounds i32, i32* %363, i64 %368
%370 = load i32, i32* %369
%371 = icmp ne i32 %370, 0
br i1 %371, label %372, label %498
372: ; preds = %362
%373 = load i32*, i32** %11
%374 = load i32, i32* %9
%375 = mul nsw i32 %374, 9
%376 = load i32, i32* %10
%377 = add nsw i32 %375, %376
%378 = sext i32 %377 to i64
%379 = getelementptr inbounds i32, i32* %373, i64 %378
%380 = load i32, i32* %379
%381 = icmp eq i32 %380, 1
br i1 %381, label %382, label %385
382: ; preds = %372
%383 = load i32*, i32** %12
%384 = getelementptr inbounds i32, i32* %383, i64 0
store i32 1, i32* %384
br label %497
385: ; preds = %372
%386 = load i32*, i32** %11
%387 = load i32, i32* %9
%388 = mul nsw i32 %387, 9
%389 = load i32, i32* %10
%390 = add nsw i32 %388, %389
%391 = sext i32 %390 to i64
%392 = getelementptr inbounds i32, i32* %386, i64 %391
%393 = load i32, i32* %392
%394 = icmp eq i32 %393, 2
br i1 %394, label %395, label %398
395: ; preds = %385
%396 = load i32*, i32** %12
%397 = getelementptr inbounds i32, i32* %396, i64 1
store i32 2, i32* %397
br label %496
398: ; preds = %385
%399 = load i32*, i32** %11
%400 = load i32, i32* %9
%401 = mul nsw i32 %400, 9
%402 = load i32, i32* %10
%403 = add nsw i32 %401, %402
%404 = sext i32 %403 to i64
%405 = getelementptr inbounds i32, i32* %399, i64 %404
%406 = load i32, i32* %405
%407 = icmp eq i32 %406, 3
br i1 %407, label %408, label %411
408: ; preds = %398
%409 = load i32*, i32** %12
%410 = getelementptr inbounds i32, i32* %409, i64 2
store i32 3, i32* %410
br label %495
411: ; preds = %398
%412 = load i32*, i32** %11
%413 = load i32, i32* %9
%414 = mul nsw i32 %413, 9
%415 = load i32, i32* %10
%416 = add nsw i32 %414, %415
%417 = sext i32 %416 to i64
%418 = getelementptr inbounds i32, i32* %412, i64 %417
%419 = load i32, i32* %418
%420 = icmp eq i32 %419, 4
br i1 %420, label %421, label %424
421: ; preds = %411
%422 = load i32*, i32** %12
%423 = getelementptr inbounds i32, i32* %422, i64 3
store i32 4, i32* %423
br label %494
424: ; preds = %411
%425 = load i32*, i32** %11
%426 = load i32, i32* %9
%427 = mul nsw i32 %426, 9
%428 = load i32, i32* %10
%429 = add nsw i32 %427, %428
%430 = sext i32 %429 to i64
%431 = getelementptr inbounds i32, i32* %425, i64 %430
%432 = load i32, i32* %431
%433 = icmp eq i32 %432, 5
br i1 %433, label %434, label %437
434: ; preds = %424
%435 = load i32*, i32** %12
%436 = getelementptr inbounds i32, i32* %435, i64 4
store i32 5, i32* %436
br label %493
437: ; preds = %424
%438 = load i32*, i32** %11
%439 = load i32, i32* %9
%440 = mul nsw i32 %439, 9
%441 = load i32, i32* %10
%442 = add nsw i32 %440, %441
%443 = sext i32 %442 to i64
%444 = getelementptr inbounds i32, i32* %438, i64 %443
%445 = load i32, i32* %444
%446 = icmp eq i32 %445, 6
br i1 %446, label %447, label %450
447: ; preds = %437
%448 = load i32*, i32** %12
%449 = getelementptr inbounds i32, i32* %448, i64 5
store i32 6, i32* %449
br label %492
450: ; preds = %437
%451 = load i32*, i32** %11
%452 = load i32, i32* %9
%453 = mul nsw i32 %452, 9
%454 = load i32, i32* %10
%455 = add nsw i32 %453, %454
%456 = sext i32 %455 to i64
%457 = getelementptr inbounds i32, i32* %451, i64 %456
%458 = load i32, i32* %457
%459 = icmp eq i32 %458, 7
br i1 %459, label %460, label %463
460: ; preds = %450
%461 = load i32*, i32** %12
%462 = getelementptr inbounds i32, i32* %461, i64 6
store i32 7, i32* %462
br label %491
463: ; preds = %450
%464 = load i32*, i32** %11
%465 = load i32, i32* %9
%466 = mul nsw i32 %465, 9
%467 = load i32, i32* %10
%468 = add nsw i32 %466, %467
%469 = sext i32 %468 to i64
%470 = getelementptr inbounds i32, i32* %464, i64 %469
%471 = load i32, i32* %470
%472 = icmp eq i32 %471, 8
br i1 %472, label %473, label %476
473: ; preds = %463
%474 = load i32*, i32** %12
%475 = getelementptr inbounds i32, i32* %474, i64 7
store i32 8, i32* %475
br label %490
476: ; preds = %463
%477 = load i32*, i32** %11
%478 = load i32, i32* %9
%479 = mul nsw i32 %478, 9
%480 = load i32, i32* %10
%481 = add nsw i32 %479, %480
%482 = sext i32 %481 to i64
%483 = getelementptr inbounds i32, i32* %477, i64 %482
%484 = load i32, i32* %483
%485 = icmp eq i32 %484, 9
br i1 %485, label %486, label %489
486: ; preds = %476
%487 = load i32*, i32** %12
%488 = getelementptr inbounds i32, i32* %487, i64 8
store i32 9, i32* %488
br label %489
489: ; preds = %486, %476
br label %490
490: ; preds = %489, %473
br label %491
491: ; preds = %490, %460
br label %492
492: ; preds = %491, %447
br label %493
493: ; preds = %492, %434
br label %494
494: ; preds = %493, %421
br label %495
495: ; preds = %494, %408
br label %496
496: ; preds = %495, %395
br label %497
497: ; preds = %496, %382
br label %498
498: ; preds = %497, %362
br label %499
499: ; preds = %498
%500 = load i32, i32* %10
%501 = add nsw i32 %500, 1
store i32 %501, i32* %10
br label %359
502: ; preds = %359
br label %503
503: ; preds = %502
%504 = load i32, i32* %9
%505 = add nsw i32 %504, 1
store i32 %505, i32* %9
br label %355
506: ; preds = %355
br label %1503
507: ; preds = %351, %348, %345, %342
%508 = load i32, i32* %7
%509 = icmp sge i32 %508, 3
br i1 %509, label %510, label %672
510: ; preds = %507
%511 = load i32, i32* %7
%512 = icmp sle i32 %511, 5
br i1 %512, label %513, label %672
513: ; preds = %510
%514 = load i32, i32* %8
%515 = icmp sge i32 %514, 0
br i1 %515, label %516, label %672
516: ; preds = %513
%517 = load i32, i32* %8
%518 = icmp sle i32 %517, 2
br i1 %518, label %519, label %672
519: ; preds = %516
store i32 3, i32* %9
br label %520
520: ; preds = %668, %519
%521 = load i32, i32* %9
%522 = icmp sle i32 %521, 5
br i1 %522, label %523, label %671
523: ; preds = %520
store i32 0, i32* %10
br label %524
524: ; preds = %664, %523
%525 = load i32, i32* %10
%526 = icmp sle i32 %525, 2
br i1 %526, label %527, label %667
527: ; preds = %524
%528 = load i32*, i32** %11
%529 = load i32, i32* %9
%530 = mul nsw i32 %529, 9
%531 = load i32, i32* %10
%532 = add nsw i32 %530, %531
%533 = sext i32 %532 to i64
%534 = getelementptr inbounds i32, i32* %528, i64 %533
%535 = load i32, i32* %534
%536 = icmp ne i32 %535, 0
br i1 %536, label %537, label %663
537: ; preds = %527
%538 = load i32*, i32** %11
%539 = load i32, i32* %9
%540 = mul nsw i32 %539, 9
%541 = load i32, i32* %10
%542 = add nsw i32 %540, %541
%543 = sext i32 %542 to i64
%544 = getelementptr inbounds i32, i32* %538, i64 %543
%545 = load i32, i32* %544
%546 = icmp eq i32 %545, 1
br i1 %546, label %547, label %550
547: ; preds = %537
%548 = load i32*, i32** %12
%549 = getelementptr inbounds i32, i32* %548, i64 0
store i32 1, i32* %549
br label %662
550: ; preds = %537
%551 = load i32*, i32** %11
%552 = load i32, i32* %9
%553 = mul nsw i32 %552, 9
%554 = load i32, i32* %10
%555 = add nsw i32 %553, %554
%556 = sext i32 %555 to i64
%557 = getelementptr inbounds i32, i32* %551, i64 %556
%558 = load i32, i32* %557
%559 = icmp eq i32 %558, 2
br i1 %559, label %560, label %563
560: ; preds = %550
%561 = load i32*, i32** %12
%562 = getelementptr inbounds i32, i32* %561, i64 1
store i32 2, i32* %562
br label %661
563: ; preds = %550
%564 = load i32*, i32** %11
%565 = load i32, i32* %9
%566 = mul nsw i32 %565, 9
%567 = load i32, i32* %10
%568 = add nsw i32 %566, %567
%569 = sext i32 %568 to i64
%570 = getelementptr inbounds i32, i32* %564, i64 %569
%571 = load i32, i32* %570
%572 = icmp eq i32 %571, 3
br i1 %572, label %573, label %576
573: ; preds = %563
%574 = load i32*, i32** %12
%575 = getelementptr inbounds i32, i32* %574, i64 2
store i32 3, i32* %575
br label %660
576: ; preds = %563
%577 = load i32*, i32** %11
%578 = load i32, i32* %9
%579 = mul nsw i32 %578, 9
%580 = load i32, i32* %10
%581 = add nsw i32 %579, %580
%582 = sext i32 %581 to i64
%583 = getelementptr inbounds i32, i32* %577, i64 %582
%584 = load i32, i32* %583
%585 = icmp eq i32 %584, 4
br i1 %585, label %586, label %589
586: ; preds = %576
%587 = load i32*, i32** %12
%588 = getelementptr inbounds i32, i32* %587, i64 3
store i32 4, i32* %588
br label %659
589: ; preds = %576
%590 = load i32*, i32** %11
%591 = load i32, i32* %9
%592 = mul nsw i32 %591, 9
%593 = load i32, i32* %10
%594 = add nsw i32 %592, %593
%595 = sext i32 %594 to i64
%596 = getelementptr inbounds i32, i32* %590, i64 %595
%597 = load i32, i32* %596
%598 = icmp eq i32 %597, 5
br i1 %598, label %599, label %602
599: ; preds = %589
%600 = load i32*, i32** %12
%601 = getelementptr inbounds i32, i32* %600, i64 4
store i32 5, i32* %601
br label %658
602: ; preds = %589
%603 = load i32*, i32** %11
%604 = load i32, i32* %9
%605 = mul nsw i32 %604, 9
%606 = load i32, i32* %10
%607 = add nsw i32 %605, %606
%608 = sext i32 %607 to i64
%609 = getelementptr inbounds i32, i32* %603, i64 %608
%610 = load i32, i32* %609
%611 = icmp eq i32 %610, 6
br i1 %611, label %612, label %615
612: ; preds = %602
%613 = load i32*, i32** %12
%614 = getelementptr inbounds i32, i32* %613, i64 5
store i32 6, i32* %614
br label %657
615: ; preds = %602
%616 = load i32*, i32** %11
%617 = load i32, i32* %9
%618 = mul nsw i32 %617, 9
%619 = load i32, i32* %10
%620 = add nsw i32 %618, %619
%621 = sext i32 %620 to i64
%622 = getelementptr inbounds i32, i32* %616, i64 %621
%623 = load i32, i32* %622
%624 = icmp eq i32 %623, 7
br i1 %624, label %625, label %628
625: ; preds = %615
%626 = load i32*, i32** %12
%627 = getelementptr inbounds i32, i32* %626, i64 6
store i32 7, i32* %627
br label %656
628: ; preds = %615
%629 = load i32*, i32** %11
%630 = load i32, i32* %9
%631 = mul nsw i32 %630, 9
%632 = load i32, i32* %10
%633 = add nsw i32 %631, %632
%634 = sext i32 %633 to i64
%635 = getelementptr inbounds i32, i32* %629, i64 %634
%636 = load i32, i32* %635
%637 = icmp eq i32 %636, 8
br i1 %637, label %638, label %641
638: ; preds = %628
%639 = load i32*, i32** %12
%640 = getelementptr inbounds i32, i32* %639, i64 7
store i32 8, i32* %640
br label %655
641: ; preds = %628
%642 = load i32*, i32** %11
%643 = load i32, i32* %9
%644 = mul nsw i32 %643, 9
%645 = load i32, i32* %10
%646 = add nsw i32 %644, %645
%647 = sext i32 %646 to i64
%648 = getelementptr inbounds i32, i32* %642, i64 %647
%649 = load i32, i32* %648
%650 = icmp eq i32 %649, 9
br i1 %650, label %651, label %654
651: ; preds = %641
%652 = load i32*, i32** %12
%653 = getelementptr inbounds i32, i32* %652, i64 8
store i32 9, i32* %653
br label %654
654: ; preds = %651, %641
br label %655
655: ; preds = %654, %638
br label %656
656: ; preds = %655, %625
br label %657
657: ; preds = %656, %612
br label %658
658: ; preds = %657, %599
br label %659
659: ; preds = %658, %586
br label %660
660: ; preds = %659, %573
br label %661
661: ; preds = %660, %560
br label %662
662: ; preds = %661, %547
br label %663
663: ; preds = %662, %527
br label %664
664: ; preds = %663
%665 = load i32, i32* %10
%666 = add nsw i32 %665, 1
store i32 %666, i32* %10
br label %524
667: ; preds = %524
br label %668
668: ; preds = %667
%669 = load i32, i32* %9
%670 = add nsw i32 %669, 1
store i32 %670, i32* %9
br label %520
671: ; preds = %520
br label %1502
672: ; preds = %516, %513, %510, %507
%673 = load i32, i32* %7
%674 = icmp sge i32 %673, 3
br i1 %674, label %675, label %837
675: ; preds = %672
%676 = load i32, i32* %7
%677 = icmp sle i32 %676, 5
br i1 %677, label %678, label %837
678: ; preds = %675
%679 = load i32, i32* %8
%680 = icmp sge i32 %679, 3
br i1 %680, label %681, label %837
681: ; preds = %678
%682 = load i32, i32* %8
%683 = icmp sle i32 %682, 5
br i1 %683, label %684, label %837
684: ; preds = %681
store i32 3, i32* %9
br label %685
685: ; preds = %833, %684
%686 = load i32, i32* %9
%687 = icmp sle i32 %686, 5
br i1 %687, label %688, label %836
688: ; preds = %685
store i32 3, i32* %10
br label %689
689: ; preds = %829, %688
%690 = load i32, i32* %10
%691 = icmp sle i32 %690, 5
br i1 %691, label %692, label %832
692: ; preds = %689
%693 = load i32*, i32** %11
%694 = load i32, i32* %9
%695 = mul nsw i32 %694, 9
%696 = load i32, i32* %10
%697 = add nsw i32 %695, %696
%698 = sext i32 %697 to i64
%699 = getelementptr inbounds i32, i32* %693, i64 %698
%700 = load i32, i32* %699
%701 = icmp ne i32 %700, 0
br i1 %701, label %702, label %828
702: ; preds = %692
%703 = load i32*, i32** %11
%704 = load i32, i32* %9
%705 = mul nsw i32 %704, 9
%706 = load i32, i32* %10
%707 = add nsw i32 %705, %706
%708 = sext i32 %707 to i64
%709 = getelementptr inbounds i32, i32* %703, i64 %708
%710 = load i32, i32* %709
%711 = icmp eq i32 %710, 1
br i1 %711, label %712, label %715
712: ; preds = %702
%713 = load i32*, i32** %12
%714 = getelementptr inbounds i32, i32* %713, i64 0
store i32 1, i32* %714
br label %827
715: ; preds = %702
%716 = load i32*, i32** %11
%717 = load i32, i32* %9
%718 = mul nsw i32 %717, 9
%719 = load i32, i32* %10
%720 = add nsw i32 %718, %719
%721 = sext i32 %720 to i64
%722 = getelementptr inbounds i32, i32* %716, i64 %721
%723 = load i32, i32* %722
%724 = icmp eq i32 %723, 2
br i1 %724, label %725, label %728
725: ; preds = %715
%726 = load i32*, i32** %12
%727 = getelementptr inbounds i32, i32* %726, i64 1
store i32 2, i32* %727
br label %826
728: ; preds = %715
%729 = load i32*, i32** %11
%730 = load i32, i32* %9
%731 = mul nsw i32 %730, 9
%732 = load i32, i32* %10
%733 = add nsw i32 %731, %732
%734 = sext i32 %733 to i64
%735 = getelementptr inbounds i32, i32* %729, i64 %734
%736 = load i32, i32* %735
%737 = icmp eq i32 %736, 3
br i1 %737, label %738, label %741
738: ; preds = %728
%739 = load i32*, i32** %12
%740 = getelementptr inbounds i32, i32* %739, i64 2
store i32 3, i32* %740
br label %825
741: ; preds = %728
%742 = load i32*, i32** %11
%743 = load i32, i32* %9
%744 = mul nsw i32 %743, 9
%745 = load i32, i32* %10
%746 = add nsw i32 %744, %745
%747 = sext i32 %746 to i64
%748 = getelementptr inbounds i32, i32* %742, i64 %747
%749 = load i32, i32* %748
%750 = icmp eq i32 %749, 4
br i1 %750, label %751, label %754
751: ; preds = %741
%752 = load i32*, i32** %12
%753 = getelementptr inbounds i32, i32* %752, i64 3
store i32 4, i32* %753
br label %824
754: ; preds = %741
%755 = load i32*, i32** %11
%756 = load i32, i32* %9
%757 = mul nsw i32 %756, 9
%758 = load i32, i32* %10
%759 = add nsw i32 %757, %758
%760 = sext i32 %759 to i64
%761 = getelementptr inbounds i32, i32* %755, i64 %760
%762 = load i32, i32* %761
%763 = icmp eq i32 %762, 5
br i1 %763, label %764, label %767
764: ; preds = %754
%765 = load i32*, i32** %12
%766 = getelementptr inbounds i32, i32* %765, i64 4
store i32 5, i32* %766
br label %823
767: ; preds = %754
%768 = load i32*, i32** %11
%769 = load i32, i32* %9
%770 = mul nsw i32 %769, 9
%771 = load i32, i32* %10
%772 = add nsw i32 %770, %771
%773 = sext i32 %772 to i64
%774 = getelementptr inbounds i32, i32* %768, i64 %773
%775 = load i32, i32* %774
%776 = icmp eq i32 %775, 6
br i1 %776, label %777, label %780
777: ; preds = %767
%778 = load i32*, i32** %12
%779 = getelementptr inbounds i32, i32* %778, i64 5
store i32 6, i32* %779
br label %822
780: ; preds = %767
%781 = load i32*, i32** %11
%782 = load i32, i32* %9
%783 = mul nsw i32 %782, 9
%784 = load i32, i32* %10
%785 = add nsw i32 %783, %784
%786 = sext i32 %785 to i64
%787 = getelementptr inbounds i32, i32* %781, i64 %786
%788 = load i32, i32* %787
%789 = icmp eq i32 %788, 7
br i1 %789, label %790, label %793
790: ; preds = %780
%791 = load i32*, i32** %12
%792 = getelementptr inbounds i32, i32* %791, i64 6
store i32 7, i32* %792
br label %821
793: ; preds = %780
%794 = load i32*, i32** %11
%795 = load i32, i32* %9
%796 = mul nsw i32 %795, 9
%797 = load i32, i32* %10
%798 = add nsw i32 %796, %797
%799 = sext i32 %798 to i64
%800 = getelementptr inbounds i32, i32* %794, i64 %799
%801 = load i32, i32* %800
%802 = icmp eq i32 %801, 8
br i1 %802, label %803, label %806
803: ; preds = %793
%804 = load i32*, i32** %12
%805 = getelementptr inbounds i32, i32* %804, i64 7
store i32 8, i32* %805
br label %820
806: ; preds = %793
%807 = load i32*, i32** %11
%808 = load i32, i32* %9
%809 = mul nsw i32 %808, 9
%810 = load i32, i32* %10
%811 = add nsw i32 %809, %810
%812 = sext i32 %811 to i64
%813 = getelementptr inbounds i32, i32* %807, i64 %812
%814 = load i32, i32* %813
%815 = icmp eq i32 %814, 9
br i1 %815, label %816, label %819
816: ; preds = %806
%817 = load i32*, i32** %12
%818 = getelementptr inbounds i32, i32* %817, i64 8
store i32 9, i32* %818
br label %819
819: ; preds = %816, %806
br label %820
820: ; preds = %819, %803
br label %821
821: ; preds = %820, %790
br label %822
822: ; preds = %821, %777
br label %823
823: ; preds = %822, %764
br label %824
824: ; preds = %823, %751
br label %825
825: ; preds = %824, %738
br label %826
826: ; preds = %825, %725
br label %827
827: ; preds = %826, %712
br label %828
828: ; preds = %827, %692
br label %829
829: ; preds = %828
%830 = load i32, i32* %10
%831 = add nsw i32 %830, 1
store i32 %831, i32* %10
br label %689
832: ; preds = %689
br label %833
833: ; preds = %832
%834 = load i32, i32* %9
%835 = add nsw i32 %834, 1
store i32 %835, i32* %9
br label %685
836: ; preds = %685
br label %1501
837: ; preds = %681, %678, %675, %672
%838 = load i32, i32* %7
%839 = icmp sge i32 %838, 3
br i1 %839, label %840, label %1002
840: ; preds = %837
%841 = load i32, i32* %7
%842 = icmp sle i32 %841, 5
br i1 %842, label %843, label %1002
843: ; preds = %840
%844 = load i32, i32* %8
%845 = icmp sge i32 %844, 7
br i1 %845, label %846, label %1002
846: ; preds = %843
%847 = load i32, i32* %8
%848 = icmp sle i32 %847, 8
br i1 %848, label %849, label %1002
849: ; preds = %846
store i32 3, i32* %9
br label %850
850: ; preds = %998, %849
%851 = load i32, i32* %9
%852 = icmp sle i32 %851, 5
br i1 %852, label %853, label %1001
853: ; preds = %850
store i32 7, i32* %10
br label %854
854: ; preds = %994, %853
%855 = load i32, i32* %10
%856 = icmp sle i32 %855, 8
br i1 %856, label %857, label %997
857: ; preds = %854
%858 = load i32*, i32** %11
%859 = load i32, i32* %9
%860 = mul nsw i32 %859, 9
%861 = load i32, i32* %10
%862 = add nsw i32 %860, %861
%863 = sext i32 %862 to i64
%864 = getelementptr inbounds i32, i32* %858, i64 %863
%865 = load i32, i32* %864
%866 = icmp ne i32 %865, 0
br i1 %866, label %867, label %993
867: ; preds = %857
%868 = load i32*, i32** %11
%869 = load i32, i32* %9
%870 = mul nsw i32 %869, 9
%871 = load i32, i32* %10
%872 = add nsw i32 %870, %871
%873 = sext i32 %872 to i64
%874 = getelementptr inbounds i32, i32* %868, i64 %873
%875 = load i32, i32* %874
%876 = icmp eq i32 %875, 1
br i1 %876, label %877, label %880
877: ; preds = %867
%878 = load i32*, i32** %12
%879 = getelementptr inbounds i32, i32* %878, i64 0
store i32 1, i32* %879
br label %992
880: ; preds = %867
%881 = load i32*, i32** %11
%882 = load i32, i32* %9
%883 = mul nsw i32 %882, 9
%884 = load i32, i32* %10
%885 = add nsw i32 %883, %884
%886 = sext i32 %885 to i64
%887 = getelementptr inbounds i32, i32* %881, i64 %886
%888 = load i32, i32* %887
%889 = icmp eq i32 %888, 2
br i1 %889, label %890, label %893
890: ; preds = %880
%891 = load i32*, i32** %12
%892 = getelementptr inbounds i32, i32* %891, i64 1
store i32 2, i32* %892
br label %991
893: ; preds = %880
%894 = load i32*, i32** %11
%895 = load i32, i32* %9
%896 = mul nsw i32 %895, 9
%897 = load i32, i32* %10
%898 = add nsw i32 %896, %897
%899 = sext i32 %898 to i64
%900 = getelementptr inbounds i32, i32* %894, i64 %899
%901 = load i32, i32* %900
%902 = icmp eq i32 %901, 3
br i1 %902, label %903, label %906
903: ; preds = %893
%904 = load i32*, i32** %12
%905 = getelementptr inbounds i32, i32* %904, i64 2
store i32 3, i32* %905
br label %990
906: ; preds = %893
%907 = load i32*, i32** %11
%908 = load i32, i32* %9
%909 = mul nsw i32 %908, 9
%910 = load i32, i32* %10
%911 = add nsw i32 %909, %910
%912 = sext i32 %911 to i64
%913 = getelementptr inbounds i32, i32* %907, i64 %912
%914 = load i32, i32* %913
%915 = icmp eq i32 %914, 4
br i1 %915, label %916, label %919
916: ; preds = %906
%917 = load i32*, i32** %12
%918 = getelementptr inbounds i32, i32* %917, i64 3
store i32 4, i32* %918
br label %989
919: ; preds = %906
%920 = load i32*, i32** %11
%921 = load i32, i32* %9
%922 = mul nsw i32 %921, 9
%923 = load i32, i32* %10
%924 = add nsw i32 %922, %923
%925 = sext i32 %924 to i64
%926 = getelementptr inbounds i32, i32* %920, i64 %925
%927 = load i32, i32* %926
%928 = icmp eq i32 %927, 5
br i1 %928, label %929, label %932
929: ; preds = %919
%930 = load i32*, i32** %12
%931 = getelementptr inbounds i32, i32* %930, i64 4
store i32 5, i32* %931
br label %988
932: ; preds = %919
%933 = load i32*, i32** %11
%934 = load i32, i32* %9
%935 = mul nsw i32 %934, 9
%936 = load i32, i32* %10
%937 = add nsw i32 %935, %936
%938 = sext i32 %937 to i64
%939 = getelementptr inbounds i32, i32* %933, i64 %938
%940 = load i32, i32* %939
%941 = icmp eq i32 %940, 6
br i1 %941, label %942, label %945
942: ; preds = %932
%943 = load i32*, i32** %12
%944 = getelementptr inbounds i32, i32* %943, i64 5
store i32 6, i32* %944
br label %987
945: ; preds = %932
%946 = load i32*, i32** %11
%947 = load i32, i32* %9
%948 = mul nsw i32 %947, 9
%949 = load i32, i32* %10
%950 = add nsw i32 %948, %949
%951 = sext i32 %950 to i64
%952 = getelementptr inbounds i32, i32* %946, i64 %951
%953 = load i32, i32* %952
%954 = icmp eq i32 %953, 7
br i1 %954, label %955, label %958
955: ; preds = %945
%956 = load i32*, i32** %12
%957 = getelementptr inbounds i32, i32* %956, i64 6
store i32 7, i32* %957
br label %986
958: ; preds = %945
%959 = load i32*, i32** %11
%960 = load i32, i32* %9
%961 = mul nsw i32 %960, 9
%962 = load i32, i32* %10
%963 = add nsw i32 %961, %962
%964 = sext i32 %963 to i64
%965 = getelementptr inbounds i32, i32* %959, i64 %964
%966 = load i32, i32* %965
%967 = icmp eq i32 %966, 8
br i1 %967, label %968, label %971
968: ; preds = %958
%969 = load i32*, i32** %12
%970 = getelementptr inbounds i32, i32* %969, i64 7
store i32 8, i32* %970
br label %985
971: ; preds = %958
%972 = load i32*, i32** %11
%973 = load i32, i32* %9
%974 = mul nsw i32 %973, 9
%975 = load i32, i32* %10
%976 = add nsw i32 %974, %975
%977 = sext i32 %976 to i64
%978 = getelementptr inbounds i32, i32* %972, i64 %977
%979 = load i32, i32* %978
%980 = icmp eq i32 %979, 9
br i1 %980, label %981, label %984
981: ; preds = %971
%982 = load i32*, i32** %12
%983 = getelementptr inbounds i32, i32* %982, i64 8
store i32 9, i32* %983
br label %984
984: ; preds = %981, %971
br label %985
985: ; preds = %984, %968
br label %986
986: ; preds = %985, %955
br label %987
987: ; preds = %986, %942
br label %988
988: ; preds = %987, %929
br label %989
989: ; preds = %988, %916
br label %990
990: ; preds = %989, %903
br label %991
991: ; preds = %990, %890
br label %992
992: ; preds = %991, %877
br label %993
993: ; preds = %992, %857
br label %994
994: ; preds = %993
%995 = load i32, i32* %10
%996 = add nsw i32 %995, 1
store i32 %996, i32* %10
br label %854
997: ; preds = %854
br label %998
998: ; preds = %997
%999 = load i32, i32* %9
%1000 = add nsw i32 %999, 1
store i32 %1000, i32* %9
br label %850
1001: ; preds = %850
br label %1500
1002: ; preds = %846, %843, %840, %837
%1003 = load i32, i32* %7
%1004 = icmp sge i32 %1003, 6
br i1 %1004, label %1005, label %1167
1005: ; preds = %1002
%1006 = load i32, i32* %7
%1007 = icmp sle i32 %1006, 8
br i1 %1007, label %1008, label %1167
1008: ; preds = %1005
%1009 = load i32, i32* %8
%1010 = icmp sge i32 %1009, 0
br i1 %1010, label %1011, label %1167
1011: ; preds = %1008
%1012 = load i32, i32* %8
%1013 = icmp sle i32 %1012, 2
br i1 %1013, label %1014, label %1167
1014: ; preds = %1011
store i32 6, i32* %9
br label %1015
1015: ; preds = %1163, %1014
%1016 = load i32, i32* %9
%1017 = icmp sle i32 %1016, 8
br i1 %1017, label %1018, label %1166
1018: ; preds = %1015
store i32 0, i32* %10
br label %1019
1019: ; preds = %1159, %1018
%1020 = load i32, i32* %10
%1021 = icmp sle i32 %1020, 2
br i1 %1021, label %1022, label %1162
1022: ; preds = %1019
%1023 = load i32*, i32** %11
%1024 = load i32, i32* %9
%1025 = mul nsw i32 %1024, 9
%1026 = load i32, i32* %10
%1027 = add nsw i32 %1025, %1026
%1028 = sext i32 %1027 to i64
%1029 = getelementptr inbounds i32, i32* %1023, i64 %1028
%1030 = load i32, i32* %1029
%1031 = icmp ne i32 %1030, 0
br i1 %1031, label %1032, label %1158
1032: ; preds = %1022
%1033 = load i32*, i32** %11
%1034 = load i32, i32* %9
%1035 = mul nsw i32 %1034, 9
%1036 = load i32, i32* %10
%1037 = add nsw i32 %1035, %1036
%1038 = sext i32 %1037 to i64
%1039 = getelementptr inbounds i32, i32* %1033, i64 %1038
%1040 = load i32, i32* %1039
%1041 = icmp eq i32 %1040, 1
br i1 %1041, label %1042, label %1045
1042: ; preds = %1032
%1043 = load i32*, i32** %12
%1044 = getelementptr inbounds i32, i32* %1043, i64 0
store i32 1, i32* %1044
br label %1157
1045: ; preds = %1032
%1046 = load i32*, i32** %11
%1047 = load i32, i32* %9
%1048 = mul nsw i32 %1047, 9
%1049 = load i32, i32* %10
%1050 = add nsw i32 %1048, %1049
%1051 = sext i32 %1050 to i64
%1052 = getelementptr inbounds i32, i32* %1046, i64 %1051
%1053 = load i32, i32* %1052
%1054 = icmp eq i32 %1053, 2
br i1 %1054, label %1055, label %1058
1055: ; preds = %1045
%1056 = load i32*, i32** %12
%1057 = getelementptr inbounds i32, i32* %1056, i64 1
store i32 2, i32* %1057
br label %1156
1058: ; preds = %1045
%1059 = load i32*, i32** %11
%1060 = load i32, i32* %9
%1061 = mul nsw i32 %1060, 9
%1062 = load i32, i32* %10
%1063 = add nsw i32 %1061, %1062
%1064 = sext i32 %1063 to i64
%1065 = getelementptr inbounds i32, i32* %1059, i64 %1064
%1066 = load i32, i32* %1065
%1067 = icmp eq i32 %1066, 3
br i1 %1067, label %1068, label %1071
1068: ; preds = %1058
%1069 = load i32*, i32** %12
%1070 = getelementptr inbounds i32, i32* %1069, i64 2
store i32 3, i32* %1070
br label %1155
1071: ; preds = %1058
%1072 = load i32*, i32** %11
%1073 = load i32, i32* %9
%1074 = mul nsw i32 %1073, 9
%1075 = load i32, i32* %10
%1076 = add nsw i32 %1074, %1075
%1077 = sext i32 %1076 to i64
%1078 = getelementptr inbounds i32, i32* %1072, i64 %1077
%1079 = load i32, i32* %1078
%1080 = icmp eq i32 %1079, 4
br i1 %1080, label %1081, label %1084
1081: ; preds = %1071
%1082 = load i32*, i32** %12
%1083 = getelementptr inbounds i32, i32* %1082, i64 3
store i32 4, i32* %1083
br label %1154
1084: ; preds = %1071
%1085 = load i32*, i32** %11
%1086 = load i32, i32* %9
%1087 = mul nsw i32 %1086, 9
%1088 = load i32, i32* %10
%1089 = add nsw i32 %1087, %1088
%1090 = sext i32 %1089 to i64
%1091 = getelementptr inbounds i32, i32* %1085, i64 %1090
%1092 = load i32, i32* %1091
%1093 = icmp eq i32 %1092, 5
br i1 %1093, label %1094, label %1097
1094: ; preds = %1084
%1095 = load i32*, i32** %12
%1096 = getelementptr inbounds i32, i32* %1095, i64 4
store i32 5, i32* %1096
br label %1153
1097: ; preds = %1084
%1098 = load i32*, i32** %11
%1099 = load i32, i32* %9
%1100 = mul nsw i32 %1099, 9
%1101 = load i32, i32* %10
%1102 = add nsw i32 %1100, %1101
%1103 = sext i32 %1102 to i64
%1104 = getelementptr inbounds i32, i32* %1098, i64 %1103
%1105 = load i32, i32* %1104
%1106 = icmp eq i32 %1105, 6
br i1 %1106, label %1107, label %1110
1107: ; preds = %1097
%1108 = load i32*, i32** %12
%1109 = getelementptr inbounds i32, i32* %1108, i64 5
store i32 6, i32* %1109
br label %1152
1110: ; preds = %1097
%1111 = load i32*, i32** %11
%1112 = load i32, i32* %9
%1113 = mul nsw i32 %1112, 9
%1114 = load i32, i32* %10
%1115 = add nsw i32 %1113, %1114
%1116 = sext i32 %1115 to i64
%1117 = getelementptr inbounds i32, i32* %1111, i64 %1116
%1118 = load i32, i32* %1117
%1119 = icmp eq i32 %1118, 7
br i1 %1119, label %1120, label %1123
1120: ; preds = %1110
%1121 = load i32*, i32** %12
%1122 = getelementptr inbounds i32, i32* %1121, i64 6
store i32 7, i32* %1122
br label %1151
1123: ; preds = %1110
%1124 = load i32*, i32** %11
%1125 = load i32, i32* %9
%1126 = mul nsw i32 %1125, 9
%1127 = load i32, i32* %10
%1128 = add nsw i32 %1126, %1127
%1129 = sext i32 %1128 to i64
%1130 = getelementptr inbounds i32, i32* %1124, i64 %1129
%1131 = load i32, i32* %1130
%1132 = icmp eq i32 %1131, 8
br i1 %1132, label %1133, label %1136
1133: ; preds = %1123
%1134 = load i32*, i32** %12
%1135 = getelementptr inbounds i32, i32* %1134, i64 7
store i32 8, i32* %1135
br label %1150
1136: ; preds = %1123
%1137 = load i32*, i32** %11
%1138 = load i32, i32* %9
%1139 = mul nsw i32 %1138, 9
%1140 = load i32, i32* %10
%1141 = add nsw i32 %1139, %1140
%1142 = sext i32 %1141 to i64
%1143 = getelementptr inbounds i32, i32* %1137, i64 %1142
%1144 = load i32, i32* %1143
%1145 = icmp eq i32 %1144, 9
br i1 %1145, label %1146, label %1149
1146: ; preds = %1136
%1147 = load i32*, i32** %12
%1148 = getelementptr inbounds i32, i32* %1147, i64 8
store i32 9, i32* %1148
br label %1149
1149: ; preds = %1146, %1136
br label %1150
1150: ; preds = %1149, %1133
br label %1151
1151: ; preds = %1150, %1120
br label %1152
1152: ; preds = %1151, %1107
br label %1153
1153: ; preds = %1152, %1094
br label %1154
1154: ; preds = %1153, %1081
br label %1155
1155: ; preds = %1154, %1068
br label %1156
1156: ; preds = %1155, %1055
br label %1157
1157: ; preds = %1156, %1042
br label %1158
1158: ; preds = %1157, %1022
br label %1159
1159: ; preds = %1158
%1160 = load i32, i32* %10
%1161 = add nsw i32 %1160, 1
store i32 %1161, i32* %10
br label %1019
1162: ; preds = %1019
br label %1163
1163: ; preds = %1162
%1164 = load i32, i32* %9
%1165 = add nsw i32 %1164, 1
store i32 %1165, i32* %9
br label %1015
1166: ; preds = %1015
br label %1499
1167: ; preds = %1011, %1008, %1005, %1002
%1168 = load i32, i32* %7
%1169 = icmp sge i32 %1168, 6
br i1 %1169, label %1170, label %1332
1170: ; preds = %1167
%1171 = load i32, i32* %7
%1172 = icmp sle i32 %1171, 8
br i1 %1172, label %1173, label %1332
1173: ; preds = %1170
%1174 = load i32, i32* %8
%1175 = icmp sge i32 %1174, 3
br i1 %1175, label %1176, label %1332
1176: ; preds = %1173
%1177 = load i32, i32* %8
%1178 = icmp sle i32 %1177, 5
br i1 %1178, label %1179, label %1332
1179: ; preds = %1176
store i32 6, i32* %9
br label %1180
1180: ; preds = %1328, %1179
%1181 = load i32, i32* %9
%1182 = icmp sle i32 %1181, 8
br i1 %1182, label %1183, label %1331
1183: ; preds = %1180
store i32 3, i32* %10
br label %1184
1184: ; preds = %1324, %1183
%1185 = load i32, i32* %10
%1186 = icmp sle i32 %1185, 5
br i1 %1186, label %1187, label %1327
1187: ; preds = %1184
%1188 = load i32*, i32** %11
%1189 = load i32, i32* %9
%1190 = mul nsw i32 %1189, 9
%1191 = load i32, i32* %10
%1192 = add nsw i32 %1190, %1191
%1193 = sext i32 %1192 to i64
%1194 = getelementptr inbounds i32, i32* %1188, i64 %1193
%1195 = load i32, i32* %1194
%1196 = icmp ne i32 %1195, 0
br i1 %1196, label %1197, label %1323
1197: ; preds = %1187
%1198 = load i32*, i32** %11
%1199 = load i32, i32* %9
%1200 = mul nsw i32 %1199, 9
%1201 = load i32, i32* %10
%1202 = add nsw i32 %1200, %1201
%1203 = sext i32 %1202 to i64
%1204 = getelementptr inbounds i32, i32* %1198, i64 %1203
%1205 = load i32, i32* %1204
%1206 = icmp eq i32 %1205, 1
br i1 %1206, label %1207, label %1210
1207: ; preds = %1197
%1208 = load i32*, i32** %12
%1209 = getelementptr inbounds i32, i32* %1208, i64 0
store i32 1, i32* %1209
br label %1322
1210: ; preds = %1197
%1211 = load i32*, i32** %11
%1212 = load i32, i32* %9
%1213 = mul nsw i32 %1212, 9
%1214 = load i32, i32* %10
%1215 = add nsw i32 %1213, %1214
%1216 = sext i32 %1215 to i64
%1217 = getelementptr inbounds i32, i32* %1211, i64 %1216
%1218 = load i32, i32* %1217
%1219 = icmp eq i32 %1218, 2
br i1 %1219, label %1220, label %1223
1220: ; preds = %1210
%1221 = load i32*, i32** %12
%1222 = getelementptr inbounds i32, i32* %1221, i64 1
store i32 2, i32* %1222
br label %1321
1223: ; preds = %1210
%1224 = load i32*, i32** %11
%1225 = load i32, i32* %9
%1226 = mul nsw i32 %1225, 9
%1227 = load i32, i32* %10
%1228 = add nsw i32 %1226, %1227
%1229 = sext i32 %1228 to i64
%1230 = getelementptr inbounds i32, i32* %1224, i64 %1229
%1231 = load i32, i32* %1230
%1232 = icmp eq i32 %1231, 3
br i1 %1232, label %1233, label %1236
1233: ; preds = %1223
%1234 = load i32*, i32** %12
%1235 = getelementptr inbounds i32, i32* %1234, i64 2
store i32 3, i32* %1235
br label %1320
1236: ; preds = %1223
%1237 = load i32*, i32** %11
%1238 = load i32, i32* %9
%1239 = mul nsw i32 %1238, 9
%1240 = load i32, i32* %10
%1241 = add nsw i32 %1239, %1240
%1242 = sext i32 %1241 to i64
%1243 = getelementptr inbounds i32, i32* %1237, i64 %1242
%1244 = load i32, i32* %1243
%1245 = icmp eq i32 %1244, 4
br i1 %1245, label %1246, label %1249
1246: ; preds = %1236
%1247 = load i32*, i32** %12
%1248 = getelementptr inbounds i32, i32* %1247, i64 3
store i32 4, i32* %1248
br label %1319
1249: ; preds = %1236
%1250 = load i32*, i32** %11
%1251 = load i32, i32* %9
%1252 = mul nsw i32 %1251, 9
%1253 = load i32, i32* %10
%1254 = add nsw i32 %1252, %1253
%1255 = sext i32 %1254 to i64
%1256 = getelementptr inbounds i32, i32* %1250, i64 %1255
%1257 = load i32, i32* %1256
%1258 = icmp eq i32 %1257, 5
br i1 %1258, label %1259, label %1262
1259: ; preds = %1249
%1260 = load i32*, i32** %12
%1261 = getelementptr inbounds i32, i32* %1260, i64 4
store i32 5, i32* %1261
br label %1318
1262: ; preds = %1249
%1263 = load i32*, i32** %11
%1264 = load i32, i32* %9
%1265 = mul nsw i32 %1264, 9
%1266 = load i32, i32* %10
%1267 = add nsw i32 %1265, %1266
%1268 = sext i32 %1267 to i64
%1269 = getelementptr inbounds i32, i32* %1263, i64 %1268
%1270 = load i32, i32* %1269
%1271 = icmp eq i32 %1270, 6
br i1 %1271, label %1272, label %1275
1272: ; preds = %1262
%1273 = load i32*, i32** %12
%1274 = getelementptr inbounds i32, i32* %1273, i64 5
store i32 6, i32* %1274
br label %1317
1275: ; preds = %1262
%1276 = load i32*, i32** %11
%1277 = load i32, i32* %9
%1278 = mul nsw i32 %1277, 9
%1279 = load i32, i32* %10
%1280 = add nsw i32 %1278, %1279
%1281 = sext i32 %1280 to i64
%1282 = getelementptr inbounds i32, i32* %1276, i64 %1281
%1283 = load i32, i32* %1282
%1284 = icmp eq i32 %1283, 7
br i1 %1284, label %1285, label %1288
1285: ; preds = %1275
%1286 = load i32*, i32** %12
%1287 = getelementptr inbounds i32, i32* %1286, i64 6
store i32 7, i32* %1287
br label %1316
1288: ; preds = %1275
%1289 = load i32*, i32** %11
%1290 = load i32, i32* %9
%1291 = mul nsw i32 %1290, 9
%1292 = load i32, i32* %10
%1293 = add nsw i32 %1291, %1292
%1294 = sext i32 %1293 to i64
%1295 = getelementptr inbounds i32, i32* %1289, i64 %1294
%1296 = load i32, i32* %1295
%1297 = icmp eq i32 %1296, 8
br i1 %1297, label %1298, label %1301
1298: ; preds = %1288
%1299 = load i32*, i32** %12
%1300 = getelementptr inbounds i32, i32* %1299, i64 7
store i32 8, i32* %1300
br label %1315
1301: ; preds = %1288
%1302 = load i32*, i32** %11
%1303 = load i32, i32* %9
%1304 = mul nsw i32 %1303, 9
%1305 = load i32, i32* %10
%1306 = add nsw i32 %1304, %1305
%1307 = sext i32 %1306 to i64
%1308 = getelementptr inbounds i32, i32* %1302, i64 %1307
%1309 = load i32, i32* %1308
%1310 = icmp eq i32 %1309, 9
br i1 %1310, label %1311, label %1314
1311: ; preds = %1301
%1312 = load i32*, i32** %12
%1313 = getelementptr inbounds i32, i32* %1312, i64 8
store i32 9, i32* %1313
br label %1314
1314: ; preds = %1311, %1301
br label %1315
1315: ; preds = %1314, %1298
br label %1316
1316: ; preds = %1315, %1285
br label %1317
1317: ; preds = %1316, %1272
br label %1318
1318: ; preds = %1317, %1259
br label %1319
1319: ; preds = %1318, %1246
br label %1320
1320: ; preds = %1319, %1233
br label %1321
1321: ; preds = %1320, %1220
br label %1322
1322: ; preds = %1321, %1207
br label %1323
1323: ; preds = %1322, %1187
br label %1324
1324: ; preds = %1323
%1325 = load i32, i32* %10
%1326 = add nsw i32 %1325, 1
store i32 %1326, i32* %10
br label %1184
1327: ; preds = %1184
br label %1328
1328: ; preds = %1327
%1329 = load i32, i32* %9
%1330 = add nsw i32 %1329, 1
store i32 %1330, i32* %9
br label %1180
1331: ; preds = %1180
br label %1498
1332: ; preds = %1176, %1173, %1170, %1167
%1333 = load i32, i32* %7
%1334 = icmp sge i32 %1333, 6
br i1 %1334, label %1335, label %1497
1335: ; preds = %1332
%1336 = load i32, i32* %7
%1337 = icmp sle i32 %1336, 8
br i1 %1337, label %1338, label %1497
1338: ; preds = %1335
%1339 = load i32, i32* %8
%1340 = icmp sge i32 %1339, 6
br i1 %1340, label %1341, label %1497
1341: ; preds = %1338
%1342 = load i32, i32* %8
%1343 = icmp sle i32 %1342, 8
br i1 %1343, label %1344, label %1497
1344: ; preds = %1341
store i32 6, i32* %9
br label %1345
1345: ; preds = %1493, %1344
%1346 = load i32, i32* %9
%1347 = icmp sle i32 %1346, 8
br i1 %1347, label %1348, label %1496
1348: ; preds = %1345
store i32 6, i32* %10
br label %1349
1349: ; preds = %1489, %1348
%1350 = load i32, i32* %10
%1351 = icmp sle i32 %1350, 8
br i1 %1351, label %1352, label %1492
1352: ; preds = %1349
%1353 = load i32*, i32** %11
%1354 = load i32, i32* %9
%1355 = mul nsw i32 %1354, 9
%1356 = load i32, i32* %10
%1357 = add nsw i32 %1355, %1356
%1358 = sext i32 %1357 to i64
%1359 = getelementptr inbounds i32, i32* %1353, i64 %1358
%1360 = load i32, i32* %1359
%1361 = icmp ne i32 %1360, 0
br i1 %1361, label %1362, label %1488
1362: ; preds = %1352
%1363 = load i32*, i32** %11
%1364 = load i32, i32* %9
%1365 = mul nsw i32 %1364, 9
%1366 = load i32, i32* %10
%1367 = add nsw i32 %1365, %1366
%1368 = sext i32 %1367 to i64
%1369 = getelementptr inbounds i32, i32* %1363, i64 %1368
%1370 = load i32, i32* %1369
%1371 = icmp eq i32 %1370, 1
br i1 %1371, label %1372, label %1375
1372: ; preds = %1362
%1373 = load i32*, i32** %12
%1374 = getelementptr inbounds i32, i32* %1373, i64 0
store i32 1, i32* %1374
br label %1487
1375: ; preds = %1362
%1376 = load i32*, i32** %11
%1377 = load i32, i32* %9
%1378 = mul nsw i32 %1377, 9
%1379 = load i32, i32* %10
%1380 = add nsw i32 %1378, %1379
%1381 = sext i32 %1380 to i64
%1382 = getelementptr inbounds i32, i32* %1376, i64 %1381
%1383 = load i32, i32* %1382
%1384 = icmp eq i32 %1383, 2
br i1 %1384, label %1385, label %1388
1385: ; preds = %1375
%1386 = load i32*, i32** %12
%1387 = getelementptr inbounds i32, i32* %1386, i64 1
store i32 2, i32* %1387
br label %1486
1388: ; preds = %1375
%1389 = load i32*, i32** %11
%1390 = load i32, i32* %9
%1391 = mul nsw i32 %1390, 9
%1392 = load i32, i32* %10
%1393 = add nsw i32 %1391, %1392
%1394 = sext i32 %1393 to i64
%1395 = getelementptr inbounds i32, i32* %1389, i64 %1394
%1396 = load i32, i32* %1395
%1397 = icmp eq i32 %1396, 3
br i1 %1397, label %1398, label %1401
1398: ; preds = %1388
%1399 = load i32*, i32** %12
%1400 = getelementptr inbounds i32, i32* %1399, i64 2
store i32 3, i32* %1400
br label %1485
1401: ; preds = %1388
%1402 = load i32*, i32** %11
%1403 = load i32, i32* %9
%1404 = mul nsw i32 %1403, 9
%1405 = load i32, i32* %10
%1406 = add nsw i32 %1404, %1405
%1407 = sext i32 %1406 to i64
%1408 = getelementptr inbounds i32, i32* %1402, i64 %1407
%1409 = load i32, i32* %1408
%1410 = icmp eq i32 %1409, 4
br i1 %1410, label %1411, label %1414
1411: ; preds = %1401
%1412 = load i32*, i32** %12
%1413 = getelementptr inbounds i32, i32* %1412, i64 3
store i32 4, i32* %1413
br label %1484
1414: ; preds = %1401
%1415 = load i32*, i32** %11
%1416 = load i32, i32* %9
%1417 = mul nsw i32 %1416, 9
%1418 = load i32, i32* %10
%1419 = add nsw i32 %1417, %1418
%1420 = sext i32 %1419 to i64
%1421 = getelementptr inbounds i32, i32* %1415, i64 %1420
%1422 = load i32, i32* %1421
%1423 = icmp eq i32 %1422, 5
br i1 %1423, label %1424, label %1427
1424: ; preds = %1414
%1425 = load i32*, i32** %12
%1426 = getelementptr inbounds i32, i32* %1425, i64 4
store i32 5, i32* %1426
br label %1483
1427: ; preds = %1414
%1428 = load i32*, i32** %11
%1429 = load i32, i32* %9
%1430 = mul nsw i32 %1429, 9
%1431 = load i32, i32* %10
%1432 = add nsw i32 %1430, %1431
%1433 = sext i32 %1432 to i64
%1434 = getelementptr inbounds i32, i32* %1428, i64 %1433
%1435 = load i32, i32* %1434
%1436 = icmp eq i32 %1435, 6
br i1 %1436, label %1437, label %1440
1437: ; preds = %1427
%1438 = load i32*, i32** %12
%1439 = getelementptr inbounds i32, i32* %1438, i64 5
store i32 6, i32* %1439
br label %1482
1440: ; preds = %1427
%1441 = load i32*, i32** %11
%1442 = load i32, i32* %9
%1443 = mul nsw i32 %1442, 9
%1444 = load i32, i32* %10
%1445 = add nsw i32 %1443, %1444
%1446 = sext i32 %1445 to i64
%1447 = getelementptr inbounds i32, i32* %1441, i64 %1446
%1448 = load i32, i32* %1447
%1449 = icmp eq i32 %1448, 7
br i1 %1449, label %1450, label %1453
1450: ; preds = %1440
%1451 = load i32*, i32** %12
%1452 = getelementptr inbounds i32, i32* %1451, i64 6
store i32 7, i32* %1452
br label %1481
1453: ; preds = %1440
%1454 = load i32*, i32** %11
%1455 = load i32, i32* %9
%1456 = mul nsw i32 %1455, 9
%1457 = load i32, i32* %10
%1458 = add nsw i32 %1456, %1457
%1459 = sext i32 %1458 to i64
%1460 = getelementptr inbounds i32, i32* %1454, i64 %1459
%1461 = load i32, i32* %1460
%1462 = icmp eq i32 %1461, 8
br i1 %1462, label %1463, label %1466
1463: ; preds = %1453
%1464 = load i32*, i32** %12
%1465 = getelementptr inbounds i32, i32* %1464, i64 7
store i32 8, i32* %1465
br label %1480
1466: ; preds = %1453
%1467 = load i32*, i32** %11
%1468 = load i32, i32* %9
%1469 = mul nsw i32 %1468, 9
%1470 = load i32, i32* %10
%1471 = add nsw i32 %1469, %1470
%1472 = sext i32 %1471 to i64
%1473 = getelementptr inbounds i32, i32* %1467, i64 %1472
%1474 = load i32, i32* %1473
%1475 = icmp eq i32 %1474, 9
br i1 %1475, label %1476, label %1479
1476: ; preds = %1466
%1477 = load i32*, i32** %12
%1478 = getelementptr inbounds i32, i32* %1477, i64 8
store i32 9, i32* %1478
br label %1479
1479: ; preds = %1476, %1466
br label %1480
1480: ; preds = %1479, %1463
br label %1481
1481: ; preds = %1480, %1450
br label %1482
1482: ; preds = %1481, %1437
br label %1483
1483: ; preds = %1482, %1424
br label %1484
1484: ; preds = %1483, %1411
br label %1485
1485: ; preds = %1484, %1398
br label %1486
1486: ; preds = %1485, %1385
br label %1487
1487: ; preds = %1486, %1372
br label %1488
1488: ; preds = %1487, %1352
br label %1489
1489: ; preds = %1488
%1490 = load i32, i32* %10
%1491 = add nsw i32 %1490, 1
store i32 %1491, i32* %10
br label %1349
1492: ; preds = %1349
br label %1493
1493: ; preds = %1492
%1494 = load i32, i32* %9
%1495 = add nsw i32 %1494, 1
store i32 %1495, i32* %9
br label %1345
1496: ; preds = %1345
br label %1497
1497: ; preds = %1496, %1341, %1338, %1335, %1332
br label %1498
1498: ; preds = %1497, %1331
br label %1499
1499: ; preds = %1498, %1166
br label %1500
1500: ; preds = %1499, %1001
br label %1501
1501: ; preds = %1500, %836
br label %1502
1502: ; preds = %1501, %671
br label %1503
1503: ; preds = %1502, %506
br label %1504
1504: ; preds = %1503, %341
br label %1505
1505: ; preds = %1504, %176
ret void
}

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