int _findNode(unsigned short *im, const int dimx, const int dimy,
              const int dimz, const int i, const int j, const int k) {
  int a, b, c;
  int ct = 0;
  c = k - 1;
  b = j;
  a = i;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k + 1;
  b = j;
  a = i;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k;
  b = j - 1;
  a = i;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k;
  b = j + 1;
  a = i;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k;
  b = j;
  a = i - 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k;
  b = j;
  a = i + 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k - 1;
  b = j - 1;
  a = i;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k - 1;
  b = j + 1;
  a = i;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k - 1;
  b = j;
  a = i - 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k - 1;
  b = j;
  a = i + 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k + 1;
  b = j - 1;
  a = i;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k + 1;
  b = j + 1;
  a = i;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k + 1;
  b = j;
  a = i - 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k + 1;
  b = j;
  a = i + 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k;
  b = j - 1;
  a = i - 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k;
  b = j - 1;
  a = i + 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k;
  b = j + 1;
  a = i - 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k;
  b = j + 1;
  a = i + 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k - 1;
  b = j - 1;
  a = i - 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k - 1;
  b = j - 1;
  a = i + 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k - 1;
  b = j + 1;
  a = i - 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k - 1;
  b = j + 1;
  a = i + 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k + 1;
  b = j - 1;
  a = i - 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k + 1;
  b = j - 1;
  a = i + 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k + 1;
  b = j + 1;
  a = i - 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  c = k + 1;
  b = j + 1;
  a = i + 1;
  if ((c >= 0) && (c < dimz) && (b >= 0) && (b < dimy) && (a >= 0) &&
      (a < dimx))
    if (im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))] != 0)
      return im[((b) * (dimx) + (a) + (c) * (dimx) * (dimy))];
  return 0;
}


x86 assembly (clang, -O0):
<_findNode>:
push   %rbp
mov    %rsp,%rbp
mov    0x10(%rbp),%eax
mov    %rdi,-0x10(%rbp)
mov    %esi,-0x14(%rbp)
mov    %edx,-0x18(%rbp)
mov    %ecx,-0x1c(%rbp)
mov    %r8d,-0x20(%rbp)
mov    %r9d,-0x24(%rbp)
movl   $0x0,-0x34(%rbp)
mov    0x10(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     11d4 <_findNode+0xd4>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    11d4 <_findNode+0xd4>
cmpl   $0x0,-0x2c(%rbp)
jl     11d4 <_findNode+0xd4>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    11d4 <_findNode+0xd4>
cmpl   $0x0,-0x28(%rbp)
jl     11d4 <_findNode+0xd4>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    11d4 <_findNode+0xd4>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     11cf <_findNode+0xcf>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    11d4 <_findNode+0xd4>
mov    0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1285 <_findNode+0x185>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1285 <_findNode+0x185>
cmpl   $0x0,-0x2c(%rbp)
jl     1285 <_findNode+0x185>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1285 <_findNode+0x185>
cmpl   $0x0,-0x28(%rbp)
jl     1285 <_findNode+0x185>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1285 <_findNode+0x185>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1280 <_findNode+0x180>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1285 <_findNode+0x185>
mov    0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1336 <_findNode+0x236>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1336 <_findNode+0x236>
cmpl   $0x0,-0x2c(%rbp)
jl     1336 <_findNode+0x236>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1336 <_findNode+0x236>
cmpl   $0x0,-0x28(%rbp)
jl     1336 <_findNode+0x236>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1336 <_findNode+0x236>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1331 <_findNode+0x231>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1336 <_findNode+0x236>
mov    0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     13e7 <_findNode+0x2e7>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    13e7 <_findNode+0x2e7>
cmpl   $0x0,-0x2c(%rbp)
jl     13e7 <_findNode+0x2e7>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    13e7 <_findNode+0x2e7>
cmpl   $0x0,-0x28(%rbp)
jl     13e7 <_findNode+0x2e7>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    13e7 <_findNode+0x2e7>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     13e2 <_findNode+0x2e2>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    13e7 <_findNode+0x2e7>
mov    0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1498 <_findNode+0x398>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1498 <_findNode+0x398>
cmpl   $0x0,-0x2c(%rbp)
jl     1498 <_findNode+0x398>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1498 <_findNode+0x398>
cmpl   $0x0,-0x28(%rbp)
jl     1498 <_findNode+0x398>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1498 <_findNode+0x398>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1493 <_findNode+0x393>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1498 <_findNode+0x398>
mov    0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1549 <_findNode+0x449>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1549 <_findNode+0x449>
cmpl   $0x0,-0x2c(%rbp)
jl     1549 <_findNode+0x449>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1549 <_findNode+0x449>
cmpl   $0x0,-0x28(%rbp)
jl     1549 <_findNode+0x449>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1549 <_findNode+0x449>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1544 <_findNode+0x444>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1549 <_findNode+0x449>
mov    0x10(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     15fd <_findNode+0x4fd>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    15fd <_findNode+0x4fd>
cmpl   $0x0,-0x2c(%rbp)
jl     15fd <_findNode+0x4fd>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    15fd <_findNode+0x4fd>
cmpl   $0x0,-0x28(%rbp)
jl     15fd <_findNode+0x4fd>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    15fd <_findNode+0x4fd>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     15f8 <_findNode+0x4f8>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    15fd <_findNode+0x4fd>
mov    0x10(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     16b1 <_findNode+0x5b1>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    16b1 <_findNode+0x5b1>
cmpl   $0x0,-0x2c(%rbp)
jl     16b1 <_findNode+0x5b1>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    16b1 <_findNode+0x5b1>
cmpl   $0x0,-0x28(%rbp)
jl     16b1 <_findNode+0x5b1>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    16b1 <_findNode+0x5b1>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     16ac <_findNode+0x5ac>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    16b1 <_findNode+0x5b1>
mov    0x10(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1765 <_findNode+0x665>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1765 <_findNode+0x665>
cmpl   $0x0,-0x2c(%rbp)
jl     1765 <_findNode+0x665>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1765 <_findNode+0x665>
cmpl   $0x0,-0x28(%rbp)
jl     1765 <_findNode+0x665>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1765 <_findNode+0x665>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1760 <_findNode+0x660>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1765 <_findNode+0x665>
mov    0x10(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1819 <_findNode+0x719>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1819 <_findNode+0x719>
cmpl   $0x0,-0x2c(%rbp)
jl     1819 <_findNode+0x719>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1819 <_findNode+0x719>
cmpl   $0x0,-0x28(%rbp)
jl     1819 <_findNode+0x719>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1819 <_findNode+0x719>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1814 <_findNode+0x714>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1819 <_findNode+0x719>
mov    0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     18cd <_findNode+0x7cd>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    18cd <_findNode+0x7cd>
cmpl   $0x0,-0x2c(%rbp)
jl     18cd <_findNode+0x7cd>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    18cd <_findNode+0x7cd>
cmpl   $0x0,-0x28(%rbp)
jl     18cd <_findNode+0x7cd>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    18cd <_findNode+0x7cd>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     18c8 <_findNode+0x7c8>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    18cd <_findNode+0x7cd>
mov    0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1981 <_findNode+0x881>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1981 <_findNode+0x881>
cmpl   $0x0,-0x2c(%rbp)
jl     1981 <_findNode+0x881>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1981 <_findNode+0x881>
cmpl   $0x0,-0x28(%rbp)
jl     1981 <_findNode+0x881>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1981 <_findNode+0x881>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     197c <_findNode+0x87c>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1981 <_findNode+0x881>
mov    0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1a35 <_findNode+0x935>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1a35 <_findNode+0x935>
cmpl   $0x0,-0x2c(%rbp)
jl     1a35 <_findNode+0x935>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1a35 <_findNode+0x935>
cmpl   $0x0,-0x28(%rbp)
jl     1a35 <_findNode+0x935>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1a35 <_findNode+0x935>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1a30 <_findNode+0x930>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1a35 <_findNode+0x935>
mov    0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1ae9 <_findNode+0x9e9>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1ae9 <_findNode+0x9e9>
cmpl   $0x0,-0x2c(%rbp)
jl     1ae9 <_findNode+0x9e9>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1ae9 <_findNode+0x9e9>
cmpl   $0x0,-0x28(%rbp)
jl     1ae9 <_findNode+0x9e9>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1ae9 <_findNode+0x9e9>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1ae4 <_findNode+0x9e4>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1ae9 <_findNode+0x9e9>
mov    0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1b9d <_findNode+0xa9d>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1b9d <_findNode+0xa9d>
cmpl   $0x0,-0x2c(%rbp)
jl     1b9d <_findNode+0xa9d>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1b9d <_findNode+0xa9d>
cmpl   $0x0,-0x28(%rbp)
jl     1b9d <_findNode+0xa9d>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1b9d <_findNode+0xa9d>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1b98 <_findNode+0xa98>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1b9d <_findNode+0xa9d>
mov    0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1c51 <_findNode+0xb51>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1c51 <_findNode+0xb51>
cmpl   $0x0,-0x2c(%rbp)
jl     1c51 <_findNode+0xb51>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1c51 <_findNode+0xb51>
cmpl   $0x0,-0x28(%rbp)
jl     1c51 <_findNode+0xb51>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1c51 <_findNode+0xb51>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1c4c <_findNode+0xb4c>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1c51 <_findNode+0xb51>
mov    0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1d05 <_findNode+0xc05>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1d05 <_findNode+0xc05>
cmpl   $0x0,-0x2c(%rbp)
jl     1d05 <_findNode+0xc05>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1d05 <_findNode+0xc05>
cmpl   $0x0,-0x28(%rbp)
jl     1d05 <_findNode+0xc05>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1d05 <_findNode+0xc05>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1d00 <_findNode+0xc00>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1d05 <_findNode+0xc05>
mov    0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1db9 <_findNode+0xcb9>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1db9 <_findNode+0xcb9>
cmpl   $0x0,-0x2c(%rbp)
jl     1db9 <_findNode+0xcb9>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1db9 <_findNode+0xcb9>
cmpl   $0x0,-0x28(%rbp)
jl     1db9 <_findNode+0xcb9>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1db9 <_findNode+0xcb9>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1db4 <_findNode+0xcb4>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1db9 <_findNode+0xcb9>
mov    0x10(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1e70 <_findNode+0xd70>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1e70 <_findNode+0xd70>
cmpl   $0x0,-0x2c(%rbp)
jl     1e70 <_findNode+0xd70>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1e70 <_findNode+0xd70>
cmpl   $0x0,-0x28(%rbp)
jl     1e70 <_findNode+0xd70>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1e70 <_findNode+0xd70>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1e6b <_findNode+0xd6b>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1e70 <_findNode+0xd70>
mov    0x10(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1f27 <_findNode+0xe27>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1f27 <_findNode+0xe27>
cmpl   $0x0,-0x2c(%rbp)
jl     1f27 <_findNode+0xe27>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1f27 <_findNode+0xe27>
cmpl   $0x0,-0x28(%rbp)
jl     1f27 <_findNode+0xe27>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1f27 <_findNode+0xe27>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1f22 <_findNode+0xe22>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1f27 <_findNode+0xe27>
mov    0x10(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     1fde <_findNode+0xede>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    1fde <_findNode+0xede>
cmpl   $0x0,-0x2c(%rbp)
jl     1fde <_findNode+0xede>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1fde <_findNode+0xede>
cmpl   $0x0,-0x28(%rbp)
jl     1fde <_findNode+0xede>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1fde <_findNode+0xede>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     1fd9 <_findNode+0xed9>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    1fde <_findNode+0xede>
mov    0x10(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     2095 <_findNode+0xf95>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    2095 <_findNode+0xf95>
cmpl   $0x0,-0x2c(%rbp)
jl     2095 <_findNode+0xf95>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    2095 <_findNode+0xf95>
cmpl   $0x0,-0x28(%rbp)
jl     2095 <_findNode+0xf95>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2095 <_findNode+0xf95>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     2090 <_findNode+0xf90>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    2095 <_findNode+0xf95>
mov    0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     214c <_findNode+0x104c>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    214c <_findNode+0x104c>
cmpl   $0x0,-0x2c(%rbp)
jl     214c <_findNode+0x104c>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    214c <_findNode+0x104c>
cmpl   $0x0,-0x28(%rbp)
jl     214c <_findNode+0x104c>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    214c <_findNode+0x104c>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     2147 <_findNode+0x1047>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    214c <_findNode+0x104c>
mov    0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     2203 <_findNode+0x1103>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    2203 <_findNode+0x1103>
cmpl   $0x0,-0x2c(%rbp)
jl     2203 <_findNode+0x1103>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    2203 <_findNode+0x1103>
cmpl   $0x0,-0x28(%rbp)
jl     2203 <_findNode+0x1103>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2203 <_findNode+0x1103>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     21fe <_findNode+0x10fe>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    2203 <_findNode+0x1103>
mov    0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     22ba <_findNode+0x11ba>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    22ba <_findNode+0x11ba>
cmpl   $0x0,-0x2c(%rbp)
jl     22ba <_findNode+0x11ba>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    22ba <_findNode+0x11ba>
cmpl   $0x0,-0x28(%rbp)
jl     22ba <_findNode+0x11ba>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    22ba <_findNode+0x11ba>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     22b5 <_findNode+0x11b5>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    22ba <_findNode+0x11ba>
mov    0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x30(%rbp)
jl     2371 <_findNode+0x1271>
mov    -0x30(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    2371 <_findNode+0x1271>
cmpl   $0x0,-0x2c(%rbp)
jl     2371 <_findNode+0x1271>
mov    -0x2c(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    2371 <_findNode+0x1271>
cmpl   $0x0,-0x28(%rbp)
jl     2371 <_findNode+0x1271>
mov    -0x28(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    2371 <_findNode+0x1271>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     236c <_findNode+0x126c>
mov    -0x10(%rbp),%rax
mov    -0x2c(%rbp),%ecx
imul   -0x14(%rbp),%ecx
add    -0x28(%rbp),%ecx
mov    -0x30(%rbp),%edx
imul   -0x14(%rbp),%edx
imul   -0x18(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
mov    %eax,-0x4(%rbp)
jmp    2378 <_findNode+0x1278>
jmp    2371 <_findNode+0x1271>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<_findNode>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
mov    0x38(%rsp),%ebx
lea    -0x1(%rbx),%r10d
test   %ebx,%ebx
jle    1154 <_findNode+0x54>
test   %r9d,%r9d
js     114e <_findNode+0x4e>
cmp    %ecx,%ebx
jg     114e <_findNode+0x4e>
cmp    %esi,%r8d
jge    114e <_findNode+0x4e>
test   %r8d,%r8d
js     114e <_findNode+0x4e>
cmp    %edx,%r9d
jge    114e <_findNode+0x4e>
mov    %r10d,%eax
imul   %edx,%eax
add    %r9d,%eax
imul   %esi,%eax
add    %r8d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
lea    0x1(%rbx),%r15d
jmp    1161 <_findNode+0x61>
lea    0x1(%rbx),%r15d
cmp    $0xffffffff,%ebx
jl     12aa <_findNode+0x1aa>
test   %r9d,%r9d
js     119a <_findNode+0x9a>
cmp    %ecx,%r15d
jge    119a <_findNode+0x9a>
cmp    %esi,%r8d
jge    119a <_findNode+0x9a>
test   %r8d,%r8d
js     119a <_findNode+0x9a>
cmp    %edx,%r9d
jge    119a <_findNode+0x9a>
mov    %r15d,%eax
imul   %edx,%eax
add    %r9d,%eax
imul   %esi,%eax
add    %r8d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
lea    -0x1(%r9),%eax
mov    %eax,-0x4(%rsp)
test   %ebx,%ebx
js     12a5 <_findNode+0x1a5>
test   %r9d,%r9d
jle    11e3 <_findNode+0xe3>
cmp    %ecx,%ebx
jge    11e3 <_findNode+0xe3>
cmp    %esi,%r8d
jge    11e3 <_findNode+0xe3>
test   %r8d,%r8d
js     11e3 <_findNode+0xe3>
cmp    %edx,%r9d
jg     11e3 <_findNode+0xe3>
mov    %ebx,%ebp
imul   %edx,%ebp
add    -0x4(%rsp),%ebp
imul   %esi,%ebp
add    %r8d,%ebp
movslq %ebp,%rbp
movzwl (%rdi,%rbp,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
lea    0x1(%r9),%r11d
cmp    $0xffffffff,%r9d
jl     1220 <_findNode+0x120>
cmp    %ecx,%ebx
jge    1220 <_findNode+0x120>
cmp    %esi,%r8d
jge    1220 <_findNode+0x120>
test   %r8d,%r8d
js     1220 <_findNode+0x120>
cmp    %edx,%r11d
jge    1220 <_findNode+0x120>
mov    %ebx,%ebp
imul   %edx,%ebp
add    %r11d,%ebp
imul   %esi,%ebp
add    %r8d,%ebp
movslq %ebp,%rbp
movzwl (%rdi,%rbp,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
lea    -0x1(%r8),%eax
mov    %eax,-0x8(%rsp)
test   %r9d,%r9d
js     12d0 <_findNode+0x1d0>
cmp    %ecx,%ebx
jge    12d0 <_findNode+0x1d0>
cmp    %esi,%r8d
jg     1269 <_findNode+0x169>
test   %r8d,%r8d
jle    1269 <_findNode+0x169>
cmp    %edx,%r9d
jge    1269 <_findNode+0x169>
mov    %ebx,%ebp
imul   %edx,%ebp
add    %r9d,%ebp
imul   %esi,%ebp
add    -0x8(%rsp),%ebp
movslq %ebp,%rbp
movzwl (%rdi,%rbp,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
lea    0x1(%r8),%r12d
mov    $0x1,%r13b
cmp    $0xffffffff,%r8d
jl     12d7 <_findNode+0x1d7>
cmp    %edx,%r9d
jge    12d7 <_findNode+0x1d7>
cmp    %esi,%r12d
jge    12d7 <_findNode+0x1d7>
mov    %ebx,%ebp
imul   %edx,%ebp
add    %r9d,%ebp
imul   %esi,%ebp
add    %r12d,%ebp
movslq %ebp,%rbp
movzwl (%rdi,%rbp,2),%r14d
mov    $0x1,%bpl
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
jmp    12c7 <_findNode+0x1c7>
mov    $0x1,%r13b
jmp    12b5 <_findNode+0x1b5>
lea    -0x1(%r9),%eax
mov    %eax,-0x4(%rsp)
xor    %r13d,%r13d
lea    0x1(%r9),%r11d
lea    -0x1(%r8),%eax
mov    %eax,-0x8(%rsp)
lea    0x1(%r8),%r12d
xor    %ebp,%ebp
test   %ebx,%ebx
jg     12e2 <_findNode+0x1e2>
jmp    13bd <_findNode+0x2bd>
lea    0x1(%r8),%r12d
mov    $0x1,%r13b
mov    $0x1,%bpl
test   %ebx,%ebx
jle    13bd <_findNode+0x2bd>
test   %r9d,%r9d
jle    131b <_findNode+0x21b>
cmp    %ecx,%ebx
jg     131b <_findNode+0x21b>
cmp    %esi,%r8d
jge    131b <_findNode+0x21b>
test   %r8d,%r8d
js     131b <_findNode+0x21b>
cmp    %edx,%r9d
jg     131b <_findNode+0x21b>
mov    %r10d,%eax
imul   %edx,%eax
add    -0x4(%rsp),%eax
imul   %esi,%eax
add    %r8d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r9d
jl     1354 <_findNode+0x254>
cmp    %ecx,%ebx
jg     1354 <_findNode+0x254>
cmp    %esi,%r8d
jge    1354 <_findNode+0x254>
test   %r8d,%r8d
js     1354 <_findNode+0x254>
cmp    %edx,%r11d
jge    1354 <_findNode+0x254>
mov    %r10d,%eax
imul   %edx,%eax
add    %r11d,%eax
imul   %esi,%eax
add    %r8d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
test   %r9d,%r9d
js     13bd <_findNode+0x2bd>
cmp    %ecx,%ebx
jg     13bd <_findNode+0x2bd>
cmp    %esi,%r8d
jg     138d <_findNode+0x28d>
test   %r8d,%r8d
jle    138d <_findNode+0x28d>
cmp    %edx,%r9d
jge    138d <_findNode+0x28d>
mov    %r10d,%eax
imul   %edx,%eax
add    %r9d,%eax
imul   %esi,%eax
add    -0x8(%rsp),%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r8d
jl     13bd <_findNode+0x2bd>
cmp    %edx,%r9d
jge    13bd <_findNode+0x2bd>
cmp    %esi,%r12d
jge    13bd <_findNode+0x2bd>
mov    %r10d,%eax
imul   %edx,%eax
add    %r9d,%eax
imul   %esi,%eax
add    %r12d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
test   %r13b,%r13b
je     14a4 <_findNode+0x3a4>
test   %r9d,%r9d
jle    1400 <_findNode+0x300>
cmp    %ecx,%r15d
jge    1400 <_findNode+0x300>
cmp    %esi,%r8d
jge    1400 <_findNode+0x300>
test   %r8d,%r8d
js     1400 <_findNode+0x300>
cmp    %edx,%r9d
jg     1400 <_findNode+0x300>
mov    %r15d,%eax
imul   %edx,%eax
add    -0x4(%rsp),%eax
imul   %esi,%eax
add    %r8d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r9d
jl     143a <_findNode+0x33a>
cmp    %ecx,%r15d
jge    143a <_findNode+0x33a>
cmp    %esi,%r8d
jge    143a <_findNode+0x33a>
test   %r8d,%r8d
js     143a <_findNode+0x33a>
cmp    %edx,%r11d
jge    143a <_findNode+0x33a>
mov    %r15d,%eax
imul   %edx,%eax
add    %r11d,%eax
imul   %esi,%eax
add    %r8d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
test   %r9d,%r9d
js     14a4 <_findNode+0x3a4>
cmp    %ecx,%r15d
jge    14a4 <_findNode+0x3a4>
cmp    %esi,%r8d
jg     1474 <_findNode+0x374>
test   %r8d,%r8d
jle    1474 <_findNode+0x374>
cmp    %edx,%r9d
jge    1474 <_findNode+0x374>
mov    %r15d,%eax
imul   %edx,%eax
add    %r9d,%eax
imul   %esi,%eax
add    -0x8(%rsp),%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r8d
jl     14a4 <_findNode+0x3a4>
cmp    %edx,%r9d
jge    14a4 <_findNode+0x3a4>
cmp    %esi,%r12d
jge    14a4 <_findNode+0x3a4>
mov    %r15d,%eax
imul   %edx,%eax
add    %r9d,%eax
imul   %esi,%eax
add    %r12d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
test   %bpl,%bpl
je     157e <_findNode+0x47e>
test   %r9d,%r9d
jle    1516 <_findNode+0x416>
cmp    %ecx,%ebx
jge    1516 <_findNode+0x416>
cmp    %esi,%r8d
jg     14e6 <_findNode+0x3e6>
test   %r8d,%r8d
jle    14e6 <_findNode+0x3e6>
cmp    %edx,%r9d
jg     14e6 <_findNode+0x3e6>
mov    %ebx,%eax
imul   %edx,%eax
add    -0x4(%rsp),%eax
imul   %esi,%eax
add    -0x8(%rsp),%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r8d
jl     1516 <_findNode+0x416>
cmp    %edx,%r9d
jg     1516 <_findNode+0x416>
cmp    %esi,%r12d
jge    1516 <_findNode+0x416>
mov    %ebx,%eax
imul   %edx,%eax
add    -0x4(%rsp),%eax
imul   %esi,%eax
add    %r12d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r9d
jl     157e <_findNode+0x47e>
cmp    %ecx,%ebx
jge    157e <_findNode+0x47e>
cmp    %esi,%r8d
jg     154f <_findNode+0x44f>
test   %r8d,%r8d
jle    154f <_findNode+0x44f>
cmp    %edx,%r11d
jge    154f <_findNode+0x44f>
mov    %ebx,%eax
imul   %edx,%eax
add    %r11d,%eax
imul   %esi,%eax
add    -0x8(%rsp),%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r8d
jl     157e <_findNode+0x47e>
cmp    %edx,%r11d
jge    157e <_findNode+0x47e>
cmp    %esi,%r12d
jge    157e <_findNode+0x47e>
mov    %ebx,%eax
imul   %edx,%eax
add    %r11d,%eax
imul   %esi,%eax
add    %r12d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
test   %ebx,%ebx
jle    165b <_findNode+0x55b>
test   %r9d,%r9d
jle    15f1 <_findNode+0x4f1>
cmp    %ecx,%ebx
jg     15f1 <_findNode+0x4f1>
cmp    %esi,%r8d
jg     15c0 <_findNode+0x4c0>
test   %r8d,%r8d
jle    15c0 <_findNode+0x4c0>
cmp    %edx,%r9d
jg     15c0 <_findNode+0x4c0>
mov    %r10d,%eax
imul   %edx,%eax
add    -0x4(%rsp),%eax
imul   %esi,%eax
add    -0x8(%rsp),%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r8d
jl     15f1 <_findNode+0x4f1>
cmp    %edx,%r9d
jg     15f1 <_findNode+0x4f1>
cmp    %esi,%r12d
jge    15f1 <_findNode+0x4f1>
mov    %r10d,%eax
imul   %edx,%eax
add    -0x4(%rsp),%eax
imul   %esi,%eax
add    %r12d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r9d
jl     165b <_findNode+0x55b>
cmp    %ecx,%ebx
jg     165b <_findNode+0x55b>
cmp    %esi,%r8d
jg     162b <_findNode+0x52b>
test   %r8d,%r8d
jle    162b <_findNode+0x52b>
cmp    %edx,%r11d
jge    162b <_findNode+0x52b>
mov    %r10d,%eax
imul   %edx,%eax
add    %r11d,%eax
imul   %esi,%eax
add    -0x8(%rsp),%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r8d
jl     165b <_findNode+0x55b>
cmp    %edx,%r11d
jge    165b <_findNode+0x55b>
cmp    %esi,%r12d
jge    165b <_findNode+0x55b>
imul   %edx,%r10d
add    %r11d,%r10d
imul   %esi,%r10d
add    %r12d,%r10d
movslq %r10d,%rax
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
test   %r13b,%r13b
je     172f <_findNode+0x62f>
test   %r9d,%r9d
jle    16cc <_findNode+0x5cc>
cmp    %ecx,%r15d
jge    16cc <_findNode+0x5cc>
cmp    %esi,%r8d
jg     169f <_findNode+0x59f>
test   %r8d,%r8d
jle    169f <_findNode+0x59f>
cmp    %edx,%r9d
jg     169f <_findNode+0x59f>
mov    %r15d,%eax
imul   %edx,%eax
add    -0x4(%rsp),%eax
imul   %esi,%eax
add    -0x8(%rsp),%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r8d
jl     16cc <_findNode+0x5cc>
cmp    %edx,%r9d
jg     16cc <_findNode+0x5cc>
cmp    %esi,%r12d
jge    16cc <_findNode+0x5cc>
mov    %r15d,%eax
imul   %edx,%eax
add    -0x4(%rsp),%eax
imul   %esi,%eax
add    %r12d,%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r9d
jl     172f <_findNode+0x62f>
cmp    %ecx,%r15d
jge    172f <_findNode+0x62f>
cmp    %esi,%r8d
jg     1703 <_findNode+0x603>
test   %r8d,%r8d
jle    1703 <_findNode+0x603>
cmp    %edx,%r11d
jge    1703 <_findNode+0x603>
mov    %r15d,%eax
imul   %edx,%eax
add    %r11d,%eax
imul   %esi,%eax
add    -0x8(%rsp),%eax
cltq
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
cmp    $0xffffffff,%r8d
jl     172f <_findNode+0x62f>
cmp    %edx,%r11d
jge    172f <_findNode+0x62f>
cmp    %esi,%r12d
jge    172f <_findNode+0x62f>
imul   %edx,%r15d
add    %r11d,%r15d
imul   %esi,%r15d
add    %r12d,%r15d
movslq %r15d,%rax
movzwl (%rdi,%rax,2),%r14d
test   %r14w,%r14w
jne    1732 <_findNode+0x632>
xor    %r14d,%r14d
movzwl %r14w,%eax
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

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