int verif_urm_poz(int harta[][30], int row, int col, int tip_piesa,
                  int tip_rotatie) {
  if (tip_piesa == 1) {
    if (harta[row + 2][col] != 0 || harta[row + 2][col - 1] != 0)
      return 1;
    else
      return 0;
  }
  if (tip_piesa == 2) {
    if (tip_rotatie % 2 == 0)
      if (harta[row + 1][col] != 0 || harta[row + 1][col - 1] != 0 ||
          harta[row + 1][col - 2] != 0 || harta[row + 1][col + 1] != 0)
        return 1;
    if (tip_rotatie % 2 == 1)
      if (harta[row + 3][col] != 0)
        return 1;
    return 0;
  }
  if (tip_piesa == 3) {
    if (tip_rotatie % 2 == 0) {
      if (harta[row + 1][col] != 0 || harta[row + 2][col + 1] != 0)
        return 1;
    } else {
      if (harta[row + 2][col - 1] != 0 || harta[row + 2][col] != 0 ||
          harta[row + 1][col + 1] != 0)
        return 1;
    }
    return 0;
  }
  if (tip_piesa == 4) {
    if (tip_rotatie % 2 == 0) {
      if (harta[row + 2][col] != 0 || harta[row + 1][col + 1] != 0)
        return 1;
    } else {
      if (harta[row + 1][col - 1] != 0 || harta[row + 2][col] != 0 ||
          harta[row + 2][col + 1] != 0)
        return 1;
    }
    return 0;
  }
  if (tip_piesa == 5) {
    if (tip_rotatie % 4 == 0) {
      if (harta[row + 1][col] != 0 || harta[row + 1][col + 1] != 0 ||
          harta[row + 2][col - 1] != 0)
        return 1;
    }
    if (tip_rotatie % 4 == 1) {
      if (harta[row + 2][col] != 0 || harta[row + 2][col + 1] != 0)
        return 1;
    }
    if (tip_rotatie % 4 == 2) {
      if (harta[row + 1][col] != 0 || harta[row + 1][col + 1] != 0 ||
          harta[row + 1][col - 1] != 0)
        return 1;
    }
    if (tip_rotatie % 4 == 3) {
      if (harta[row][col - 1] != 0 || harta[row + 2][col] != 0)
        return 1;
    }
    return 0;
  }
  if (tip_piesa == 6) {
    if (tip_rotatie % 4 == 0) {
      if (harta[row + 1][col] != 0 || harta[row + 1][col - 1] != 0 ||
          harta[row + 2][col + 1] != 0)
        return 1;
    }
    if (tip_rotatie % 4 == 1) {
      if (harta[row + 2][col] != 0 || harta[row][col + 1] != 0)
        return 1;
    }
    if (tip_rotatie % 4 == 2) {
      if (harta[row + 1][col] != 0 || harta[row + 1][col + 1] != 0 ||
          harta[row + 1][col - 1] != 0)
        return 1;
    }
    if (tip_rotatie % 4 == 3) {
      if (harta[row + 2][col - 1] != 0 || harta[row + 2][col] != 0)
        return 1;
    }
    return 0;
  }
  if (tip_piesa == 7) {
    if (tip_rotatie % 4 == 0) {
      if (harta[row + 1][col] != 0 || harta[row + 1][col - 1] != 0 ||
          harta[row + 2][col] != 0)
        return 1;
    }
    if (tip_rotatie % 4 == 1) {
      if (harta[row + 2][col] != 0 || harta[row + 1][col + 1] != 0)
        return 1;
    }
    if (tip_rotatie % 4 == 2) {
      if (harta[row + 1][col] != 0 || harta[row + 1][col + 1] != 0 ||
          harta[row + 1][col - 1] != 0)
        return 1;
    }
    if (tip_rotatie % 4 == 3) {
      if (harta[row + 1][col - 1] != 0 || harta[row + 2][col] != 0)
        return 1;
    }
    return 0;
  }
  return 0;
}


x86 assembly (clang, -O0):
<verif_urm_poz>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x10(%rbp)
mov    %esi,-0x14(%rbp)
mov    %edx,-0x18(%rbp)
mov    %ecx,-0x1c(%rbp)
mov    %r8d,-0x20(%rbp)
cmpl   $0x1,-0x1c(%rbp)
jne    1180 <verif_urm_poz+0x80>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1168 <verif_urm_poz+0x68>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1174 <verif_urm_poz+0x74>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
movl   $0x0,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
cmpl   $0x2,-0x1c(%rbp)
jne    1299 <verif_urm_poz+0x199>
mov    -0x20(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1246 <verif_urm_poz+0x146>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1235 <verif_urm_poz+0x135>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1235 <verif_urm_poz+0x135>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x2,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1235 <verif_urm_poz+0x135>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1241 <verif_urm_poz+0x141>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1246 <verif_urm_poz+0x146>
mov    -0x20(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    128d <verif_urm_poz+0x18d>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1288 <verif_urm_poz+0x188>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    128d <verif_urm_poz+0x18d>
movl   $0x0,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
cmpl   $0x3,-0x1c(%rbp)
jne    139e <verif_urm_poz+0x29e>
mov    -0x20(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1311 <verif_urm_poz+0x211>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1300 <verif_urm_poz+0x200>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     130c <verif_urm_poz+0x20c>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1392 <verif_urm_poz+0x292>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1381 <verif_urm_poz+0x281>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1381 <verif_urm_poz+0x281>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     138d <verif_urm_poz+0x28d>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1392 <verif_urm_poz+0x292>
movl   $0x0,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
cmpl   $0x4,-0x1c(%rbp)
jne    14a3 <verif_urm_poz+0x3a3>
mov    -0x20(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1416 <verif_urm_poz+0x316>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1405 <verif_urm_poz+0x305>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1411 <verif_urm_poz+0x311>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1497 <verif_urm_poz+0x397>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1486 <verif_urm_poz+0x386>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1486 <verif_urm_poz+0x386>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1492 <verif_urm_poz+0x392>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1497 <verif_urm_poz+0x397>
movl   $0x0,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
cmpl   $0x5,-0x1c(%rbp)
jne    16ba <verif_urm_poz+0x5ba>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1542 <verif_urm_poz+0x442>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1531 <verif_urm_poz+0x431>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1531 <verif_urm_poz+0x431>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     153d <verif_urm_poz+0x43d>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1542 <verif_urm_poz+0x442>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    15b0 <verif_urm_poz+0x4b0>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    159f <verif_urm_poz+0x49f>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     15ab <verif_urm_poz+0x4ab>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    15b0 <verif_urm_poz+0x4b0>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jne    1645 <verif_urm_poz+0x545>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1634 <verif_urm_poz+0x534>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1634 <verif_urm_poz+0x534>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1640 <verif_urm_poz+0x540>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1645 <verif_urm_poz+0x545>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x3,%edx
jne    16ae <verif_urm_poz+0x5ae>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    169d <verif_urm_poz+0x59d>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     16a9 <verif_urm_poz+0x5a9>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    16ae <verif_urm_poz+0x5ae>
movl   $0x0,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
cmpl   $0x6,-0x1c(%rbp)
jne    18d1 <verif_urm_poz+0x7d1>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1759 <verif_urm_poz+0x659>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1748 <verif_urm_poz+0x648>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1748 <verif_urm_poz+0x648>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1754 <verif_urm_poz+0x654>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1759 <verif_urm_poz+0x659>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    17c2 <verif_urm_poz+0x6c2>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    17b1 <verif_urm_poz+0x6b1>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     17bd <verif_urm_poz+0x6bd>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    17c2 <verif_urm_poz+0x6c2>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jne    1857 <verif_urm_poz+0x757>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1846 <verif_urm_poz+0x746>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1846 <verif_urm_poz+0x746>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1852 <verif_urm_poz+0x752>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1857 <verif_urm_poz+0x757>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x3,%edx
jne    18c5 <verif_urm_poz+0x7c5>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    18b4 <verif_urm_poz+0x7b4>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     18c0 <verif_urm_poz+0x7c0>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    18c5 <verif_urm_poz+0x7c5>
movl   $0x0,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
cmpl   $0x7,-0x1c(%rbp)
jne    1ae8 <verif_urm_poz+0x9e8>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    196b <verif_urm_poz+0x86b>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    195a <verif_urm_poz+0x85a>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    195a <verif_urm_poz+0x85a>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1966 <verif_urm_poz+0x866>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    196b <verif_urm_poz+0x86b>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    19d9 <verif_urm_poz+0x8d9>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    19c8 <verif_urm_poz+0x8c8>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     19d4 <verif_urm_poz+0x8d4>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    19d9 <verif_urm_poz+0x8d9>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jne    1a6e <verif_urm_poz+0x96e>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1a5d <verif_urm_poz+0x95d>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1a5d <verif_urm_poz+0x95d>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1a69 <verif_urm_poz+0x969>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1a6e <verif_urm_poz+0x96e>
mov    -0x20(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x3,%edx
jne    1adc <verif_urm_poz+0x9dc>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
jne    1acb <verif_urm_poz+0x9cb>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x78,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1ad7 <verif_urm_poz+0x9d7>
movl   $0x1,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
jmp    1adc <verif_urm_poz+0x9dc>
movl   $0x0,-0x4(%rbp)
jmp    1aef <verif_urm_poz+0x9ef>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<verif_urm_poz>:
xor    %eax,%eax
add    $0xffffffff,%ecx
cmp    $0x6,%ecx
ja     1456 <verif_urm_poz+0x356>
lea    0xeeb(%rip),%rax
movslq (%rax,%rcx,4),%rcx
add    %rax,%rcx
jmp    *%rcx
add    $0x2,%esi
movslq %esi,%rax
movslq %edx,%rcx
imul   $0x78,%rax,%rax
add    %rax,%rdi
mov    $0x1,%eax
cmpl   $0x0,(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
xor    %eax,%eax
cmpl   $0x0,-0x4(%rdi,%rcx,4)
setne  %al
ret
mov    %r8d,%eax
shr    $0x1f,%eax
add    %r8d,%eax
and    $0xfffffffe,%eax
sub    %eax,%r8d
cmp    $0x1,%r8d
je     13b2 <verif_urm_poz+0x2b2>
test   %r8d,%r8d
jne    1457 <verif_urm_poz+0x357>
add    $0x1,%esi
movslq %esi,%rax
movslq %edx,%rcx
imul   $0x78,%rax,%rax
add    %rax,%rdi
mov    $0x1,%eax
cmpl   $0x0,(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
cmpl   $0x0,-0x4(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
cmpl   $0x0,-0x8(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
jmp    13a2 <verif_urm_poz+0x2a2>
test   $0x1,%r8b
jne    136c <verif_urm_poz+0x26c>
lea    0x1(%rsi),%eax
cltq
movslq %edx,%rcx
imul   $0x78,%rax,%rdx
add    %rdi,%rdx
mov    $0x1,%eax
cmpl   $0x0,(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
add    $0x2,%esi
jmp    1398 <verif_urm_poz+0x298>
test   $0x1,%r8b
je     131c <verif_urm_poz+0x21c>
lea    0x1(%rsi),%eax
cltq
movslq %edx,%rcx
imul   $0x78,%rax,%rdx
add    %rdi,%rdx
mov    $0x1,%eax
cmpl   $0x0,-0x4(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
add    $0x2,%esi
movslq %esi,%rdx
imul   $0x78,%rdx,%rdx
add    %rdx,%rdi
jmp    13e1 <verif_urm_poz+0x2e1>
lea    0x3(%r8),%eax
test   %r8d,%r8d
cmovns %r8d,%eax
and    $0xfffffffc,%eax
sub    %eax,%r8d
cmp    $0x3,%r8d
ja     1457 <verif_urm_poz+0x357>
lea    0xe0b(%rip),%rax
movslq (%rax,%r8,4),%rcx
add    %rax,%rcx
jmp    *%rcx
lea    0x1(%rsi),%eax
cltq
movslq %edx,%rcx
imul   $0x78,%rax,%rdx
add    %rdi,%rdx
mov    $0x1,%eax
cmpl   $0x0,(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
cmpl   $0x0,0x4(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
add    $0x2,%esi
movslq %esi,%rdx
imul   $0x78,%rdx,%rdx
add    %rdx,%rdi
jmp    135c <verif_urm_poz+0x25c>
lea    0x3(%r8),%eax
test   %r8d,%r8d
cmovns %r8d,%eax
and    $0xfffffffc,%eax
sub    %eax,%r8d
cmp    $0x3,%r8d
ja     1457 <verif_urm_poz+0x357>
lea    0xd95(%rip),%rax
movslq (%rax,%r8,4),%rcx
add    %rax,%rcx
jmp    *%rcx
lea    0x1(%rsi),%eax
cltq
movslq %edx,%rcx
imul   $0x78,%rax,%rdx
add    %rdi,%rdx
mov    $0x1,%eax
cmpl   $0x0,(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
cmpl   $0x0,-0x4(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
jmp    11cc <verif_urm_poz+0xcc>
lea    0x3(%r8),%eax
test   %r8d,%r8d
cmovns %r8d,%eax
and    $0xfffffffc,%eax
sub    %eax,%r8d
cmp    $0x3,%r8d
ja     1457 <verif_urm_poz+0x357>
lea    0xd2c(%rip),%rax
movslq (%rax,%r8,4),%rcx
add    %rax,%rcx
jmp    *%rcx
lea    0x1(%rsi),%eax
cltq
movslq %edx,%rcx
imul   $0x78,%rax,%rdx
add    %rdi,%rdx
mov    $0x1,%eax
cmpl   $0x0,(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
jmp    143c <verif_urm_poz+0x33c>
lea    0x2(%rsi),%eax
cltq
movslq %edx,%rcx
imul   $0x78,%rax,%rdx
add    %rdi,%rdx
mov    $0x1,%eax
jmp    138b <verif_urm_poz+0x28b>
add    $0x1,%esi
movslq %esi,%rax
movslq %edx,%rcx
imul   $0x78,%rax,%rax
add    %rax,%rdi
mov    $0x1,%eax
cmpl   $0x0,(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
cmpl   $0x0,0x4(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
cmpl   $0x0,-0x4(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
jmp    1457 <verif_urm_poz+0x357>
lea    0x2(%rsi),%eax
cltq
movslq %edx,%rcx
imul   $0x78,%rax,%rdx
add    %rdi,%rdx
mov    $0x1,%eax
cmpl   $0x0,-0x4(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
cmpl   $0x0,(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
add    $0x1,%esi
movslq %esi,%rdx
imul   $0x78,%rdx,%rdx
add    %rdx,%rdi
cmpl   $0x0,0x4(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
jmp    1457 <verif_urm_poz+0x357>
add    $0x3,%esi
movslq %esi,%rax
movslq %edx,%rcx
imul   $0x78,%rax,%rax
add    %rax,%rdi
mov    $0x1,%eax
jmp    1450 <verif_urm_poz+0x350>
add    $0x2,%esi
movslq %esi,%rax
movslq %edx,%rcx
imul   $0x78,%rax,%rax
add    %rax,%rdi
mov    $0x1,%eax
cmpl   $0x0,(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
jmp    13a2 <verif_urm_poz+0x2a2>
movslq %esi,%rax
jmp    142d <verif_urm_poz+0x32d>
lea    0x2(%rsi),%eax
cltq
movslq %edx,%rcx
imul   $0x78,%rax,%rdx
add    %rdi,%rdx
mov    $0x1,%eax
cmpl   $0x0,(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
jmp    1398 <verif_urm_poz+0x298>
add    $0x2,%esi
movslq %esi,%rax
movslq %edx,%rcx
imul   $0x78,%rax,%rax
add    %rax,%rdi
mov    $0x1,%eax
cmpl   $0x0,-0x4(%rdi,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
jmp    1450 <verif_urm_poz+0x350>
lea    0x1(%rsi),%eax
cltq
movslq %edx,%rcx
imul   $0x78,%rax,%rdx
add    %rdi,%rdx
mov    $0x1,%eax
cmpl   $0x0,-0x4(%rdx,%rcx,4)
jne    1456 <verif_urm_poz+0x356>
add    $0x2,%esi
movslq %esi,%rdx
imul   $0x78,%rdx,%rdx
add    %rdx,%rdi
cmpl   $0x0,(%rdi,%rcx,4)
je     1457 <verif_urm_poz+0x357>
ret
xor    %eax,%eax
ret

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

LLVM IR (-O2):
define i32 @verif_urm_poz([30 x i32]* %0, i32 %1, i32 %2, i32 %3, i32 %4) {
switch i32 %3, label %346 [
i32 1, label %6
i32 2, label %20
i32 3, label %55
i32 4, label %95
i32 5, label %135
i32 6, label %205
i32 7, label %275
]
6: ; preds = %5
%7 = add nsw i32 %1, 2
%8 = sext i32 %7 to i64
%9 = sext i32 %2 to i64
%10 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %8, i64 %9
%11 = load i32, i32* %10
%12 = icmp eq i32 %11, 0
br i1 %12, label %13, label %346
13: ; preds = %6
%14 = add nsw i32 %2, -1
%15 = sext i32 %14 to i64
%16 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %8, i64 %15
%17 = load i32, i32* %16
%18 = icmp ne i32 %17, 0
%19 = zext i1 %18 to i32
br label %346
20: ; preds = %5
%21 = srem i32 %4, 2
switch i32 %21, label %54 [
i32 0, label %22
i32 1, label %47
]
22: ; preds = %20
%23 = add nsw i32 %1, 1
%24 = sext i32 %23 to i64
%25 = sext i32 %2 to i64
%26 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %24, i64 %25
%27 = load i32, i32* %26
%28 = icmp eq i32 %27, 0
br i1 %28, label %29, label %346
29: ; preds = %22
%30 = add nsw i32 %2, -1
%31 = sext i32 %30 to i64
%32 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %24, i64 %31
%33 = load i32, i32* %32
%34 = icmp eq i32 %33, 0
br i1 %34, label %35, label %346
35: ; preds = %29
%36 = add nsw i32 %2, -2
%37 = sext i32 %36 to i64
%38 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %24, i64 %37
%39 = load i32, i32* %38
%40 = icmp eq i32 %39, 0
br i1 %40, label %41, label %346
41: ; preds = %35
%42 = add nsw i32 %2, 1
%43 = sext i32 %42 to i64
%44 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %24, i64 %43
%45 = load i32, i32* %44
%46 = icmp eq i32 %45, 0
br i1 %46, label %54, label %346
47: ; preds = %20
%48 = add nsw i32 %1, 3
%49 = sext i32 %48 to i64
%50 = sext i32 %2 to i64
%51 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %49, i64 %50
%52 = load i32, i32* %51
%53 = icmp eq i32 %52, 0
br i1 %53, label %54, label %346
54: ; preds = %41, %20, %47
br label %346
55: ; preds = %5
%56 = and i32 %4, 1
%57 = icmp eq i32 %56, 0
br i1 %57, label %58, label %73
58: ; preds = %55
%59 = add nsw i32 %1, 1
%60 = sext i32 %59 to i64
%61 = sext i32 %2 to i64
%62 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %60, i64 %61
%63 = load i32, i32* %62
%64 = icmp eq i32 %63, 0
br i1 %64, label %65, label %346
65: ; preds = %58
%66 = add nsw i32 %1, 2
%67 = sext i32 %66 to i64
%68 = add nsw i32 %2, 1
%69 = sext i32 %68 to i64
%70 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %67, i64 %69
%71 = load i32, i32* %70
%72 = icmp eq i32 %71, 0
br i1 %72, label %94, label %346
73: ; preds = %55
%74 = add nsw i32 %1, 2
%75 = sext i32 %74 to i64
%76 = add nsw i32 %2, -1
%77 = sext i32 %76 to i64
%78 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %75, i64 %77
%79 = load i32, i32* %78
%80 = icmp eq i32 %79, 0
br i1 %80, label %81, label %346
81: ; preds = %73
%82 = sext i32 %2 to i64
%83 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %75, i64 %82
%84 = load i32, i32* %83
%85 = icmp eq i32 %84, 0
br i1 %85, label %86, label %346
86: ; preds = %81
%87 = add nsw i32 %1, 1
%88 = sext i32 %87 to i64
%89 = add nsw i32 %2, 1
%90 = sext i32 %89 to i64
%91 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %88, i64 %90
%92 = load i32, i32* %91
%93 = icmp eq i32 %92, 0
br i1 %93, label %94, label %346
94: ; preds = %86, %65
br label %346
95: ; preds = %5
%96 = and i32 %4, 1
%97 = icmp eq i32 %96, 0
br i1 %97, label %98, label %113
98: ; preds = %95
%99 = add nsw i32 %1, 2
%100 = sext i32 %99 to i64
%101 = sext i32 %2 to i64
%102 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %100, i64 %101
%103 = load i32, i32* %102
%104 = icmp eq i32 %103, 0
br i1 %104, label %105, label %346
105: ; preds = %98
%106 = add nsw i32 %1, 1
%107 = sext i32 %106 to i64
%108 = add nsw i32 %2, 1
%109 = sext i32 %108 to i64
%110 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %107, i64 %109
%111 = load i32, i32* %110
%112 = icmp eq i32 %111, 0
br i1 %112, label %134, label %346
113: ; preds = %95
%114 = add nsw i32 %1, 1
%115 = sext i32 %114 to i64
%116 = add nsw i32 %2, -1
%117 = sext i32 %116 to i64
%118 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %115, i64 %117
%119 = load i32, i32* %118
%120 = icmp eq i32 %119, 0
br i1 %120, label %121, label %346
121: ; preds = %113
%122 = add nsw i32 %1, 2
%123 = sext i32 %122 to i64
%124 = sext i32 %2 to i64
%125 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %123, i64 %124
%126 = load i32, i32* %125
%127 = icmp eq i32 %126, 0
br i1 %127, label %128, label %346
128: ; preds = %121
%129 = add nsw i32 %2, 1
%130 = sext i32 %129 to i64
%131 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %123, i64 %130
%132 = load i32, i32* %131
%133 = icmp eq i32 %132, 0
br i1 %133, label %134, label %346
134: ; preds = %128, %105
br label %346
135: ; preds = %5
%136 = srem i32 %4, 4
switch i32 %136, label %204 [
i32 0, label %137
i32 1, label %158
i32 2, label %171
i32 3, label %190
]
137: ; preds = %135
%138 = add nsw i32 %1, 1
%139 = sext i32 %138 to i64
%140 = sext i32 %2 to i64
%141 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %139, i64 %140
%142 = load i32, i32* %141
%143 = icmp eq i32 %142, 0
br i1 %143, label %144, label %346
144: ; preds = %137
%145 = add nsw i32 %2, 1
%146 = sext i32 %145 to i64
%147 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %139, i64 %146
%148 = load i32, i32* %147
%149 = icmp eq i32 %148, 0
br i1 %149, label %150, label %346
150: ; preds = %144
%151 = add nsw i32 %1, 2
%152 = sext i32 %151 to i64
%153 = add nsw i32 %2, -1
%154 = sext i32 %153 to i64
%155 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %152, i64 %154
%156 = load i32, i32* %155
%157 = icmp eq i32 %156, 0
br i1 %157, label %204, label %346
158: ; preds = %135
%159 = add nsw i32 %1, 2
%160 = sext i32 %159 to i64
%161 = sext i32 %2 to i64
%162 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %160, i64 %161
%163 = load i32, i32* %162
%164 = icmp eq i32 %163, 0
br i1 %164, label %165, label %346
165: ; preds = %158
%166 = add nsw i32 %2, 1
%167 = sext i32 %166 to i64
%168 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %160, i64 %167
%169 = load i32, i32* %168
%170 = icmp eq i32 %169, 0
br i1 %170, label %204, label %346
171: ; preds = %135
%172 = add nsw i32 %1, 1
%173 = sext i32 %172 to i64
%174 = sext i32 %2 to i64
%175 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %173, i64 %174
%176 = load i32, i32* %175
%177 = icmp eq i32 %176, 0
br i1 %177, label %178, label %346
178: ; preds = %171
%179 = add nsw i32 %2, 1
%180 = sext i32 %179 to i64
%181 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %173, i64 %180
%182 = load i32, i32* %181
%183 = icmp eq i32 %182, 0
br i1 %183, label %184, label %346
184: ; preds = %178
%185 = add nsw i32 %2, -1
%186 = sext i32 %185 to i64
%187 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %173, i64 %186
%188 = load i32, i32* %187
%189 = icmp eq i32 %188, 0
br i1 %189, label %204, label %346
190: ; preds = %135
%191 = sext i32 %1 to i64
%192 = add nsw i32 %2, -1
%193 = sext i32 %192 to i64
%194 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %191, i64 %193
%195 = load i32, i32* %194
%196 = icmp eq i32 %195, 0
br i1 %196, label %197, label %346
197: ; preds = %190
%198 = add nsw i32 %1, 2
%199 = sext i32 %198 to i64
%200 = sext i32 %2 to i64
%201 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %199, i64 %200
%202 = load i32, i32* %201
%203 = icmp eq i32 %202, 0
br i1 %203, label %204, label %346
204: ; preds = %184, %165, %150, %135, %197
br label %346
205: ; preds = %5
%206 = srem i32 %4, 4
switch i32 %206, label %274 [
i32 0, label %207
i32 1, label %228
i32 2, label %242
i32 3, label %261
]
207: ; preds = %205
%208 = add nsw i32 %1, 1
%209 = sext i32 %208 to i64
%210 = sext i32 %2 to i64
%211 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %209, i64 %210
%212 = load i32, i32* %211
%213 = icmp eq i32 %212, 0
br i1 %213, label %214, label %346
214: ; preds = %207
%215 = add nsw i32 %2, -1
%216 = sext i32 %215 to i64
%217 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %209, i64 %216
%218 = load i32, i32* %217
%219 = icmp eq i32 %218, 0
br i1 %219, label %220, label %346
220: ; preds = %214
%221 = add nsw i32 %1, 2
%222 = sext i32 %221 to i64
%223 = add nsw i32 %2, 1
%224 = sext i32 %223 to i64
%225 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %222, i64 %224
%226 = load i32, i32* %225
%227 = icmp eq i32 %226, 0
br i1 %227, label %274, label %346
228: ; preds = %205
%229 = add nsw i32 %1, 2
%230 = sext i32 %229 to i64
%231 = sext i32 %2 to i64
%232 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %230, i64 %231
%233 = load i32, i32* %232
%234 = icmp eq i32 %233, 0
br i1 %234, label %235, label %346
235: ; preds = %228
%236 = sext i32 %1 to i64
%237 = add nsw i32 %2, 1
%238 = sext i32 %237 to i64
%239 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %236, i64 %238
%240 = load i32, i32* %239
%241 = icmp eq i32 %240, 0
br i1 %241, label %274, label %346
242: ; preds = %205
%243 = add nsw i32 %1, 1
%244 = sext i32 %243 to i64
%245 = sext i32 %2 to i64
%246 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %244, i64 %245
%247 = load i32, i32* %246
%248 = icmp eq i32 %247, 0
br i1 %248, label %249, label %346
249: ; preds = %242
%250 = add nsw i32 %2, 1
%251 = sext i32 %250 to i64
%252 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %244, i64 %251
%253 = load i32, i32* %252
%254 = icmp eq i32 %253, 0
br i1 %254, label %255, label %346
255: ; preds = %249
%256 = add nsw i32 %2, -1
%257 = sext i32 %256 to i64
%258 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %244, i64 %257
%259 = load i32, i32* %258
%260 = icmp eq i32 %259, 0
br i1 %260, label %274, label %346
261: ; preds = %205
%262 = add nsw i32 %1, 2
%263 = sext i32 %262 to i64
%264 = add nsw i32 %2, -1
%265 = sext i32 %264 to i64
%266 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %263, i64 %265
%267 = load i32, i32* %266
%268 = icmp eq i32 %267, 0
br i1 %268, label %269, label %346
269: ; preds = %261
%270 = sext i32 %2 to i64
%271 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %263, i64 %270
%272 = load i32, i32* %271
%273 = icmp eq i32 %272, 0
br i1 %273, label %274, label %346
274: ; preds = %255, %235, %220, %205, %269
br label %346
275: ; preds = %5
%276 = srem i32 %4, 4
switch i32 %276, label %345 [
i32 0, label %277
i32 1, label %296
i32 2, label %311
i32 3, label %330
]
277: ; preds = %275
%278 = add nsw i32 %1, 1
%279 = sext i32 %278 to i64
%280 = sext i32 %2 to i64
%281 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %279, i64 %280
%282 = load i32, i32* %281
%283 = icmp eq i32 %282, 0
br i1 %283, label %284, label %346
284: ; preds = %277
%285 = add nsw i32 %2, -1
%286 = sext i32 %285 to i64
%287 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %279, i64 %286
%288 = load i32, i32* %287
%289 = icmp eq i32 %288, 0
br i1 %289, label %290, label %346
290: ; preds = %284
%291 = add nsw i32 %1, 2
%292 = sext i32 %291 to i64
%293 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %292, i64 %280
%294 = load i32, i32* %293
%295 = icmp eq i32 %294, 0
br i1 %295, label %345, label %346
296: ; preds = %275
%297 = add nsw i32 %1, 2
%298 = sext i32 %297 to i64
%299 = sext i32 %2 to i64
%300 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %298, i64 %299
%301 = load i32, i32* %300
%302 = icmp eq i32 %301, 0
br i1 %302, label %303, label %346
303: ; preds = %296
%304 = add nsw i32 %1, 1
%305 = sext i32 %304 to i64
%306 = add nsw i32 %2, 1
%307 = sext i32 %306 to i64
%308 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %305, i64 %307
%309 = load i32, i32* %308
%310 = icmp eq i32 %309, 0
br i1 %310, label %345, label %346
311: ; preds = %275
%312 = add nsw i32 %1, 1
%313 = sext i32 %312 to i64
%314 = sext i32 %2 to i64
%315 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %313, i64 %314
%316 = load i32, i32* %315
%317 = icmp eq i32 %316, 0
br i1 %317, label %318, label %346
318: ; preds = %311
%319 = add nsw i32 %2, 1
%320 = sext i32 %319 to i64
%321 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %313, i64 %320
%322 = load i32, i32* %321
%323 = icmp eq i32 %322, 0
br i1 %323, label %324, label %346
324: ; preds = %318
%325 = add nsw i32 %2, -1
%326 = sext i32 %325 to i64
%327 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %313, i64 %326
%328 = load i32, i32* %327
%329 = icmp eq i32 %328, 0
br i1 %329, label %345, label %346
330: ; preds = %275
%331 = add nsw i32 %1, 1
%332 = sext i32 %331 to i64
%333 = add nsw i32 %2, -1
%334 = sext i32 %333 to i64
%335 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %332, i64 %334
%336 = load i32, i32* %335
%337 = icmp eq i32 %336, 0
br i1 %337, label %338, label %346
338: ; preds = %330
%339 = add nsw i32 %1, 2
%340 = sext i32 %339 to i64
%341 = sext i32 %2 to i64
%342 = getelementptr inbounds [30 x i32], [30 x i32]* %0, i64 %340, i64 %341
%343 = load i32, i32* %342
%344 = icmp eq i32 %343, 0
br i1 %344, label %345, label %346
345: ; preds = %324, %303, %290, %275, %338
br label %346
346: ; preds = %13, %5, %330, %338, %311, %318, %324, %296, %303, %277, %284, %290, %261, %269, %242, %249, %255, %228, %235, %207, %214, %220, %190, %197, %171, %178, %184, %158, %165, %137, %144, %150, %113, %121, %128, %98, %105, %73, %81, %86, %58, %65, %47, %22, %29, %35, %41, %6, %345, %274, %204, %134, %94, %54
%347 = phi i32 [ 0, %54 ], [ 0, %94 ], [ 0, %134 ], [ 0, %204 ], [ 0, %274 ], [ 0, %345 ], [ 1, %6 ], [ 1, %41 ], [ 1, %35 ], [ 1, %29 ], [ 1, %22 ], [ 1, %47 ], [ 1, %65 ], [ 1, %58 ], [ 1, %86 ], [ 1, %81 ], [ 1, %73 ], [ 1, %105 ], [ 1, %98 ], [ 1, %128 ], [ 1, %121 ], [ 1, %113 ], [ 1, %150 ], [ 1, %144 ], [ 1, %137 ], [ 1, %165 ], [ 1, %158 ], [ 1, %184 ], [ 1, %178 ], [ 1, %171 ], [ 1, %197 ], [ 1, %190 ], [ 1, %220 ], [ 1, %214 ], [ 1, %207 ], [ 1, %235 ], [ 1, %228 ], [ 1, %255 ], [ 1, %249 ], [ 1, %242 ], [ 1, %269 ], [ 1, %261 ], [ 1, %290 ], [ 1, %284 ], [ 1, %277 ], [ 1, %303 ], [ 1, %296 ], [ 1, %324 ], [ 1, %318 ], [ 1, %311 ], [ 1, %338 ], [ 1, %330 ], [ 0, %5 ], [ %19, %13 ]
ret i32 %347
}