void niveldificil(int *tabuleiro0, int *tabuleiro1, int *tabuleiro2,
                  int *tabuleiro3, int *tabuleiro4, int *tabuleiro5,
                  int *tabuleiro6, int *tabuleiro7, int *tabuleiro8,
                  int *turnomaquina, int *mododejogo) {
  int marquei = 0;
  while (marquei == 0) {
    if ((*tabuleiro0 == 1 && *tabuleiro1 == 1 && *tabuleiro2 == 0 &&
         marquei == 0) ||
        (*tabuleiro0 == -1 && *tabuleiro1 == -1 && *tabuleiro2 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro2 = 1;
      else
        *tabuleiro2 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro2 == 1 && *tabuleiro1 == 0 &&
         marquei == 0) ||
        (*tabuleiro0 == -1 && *tabuleiro2 == -1 && *tabuleiro1 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro1 = 1;
      else
        *tabuleiro1 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro3 == 1 && *tabuleiro6 == 0 &&
         marquei == 0) ||
        (*tabuleiro0 == -1 && *tabuleiro3 == -1 && *tabuleiro6 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro6 = 1;
      else
        *tabuleiro6 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro1 == 1 && *tabuleiro2 == 1 && *tabuleiro0 == 0 &&
         marquei == 0) ||
        (*tabuleiro1 == -1 && *tabuleiro2 == -1 && *tabuleiro0 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro0 = 1;
      else
        *tabuleiro0 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro4 == 1 && *tabuleiro8 == 0 &&
         marquei == 0) ||
        (*tabuleiro0 == -1 && *tabuleiro4 == -1 && *tabuleiro8 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro8 = 1;
      else
        *tabuleiro8 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro3 == 1 && *tabuleiro4 == 1 && *tabuleiro5 == 0 &&
         marquei == 0) ||
        (*tabuleiro3 == -1 && *tabuleiro4 == -1 && *tabuleiro5 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro5 = 1;
      else
        *tabuleiro5 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro3 == 1 && *tabuleiro5 == 1 && *tabuleiro4 == 0 &&
         marquei == 0) ||
        (*tabuleiro3 == -1 && *tabuleiro5 == -1 && *tabuleiro4 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro4 == 1 && *tabuleiro5 == 1 && *tabuleiro3 == 0 &&
         marquei == 0) ||
        (*tabuleiro4 == -1 && *tabuleiro5 == -1 && *tabuleiro3 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro3 = 1;
      else
        *tabuleiro3 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro6 == 1 && *tabuleiro7 == 1 && *tabuleiro8 == 0 &&
         marquei == 0) ||
        (*tabuleiro6 == -1 && *tabuleiro7 == -1 && *tabuleiro8 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro8 = 1;
      else
        *tabuleiro8 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro6 == 1 && *tabuleiro8 == 1 && *tabuleiro7 == 0 &&
         marquei == 0) ||
        (*tabuleiro6 == -1 && *tabuleiro8 == -1 && *tabuleiro7 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro7 = 1;
      else
        *tabuleiro7 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro7 == 1 && *tabuleiro8 == 1 && *tabuleiro6 == 0 &&
         marquei == 0) ||
        (*tabuleiro7 == -1 && *tabuleiro8 == -1 && *tabuleiro6 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro6 = 1;
      else
        *tabuleiro6 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro6 == 1 && *tabuleiro3 == 0 &&
         marquei == 0) ||
        (*tabuleiro0 == -1 && *tabuleiro6 == -1 && *tabuleiro3 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro3 = 1;
      else
        *tabuleiro3 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro3 == 1 && *tabuleiro6 == 1 && *tabuleiro0 == 0 &&
         marquei == 0) ||
        (*tabuleiro3 == -1 && *tabuleiro6 == -1 && *tabuleiro0 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro0 = 1;
      else
        *tabuleiro0 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro1 == 1 && *tabuleiro4 == 1 && *tabuleiro7 == 0 &&
         marquei == 0) ||
        (*tabuleiro1 == -1 && *tabuleiro4 == -1 && *tabuleiro7 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro7 = 1;
      else
        *tabuleiro7 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro1 == 1 && *tabuleiro7 == 1 && *tabuleiro4 == 0 &&
         marquei == 0) ||
        (*tabuleiro1 == -1 && *tabuleiro7 == -1 && *tabuleiro4 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro4 == 1 && *tabuleiro7 == 1 && *tabuleiro1 == 0 &&
         marquei == 0) ||
        (*tabuleiro4 == -1 && *tabuleiro7 == -1 && *tabuleiro1 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro1 = 1;
      else
        *tabuleiro1 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro2 == 1 && *tabuleiro5 == 1 && *tabuleiro8 == 0 &&
         marquei == 0) ||
        (*tabuleiro2 == -1 && *tabuleiro5 == -1 && *tabuleiro8 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro8 = 1;
      else
        *tabuleiro8 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro2 == 1 && *tabuleiro8 == 1 && *tabuleiro5 == 0 &&
         marquei == 0) ||
        (*tabuleiro2 == -1 && *tabuleiro8 == -1 && *tabuleiro5 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro5 = 1;
      else
        *tabuleiro5 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro5 == 1 && *tabuleiro8 == 1 && *tabuleiro2 == 0 &&
         marquei == 0) ||
        (*tabuleiro5 == -1 && *tabuleiro8 == -1 && *tabuleiro2 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro2 = 1;
      else
        *tabuleiro2 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro8 == 1 && *tabuleiro4 == 0 &&
         marquei == 0) ||
        (*tabuleiro0 == -1 && *tabuleiro8 == -1 && *tabuleiro4 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro4 == 1 && *tabuleiro8 == 1 && *tabuleiro0 == 0 &&
         marquei == 0) ||
        (*tabuleiro4 == -1 && *tabuleiro8 == -1 && *tabuleiro0 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro0 = 1;
      else
        *tabuleiro0 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro2 == 1 && *tabuleiro4 == 1 && *tabuleiro6 == 0 &&
         marquei == 0) ||
        (*tabuleiro2 == -1 && *tabuleiro4 == -1 && *tabuleiro6 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro6 = 1;
      else
        *tabuleiro6 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro2 == 1 && *tabuleiro6 == 1 && *tabuleiro4 == 0 &&
         marquei == 0) ||
        (*tabuleiro2 == -1 && *tabuleiro6 == -1 && *tabuleiro4 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro4 == 1 && *tabuleiro6 == 1 && *tabuleiro2 == 0 &&
         marquei == 0) ||
        (*tabuleiro4 == -1 && *tabuleiro6 == -1 && *tabuleiro2 == 0 &&
         marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro2 = 1;
      else
        *tabuleiro2 = -1;
      marquei = marquei + 1;
    }
    if (*tabuleiro4 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = 1;
    }
    if (*tabuleiro0 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro0 = 1;
      else
        *tabuleiro0 = -1;
      marquei = 1;
    }
    if (*tabuleiro2 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro2 = 1;
      else
        *tabuleiro2 = -1;
      marquei = 1;
    }
    if (*tabuleiro6 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro6 = 1;
      else
        *tabuleiro6 = -1;
      marquei = 1;
    }
    if (*tabuleiro8 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro8 = 1;
      else
        *tabuleiro8 = -1;
      marquei = 1;
    }
    if (*tabuleiro1 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro1 = 1;
      else
        *tabuleiro1 = -1;
      marquei = 1;
    }
    if (*tabuleiro7 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro7 = 1;
      else
        *tabuleiro7 = -1;
      marquei = 1;
    }
    if (*mododejogo == 2) {
      if (*turnomaquina == 1)
        *turnomaquina = -1;
      else
        *turnomaquina = 1;
    }
  }
}


x86 assembly (clang, -O0):
<niveldificil>:
push   %rbp
mov    %rsp,%rbp
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
movl   $0x0,-0x34(%rbp)
cmpl   $0x0,-0x34(%rbp)
jne    20f2 <niveldificil+0xff2>
mov    -0x8(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1172 <niveldificil+0x72>
mov    -0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1172 <niveldificil+0x72>
mov    -0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1172 <niveldificil+0x72>
cmpl   $0x0,-0x34(%rbp)
je     11a3 <niveldificil+0xa3>
mov    -0x8(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    11d2 <niveldificil+0xd2>
mov    -0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    11d2 <niveldificil+0xd2>
mov    -0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    11d2 <niveldificil+0xd2>
cmpl   $0x0,-0x34(%rbp)
jne    11d2 <niveldificil+0xd2>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    11bf <niveldificil+0xbf>
mov    -0x18(%rbp),%rax
movl   $0x1,(%rax)
jmp    11c9 <niveldificil+0xc9>
mov    -0x18(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x8(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1203 <niveldificil+0x103>
mov    -0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1203 <niveldificil+0x103>
mov    -0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1203 <niveldificil+0x103>
cmpl   $0x0,-0x34(%rbp)
je     1234 <niveldificil+0x134>
mov    -0x8(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1263 <niveldificil+0x163>
mov    -0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1263 <niveldificil+0x163>
mov    -0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1263 <niveldificil+0x163>
cmpl   $0x0,-0x34(%rbp)
jne    1263 <niveldificil+0x163>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1250 <niveldificil+0x150>
mov    -0x10(%rbp),%rax
movl   $0x1,(%rax)
jmp    125a <niveldificil+0x15a>
mov    -0x10(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x8(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1294 <niveldificil+0x194>
mov    -0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1294 <niveldificil+0x194>
mov    0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1294 <niveldificil+0x194>
cmpl   $0x0,-0x34(%rbp)
je     12c5 <niveldificil+0x1c5>
mov    -0x8(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    12f4 <niveldificil+0x1f4>
mov    -0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    12f4 <niveldificil+0x1f4>
mov    0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    12f4 <niveldificil+0x1f4>
cmpl   $0x0,-0x34(%rbp)
jne    12f4 <niveldificil+0x1f4>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    12e1 <niveldificil+0x1e1>
mov    0x10(%rbp),%rax
movl   $0x1,(%rax)
jmp    12eb <niveldificil+0x1eb>
mov    0x10(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1325 <niveldificil+0x225>
mov    -0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1325 <niveldificil+0x225>
mov    -0x8(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1325 <niveldificil+0x225>
cmpl   $0x0,-0x34(%rbp)
je     1356 <niveldificil+0x256>
mov    -0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1385 <niveldificil+0x285>
mov    -0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1385 <niveldificil+0x285>
mov    -0x8(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1385 <niveldificil+0x285>
cmpl   $0x0,-0x34(%rbp)
jne    1385 <niveldificil+0x285>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1372 <niveldificil+0x272>
mov    -0x8(%rbp),%rax
movl   $0x1,(%rax)
jmp    137c <niveldificil+0x27c>
mov    -0x8(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x8(%rbp),%rax
cmpl   $0x1,(%rax)
jne    13b6 <niveldificil+0x2b6>
mov    -0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    13b6 <niveldificil+0x2b6>
mov    0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    13b6 <niveldificil+0x2b6>
cmpl   $0x0,-0x34(%rbp)
je     13e7 <niveldificil+0x2e7>
mov    -0x8(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1416 <niveldificil+0x316>
mov    -0x28(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1416 <niveldificil+0x316>
mov    0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1416 <niveldificil+0x316>
cmpl   $0x0,-0x34(%rbp)
jne    1416 <niveldificil+0x316>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1403 <niveldificil+0x303>
mov    0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    140d <niveldificil+0x30d>
mov    0x20(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1447 <niveldificil+0x347>
mov    -0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1447 <niveldificil+0x347>
mov    -0x30(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1447 <niveldificil+0x347>
cmpl   $0x0,-0x34(%rbp)
je     1478 <niveldificil+0x378>
mov    -0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    14a7 <niveldificil+0x3a7>
mov    -0x28(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    14a7 <niveldificil+0x3a7>
mov    -0x30(%rbp),%rax
cmpl   $0x0,(%rax)
jne    14a7 <niveldificil+0x3a7>
cmpl   $0x0,-0x34(%rbp)
jne    14a7 <niveldificil+0x3a7>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1494 <niveldificil+0x394>
mov    -0x30(%rbp),%rax
movl   $0x1,(%rax)
jmp    149e <niveldificil+0x39e>
mov    -0x30(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    14d8 <niveldificil+0x3d8>
mov    -0x30(%rbp),%rax
cmpl   $0x1,(%rax)
jne    14d8 <niveldificil+0x3d8>
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jne    14d8 <niveldificil+0x3d8>
cmpl   $0x0,-0x34(%rbp)
je     1509 <niveldificil+0x409>
mov    -0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1538 <niveldificil+0x438>
mov    -0x30(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1538 <niveldificil+0x438>
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1538 <niveldificil+0x438>
cmpl   $0x0,-0x34(%rbp)
jne    1538 <niveldificil+0x438>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1525 <niveldificil+0x425>
mov    -0x28(%rbp),%rax
movl   $0x1,(%rax)
jmp    152f <niveldificil+0x42f>
mov    -0x28(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1569 <niveldificil+0x469>
mov    -0x30(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1569 <niveldificil+0x469>
mov    -0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1569 <niveldificil+0x469>
cmpl   $0x0,-0x34(%rbp)
je     159a <niveldificil+0x49a>
mov    -0x28(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    15c9 <niveldificil+0x4c9>
mov    -0x30(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    15c9 <niveldificil+0x4c9>
mov    -0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    15c9 <niveldificil+0x4c9>
cmpl   $0x0,-0x34(%rbp)
jne    15c9 <niveldificil+0x4c9>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    15b6 <niveldificil+0x4b6>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    15c0 <niveldificil+0x4c0>
mov    -0x20(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    15fa <niveldificil+0x4fa>
mov    0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    15fa <niveldificil+0x4fa>
mov    0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    15fa <niveldificil+0x4fa>
cmpl   $0x0,-0x34(%rbp)
je     162b <niveldificil+0x52b>
mov    0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    165a <niveldificil+0x55a>
mov    0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    165a <niveldificil+0x55a>
mov    0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    165a <niveldificil+0x55a>
cmpl   $0x0,-0x34(%rbp)
jne    165a <niveldificil+0x55a>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1647 <niveldificil+0x547>
mov    0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    1651 <niveldificil+0x551>
mov    0x20(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    168b <niveldificil+0x58b>
mov    0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    168b <niveldificil+0x58b>
mov    0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    168b <niveldificil+0x58b>
cmpl   $0x0,-0x34(%rbp)
je     16bc <niveldificil+0x5bc>
mov    0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    16eb <niveldificil+0x5eb>
mov    0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    16eb <niveldificil+0x5eb>
mov    0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    16eb <niveldificil+0x5eb>
cmpl   $0x0,-0x34(%rbp)
jne    16eb <niveldificil+0x5eb>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    16d8 <niveldificil+0x5d8>
mov    0x18(%rbp),%rax
movl   $0x1,(%rax)
jmp    16e2 <niveldificil+0x5e2>
mov    0x18(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    171c <niveldificil+0x61c>
mov    0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    171c <niveldificil+0x61c>
mov    0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    171c <niveldificil+0x61c>
cmpl   $0x0,-0x34(%rbp)
je     174d <niveldificil+0x64d>
mov    0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    177c <niveldificil+0x67c>
mov    0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    177c <niveldificil+0x67c>
mov    0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    177c <niveldificil+0x67c>
cmpl   $0x0,-0x34(%rbp)
jne    177c <niveldificil+0x67c>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1769 <niveldificil+0x669>
mov    0x10(%rbp),%rax
movl   $0x1,(%rax)
jmp    1773 <niveldificil+0x673>
mov    0x10(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x8(%rbp),%rax
cmpl   $0x1,(%rax)
jne    17ad <niveldificil+0x6ad>
mov    0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    17ad <niveldificil+0x6ad>
mov    -0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    17ad <niveldificil+0x6ad>
cmpl   $0x0,-0x34(%rbp)
je     17de <niveldificil+0x6de>
mov    -0x8(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    180d <niveldificil+0x70d>
mov    0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    180d <niveldificil+0x70d>
mov    -0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    180d <niveldificil+0x70d>
cmpl   $0x0,-0x34(%rbp)
jne    180d <niveldificil+0x70d>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    17fa <niveldificil+0x6fa>
mov    -0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    1804 <niveldificil+0x704>
mov    -0x20(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    183e <niveldificil+0x73e>
mov    0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    183e <niveldificil+0x73e>
mov    -0x8(%rbp),%rax
cmpl   $0x0,(%rax)
jne    183e <niveldificil+0x73e>
cmpl   $0x0,-0x34(%rbp)
je     186f <niveldificil+0x76f>
mov    -0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    189e <niveldificil+0x79e>
mov    0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    189e <niveldificil+0x79e>
mov    -0x8(%rbp),%rax
cmpl   $0x0,(%rax)
jne    189e <niveldificil+0x79e>
cmpl   $0x0,-0x34(%rbp)
jne    189e <niveldificil+0x79e>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    188b <niveldificil+0x78b>
mov    -0x8(%rbp),%rax
movl   $0x1,(%rax)
jmp    1895 <niveldificil+0x795>
mov    -0x8(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    18cf <niveldificil+0x7cf>
mov    -0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    18cf <niveldificil+0x7cf>
mov    0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    18cf <niveldificil+0x7cf>
cmpl   $0x0,-0x34(%rbp)
je     1900 <niveldificil+0x800>
mov    -0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    192f <niveldificil+0x82f>
mov    -0x28(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    192f <niveldificil+0x82f>
mov    0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    192f <niveldificil+0x82f>
cmpl   $0x0,-0x34(%rbp)
jne    192f <niveldificil+0x82f>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    191c <niveldificil+0x81c>
mov    0x18(%rbp),%rax
movl   $0x1,(%rax)
jmp    1926 <niveldificil+0x826>
mov    0x18(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1960 <niveldificil+0x860>
mov    0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1960 <niveldificil+0x860>
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1960 <niveldificil+0x860>
cmpl   $0x0,-0x34(%rbp)
je     1991 <niveldificil+0x891>
mov    -0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    19c0 <niveldificil+0x8c0>
mov    0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    19c0 <niveldificil+0x8c0>
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jne    19c0 <niveldificil+0x8c0>
cmpl   $0x0,-0x34(%rbp)
jne    19c0 <niveldificil+0x8c0>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    19ad <niveldificil+0x8ad>
mov    -0x28(%rbp),%rax
movl   $0x1,(%rax)
jmp    19b7 <niveldificil+0x8b7>
mov    -0x28(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    19f1 <niveldificil+0x8f1>
mov    0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    19f1 <niveldificil+0x8f1>
mov    -0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    19f1 <niveldificil+0x8f1>
cmpl   $0x0,-0x34(%rbp)
je     1a22 <niveldificil+0x922>
mov    -0x28(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1a51 <niveldificil+0x951>
mov    0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1a51 <niveldificil+0x951>
mov    -0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1a51 <niveldificil+0x951>
cmpl   $0x0,-0x34(%rbp)
jne    1a51 <niveldificil+0x951>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1a3e <niveldificil+0x93e>
mov    -0x10(%rbp),%rax
movl   $0x1,(%rax)
jmp    1a48 <niveldificil+0x948>
mov    -0x10(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1a82 <niveldificil+0x982>
mov    -0x30(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1a82 <niveldificil+0x982>
mov    0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1a82 <niveldificil+0x982>
cmpl   $0x0,-0x34(%rbp)
je     1ab3 <niveldificil+0x9b3>
mov    -0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1ae2 <niveldificil+0x9e2>
mov    -0x30(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1ae2 <niveldificil+0x9e2>
mov    0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1ae2 <niveldificil+0x9e2>
cmpl   $0x0,-0x34(%rbp)
jne    1ae2 <niveldificil+0x9e2>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1acf <niveldificil+0x9cf>
mov    0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    1ad9 <niveldificil+0x9d9>
mov    0x20(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1b13 <niveldificil+0xa13>
mov    0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1b13 <niveldificil+0xa13>
mov    -0x30(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1b13 <niveldificil+0xa13>
cmpl   $0x0,-0x34(%rbp)
je     1b44 <niveldificil+0xa44>
mov    -0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1b73 <niveldificil+0xa73>
mov    0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1b73 <niveldificil+0xa73>
mov    -0x30(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1b73 <niveldificil+0xa73>
cmpl   $0x0,-0x34(%rbp)
jne    1b73 <niveldificil+0xa73>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1b60 <niveldificil+0xa60>
mov    -0x30(%rbp),%rax
movl   $0x1,(%rax)
jmp    1b6a <niveldificil+0xa6a>
mov    -0x30(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x30(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1ba4 <niveldificil+0xaa4>
mov    0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1ba4 <niveldificil+0xaa4>
mov    -0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1ba4 <niveldificil+0xaa4>
cmpl   $0x0,-0x34(%rbp)
je     1bd5 <niveldificil+0xad5>
mov    -0x30(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1c04 <niveldificil+0xb04>
mov    0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1c04 <niveldificil+0xb04>
mov    -0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1c04 <niveldificil+0xb04>
cmpl   $0x0,-0x34(%rbp)
jne    1c04 <niveldificil+0xb04>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1bf1 <niveldificil+0xaf1>
mov    -0x18(%rbp),%rax
movl   $0x1,(%rax)
jmp    1bfb <niveldificil+0xafb>
mov    -0x18(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x8(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1c35 <niveldificil+0xb35>
mov    0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1c35 <niveldificil+0xb35>
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1c35 <niveldificil+0xb35>
cmpl   $0x0,-0x34(%rbp)
je     1c66 <niveldificil+0xb66>
mov    -0x8(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1c95 <niveldificil+0xb95>
mov    0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1c95 <niveldificil+0xb95>
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1c95 <niveldificil+0xb95>
cmpl   $0x0,-0x34(%rbp)
jne    1c95 <niveldificil+0xb95>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1c82 <niveldificil+0xb82>
mov    -0x28(%rbp),%rax
movl   $0x1,(%rax)
jmp    1c8c <niveldificil+0xb8c>
mov    -0x28(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1cc6 <niveldificil+0xbc6>
mov    0x20(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1cc6 <niveldificil+0xbc6>
mov    -0x8(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1cc6 <niveldificil+0xbc6>
cmpl   $0x0,-0x34(%rbp)
je     1cf7 <niveldificil+0xbf7>
mov    -0x28(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1d26 <niveldificil+0xc26>
mov    0x20(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1d26 <niveldificil+0xc26>
mov    -0x8(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1d26 <niveldificil+0xc26>
cmpl   $0x0,-0x34(%rbp)
jne    1d26 <niveldificil+0xc26>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1d13 <niveldificil+0xc13>
mov    -0x8(%rbp),%rax
movl   $0x1,(%rax)
jmp    1d1d <niveldificil+0xc1d>
mov    -0x8(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1d57 <niveldificil+0xc57>
mov    -0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1d57 <niveldificil+0xc57>
mov    0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1d57 <niveldificil+0xc57>
cmpl   $0x0,-0x34(%rbp)
je     1d88 <niveldificil+0xc88>
mov    -0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1db7 <niveldificil+0xcb7>
mov    -0x28(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1db7 <niveldificil+0xcb7>
mov    0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1db7 <niveldificil+0xcb7>
cmpl   $0x0,-0x34(%rbp)
jne    1db7 <niveldificil+0xcb7>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1da4 <niveldificil+0xca4>
mov    0x10(%rbp),%rax
movl   $0x1,(%rax)
jmp    1dae <niveldificil+0xcae>
mov    0x10(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x18(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1de8 <niveldificil+0xce8>
mov    0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1de8 <niveldificil+0xce8>
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1de8 <niveldificil+0xce8>
cmpl   $0x0,-0x34(%rbp)
je     1e19 <niveldificil+0xd19>
mov    -0x18(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1e48 <niveldificil+0xd48>
mov    0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1e48 <niveldificil+0xd48>
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1e48 <niveldificil+0xd48>
cmpl   $0x0,-0x34(%rbp)
jne    1e48 <niveldificil+0xd48>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1e35 <niveldificil+0xd35>
mov    -0x28(%rbp),%rax
movl   $0x1,(%rax)
jmp    1e3f <niveldificil+0xd3f>
mov    -0x28(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1e79 <niveldificil+0xd79>
mov    0x10(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1e79 <niveldificil+0xd79>
mov    -0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1e79 <niveldificil+0xd79>
cmpl   $0x0,-0x34(%rbp)
je     1eaa <niveldificil+0xdaa>
mov    -0x28(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1ed9 <niveldificil+0xdd9>
mov    0x10(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jne    1ed9 <niveldificil+0xdd9>
mov    -0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1ed9 <niveldificil+0xdd9>
cmpl   $0x0,-0x34(%rbp)
jne    1ed9 <niveldificil+0xdd9>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1ec6 <niveldificil+0xdc6>
mov    -0x18(%rbp),%rax
movl   $0x1,(%rax)
jmp    1ed0 <niveldificil+0xdd0>
mov    -0x18(%rbp),%rax
movl   $0xffffffff,(%rax)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1f1d <niveldificil+0xe1d>
cmpl   $0x0,-0x34(%rbp)
jne    1f1d <niveldificil+0xe1d>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1f0c <niveldificil+0xe0c>
mov    -0x28(%rbp),%rax
movl   $0x1,(%rax)
jmp    1f16 <niveldificil+0xe16>
mov    -0x28(%rbp),%rax
movl   $0xffffffff,(%rax)
movl   $0x1,-0x34(%rbp)
mov    -0x8(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1f61 <niveldificil+0xe61>
cmpl   $0x0,-0x34(%rbp)
jne    1f61 <niveldificil+0xe61>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1f50 <niveldificil+0xe50>
mov    -0x8(%rbp),%rax
movl   $0x1,(%rax)
jmp    1f5a <niveldificil+0xe5a>
mov    -0x8(%rbp),%rax
movl   $0xffffffff,(%rax)
movl   $0x1,-0x34(%rbp)
mov    -0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1fa5 <niveldificil+0xea5>
cmpl   $0x0,-0x34(%rbp)
jne    1fa5 <niveldificil+0xea5>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1f94 <niveldificil+0xe94>
mov    -0x18(%rbp),%rax
movl   $0x1,(%rax)
jmp    1f9e <niveldificil+0xe9e>
mov    -0x18(%rbp),%rax
movl   $0xffffffff,(%rax)
movl   $0x1,-0x34(%rbp)
mov    0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    1fe9 <niveldificil+0xee9>
cmpl   $0x0,-0x34(%rbp)
jne    1fe9 <niveldificil+0xee9>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    1fd8 <niveldificil+0xed8>
mov    0x10(%rbp),%rax
movl   $0x1,(%rax)
jmp    1fe2 <niveldificil+0xee2>
mov    0x10(%rbp),%rax
movl   $0xffffffff,(%rax)
movl   $0x1,-0x34(%rbp)
mov    0x20(%rbp),%rax
cmpl   $0x0,(%rax)
jne    202d <niveldificil+0xf2d>
cmpl   $0x0,-0x34(%rbp)
jne    202d <niveldificil+0xf2d>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    201c <niveldificil+0xf1c>
mov    0x20(%rbp),%rax
movl   $0x1,(%rax)
jmp    2026 <niveldificil+0xf26>
mov    0x20(%rbp),%rax
movl   $0xffffffff,(%rax)
movl   $0x1,-0x34(%rbp)
mov    -0x10(%rbp),%rax
cmpl   $0x0,(%rax)
jne    2071 <niveldificil+0xf71>
cmpl   $0x0,-0x34(%rbp)
jne    2071 <niveldificil+0xf71>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    2060 <niveldificil+0xf60>
mov    -0x10(%rbp),%rax
movl   $0x1,(%rax)
jmp    206a <niveldificil+0xf6a>
mov    -0x10(%rbp),%rax
movl   $0xffffffff,(%rax)
movl   $0x1,-0x34(%rbp)
mov    0x18(%rbp),%rax
cmpl   $0x0,(%rax)
jne    20b5 <niveldificil+0xfb5>
cmpl   $0x0,-0x34(%rbp)
jne    20b5 <niveldificil+0xfb5>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    20a4 <niveldificil+0xfa4>
mov    0x18(%rbp),%rax
movl   $0x1,(%rax)
jmp    20ae <niveldificil+0xfae>
mov    0x18(%rbp),%rax
movl   $0xffffffff,(%rax)
movl   $0x1,-0x34(%rbp)
mov    0x30(%rbp),%rax
cmpl   $0x2,(%rax)
jne    20ed <niveldificil+0xfed>
mov    0x28(%rbp),%rax
cmpl   $0x1,(%rax)
jne    20de <niveldificil+0xfde>
mov    0x28(%rbp),%rax
movl   $0xffffffff,(%rax)
jmp    20e8 <niveldificil+0xfe8>
mov    0x28(%rbp),%rax
movl   $0x1,(%rax)
jmp    20ed <niveldificil+0xfed>
jmp    1137 <niveldificil+0x37>
pop    %rbp
ret

x86 assembly (clang, -O2):
<niveldificil>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
mov    0x58(%rsp),%r10
mov    0x50(%rsp),%r11
mov    0x48(%rsp),%r15
mov    0x40(%rsp),%r14
mov    0x38(%rsp),%r12
jmp    1138 <niveldificil+0x38>
cs nopw 0x0(%rax,%rax,1)
nop
test   %ebp,%ebp
jne    19a9 <niveldificil+0x8a9>
mov    (%rdi),%ebx
cmp    $0xffffffff,%ebx
je     1160 <niveldificil+0x60>
cmp    $0x1,%ebx
jne    1170 <niveldificil+0x70>
cmpl   $0x1,(%rsi)
jne    1188 <niveldificil+0x88>
mov    (%rdx),%ebx
test   %ebx,%ebx
je     11b0 <niveldificil+0xb0>
mov    $0x1,%al
xor    %ebp,%ebp
cmp    $0x1,%ebx
je     1193 <niveldificil+0x93>
jmp    1202 <niveldificil+0x102>
nopl   (%rax)
cmpl   $0xffffffff,(%rsi)
je     119f <niveldificil+0x9f>
mov    $0x1,%al
xor    %ebp,%ebp
jmp    11d0 <niveldificil+0xd0>
nopl   0x0(%rax,%rax,1)
xor    %ebp,%ebp
mov    $0x1,%al
cmp    $0xffffffff,%ebx
je     11d0 <niveldificil+0xd0>
cmp    $0x1,%ebx
je     118c <niveldificil+0x8c>
cmp    $0xffffffff,%ebx
jne    11fd <niveldificil+0xfd>
jmp    1210 <niveldificil+0x110>
mov    $0x1,%al
xor    %ebp,%ebp
mov    (%rdx),%ebx
cmp    $0x1,%ebx
jne    1202 <niveldificil+0x102>
cmpl   $0x0,(%rsi)
sete   %bl
test   %bl,%al
jne    11e3 <niveldificil+0xe3>
jmp    1202 <niveldificil+0x102>
mov    (%rdx),%ebx
test   %ebx,%ebx
je     11b0 <niveldificil+0xb0>
mov    $0x1,%al
xor    %ebp,%ebp
cmp    $0xffffffff,%ebx
jne    1210 <niveldificil+0x110>
jmp    11d7 <niveldificil+0xd7>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
lea    -0x1(%rax,%rax,1),%eax
mov    %eax,(%rdx)
mov    (%rdi),%ebx
mov    $0x1,%ebp
xor    %eax,%eax
cmp    $0xffffffff,%ebx
jne    1179 <niveldificil+0x79>
nopl   (%rax)
mov    (%rdx),%ebx
cmp    $0xffffffff,%ebx
jne    1210 <niveldificil+0x110>
cmpl   $0x0,(%rsi)
setne  %bl
xor    $0x1,%al
or     %bl,%al
jne    1210 <niveldificil+0x110>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%rsi)
add    $0x1,%ebp
mov    (%rdi),%ebx
cmp    $0xffffffff,%ebx
je     1210 <niveldificil+0x110>
cmp    $0x1,%ebx
jne    1240 <niveldificil+0x140>
cmpl   $0x1,(%rcx)
je     1215 <niveldificil+0x115>
jmp    1240 <niveldificil+0x140>
nopl   0x0(%rax)
cmpl   $0xffffffff,(%rcx)
jne    1240 <niveldificil+0x140>
mov    (%r12),%eax
or     %ebp,%eax
jne    1240 <niveldificil+0x140>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r12)
mov    $0x1,%ebp
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    (%rsi),%eax
cmp    $0xffffffff,%eax
je     1260 <niveldificil+0x160>
cmp    $0x1,%eax
jne    1269 <niveldificil+0x169>
cmpl   $0x1,(%rdx)
jne    1269 <niveldificil+0x169>
mov    (%rdi),%eax
or     %ebp,%eax
jne    1269 <niveldificil+0x169>
jmp    1941 <niveldificil+0x841>
nopl   0x0(%rax)
cmpl   $0xffffffff,(%rdx)
je     1935 <niveldificil+0x835>
mov    (%rdi),%eax
cmp    $0xffffffff,%eax
je     1280 <niveldificil+0x180>
cmp    $0x1,%eax
jne    12b0 <niveldificil+0x1b0>
cmpl   $0x1,(%r8)
je     1286 <niveldificil+0x186>
jmp    12b0 <niveldificil+0x1b0>
nopl   (%rax)
cmpl   $0xffffffff,(%r8)
jne    12b0 <niveldificil+0x1b0>
mov    (%r15),%eax
or     %ebp,%eax
jne    12b0 <niveldificil+0x1b0>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r15)
mov    $0x1,%ebp
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    (%rcx),%eax
cmp    $0xffffffff,%eax
je     12e0 <niveldificil+0x1e0>
cmp    $0x1,%eax
jne    1307 <niveldificil+0x207>
cmpl   $0x1,(%r8)
jne    1311 <niveldificil+0x211>
mov    (%r9),%eax
mov    %eax,%ebx
or     %ebp,%ebx
je     12ef <niveldificil+0x1ef>
cmp    $0x1,%eax
je     1319 <niveldificil+0x219>
jmp    1338 <niveldificil+0x238>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmpl   $0xffffffff,(%r8)
jne    1330 <niveldificil+0x230>
mov    (%r9),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    1333 <niveldificil+0x233>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r9)
mov    (%rcx),%eax
mov    $0x1,%ebp
cmp    $0xffffffff,%eax
je     1330 <niveldificil+0x230>
cmp    $0x1,%eax
jne    1338 <niveldificil+0x238>
mov    (%r9),%eax
cmp    $0x1,%eax
jne    1338 <niveldificil+0x238>
mov    (%r8),%eax
or     %ebp,%eax
jne    1338 <niveldificil+0x238>
jmp    1346 <niveldificil+0x246>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    (%r9),%eax
cmp    $0xffffffff,%eax
je     133d <niveldificil+0x23d>
mov    (%r8),%eax
jmp    1360 <niveldificil+0x260>
mov    (%r8),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    1360 <niveldificil+0x260>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r8)
mov    $0x1,%ebp
nopl   0x0(%rax)
cmp    $0xffffffff,%eax
je     1380 <niveldificil+0x280>
cmp    $0x1,%eax
jne    13b0 <niveldificil+0x2b0>
cmpl   $0x1,(%r9)
je     1386 <niveldificil+0x286>
jmp    13b0 <niveldificil+0x2b0>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmpl   $0xffffffff,(%r9)
jne    13b0 <niveldificil+0x2b0>
mov    (%rcx),%eax
or     %ebp,%eax
jne    13b0 <niveldificil+0x2b0>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%rcx)
mov    $0x1,%ebp
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    (%r12),%eax
cmp    $0xffffffff,%eax
je     13e0 <niveldificil+0x2e0>
cmp    $0x1,%eax
jne    1409 <niveldificil+0x309>
cmpl   $0x1,(%r14)
jne    1413 <niveldificil+0x313>
mov    (%r15),%eax
mov    %eax,%ebx
or     %ebp,%ebx
je     13ef <niveldificil+0x2ef>
cmp    $0x1,%eax
je     141b <niveldificil+0x31b>
jmp    1438 <niveldificil+0x338>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
cmpl   $0xffffffff,(%r14)
jne    1430 <niveldificil+0x330>
mov    (%r15),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    1433 <niveldificil+0x333>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r15)
mov    (%r12),%eax
mov    $0x1,%ebp
cmp    $0xffffffff,%eax
je     1430 <niveldificil+0x330>
cmp    $0x1,%eax
jne    1438 <niveldificil+0x338>
mov    (%r15),%eax
cmp    $0x1,%eax
jne    1438 <niveldificil+0x338>
mov    (%r14),%eax
or     %ebp,%eax
jne    1438 <niveldificil+0x338>
jmp    1446 <niveldificil+0x346>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    (%r15),%eax
cmp    $0xffffffff,%eax
je     143d <niveldificil+0x33d>
mov    (%r14),%eax
jmp    1460 <niveldificil+0x360>
mov    (%r14),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    1460 <niveldificil+0x360>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r14)
mov    $0x1,%ebp
nopl   0x0(%rax)
cmp    $0xffffffff,%eax
je     1480 <niveldificil+0x380>
cmp    $0x1,%eax
jne    14b0 <niveldificil+0x3b0>
cmpl   $0x1,(%r15)
je     1486 <niveldificil+0x386>
jmp    14b0 <niveldificil+0x3b0>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmpl   $0xffffffff,(%r15)
jne    14b0 <niveldificil+0x3b0>
mov    (%r12),%eax
or     %ebp,%eax
jne    14b0 <niveldificil+0x3b0>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r12)
mov    $0x1,%ebp
cs nopw 0x0(%rax,%rax,1)
nop
mov    (%rdi),%eax
cmp    $0xffffffff,%eax
je     14d0 <niveldificil+0x3d0>
cmp    $0x1,%eax
jne    14db <niveldificil+0x3db>
cmpl   $0x1,(%r12)
jne    14db <niveldificil+0x3db>
mov    (%rcx),%eax
or     %ebp,%eax
jne    14db <niveldificil+0x3db>
jmp    1967 <niveldificil+0x867>
xchg   %ax,%ax
cmpl   $0xffffffff,(%r12)
je     195b <niveldificil+0x85b>
mov    (%rcx),%eax
cmp    $0xffffffff,%eax
je     14f0 <niveldificil+0x3f0>
cmp    $0x1,%eax
jne    1520 <niveldificil+0x420>
cmpl   $0x1,(%r12)
je     14f7 <niveldificil+0x3f7>
jmp    1520 <niveldificil+0x420>
cmpl   $0xffffffff,(%r12)
jne    1520 <niveldificil+0x420>
mov    (%rdi),%eax
or     %ebp,%eax
jne    1520 <niveldificil+0x420>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%rdi)
mov    $0x1,%ebp
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    (%rsi),%eax
cmp    $0xffffffff,%eax
je     1550 <niveldificil+0x450>
cmp    $0x1,%eax
jne    1577 <niveldificil+0x477>
cmpl   $0x1,(%r8)
jne    1581 <niveldificil+0x481>
mov    (%r14),%eax
mov    %eax,%ebx
or     %ebp,%ebx
je     155f <niveldificil+0x45f>
cmp    $0x1,%eax
je     1589 <niveldificil+0x489>
jmp    15a8 <niveldificil+0x4a8>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmpl   $0xffffffff,(%r8)
jne    15a0 <niveldificil+0x4a0>
mov    (%r14),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    15a3 <niveldificil+0x4a3>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r14)
mov    (%rsi),%eax
mov    $0x1,%ebp
cmp    $0xffffffff,%eax
je     15a0 <niveldificil+0x4a0>
cmp    $0x1,%eax
jne    15a8 <niveldificil+0x4a8>
mov    (%r14),%eax
cmp    $0x1,%eax
jne    15a8 <niveldificil+0x4a8>
mov    (%r8),%eax
or     %ebp,%eax
jne    15a8 <niveldificil+0x4a8>
jmp    15b6 <niveldificil+0x4b6>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    (%r14),%eax
cmp    $0xffffffff,%eax
je     15ad <niveldificil+0x4ad>
mov    (%r8),%eax
jmp    15d0 <niveldificil+0x4d0>
mov    (%r8),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    15d0 <niveldificil+0x4d0>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r8)
mov    $0x1,%ebp
nopl   0x0(%rax)
cmp    $0xffffffff,%eax
je     15f0 <niveldificil+0x4f0>
cmp    $0x1,%eax
jne    1620 <niveldificil+0x520>
cmpl   $0x1,(%r14)
je     15f6 <niveldificil+0x4f6>
jmp    1620 <niveldificil+0x520>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmpl   $0xffffffff,(%r14)
jne    1620 <niveldificil+0x520>
mov    (%rsi),%eax
or     %ebp,%eax
jne    1620 <niveldificil+0x520>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%rsi)
mov    $0x1,%ebp
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    (%rdx),%eax
cmp    $0xffffffff,%eax
je     1650 <niveldificil+0x550>
cmp    $0x1,%eax
jne    1677 <niveldificil+0x577>
cmpl   $0x1,(%r9)
jne    1681 <niveldificil+0x581>
mov    (%r15),%eax
mov    %eax,%ebx
or     %ebp,%ebx
je     165f <niveldificil+0x55f>
cmp    $0x1,%eax
je     1689 <niveldificil+0x589>
jmp    16a8 <niveldificil+0x5a8>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmpl   $0xffffffff,(%r9)
jne    16a0 <niveldificil+0x5a0>
mov    (%r15),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    16a3 <niveldificil+0x5a3>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r15)
mov    (%rdx),%eax
mov    $0x1,%ebp
cmp    $0xffffffff,%eax
je     16a0 <niveldificil+0x5a0>
cmp    $0x1,%eax
jne    16a8 <niveldificil+0x5a8>
mov    (%r15),%eax
cmp    $0x1,%eax
jne    16a8 <niveldificil+0x5a8>
mov    (%r9),%eax
or     %ebp,%eax
jne    16a8 <niveldificil+0x5a8>
jmp    16b6 <niveldificil+0x5b6>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    (%r15),%eax
cmp    $0xffffffff,%eax
je     16ad <niveldificil+0x5ad>
mov    (%r9),%eax
jmp    16d0 <niveldificil+0x5d0>
mov    (%r9),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    16d0 <niveldificil+0x5d0>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r9)
mov    $0x1,%ebp
nopl   0x0(%rax)
cmp    $0xffffffff,%eax
je     16f0 <niveldificil+0x5f0>
cmp    $0x1,%eax
jne    1720 <niveldificil+0x620>
cmpl   $0x1,(%r15)
je     16f6 <niveldificil+0x5f6>
jmp    1720 <niveldificil+0x620>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmpl   $0xffffffff,(%r15)
jne    1720 <niveldificil+0x620>
mov    (%rdx),%eax
or     %ebp,%eax
jne    1720 <niveldificil+0x620>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%rdx)
mov    $0x1,%ebp
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    (%rdi),%eax
cmp    $0xffffffff,%eax
je     1740 <niveldificil+0x640>
cmp    $0x1,%eax
jne    174a <niveldificil+0x64a>
cmpl   $0x1,(%r15)
jne    174a <niveldificil+0x64a>
mov    (%r8),%eax
or     %ebp,%eax
jne    174a <niveldificil+0x64a>
jmp    198e <niveldificil+0x88e>
xchg   %ax,%ax
cmpl   $0xffffffff,(%r15)
je     1981 <niveldificil+0x881>
mov    (%r8),%eax
cmp    $0xffffffff,%eax
je     1760 <niveldificil+0x660>
cmp    $0x1,%eax
jne    1790 <niveldificil+0x690>
cmpl   $0x1,(%r15)
je     1766 <niveldificil+0x666>
jmp    1790 <niveldificil+0x690>
nop
cmpl   $0xffffffff,(%r15)
jne    1790 <niveldificil+0x690>
mov    (%rdi),%eax
or     %ebp,%eax
jne    1790 <niveldificil+0x690>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%rdi)
mov    $0x1,%ebp
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    (%rdx),%eax
cmp    $0xffffffff,%eax
je     17c0 <niveldificil+0x6c0>
cmp    $0x1,%eax
jne    17e9 <niveldificil+0x6e9>
cmpl   $0x1,(%r8)
jne    17f3 <niveldificil+0x6f3>
mov    (%r12),%eax
mov    %eax,%ebx
or     %ebp,%ebx
je     17d0 <niveldificil+0x6d0>
cmp    $0x1,%eax
je     17fc <niveldificil+0x6fc>
jmp    1819 <niveldificil+0x719>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
cmpl   $0xffffffff,(%r8)
jne    1810 <niveldificil+0x710>
mov    (%r12),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    1814 <niveldificil+0x714>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r12)
mov    (%rdx),%eax
mov    $0x1,%ebp
cmp    $0xffffffff,%eax
je     1810 <niveldificil+0x710>
cmp    $0x1,%eax
jne    1819 <niveldificil+0x719>
mov    (%r12),%eax
cmp    $0x1,%eax
jne    1819 <niveldificil+0x719>
mov    (%r8),%eax
or     %ebp,%eax
jne    1819 <niveldificil+0x719>
jmp    1827 <niveldificil+0x727>
cs nopw 0x0(%rax,%rax,1)
nop
mov    (%r12),%eax
cmp    $0xffffffff,%eax
je     181e <niveldificil+0x71e>
mov    (%r8),%ebx
jmp    1840 <niveldificil+0x740>
mov    (%r8),%ebx
mov    %ebx,%eax
or     %ebp,%eax
jne    1840 <niveldificil+0x740>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
lea    (%rax,%rax,1),%ebx
add    $0xffffffff,%ebx
mov    %ebx,(%r8)
mov    $0x1,%ebp
xchg   %ax,%ax
cmp    $0xffffffff,%ebx
je     1860 <niveldificil+0x760>
cmp    $0x1,%ebx
jne    1880 <niveldificil+0x780>
cmpl   $0x1,(%r12)
je     1867 <niveldificil+0x767>
jmp    1874 <niveldificil+0x774>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
cmpl   $0xffffffff,(%r12)
jne    1874 <niveldificil+0x774>
mov    (%rdx),%eax
or     %ebp,%eax
mov    %rdx,%rbx
je     1900 <niveldificil+0x800>
test   %ebp,%ebp
sete   %al
jmp    188c <niveldificil+0x78c>
nopl   0x0(%rax,%rax,1)
test   %ebp,%ebp
sete   %al
or     %ebp,%ebx
mov    %r8,%rbx
je     1900 <niveldificil+0x800>
cmpl   $0x0,(%rdi)
jne    1898 <niveldificil+0x798>
mov    %rdi,%rbx
test   %al,%al
jne    1900 <niveldificil+0x800>
cmpl   $0x0,(%rdx)
sete   %r13b
mov    %rdx,%rbx
test   %al,%r13b
jne    1900 <niveldificil+0x800>
cmpl   $0x0,(%r12)
sete   %r13b
mov    %r12,%rbx
test   %al,%r13b
jne    1900 <niveldificil+0x800>
cmpl   $0x0,(%r15)
sete   %r13b
mov    %r15,%rbx
test   %al,%r13b
jne    1900 <niveldificil+0x800>
cmpl   $0x0,(%rsi)
sete   %r13b
mov    %rsi,%rbx
test   %al,%r13b
jne    1900 <niveldificil+0x800>
cmpl   $0x0,(%r14)
sete   %r13b
and    %al,%r13b
mov    %r14,%rbx
cmp    $0x1,%r13b
je     1900 <niveldificil+0x800>
nopl   0x0(%rax,%rax,1)
cmpl   $0x2,(%r10)
jne    1130 <niveldificil+0x30>
jmp    191f <niveldificil+0x81f>
nopl   0x0(%rax)
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%rbx)
mov    $0x1,%ebp
cmpl   $0x2,(%r10)
jne    1130 <niveldificil+0x30>
xor    %eax,%eax
cmpl   $0x1,(%r11)
setne  %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r11)
jmp    1130 <niveldificil+0x30>
mov    (%rdi),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    126b <niveldificil+0x16b>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%rdi)
mov    $0x1,%ebp
jmp    126b <niveldificil+0x16b>
mov    (%rcx),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    14dd <niveldificil+0x3dd>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%rcx)
mov    $0x1,%ebp
jmp    14dd <niveldificil+0x3dd>
mov    (%r8),%eax
mov    %eax,%ebx
or     %ebp,%ebx
jne    174d <niveldificil+0x64d>
xor    %eax,%eax
cmpl   $0x1,(%r11)
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
mov    %eax,(%r8)
mov    $0x1,%ebp
jmp    174d <niveldificil+0x64d>
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

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