int test(int *P, int array2[][2], int array3[][3], int array4[][4],
         int array5[][5], int array6[][6], int array7[][7], int array8[][8],
         int array9[][9]) {
  int num, note, a, b, c, d, e, f, g, h, i;
  if (*P == 2) {
    num = 12;
    for (a = 0; a < 72; a++) {
      note = 0;
      array2[a][0] = num / 10 % 10;
      array2[a][1] = num % 10;
      num++;
      if (array2[a][0] == 0 || array2[a][1] == 0) {
        a--;
        continue;
      }
      for (b = 1; b < 2; b++) {
        for (c = 0; c < b; c++) {
          if (array2[a][b] == array2[a][c]) {
            note = 1;
          }
        }
      }
      if (note == 1) {
        a--;
        continue;
      }
    }
  }
  if (*P == 3) {
    num = 123;
    for (a = 0; a < 504; a++) {
      note = 0;
      array3[a][0] = num / 100 % 10;
      array3[a][1] = num / 10 % 10;
      array3[a][2] = num % 10;
      num++;
      if (array3[a][0] == 0 || array3[a][1] == 0 || array3[a][2] == 0) {
        a--;
        continue;
      }
      for (b = 1; b < 3; b++) {
        for (c = 0; c < b; c++) {
          if (array3[a][b] == array3[a][c]) {
            note = 1;
          }
        }
      }
      if (note == 1) {
        a--;
        continue;
      }
    }
  }
  if (*P == 4) {
    num = 1234;
    for (a = 0; a < 3024; a++) {
      note = 0;
      array4[a][0] = num / 1000 % 10;
      array4[a][1] = num / 100 % 10;
      array4[a][2] = num / 10 % 10;
      array4[a][3] = num % 10;
      num++;
      if (array4[a][0] == 0 || array4[a][1] == 0 || array4[a][2] == 0 ||
          array4[a][3] == 0) {
        a--;
        continue;
      }
      for (b = 1; b < 4; b++) {
        for (c = 0; c < b; c++) {
          if (array4[a][b] == array4[a][c]) {
            note = 1;
          }
        }
      }
      if (note == 1) {
        a--;
        continue;
      }
    }
  }
  if (*P == 5) {
    num = 12345;
    for (a = 0; a < 15120; a++) {
      note = 0;
      array5[a][0] = num / 10000 % 10;
      array5[a][1] = num / 1000 % 10;
      array5[a][2] = num / 100 % 10;
      array5[a][3] = num / 10 % 10;
      array5[a][4] = num % 10;
      num++;
      if (array5[a][0] == 0 || array5[a][1] == 0 || array5[a][2] == 0 ||
          array5[a][3] == 0 || array5[a][4] == 0) {
        a--;
        continue;
      }
      for (b = 1; b < 5; b++) {
        for (c = 0; c < b; c++) {
          if (array5[a][b] == array5[a][c]) {
            note = 1;
          }
        }
      }
      if (note == 1) {
        a--;
        continue;
      }
    }
  }
  if (*P == 6) {
    num = 123456;
    for (a = 0; a < 60480; a++) {
      note = 0;
      array6[a][0] = num / 100000 % 10;
      array6[a][1] = num / 10000 % 10;
      array6[a][2] = num / 1000 % 10;
      array6[a][3] = num / 100 % 10;
      array6[a][4] = num / 10 % 10;
      array6[a][5] = num % 10;
      num++;
      if (array6[a][0] == 0 || array6[a][1] == 0 || array6[a][2] == 0 ||
          array6[a][3] == 0 || array6[a][4] == 0 || array6[a][5] == 0) {
        a--;
        continue;
      }
      for (b = 1; b < 6; b++) {
        for (c = 0; c < b; c++) {
          if (array6[a][b] == array6[a][c]) {
            note = 1;
          }
        }
      }
      if (note == 1) {
        a--;
        continue;
      }
    }
  }
  if (*P == 7) {
    num = 1234567;
    for (a = 0; a < 181440; a++) {
      note = 0;
      array7[a][0] = num / 1000000 % 10;
      array7[a][1] = num / 100000 % 10;
      array7[a][2] = num / 10000 % 10;
      array7[a][3] = num / 1000 % 10;
      array7[a][4] = num / 100 % 10;
      array7[a][5] = num / 10 % 10;
      array7[a][6] = num % 10;
      num++;
      if (array7[a][0] == 0 || array7[a][1] == 0 || array7[a][2] == 0 ||
          array7[a][3] == 0 || array7[a][4] == 0 || array7[a][5] == 0 ||
          array7[a][6] == 0) {
        a--;
        continue;
      }
      for (b = 1; b < 7; b++) {
        for (c = 0; c < b; c++) {
          if (array7[a][b] == array7[a][c]) {
            note = 1;
          }
        }
      }
      if (note == 1) {
        a--;
        continue;
      }
    }
  }
  if (*P == 8) {
    num = 12345678;
    for (a = 0; a < 362880; a++) {
      note = 0;
      array8[a][0] = num / 10000000 % 10;
      array8[a][1] = num / 1000000 % 10;
      array8[a][2] = num / 100000 % 10;
      array8[a][3] = num / 10000 % 10;
      array8[a][4] = num / 1000 % 10;
      array8[a][5] = num / 100 % 10;
      array8[a][6] = num / 10 % 10;
      array8[a][7] = num % 10;
      num++;
      if (array8[a][0] == 0 || array8[a][1] == 0 || array8[a][2] == 0 ||
          array8[a][3] == 0 || array8[a][4] == 0 || array8[a][5] == 0 ||
          array8[a][6] == 0 || array8[a][7] == 0) {
        a--;
        continue;
      }
      for (b = 1; b < 8; b++) {
        for (c = 0; c < b; c++) {
          if (array8[a][b] == array8[a][c]) {
            note = 1;
          }
        }
      }
      if (note == 1) {
        a--;
        continue;
      }
    }
  }
  if (*P == 9) {
    num = 123456789;
    for (a = 0; a < 362880; a++) {
      note = 0;
      array9[a][0] = num / 100000000 % 10;
      array9[a][1] = num / 10000000 % 10;
      array9[a][2] = num / 1000000 % 10;
      array9[a][3] = num / 100000 % 10;
      array9[a][4] = num / 10000 % 10;
      array9[a][5] = num / 1000 % 10;
      array9[a][6] = num / 100 % 10;
      array9[a][7] = num / 10 % 10;
      array9[a][8] = num % 10;
      num++;
      if (array9[a][0] == 0 || array9[a][1] == 0 || array9[a][2] == 0 ||
          array9[a][3] == 0 || array9[a][4] == 0 || array9[a][5] == 0 ||
          array9[a][6] == 0 || array9[a][7] == 0 || array9[a][8] == 0) {
        a--;
        continue;
      }
      for (b = 1; b < 9; b++) {
        for (c = 0; c < b; c++) {
          if (array9[a][b] == array9[a][c]) {
            note = 1;
          }
        }
      }
      if (note == 1) {
        a--;
        continue;
      }
    }
  }
  return 0;
}


x86 assembly (clang, -O0):
<test>:
push   %rbp
mov    %rsp,%rbp
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
mov    -0x8(%rbp),%rax
cmpl   $0x2,(%rax)
jne    1278 <test+0x178>
movl   $0xc,-0x34(%rbp)
movl   $0x0,-0x3c(%rbp)
cmpl   $0x48,-0x3c(%rbp)
jge    1273 <test+0x173>
movl   $0x0,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
mov    %edx,(%rax,%rcx,8)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
mov    %edx,0x4(%rax,%rcx,8)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,8)
je     11b7 <test+0xb7>
mov    -0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
cmpl   $0x0,0x4(%rax,%rcx,8)
jne    11c5 <test+0xc5>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    1265 <test+0x165>
movl   $0x1,-0x40(%rbp)
cmpl   $0x2,-0x40(%rbp)
jge    1248 <test+0x148>
movl   $0x0,-0x44(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    1235 <test+0x135>
mov    -0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x3,%rcx
add    %rcx,%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    -0x10(%rbp),%rcx
movslq -0x3c(%rbp),%rdx
shl    $0x3,%rdx
add    %rdx,%rcx
movslq -0x44(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    1222 <test+0x122>
movl   $0x1,-0x38(%rbp)
jmp    1227 <test+0x127>
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    11dd <test+0xdd>
jmp    123a <test+0x13a>
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    11cc <test+0xcc>
cmpl   $0x1,-0x38(%rbp)
jne    1260 <test+0x160>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    1265 <test+0x165>
jmp    1265 <test+0x165>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1143 <test+0x43>
jmp    1278 <test+0x178>
mov    -0x8(%rbp),%rax
cmpl   $0x3,(%rax)
jne    1421 <test+0x321>
movl   $0x7b,-0x34(%rbp)
movl   $0x0,-0x3c(%rbp)
cmpl   $0x1f8,-0x3c(%rbp)
jge    141c <test+0x31c>
movl   $0x0,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    %edx,(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x4(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x8(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,(%rax)
je     1360 <test+0x260>
mov    -0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x4(%rax)
je     1360 <test+0x260>
mov    -0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x8(%rax)
jne    136e <test+0x26e>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    140e <test+0x30e>
movl   $0x1,-0x40(%rbp)
cmpl   $0x3,-0x40(%rbp)
jge    13f1 <test+0x2f1>
movl   $0x0,-0x44(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    13de <test+0x2de>
mov    -0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0xc,%rcx,%rcx
add    %rcx,%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    -0x18(%rbp),%rcx
movslq -0x3c(%rbp),%rdx
imul   $0xc,%rdx,%rdx
add    %rdx,%rcx
movslq -0x44(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    13cb <test+0x2cb>
movl   $0x1,-0x38(%rbp)
jmp    13d0 <test+0x2d0>
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1386 <test+0x286>
jmp    13e3 <test+0x2e3>
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    1375 <test+0x275>
cmpl   $0x1,-0x38(%rbp)
jne    1409 <test+0x309>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    140e <test+0x30e>
jmp    140e <test+0x30e>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1293 <test+0x193>
jmp    1421 <test+0x321>
mov    -0x8(%rbp),%rax
cmpl   $0x4,(%rax)
jne    1608 <test+0x508>
movl   $0x4d2,-0x34(%rbp)
movl   $0x0,-0x3c(%rbp)
cmpl   $0xbd0,-0x3c(%rbp)
jge    1603 <test+0x503>
movl   $0x0,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    $0x3e8,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x4,%rcx
add    %rcx,%rax
mov    %edx,(%rax)
mov    -0x34(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x4,%rcx
add    %rcx,%rax
mov    %edx,0x4(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x4,%rcx
add    %rcx,%rax
mov    %edx,0x8(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x4,%rcx
add    %rcx,%rax
mov    %edx,0xc(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x4,%rcx
add    %rcx,%rax
cmpl   $0x0,(%rax)
je     1547 <test+0x447>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x4,%rcx
add    %rcx,%rax
cmpl   $0x0,0x4(%rax)
je     1547 <test+0x447>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x4,%rcx
add    %rcx,%rax
cmpl   $0x0,0x8(%rax)
je     1547 <test+0x447>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x4,%rcx
add    %rcx,%rax
cmpl   $0x0,0xc(%rax)
jne    1555 <test+0x455>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    15f5 <test+0x4f5>
movl   $0x1,-0x40(%rbp)
cmpl   $0x4,-0x40(%rbp)
jge    15d8 <test+0x4d8>
movl   $0x0,-0x44(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    15c5 <test+0x4c5>
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x4,%rcx
add    %rcx,%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    -0x20(%rbp),%rcx
movslq -0x3c(%rbp),%rdx
shl    $0x4,%rdx
add    %rdx,%rcx
movslq -0x44(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    15b2 <test+0x4b2>
movl   $0x1,-0x38(%rbp)
jmp    15b7 <test+0x4b7>
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    156d <test+0x46d>
jmp    15ca <test+0x4ca>
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    155c <test+0x45c>
cmpl   $0x1,-0x38(%rbp)
jne    15f0 <test+0x4f0>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    15f5 <test+0x4f5>
jmp    15f5 <test+0x4f5>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    143c <test+0x33c>
jmp    1608 <test+0x508>
mov    -0x8(%rbp),%rax
cmpl   $0x5,(%rax)
jne    182d <test+0x72d>
movl   $0x3039,-0x34(%rbp)
movl   $0x0,-0x3c(%rbp)
cmpl   $0x3b10,-0x3c(%rbp)
jge    1828 <test+0x728>
movl   $0x0,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    $0x2710,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %edx,(%rax)
mov    -0x34(%rbp),%eax
mov    $0x3e8,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x4(%rax)
mov    -0x34(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x8(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0xc(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x10(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,(%rax)
je     176c <test+0x66c>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x4(%rax)
je     176c <test+0x66c>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x8(%rax)
je     176c <test+0x66c>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0xc(%rax)
je     176c <test+0x66c>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x10(%rax)
jne    177a <test+0x67a>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    181a <test+0x71a>
movl   $0x1,-0x40(%rbp)
cmpl   $0x5,-0x40(%rbp)
jge    17fd <test+0x6fd>
movl   $0x0,-0x44(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    17ea <test+0x6ea>
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    -0x28(%rbp),%rcx
movslq -0x3c(%rbp),%rdx
imul   $0x14,%rdx,%rdx
add    %rdx,%rcx
movslq -0x44(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    17d7 <test+0x6d7>
movl   $0x1,-0x38(%rbp)
jmp    17dc <test+0x6dc>
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1792 <test+0x692>
jmp    17ef <test+0x6ef>
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    1781 <test+0x681>
cmpl   $0x1,-0x38(%rbp)
jne    1815 <test+0x715>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    181a <test+0x71a>
jmp    181a <test+0x71a>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1623 <test+0x523>
jmp    182d <test+0x72d>
mov    -0x8(%rbp),%rax
cmpl   $0x6,(%rax)
jne    1a90 <test+0x990>
movl   $0x1e240,-0x34(%rbp)
movl   $0x0,-0x3c(%rbp)
cmpl   $0xec40,-0x3c(%rbp)
jge    1a8b <test+0x98b>
movl   $0x0,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    $0x186a0,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
mov    %edx,(%rax)
mov    -0x34(%rbp),%eax
mov    $0x2710,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x4(%rax)
mov    -0x34(%rbp),%eax
mov    $0x3e8,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x8(%rax)
mov    -0x34(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0xc(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x10(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x14(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,(%rax)
je     19cf <test+0x8cf>
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x4(%rax)
je     19cf <test+0x8cf>
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x8(%rax)
je     19cf <test+0x8cf>
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0xc(%rax)
je     19cf <test+0x8cf>
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x10(%rax)
je     19cf <test+0x8cf>
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x14(%rax)
jne    19dd <test+0x8dd>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    1a7d <test+0x97d>
movl   $0x1,-0x40(%rbp)
cmpl   $0x6,-0x40(%rbp)
jge    1a60 <test+0x960>
movl   $0x0,-0x44(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    1a4d <test+0x94d>
mov    -0x30(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x18,%rcx,%rcx
add    %rcx,%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    -0x30(%rbp),%rcx
movslq -0x3c(%rbp),%rdx
imul   $0x18,%rdx,%rdx
add    %rdx,%rcx
movslq -0x44(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    1a3a <test+0x93a>
movl   $0x1,-0x38(%rbp)
jmp    1a3f <test+0x93f>
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    19f5 <test+0x8f5>
jmp    1a52 <test+0x952>
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    19e4 <test+0x8e4>
cmpl   $0x1,-0x38(%rbp)
jne    1a78 <test+0x978>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    1a7d <test+0x97d>
jmp    1a7d <test+0x97d>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1848 <test+0x748>
jmp    1a90 <test+0x990>
mov    -0x8(%rbp),%rax
cmpl   $0x7,(%rax)
jne    1d31 <test+0xc31>
movl   $0x12d687,-0x34(%rbp)
movl   $0x0,-0x3c(%rbp)
cmpl   $0x2c4c0,-0x3c(%rbp)
jge    1d2c <test+0xc2c>
movl   $0x0,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    $0xf4240,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %edx,(%rax)
mov    -0x34(%rbp),%eax
mov    $0x186a0,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x4(%rax)
mov    -0x34(%rbp),%eax
mov    $0x2710,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x8(%rax)
mov    -0x34(%rbp),%eax
mov    $0x3e8,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0xc(%rax)
mov    -0x34(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x10(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x14(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x18(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,(%rax)
je     1c70 <test+0xb70>
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x4(%rax)
je     1c70 <test+0xb70>
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x8(%rax)
je     1c70 <test+0xb70>
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0xc(%rax)
je     1c70 <test+0xb70>
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x10(%rax)
je     1c70 <test+0xb70>
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x14(%rax)
je     1c70 <test+0xb70>
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x18(%rax)
jne    1c7e <test+0xb7e>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    1d1e <test+0xc1e>
movl   $0x1,-0x40(%rbp)
cmpl   $0x7,-0x40(%rbp)
jge    1d01 <test+0xc01>
movl   $0x0,-0x44(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    1cee <test+0xbee>
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    0x10(%rbp),%rcx
movslq -0x3c(%rbp),%rdx
imul   $0x1c,%rdx,%rdx
add    %rdx,%rcx
movslq -0x44(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    1cdb <test+0xbdb>
movl   $0x1,-0x38(%rbp)
jmp    1ce0 <test+0xbe0>
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1c96 <test+0xb96>
jmp    1cf3 <test+0xbf3>
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    1c85 <test+0xb85>
cmpl   $0x1,-0x38(%rbp)
jne    1d19 <test+0xc19>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    1d1e <test+0xc1e>
jmp    1d1e <test+0xc1e>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1aab <test+0x9ab>
jmp    1d31 <test+0xc31>
mov    -0x8(%rbp),%rax
cmpl   $0x8,(%rax)
jne    2010 <test+0xf10>
movl   $0xbc614e,-0x34(%rbp)
movl   $0x0,-0x3c(%rbp)
cmpl   $0x58980,-0x3c(%rbp)
jge    200b <test+0xf0b>
movl   $0x0,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    $0x989680,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
mov    %edx,(%rax)
mov    -0x34(%rbp),%eax
mov    $0xf4240,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
mov    %edx,0x4(%rax)
mov    -0x34(%rbp),%eax
mov    $0x186a0,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
mov    %edx,0x8(%rax)
mov    -0x34(%rbp),%eax
mov    $0x2710,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
mov    %edx,0xc(%rax)
mov    -0x34(%rbp),%eax
mov    $0x3e8,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
mov    %edx,0x10(%rax)
mov    -0x34(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
mov    %edx,0x14(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
mov    %edx,0x18(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
mov    %edx,0x1c(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
cmpl   $0x0,(%rax)
je     1f4f <test+0xe4f>
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
cmpl   $0x0,0x4(%rax)
je     1f4f <test+0xe4f>
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
cmpl   $0x0,0x8(%rax)
je     1f4f <test+0xe4f>
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
cmpl   $0x0,0xc(%rax)
je     1f4f <test+0xe4f>
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
cmpl   $0x0,0x10(%rax)
je     1f4f <test+0xe4f>
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
cmpl   $0x0,0x14(%rax)
je     1f4f <test+0xe4f>
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
cmpl   $0x0,0x18(%rax)
je     1f4f <test+0xe4f>
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
cmpl   $0x0,0x1c(%rax)
jne    1f5d <test+0xe5d>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    1ffd <test+0xefd>
movl   $0x1,-0x40(%rbp)
cmpl   $0x8,-0x40(%rbp)
jge    1fe0 <test+0xee0>
movl   $0x0,-0x44(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    1fcd <test+0xecd>
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
shl    $0x5,%rcx
add    %rcx,%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    0x18(%rbp),%rcx
movslq -0x3c(%rbp),%rdx
shl    $0x5,%rdx
add    %rdx,%rcx
movslq -0x44(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    1fba <test+0xeba>
movl   $0x1,-0x38(%rbp)
jmp    1fbf <test+0xebf>
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1f75 <test+0xe75>
jmp    1fd2 <test+0xed2>
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    1f64 <test+0xe64>
cmpl   $0x1,-0x38(%rbp)
jne    1ff8 <test+0xef8>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    1ffd <test+0xefd>
jmp    1ffd <test+0xefd>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    1d4c <test+0xc4c>
jmp    2010 <test+0xf10>
mov    -0x8(%rbp),%rax
cmpl   $0x9,(%rax)
jne    232d <test+0x122d>
movl   $0x75bcd15,-0x34(%rbp)
movl   $0x0,-0x3c(%rbp)
cmpl   $0x58980,-0x3c(%rbp)
jge    2328 <test+0x1228>
movl   $0x0,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    $0x5f5e100,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %edx,(%rax)
mov    -0x34(%rbp),%eax
mov    $0x989680,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x4(%rax)
mov    -0x34(%rbp),%eax
mov    $0xf4240,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x8(%rax)
mov    -0x34(%rbp),%eax
mov    $0x186a0,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0xc(%rax)
mov    -0x34(%rbp),%eax
mov    $0x2710,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x10(%rax)
mov    -0x34(%rbp),%eax
mov    $0x3e8,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x14(%rax)
mov    -0x34(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x18(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x1c(%rax)
mov    -0x34(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %edx,0x20(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,(%rax)
je     226c <test+0x116c>
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x4(%rax)
je     226c <test+0x116c>
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x8(%rax)
je     226c <test+0x116c>
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0xc(%rax)
je     226c <test+0x116c>
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x10(%rax)
je     226c <test+0x116c>
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x14(%rax)
je     226c <test+0x116c>
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x18(%rax)
je     226c <test+0x116c>
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x1c(%rax)
je     226c <test+0x116c>
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
cmpl   $0x0,0x20(%rax)
jne    227a <test+0x117a>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    231a <test+0x121a>
movl   $0x1,-0x40(%rbp)
cmpl   $0x9,-0x40(%rbp)
jge    22fd <test+0x11fd>
movl   $0x0,-0x44(%rbp)
mov    -0x44(%rbp),%eax
cmp    -0x40(%rbp),%eax
jge    22ea <test+0x11ea>
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    0x20(%rbp),%rcx
movslq -0x3c(%rbp),%rdx
imul   $0x24,%rdx,%rdx
add    %rdx,%rcx
movslq -0x44(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    22d7 <test+0x11d7>
movl   $0x1,-0x38(%rbp)
jmp    22dc <test+0x11dc>
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    2292 <test+0x1192>
jmp    22ef <test+0x11ef>
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    2281 <test+0x1181>
cmpl   $0x1,-0x38(%rbp)
jne    2315 <test+0x1215>
mov    -0x3c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x3c(%rbp)
jmp    231a <test+0x121a>
jmp    231a <test+0x121a>
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
jmp    202b <test+0xf2b>
jmp    232d <test+0x122d>
xor    %eax,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<test>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
mov    %r9,-0x8(%rsp)
mov    %rdi,-0x10(%rsp)
mov    (%rdi),%eax
cmp    $0x2,%eax
je     115f <test+0x5f>
cmp    $0x3,%eax
je     11e4 <test+0xe4>
cmp    $0x4,%eax
je     12c4 <test+0x1c4>
cmp    $0x5,%eax
je     13e2 <test+0x2e2>
cmp    $0x6,%eax
je     155d <test+0x45d>
cmp    $0x7,%eax
je     179d <test+0x69d>
cmp    $0x8,%eax
je     1a19 <test+0x919>
cmp    $0x9,%eax
je     1d20 <test+0xc20>
jmp    20ac <test+0xfac>
xor    %r11d,%r11d
mov    $0xc,%r14d
mov    $0xcccccccd,%r10d
xchg   %ax,%ax
mov    %r14d,%ebp
imul   %r10,%rbp
shr    $0x23,%rbp
lea    0x0(%rbp,%rbp,1),%edi
lea    (%rdi,%rdi,4),%r15d
mov    %rbp,%rbx
imul   %r10,%rbx
shr    $0x23,%rbx
add    %ebx,%ebx
lea    (%rbx,%rbx,4),%ebx
sub    %ebx,%ebp
movslq %r11d,%rdi
mov    %ebp,(%rsi,%rdi,8)
mov    %r14d,%eax
sub    %r15d,%eax
mov    %eax,0x4(%rsi,%rdi,8)
add    $0x1,%r14d
test   %ebp,%ebp
sete   %r11b
test   %eax,%eax
sete   %bl
or     %r11b,%bl
cmp    %ebp,%eax
sete   %al
or     %bl,%al
movzbl %al,%eax
mov    %edi,%ebx
sub    %eax,%ebx
neg    %eax
lea    (%rdi,%rax,1),%r11d
add    $0x1,%r11d
cmp    $0x47,%ebx
jl     1170 <test+0x70>
mov    -0x10(%rsp),%rax
mov    (%rax),%eax
cmp    $0x3,%eax
jne    1124 <test+0x24>
xor    %r11d,%r11d
mov    $0x7b,%r15d
mov    $0xcccccccd,%r10d
jmp    121a <test+0x11a>
cs nopw 0x0(%rax,%rax,1)
nop
lea    (%r11,%rbp,1),%eax
add    %ebp,%r11d
add    $0x1,%r11d
add    $0x1,%r15d
cmp    $0x1f7,%eax
jge    12b4 <test+0x1b4>
mov    %r15d,%edi
imul   $0x51eb851f,%rdi,%rbx
imul   %r10,%rdi
shr    $0x23,%rdi
lea    (%rdi,%rdi,1),%esi
lea    (%rsi,%rsi,4),%ebp
shr    $0x25,%rbx
mov    %rbx,%rsi
imul   %r10,%rsi
shr    $0x23,%rsi
add    %esi,%esi
lea    (%rsi,%rsi,4),%r14d
mov    %rdi,%rsi
imul   %r10,%rsi
shr    $0x23,%rsi
add    %esi,%esi
lea    (%rsi,%rsi,4),%esi
sub    %esi,%edi
mov    %r15d,%esi
sub    %ebp,%esi
movslq %r11d,%rbp
lea    0x0(,%rbp,2),%rax
add    %rbp,%rax
mov    $0xffffffff,%ebp
sub    %r14d,%ebx
mov    %ebx,(%rdx,%rax,4)
mov    %edi,0x4(%rdx,%rax,4)
mov    %esi,0x8(%rdx,%rax,4)
je     1200 <test+0x100>
test   %edi,%edi
je     1200 <test+0x100>
test   %esi,%esi
je     1200 <test+0x100>
cmp    %ebx,%edi
sete   %bpl
cmp    %ebx,%esi
sete   %bl
cmp    %edi,%esi
sete   %al
or     %bl,%al
or     %bpl,%al
movzbl %al,%ebp
neg    %ebp
jmp    1200 <test+0x100>
mov    -0x10(%rsp),%rax
mov    (%rax),%eax
cmp    $0x4,%eax
jne    112d <test+0x2d>
xor    %r11d,%r11d
mov    $0x4d2,%r15d
mov    $0xcccccccd,%r10d
jmp    12fb <test+0x1fb>
cs nopw 0x0(%rax,%rax,1)
nop
lea    (%r11,%rax,1),%edx
add    %eax,%r11d
add    $0x1,%r11d
add    $0x1,%r15d
cmp    $0xbcf,%edx
jge    13d2 <test+0x2d2>
mov    %r15d,%ebp
imul   $0x10624dd3,%rbp,%rdi
imul   $0x51eb851f,%rbp,%rbx
imul   %r10,%rbp
shr    $0x23,%rbp
lea    0x0(%rbp,%rbp,1),%eax
lea    (%rax,%rax,4),%eax
shr    $0x26,%rdi
mov    %rdi,%rdx
imul   %r10,%rdx
shr    $0x23,%rdx
add    %edx,%edx
lea    (%rdx,%rdx,4),%r14d
movslq %r11d,%rsi
shl    $0x4,%rsi
shr    $0x25,%rbx
mov    %rbx,%rdx
imul   %r10,%rdx
shr    $0x23,%rdx
add    %edx,%edx
lea    (%rdx,%rdx,4),%edx
sub    %edx,%ebx
mov    %rbp,%rdx
imul   %r10,%rdx
shr    $0x23,%rdx
add    %edx,%edx
lea    (%rdx,%rdx,4),%edx
sub    %edx,%ebp
mov    %r15d,%edx
sub    %eax,%edx
mov    $0xffffffff,%eax
sub    %r14d,%edi
mov    %edi,(%rcx,%rsi,1)
mov    %ebx,0x4(%rcx,%rsi,1)
mov    %ebp,0x8(%rcx,%rsi,1)
mov    %edx,0xc(%rcx,%rsi,1)
je     12e0 <test+0x1e0>
test   %ebx,%ebx
je     12e0 <test+0x1e0>
test   %ebp,%ebp
je     12e0 <test+0x1e0>
test   %edx,%edx
je     12e0 <test+0x1e0>
cmp    %edi,%ebx
sete   %sil
cmp    %edi,%ebp
sete   %r12b
cmp    %ebx,%ebp
sete   %r14b
cmp    %edi,%edx
sete   %al
cmp    %ebx,%edx
sete   %bl
cmp    %ebp,%edx
sete   %dl
or     %bl,%dl
or     %r14b,%al
or     %dl,%al
or     %sil,%r12b
or     %al,%r12b
movzbl %r12b,%eax
neg    %eax
jmp    12e0 <test+0x1e0>
mov    -0x10(%rsp),%rax
mov    (%rax),%eax
cmp    $0x5,%eax
jne    1136 <test+0x36>
xor    %r14d,%r14d
mov    $0x3039,%r12d
mov    $0xcccccccd,%r13d
mov    $0xd1b71759,%r9d
jmp    141b <test+0x31b>
nopl   0x0(%rax)
lea    (%r14,%rax,1),%ecx
add    %eax,%r14d
add    $0x1,%r14d
add    $0x1,%r12d
cmp    $0x3b0f,%ecx
jge    154d <test+0x44d>
mov    %r12d,%ebx
mov    %rbx,%rbp
imul   $0x10624dd3,%rbx,%rdi
imul   $0x51eb851f,%rbx,%rsi
imul   %r13,%rbx
shr    $0x23,%rbx
lea    (%rbx,%rbx,1),%eax
lea    (%rax,%rax,4),%eax
imul   %r9,%rbp
shr    $0x2d,%rbp
mov    %rbp,%rcx
imul   %r13,%rcx
shr    $0x23,%rcx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%r15d
shr    $0x26,%rdi
mov    %rdi,%rcx
imul   %r13,%rcx
shr    $0x23,%rcx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
sub    %ecx,%edi
shr    $0x25,%rsi
mov    %rsi,%rcx
imul   %r13,%rcx
shr    $0x23,%rcx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
sub    %ecx,%esi
mov    %rbx,%rcx
imul   %r13,%rcx
shr    $0x23,%rcx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
sub    %ecx,%ebx
mov    %r12d,%ecx
sub    %eax,%ecx
movslq %r14d,%rax
lea    (%rax,%rax,4),%rdx
mov    $0xffffffff,%eax
sub    %r15d,%ebp
mov    %ebp,(%r8,%rdx,4)
mov    %edi,0x4(%r8,%rdx,4)
mov    %esi,0x8(%r8,%rdx,4)
mov    %ebx,0xc(%r8,%rdx,4)
mov    %ecx,0x10(%r8,%rdx,4)
je     1400 <test+0x300>
test   %edi,%edi
je     1400 <test+0x300>
test   %esi,%esi
je     1400 <test+0x300>
test   %ebx,%ebx
je     1400 <test+0x300>
test   %ecx,%ecx
je     1400 <test+0x300>
cmp    %ebp,%edi
sete   %r15b
cmp    %ebp,%esi
sete   %r9b
cmp    %edi,%esi
sete   %al
cmp    %ebp,%ebx
sete   %dl
cmp    %edi,%ebx
sete   %r10b
cmp    %esi,%ebx
sete   %r11b
cmp    %ebp,%ecx
sete   %bpl
cmp    %edi,%ecx
sete   %dil
cmp    %esi,%ecx
sete   %sil
cmp    %ebx,%ecx
sete   %cl
or     %sil,%cl
or     %bpl,%dil
or     %cl,%dil
or     %r10b,%r11b
or     %dl,%r11b
or     %dil,%r11b
or     %r9b,%al
mov    $0xd1b71759,%r9d
or     %r15b,%al
or     %r11b,%al
movzbl %al,%eax
and    $0x1,%eax
neg    %eax
jmp    1400 <test+0x300>
mov    -0x10(%rsp),%rax
mov    (%rax),%eax
cmp    $0x6,%eax
jne    113f <test+0x3f>
xor    %r9d,%r9d
mov    $0x1e240,%ecx
mov    $0xd1b71759,%r14d
mov    $0xcccccccd,%r10d
movdqa 0x1a87(%rip),%xmm0
movdqa 0x1a8f(%rip),%xmm1
mov    -0x8(%rsp),%r8
jmp    15a9 <test+0x4a9>
nopl   0x0(%rax,%rax,1)
lea    (%r9,%rdi,1),%eax
add    %edi,%r9d
add    $0x1,%r9d
add    $0x1,%ecx
cmp    $0xec3f,%eax
jge    178d <test+0x68d>
mov    %ecx,%edx
shr    $0x5,%edx
imul   $0xa7c5ac5,%rdx,%rdx
shr    $0x27,%rdx
imul   $0xcccd,%edx,%esi
shr    $0x12,%esi
and    $0xfffffffe,%esi
lea    (%rsi,%rsi,4),%esi
sub    %esi,%edx
movzwl %dx,%r11d
movslq %r9d,%rdx
lea    (%rdx,%rdx,2),%rdi
mov    %r11d,(%r8,%rdi,8)
mov    %ecx,%ebx
mov    %rbx,%rbp
imul   %r14,%rbp
shr    $0x2d,%rbp
mov    %rbp,%rdx
imul   %r10,%rdx
shr    $0x23,%rdx
add    %edx,%edx
lea    (%rdx,%rdx,4),%edx
sub    %edx,%ebp
mov    %ebp,0x4(%r8,%rdi,8)
imul   $0x10624dd3,%rbx,%rdx
shr    $0x26,%rdx
mov    %rdx,%rsi
imul   %r10,%rsi
shr    $0x23,%rsi
add    %esi,%esi
lea    (%rsi,%rsi,4),%esi
sub    %esi,%edx
mov    %edx,0x8(%r8,%rdi,8)
imul   $0x51eb851f,%rbx,%rax
shr    $0x25,%rax
mov    %rax,%rsi
imul   %r10,%rsi
shr    $0x23,%rsi
add    %esi,%esi
lea    (%rsi,%rsi,4),%esi
sub    %esi,%eax
mov    %eax,0xc(%r8,%rdi,8)
imul   %r10,%rbx
shr    $0x23,%rbx
movd   %ebx,%xmm3
movd   %ecx,%xmm4
movdqa %xmm4,%xmm2
punpckldq %xmm3,%xmm2
pmuludq %xmm0,%xmm4
pshufd $0xed,%xmm4,%xmm4
pmuludq %xmm0,%xmm3
pshufd $0xed,%xmm3,%xmm3
punpckldq %xmm3,%xmm4
psrld  $0x3,%xmm4
pshufd $0xf5,%xmm4,%xmm3
pmuludq %xmm1,%xmm4
pshufd $0xe8,%xmm4,%xmm4
pmuludq %xmm1,%xmm3
pshufd $0xe8,%xmm3,%xmm3
punpckldq %xmm3,%xmm4
psubd  %xmm4,%xmm2
pshufd $0x55,%xmm2,%xmm3
movd   %xmm3,0x10(%r8,%rdi,8)
movd   %xmm2,0x14(%r8,%rdi,8)
mov    $0xffffffff,%edi
test   %r11w,%r11w
je     1590 <test+0x490>
test   %ebp,%ebp
je     1590 <test+0x490>
test   %edx,%edx
je     1590 <test+0x490>
test   %eax,%eax
je     1590 <test+0x490>
movd   %xmm3,%r13d
test   %r13d,%r13d
je     1590 <test+0x490>
movd   %xmm2,%esi
test   %esi,%esi
je     1590 <test+0x490>
pshufd $0x54,%xmm2,%xmm3
pshufd $0x0,%xmm2,%xmm2
cmp    %r11d,%ebp
sete   %dil
movd   %r11d,%xmm4
cmp    %r11d,%edx
sete   %r14b
cmp    %ebp,%edx
sete   %r15b
cmp    %r11d,%eax
sete   %r12b
cmp    %ebp,%eax
sete   %r8b
cmp    %edx,%eax
sete   %sil
cmp    %r11d,%r13d
sete   %bl
movd   %ebp,%xmm5
movd   %edx,%xmm6
punpckldq %xmm5,%xmm6
movd   %eax,%xmm5
movd   %r13d,%xmm7
punpckldq %xmm5,%xmm7
punpcklqdq %xmm6,%xmm7
pcmpeqd %xmm7,%xmm2
movss  %xmm4,%xmm7
pcmpeqd %xmm3,%xmm7
packssdw %xmm7,%xmm2
psllw  $0xf,%xmm2
pmovmskb %xmm2,%eax
test   $0xaaaa,%eax
setne  %al
or     %sil,%bl
or     %r8b,%bl
mov    -0x8(%rsp),%r8
or     %r12b,%bl
or     %r15b,%bl
or     %r14b,%bl
mov    $0xd1b71759,%r14d
or     %dil,%bl
or     %al,%bl
movzbl %bl,%edi
and    $0x1,%edi
neg    %edi
jmp    1590 <test+0x490>
mov    -0x10(%rsp),%rax
mov    (%rax),%eax
cmp    $0x7,%eax
jne    1148 <test+0x48>
mov    0x38(%rsp),%r10
xor    %r14d,%r14d
mov    $0x12d687,%r15d
mov    $0xcccccccd,%r11d
jmp    17da <test+0x6da>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
lea    (%r14,%rcx,1),%eax
add    %ecx,%r14d
add    $0x1,%r14d
add    $0x1,%r15d
cmp    $0x2c4bf,%eax
jge    1a09 <test+0x909>
mov    %r15d,%esi
imul   $0x431bde83,%rsi,%rdi
mov    %rsi,%rbp
imul   $0x10624dd3,%rsi,%rbx
imul   $0x51eb851f,%rsi,%rax
imul   %r11,%rsi
shr    $0x23,%rsi
lea    (%rsi,%rsi,1),%ecx
lea    (%rcx,%rcx,4),%r8d
shr    $0x32,%rdi
imul   $0xcccd,%edi,%edx
shr    $0x12,%edx
and    $0xfffffffe,%edx
lea    (%rdx,%rdx,4),%edx
sub    %edx,%edi
movzwl %di,%r9d
movslq %r14d,%rdx
lea    (%rdx,%rdx,8),%rcx
lea    (%rcx,%rcx,2),%rcx
add    %rdx,%rcx
mov    %r9d,(%r10,%rcx,1)
mov    %r15d,%edx
shr    $0x5,%edx
imul   $0xa7c5ac5,%rdx,%rdx
shr    $0x27,%rdx
imul   $0xcccd,%edx,%edi
shr    $0x12,%edi
and    $0xfffffffe,%edi
lea    (%rdi,%rdi,4),%edi
sub    %edi,%edx
movzwl %dx,%r12d
mov    %r12d,0x4(%r10,%rcx,1)
mov    $0xd1b71759,%edi
imul   %rdi,%rbp
shr    $0x2d,%rbp
mov    %rbp,%rdi
imul   %r11,%rdi
shr    $0x23,%rdi
add    %edi,%edi
lea    (%rdi,%rdi,4),%edi
sub    %edi,%ebp
mov    %ebp,0x8(%r10,%rcx,1)
shr    $0x26,%rbx
mov    %rbx,%rdi
imul   %r11,%rdi
shr    $0x23,%rdi
add    %edi,%edi
lea    (%rdi,%rdi,4),%edi
sub    %edi,%ebx
mov    %ebx,0xc(%r10,%rcx,1)
shr    $0x25,%rax
mov    %rax,%rdi
imul   %r11,%rdi
shr    $0x23,%rdi
add    %edi,%edi
lea    (%rdi,%rdi,4),%edi
sub    %edi,%eax
mov    %eax,0x10(%r10,%rcx,1)
mov    %rsi,%rdi
imul   %r11,%rdi
shr    $0x23,%rdi
add    %edi,%edi
lea    (%rdi,%rdi,4),%edi
sub    %edi,%esi
mov    %esi,0x14(%r10,%rcx,1)
mov    %r15d,%r13d
sub    %r8d,%r13d
mov    %r13d,0x18(%r10,%rcx,1)
mov    $0xffffffff,%ecx
test   %r9w,%r9w
je     17c0 <test+0x6c0>
test   %dx,%dx
je     17c0 <test+0x6c0>
test   %ebp,%ebp
je     17c0 <test+0x6c0>
test   %ebx,%ebx
je     17c0 <test+0x6c0>
test   %eax,%eax
je     17c0 <test+0x6c0>
test   %esi,%esi
je     17c0 <test+0x6c0>
test   %r13d,%r13d
je     17c0 <test+0x6c0>
cmp    %r9w,%dx
sete   -0x8(%rsp)
cmp    %r9d,%ebp
sete   %r11b
cmp    %r12d,%ebp
sete   -0x14(%rsp)
cmp    %r9d,%ebx
sete   -0x18(%rsp)
cmp    %r12d,%ebx
sete   -0x28(%rsp)
cmp    %ebp,%ebx
sete   -0x29(%rsp)
cmp    %r9d,%eax
sete   %dl
cmp    %r12d,%eax
sete   -0x2a(%rsp)
cmp    %ebp,%eax
sete   -0x2b(%rsp)
cmp    %ebx,%eax
sete   -0x2c(%rsp)
cmp    %r9d,%esi
sete   %r8b
cmp    %r12d,%esi
sete   -0x2d(%rsp)
cmp    %ebp,%esi
sete   -0x2e(%rsp)
cmp    %ebx,%esi
sete   %dil
cmp    %eax,%esi
sete   %cl
cmp    %r9d,%r13d
sete   %r9b
cmp    %r12d,%r13d
sete   %r12b
cmp    %ebp,%r13d
sete   %bpl
cmp    %ebx,%r13d
sete   %bl
cmp    %eax,%r13d
sete   %al
cmp    %esi,%r13d
sete   %sil
or     %al,%sil
or     %bpl,%bl
or     %sil,%bl
or     %r9b,%r12b
or     %bl,%r12b
or     %dil,%cl
or     -0x2e(%rsp),%cl
or     -0x2d(%rsp),%cl
or     %r12b,%cl
or     -0x2c(%rsp),%r8b
or     -0x2b(%rsp),%r8b
or     -0x2a(%rsp),%r8b
or     %cl,%r8b
or     -0x29(%rsp),%dl
or     -0x28(%rsp),%dl
or     -0x18(%rsp),%dl
or     -0x14(%rsp),%dl
or     %r8b,%dl
or     -0x8(%rsp),%r11b
or     %dl,%r11b
movzbl %r11b,%ecx
mov    $0xcccccccd,%r11d
and    $0x1,%ecx
neg    %ecx
jmp    17c0 <test+0x6c0>
mov    -0x10(%rsp),%rax
mov    (%rax),%eax
cmp    $0x8,%eax
jne    1151 <test+0x51>
mov    0x40(%rsp),%r14
xor    %esi,%esi
mov    $0xbc614e,%r15d
jmp    1a4c <test+0x94c>
nopl   0x0(%rax,%rax,1)
mov    -0x8(%rsp),%rsi
lea    (%rsi,%rdx,1),%eax
add    %edx,%esi
add    $0x1,%esi
add    $0x1,%r15d
cmp    $0x5897f,%eax
jge    1d10 <test+0xc10>
mov    %r15d,%eax
imul   $0x6b5fca6b,%rax,%rdx
imul   $0x431bde83,%rax,%r9
mov    %rax,%r11
imul   $0x10624dd3,%rax,%rbx
imul   $0x51eb851f,%rax,%rcx
mov    $0xcccccccd,%r12d
imul   %r12,%rax
shr    $0x23,%rax
lea    (%rax,%rax,1),%edi
lea    (%rdi,%rdi,4),%r8d
shr    $0x36,%rdx
imul   $0xcccd,%edx,%edi
shr    $0x12,%edi
and    $0xfffffffe,%edi
lea    (%rdi,%rdi,4),%edi
sub    %edi,%edx
movzwl %dx,%r10d
mov    %rsi,-0x8(%rsp)
movslq %esi,%rdx
shl    $0x5,%rdx
mov    %r10d,(%r14,%rdx,1)
shr    $0x32,%r9
imul   $0xcccd,%r9d,%edi
shr    $0x12,%edi
and    $0xfffffffe,%edi
lea    (%rdi,%rdi,4),%edi
sub    %edi,%r9d
movzwl %r9w,%r13d
mov    %r13d,0x4(%r14,%rdx,1)
mov    %r15d,%edi
shr    $0x5,%edi
imul   $0xa7c5ac5,%rdi,%rdi
shr    $0x27,%rdi
imul   $0xcccd,%edi,%ebp
shr    $0x12,%ebp
and    $0xfffffffe,%ebp
lea    0x0(%rbp,%rbp,4),%ebp
sub    %ebp,%edi
mov    $0xd1b71759,%esi
imul   %rsi,%r11
shr    $0x2d,%r11
mov    %r11,%rsi
imul   %r12,%rsi
shr    $0x23,%rsi
add    %esi,%esi
lea    (%rsi,%rsi,4),%esi
sub    %esi,%r11d
shr    $0x26,%rbx
mov    %rbx,%rsi
imul   %r12,%rsi
shr    $0x23,%rsi
add    %esi,%esi
lea    (%rsi,%rsi,4),%esi
sub    %esi,%ebx
shr    $0x25,%rcx
mov    %rcx,%rsi
imul   %r12,%rsi
shr    $0x23,%rsi
add    %esi,%esi
lea    (%rsi,%rsi,4),%esi
sub    %esi,%ecx
mov    %rax,%rsi
imul   %r12,%rsi
shr    $0x23,%rsi
add    %esi,%esi
lea    (%rsi,%rsi,4),%esi
sub    %esi,%eax
mov    %r15d,%r12d
sub    %r8d,%r12d
movzwl %di,%r8d
mov    %r8d,0x8(%r14,%rdx,1)
mov    %r11d,0xc(%r14,%rdx,1)
mov    %ebx,0x10(%r14,%rdx,1)
mov    %ecx,0x14(%r14,%rdx,1)
mov    %eax,0x18(%r14,%rdx,1)
mov    %r12d,0x1c(%r14,%rdx,1)
mov    $0xffffffff,%edx
test   %r10w,%r10w
je     1a30 <test+0x930>
test   %r9w,%r9w
je     1a30 <test+0x930>
test   %di,%di
je     1a30 <test+0x930>
test   %r11d,%r11d
je     1a30 <test+0x930>
test   %ebx,%ebx
je     1a30 <test+0x930>
test   %ecx,%ecx
je     1a30 <test+0x930>
test   %eax,%eax
je     1a30 <test+0x930>
test   %r12d,%r12d
je     1a30 <test+0x930>
cmp    %r10w,%r9w
sete   -0x14(%rsp)
cmp    %r10w,%di
sete   -0x18(%rsp)
cmp    %r9w,%di
sete   %bpl
cmp    %r10d,%r11d
sete   -0x28(%rsp)
cmp    %r13d,%r11d
sete   -0x29(%rsp)
cmp    %r8d,%r11d
sete   -0x2a(%rsp)
cmp    %r10d,%ebx
sete   -0x2b(%rsp)
cmp    %r13d,%ebx
sete   -0x2c(%rsp)
cmp    %r8d,%ebx
sete   %dil
cmp    %r11d,%ebx
sete   -0x2d(%rsp)
cmp    %r10d,%ecx
sete   -0x2e(%rsp)
cmp    %r13d,%ecx
sete   -0x22(%rsp)
cmp    %r8d,%ecx
sete   -0x23(%rsp)
cmp    %r11d,%ecx
sete   -0x24(%rsp)
cmp    %ebx,%ecx
sete   %r9b
cmp    %r10d,%eax
sete   -0x25(%rsp)
cmp    %r13d,%eax
sete   -0x26(%rsp)
cmp    %r8d,%eax
sete   -0x27(%rsp)
cmp    %r11d,%eax
sete   %r14b
cmp    %ebx,%eax
sete   %sil
cmp    %ecx,%eax
sete   %dl
cmp    %r10d,%r12d
sete   %r10b
cmp    %r13d,%r12d
sete   %r13b
cmp    %r8d,%r12d
sete   %r8b
cmp    %r11d,%r12d
sete   %r11b
cmp    %ebx,%r12d
sete   %bl
cmp    %ecx,%r12d
sete   %cl
cmp    %eax,%r12d
sete   %al
or     %cl,%al
or     %r11b,%bl
or     %al,%bl
or     %r13b,%r8b
or     %bl,%r8b
or     %dl,%r10b
or     %sil,%r10b
or     %r8b,%r10b
or     -0x27(%rsp),%r14b
or     -0x26(%rsp),%r14b
or     -0x25(%rsp),%r14b
or     %r10b,%r14b
or     -0x24(%rsp),%r9b
or     -0x23(%rsp),%r9b
or     -0x22(%rsp),%r9b
or     -0x2e(%rsp),%r9b
or     -0x2d(%rsp),%r9b
or     %r14b,%r9b
mov    0x40(%rsp),%r14
or     -0x2c(%rsp),%dil
or     -0x2b(%rsp),%dil
or     -0x2a(%rsp),%dil
or     -0x29(%rsp),%dil
or     -0x28(%rsp),%dil
or     %r9b,%dil
or     -0x18(%rsp),%bpl
or     -0x14(%rsp),%bpl
or     %dil,%bpl
movzbl %bpl,%edx
and    $0x1,%edx
neg    %edx
jmp    1a30 <test+0x930>
mov    -0x10(%rsp),%rax
mov    (%rax),%eax
cmp    $0x9,%eax
jne    20ac <test+0xfac>
xor    %ecx,%ecx
mov    $0x75bcd15,%r14d
jmp    1d51 <test+0xc51>
nopw   0x0(%rax,%rax,1)
mov    -0x8(%rsp),%rcx
lea    (%rcx,%rsi,1),%eax
add    %esi,%ecx
add    $0x1,%ecx
mov    -0x14(%rsp),%r14d
add    $0x1,%r14d
cmp    $0x5897f,%eax
jge    20ac <test+0xfac>
mov    %r14d,%ebx
imul   $0x55e63b89,%rbx,%rdx
imul   $0x6b5fca6b,%rbx,%r9
imul   $0x431bde83,%rbx,%r11
mov    %rbx,%rdi
imul   $0x10624dd3,%rbx,%rax
imul   $0x51eb851f,%rbx,%rbp
mov    $0xcccccccd,%r15d
imul   %r15,%rbx
shr    $0x23,%rbx
lea    (%rbx,%rbx,1),%esi
lea    (%rsi,%rsi,4),%r10d
shr    $0x39,%rdx
imul   $0xcd,%edx,%esi
shr    $0xa,%esi
and    $0xfffffffe,%esi
lea    (%rsi,%rsi,4),%esi
sub    %sil,%dl
movzbl %dl,%r8d
mov    %rcx,-0x8(%rsp)
movslq %ecx,%rdx
lea    (%rdx,%rdx,8),%rsi
mov    0x48(%rsp),%r12
mov    %r8d,(%r12,%rsi,4)
shr    $0x36,%r9
imul   $0xcccd,%r9d,%edx
shr    $0x12,%edx
and    $0xfffffffe,%edx
lea    (%rdx,%rdx,4),%edx
sub    %edx,%r9d
movzwl %r9w,%ecx
mov    %ecx,-0x18(%rsp)
mov    %ecx,0x4(%r12,%rsi,4)
shr    $0x32,%r11
imul   $0xcccd,%r11d,%edx
shr    $0x12,%edx
and    $0xfffffffe,%edx
lea    (%rdx,%rdx,4),%edx
sub    %edx,%r11d
movzwl %r11w,%r13d
mov    %r13d,0x8(%r12,%rsi,4)
mov    %r14d,%edx
shr    $0x5,%edx
imul   $0xa7c5ac5,%rdx,%rdx
shr    $0x27,%rdx
imul   $0xcccd,%edx,%ecx
shr    $0x12,%ecx
and    $0xfffffffe,%ecx
lea    (%rcx,%rcx,4),%ecx
sub    %ecx,%edx
mov    $0xd1b71759,%ecx
imul   %rcx,%rdi
shr    $0x2d,%rdi
mov    %rdi,%rcx
imul   %r15,%rcx
shr    $0x23,%rcx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
sub    %ecx,%edi
shr    $0x26,%rax
mov    %rax,%rcx
imul   %r15,%rcx
shr    $0x23,%rcx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
sub    %ecx,%eax
shr    $0x25,%rbp
mov    %rbp,%rcx
imul   %r15,%rcx
shr    $0x23,%rcx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
sub    %ecx,%ebp
mov    %rbx,%rcx
imul   %r15,%rcx
shr    $0x23,%rcx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
sub    %ecx,%ebx
mov    %r14d,-0x14(%rsp)
sub    %r10d,%r14d
movzwl %dx,%r15d
mov    %r15d,0xc(%r12,%rsi,4)
mov    %edi,0x10(%r12,%rsi,4)
mov    %eax,0x14(%r12,%rsi,4)
mov    %ebp,0x18(%r12,%rsi,4)
mov    %ebx,0x1c(%r12,%rsi,4)
mov    %r14d,0x20(%r12,%rsi,4)
mov    $0xffffffff,%esi
test   %r8b,%r8b
je     1d30 <test+0xc30>
test   %r9w,%r9w
je     1d30 <test+0xc30>
test   %r11w,%r11w
je     1d30 <test+0xc30>
test   %dx,%dx
je     1d30 <test+0xc30>
test   %edi,%edi
je     1d30 <test+0xc30>
test   %eax,%eax
je     1d30 <test+0xc30>
test   %ebp,%ebp
je     1d30 <test+0xc30>
test   %ebx,%ebx
je     1d30 <test+0xc30>
test   %r14d,%r14d
je     1d30 <test+0xc30>
mov    -0x18(%rsp),%r12d
cmp    %r8d,%r12d
sete   -0x28(%rsp)
cmp    %r8d,%r13d
sete   -0x29(%rsp)
cmp    %r9w,%r11w
sete   -0x2a(%rsp)
cmp    %r8d,%r15d
sete   -0x2b(%rsp)
cmp    %r9w,%dx
sete   -0x2c(%rsp)
cmp    %r11w,%dx
sete   -0x2d(%rsp)
cmp    %r8d,%edi
sete   -0x2e(%rsp)
cmp    %r12d,%edi
sete   -0x22(%rsp)
cmp    %r13d,%edi
sete   -0x23(%rsp)
cmp    %r15d,%edi
sete   -0x24(%rsp)
cmp    %r8d,%eax
sete   %cl
cmp    %r12d,%eax
sete   -0x25(%rsp)
cmp    %r13d,%eax
sete   -0x26(%rsp)
cmp    %r15d,%eax
sete   -0x27(%rsp)
cmp    %edi,%eax
sete   -0x10(%rsp)
cmp    %r8d,%ebp
sete   -0x19(%rsp)
cmp    %r12d,%ebp
sete   %r9b
cmp    %r13d,%ebp
sete   -0x1a(%rsp)
cmp    %r15d,%ebp
sete   -0x1b(%rsp)
cmp    %edi,%ebp
sete   -0x1c(%rsp)
cmp    %eax,%ebp
sete   -0x1d(%rsp)
cmp    %r8d,%ebx
sete   %r11b
cmp    %r12d,%ebx
sete   -0x1e(%rsp)
cmp    %r13d,%ebx
sete   -0x1f(%rsp)
cmp    %r15d,%ebx
sete   -0x20(%rsp)
cmp    %edi,%ebx
sete   -0x21(%rsp)
cmp    %eax,%ebx
sete   %r10b
cmp    %ebp,%ebx
sete   %sil
cmp    %r8d,%r14d
sete   %dl
cmp    %r12d,%r14d
sete   %r8b
cmp    %r13d,%r14d
sete   %r12b
cmp    %r15d,%r14d
sete   %r15b
cmp    %edi,%r14d
sete   %dil
cmp    %eax,%r14d
sete   %al
cmp    %ebp,%r14d
sete   %bpl
cmp    %ebx,%r14d
sete   %bl
or     %bpl,%bl
or     %dil,%al
or     %bl,%al
or     %r12b,%r15b
or     %al,%r15b
or     %dl,%r8b
or     %sil,%r8b
or     %r15b,%r8b
or     -0x21(%rsp),%r10b
or     -0x20(%rsp),%r10b
or     -0x1f(%rsp),%r10b
or     -0x1e(%rsp),%r10b
or     %r8b,%r10b
or     -0x1d(%rsp),%r11b
or     -0x1c(%rsp),%r11b
or     -0x1b(%rsp),%r11b
or     -0x1a(%rsp),%r11b
or     %r10b,%r11b
or     -0x19(%rsp),%r9b
or     -0x10(%rsp),%r9b
or     -0x27(%rsp),%r9b
or     -0x26(%rsp),%r9b
or     -0x25(%rsp),%r9b
or     %r11b,%r9b
or     -0x24(%rsp),%cl
or     -0x23(%rsp),%cl
or     -0x22(%rsp),%cl
or     -0x2e(%rsp),%cl
or     -0x2d(%rsp),%cl
or     -0x2c(%rsp),%cl
or     %r9b,%cl
movzbl -0x2b(%rsp),%eax
or     -0x2a(%rsp),%al
or     -0x29(%rsp),%al
or     -0x28(%rsp),%al
or     %cl,%al
movzbl %al,%esi
and    $0x1,%esi
neg    %esi
jmp    1d30 <test+0xc30>
xor    %eax,%eax
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

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