#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *, ...);
int verificarDatosSudokuInicial(int s[9][9]) {
  int f, c, k;
  for (f = 0; f < 9; f++) {
    for (c = 0; c < 9; c++) {
      if (s[f][c]) {
        for (k = c + 1; k < 9; k++) {
          if (s[f][c] == s[f][k]) {
            printf("ERROR fila %hd\n", f);
            return 0;
          }
        }
      }
    }
  }
  for (c = 0; c < 9; c++) {
    for (f = 0; f < 9; f++) {
      if (s[f][c]) {
        for (k = f + 1; k < 9; k++) {
          if (s[f][c] == s[k][c]) {
            printf("ERROR columna %hd\n", c);
            return 0;
          }
        }
      }
    }
  }
  for (f = 0; f < 9; f += 3) {
    for (c = 0; c < 9; c += 3) {
      int ff, cc;
      for (ff = 0; ff < 9 / 3; ff++) {
        for (cc = 0; cc < 9 / 3; cc++) {
          if (s[f + ff][c + cc]) {
            for (k = ff * 3 + cc + 1; k < 9; k++) {
              if (s[f + ff][c + cc] == s[f + k / 3][c + k % 3]) {
                printf("\nERROR caja %hd - %hd\n", f, c);
                for (k = 0; k < 9; k++) {
                  if (k % 3 == 0) {
                    printf("\n");
                  }
                  printf("%4hd", s[f + k / 3][c + k % 3]);
                }
                break;
              }
            }
          }
        }
      }
    }
  }
  return 1;
}


x86 assembly (clang, -O0):
<verificarDatosSudokuInicial>:
push   %rbp
mov    %rsp,%rbp
sub    $0x40,%rsp
mov    %rdi,-0x10(%rbp)
movl   $0x0,-0x14(%rbp)
cmpl   $0x9,-0x14(%rbp)
jge    11fb <verificarDatosSudokuInicial+0xeb>
movl   $0x0,-0x18(%rbp)
cmpl   $0x9,-0x18(%rbp)
jge    11e8 <verificarDatosSudokuInicial+0xd8>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     11d5 <verificarDatosSudokuInicial+0xc5>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
cmpl   $0x9,-0x1c(%rbp)
jge    11d0 <verificarDatosSudokuInicial+0xc0>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    -0x10(%rbp),%rcx
movslq -0x14(%rbp),%rdx
imul   $0x24,%rdx,%rdx
add    %rdx,%rcx
movslq -0x1c(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    11bd <verificarDatosSudokuInicial+0xad>
mov    -0x14(%rbp),%esi
lea    0xe56(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x0,-0x4(%rbp)
jmp    14e4 <verificarDatosSudokuInicial+0x3d4>
jmp    11c2 <verificarDatosSudokuInicial+0xb2>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1164 <verificarDatosSudokuInicial+0x54>
jmp    11d5 <verificarDatosSudokuInicial+0xc5>
jmp    11da <verificarDatosSudokuInicial+0xca>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1134 <verificarDatosSudokuInicial+0x24>
jmp    11ed <verificarDatosSudokuInicial+0xdd>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1123 <verificarDatosSudokuInicial+0x13>
movl   $0x0,-0x18(%rbp)
cmpl   $0x9,-0x18(%rbp)
jge    12da <verificarDatosSudokuInicial+0x1ca>
movl   $0x0,-0x14(%rbp)
cmpl   $0x9,-0x14(%rbp)
jge    12c7 <verificarDatosSudokuInicial+0x1b7>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     12b4 <verificarDatosSudokuInicial+0x1a4>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
cmpl   $0x9,-0x1c(%rbp)
jge    12af <verificarDatosSudokuInicial+0x19f>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    -0x10(%rbp),%rcx
movslq -0x1c(%rbp),%rdx
imul   $0x24,%rdx,%rdx
add    %rdx,%rcx
movslq -0x18(%rbp),%rdx
cmp    (%rcx,%rdx,4),%eax
jne    129c <verificarDatosSudokuInicial+0x18c>
mov    -0x18(%rbp),%esi
lea    0xd87(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x0,-0x4(%rbp)
jmp    14e4 <verificarDatosSudokuInicial+0x3d4>
jmp    12a1 <verificarDatosSudokuInicial+0x191>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1243 <verificarDatosSudokuInicial+0x133>
jmp    12b4 <verificarDatosSudokuInicial+0x1a4>
jmp    12b9 <verificarDatosSudokuInicial+0x1a9>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1213 <verificarDatosSudokuInicial+0x103>
jmp    12cc <verificarDatosSudokuInicial+0x1bc>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1202 <verificarDatosSudokuInicial+0xf2>
movl   $0x0,-0x14(%rbp)
cmpl   $0x9,-0x14(%rbp)
jge    14dd <verificarDatosSudokuInicial+0x3cd>
movl   $0x0,-0x18(%rbp)
cmpl   $0x9,-0x18(%rbp)
jge    14ca <verificarDatosSudokuInicial+0x3ba>
movl   $0x0,-0x20(%rbp)
cmpl   $0x3,-0x20(%rbp)
jge    14b7 <verificarDatosSudokuInicial+0x3a7>
movl   $0x0,-0x24(%rbp)
cmpl   $0x3,-0x24(%rbp)
jge    14a4 <verificarDatosSudokuInicial+0x394>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    -0x20(%rbp),%ecx
movslq %ecx,%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    -0x24(%rbp),%ecx
movslq %ecx,%rcx
cmpl   $0x0,(%rax,%rcx,4)
je     1491 <verificarDatosSudokuInicial+0x381>
imul   $0x3,-0x20(%rbp),%eax
add    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
cmpl   $0x9,-0x1c(%rbp)
jge    148c <verificarDatosSudokuInicial+0x37c>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    -0x20(%rbp),%ecx
movslq %ecx,%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    -0x24(%rbp),%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x10(%rbp),%rcx
mov    -0x14(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x1c(%rbp),%eax
mov    $0x3,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x30(%rbp),%eax
add    %edx,%eax
cltq
imul   $0x24,%rax,%rax
add    %rax,%rcx
mov    -0x18(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x1c(%rbp),%eax
mov    $0x3,%esi
cltd
idiv   %esi
mov    -0x2c(%rbp),%eax
mov    %edx,%esi
mov    -0x28(%rbp),%edx
add    %esi,%edx
movslq %edx,%rdx
cmp    (%rcx,%rdx,4),%eax
jne    1479 <verificarDatosSudokuInicial+0x369>
mov    -0x14(%rbp),%esi
mov    -0x18(%rbp),%edx
lea    0xc4b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x0,-0x1c(%rbp)
cmpl   $0x9,-0x1c(%rbp)
jge    1474 <verificarDatosSudokuInicial+0x364>
mov    -0x1c(%rbp),%eax
mov    $0x3,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1412 <verificarDatosSudokuInicial+0x302>
lea    0xc2d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x10(%rbp),%rax
mov    %rax,-0x40(%rbp)
mov    -0x14(%rbp),%ecx
mov    -0x1c(%rbp),%eax
mov    $0x3,%esi
cltd
idiv   %esi
mov    %eax,%edx
mov    -0x40(%rbp),%rax
add    %edx,%ecx
movslq %ecx,%rcx
imul   $0x24,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x18(%rbp),%ecx
mov    -0x1c(%rbp),%eax
mov    $0x3,%esi
cltd
idiv   %esi
mov    -0x38(%rbp),%rax
add    %edx,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%esi
lea    0xbdb(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    13e6 <verificarDatosSudokuInicial+0x2d6>
jmp    148c <verificarDatosSudokuInicial+0x37c>
jmp    147e <verificarDatosSudokuInicial+0x36e>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1352 <verificarDatosSudokuInicial+0x242>
jmp    1491 <verificarDatosSudokuInicial+0x381>
jmp    1496 <verificarDatosSudokuInicial+0x386>
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    1314 <verificarDatosSudokuInicial+0x204>
jmp    14a9 <verificarDatosSudokuInicial+0x399>
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    1303 <verificarDatosSudokuInicial+0x1f3>
jmp    14bc <verificarDatosSudokuInicial+0x3ac>
mov    -0x18(%rbp),%eax
add    $0x3,%eax
mov    %eax,-0x18(%rbp)
jmp    12f2 <verificarDatosSudokuInicial+0x1e2>
jmp    14cf <verificarDatosSudokuInicial+0x3bf>
mov    -0x14(%rbp),%eax
add    $0x3,%eax
mov    %eax,-0x14(%rbp)
jmp    12e1 <verificarDatosSudokuInicial+0x1d1>
movl   $0x1,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x40,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<verificarDatosSudokuInicial>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x48,%rsp
mov    %rdi,0x18(%rsp)
lea    0x20(%rdi),%rax
xor    %esi,%esi
lea    0xec0(%rip),%rdi
mov    -0x20(%rax),%edx
mov    -0x1c(%rax),%ecx
test   %edx,%edx
je     1190 <verificarDatosSudokuInicial+0x70>
cmp    %ecx,%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x18(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x14(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x10(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0xc(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x8(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x4(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0x18(%rax),%edx
test   %ecx,%ecx
je     11d4 <verificarDatosSudokuInicial+0xb4>
cmp    %edx,%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x14(%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x10(%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0xc(%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x8(%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x4(%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0x14(%rax),%ecx
test   %edx,%edx
je     120f <verificarDatosSudokuInicial+0xef>
cmp    %ecx,%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x10(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0xc(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x8(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x4(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0x10(%rax),%edx
test   %ecx,%ecx
je     1241 <verificarDatosSudokuInicial+0x121>
cmp    %edx,%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0xc(%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x8(%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x4(%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0xc(%rax),%ecx
test   %edx,%edx
je     126a <verificarDatosSudokuInicial+0x14a>
cmp    %ecx,%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x8(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x4(%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0x8(%rax),%edx
test   %ecx,%ecx
je     128a <verificarDatosSudokuInicial+0x16a>
cmp    %edx,%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x4(%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0x4(%rax),%ecx
test   %edx,%edx
je     12a1 <verificarDatosSudokuInicial+0x181>
cmp    %ecx,%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
test   %ecx,%ecx
je     12ad <verificarDatosSudokuInicial+0x18d>
cmp    (%rax),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
add    $0x1,%rsi
add    $0x24,%rax
cmp    $0x9,%rsi
jne    1140 <verificarDatosSudokuInicial+0x20>
mov    0x18(%rsp),%rax
add    $0x120,%rax
xor    %esi,%esi
lea    0xd3d(%rip),%rdi
mov    -0x120(%rax,%rsi,4),%edx
mov    -0xfc(%rax,%rsi,4),%ecx
test   %edx,%edx
je     133b <verificarDatosSudokuInicial+0x21b>
cmp    %ecx,%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0xd8(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0xb4(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x90(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x6c(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x48(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x24(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0xd8(%rax,%rsi,4),%edx
test   %ecx,%ecx
je     138f <verificarDatosSudokuInicial+0x26f>
cmp    %edx,%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0xb4(%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x90(%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x6c(%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x48(%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x24(%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0xb4(%rax,%rsi,4),%ecx
test   %edx,%edx
je     13d6 <verificarDatosSudokuInicial+0x2b6>
cmp    %ecx,%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x90(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x6c(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x48(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x24(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0x90(%rax,%rsi,4),%edx
test   %ecx,%ecx
je     1400 <verificarDatosSudokuInicial+0x2e0>
cmp    %edx,%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x6c(%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x48(%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x24(%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0x6c(%rax,%rsi,4),%ecx
test   %edx,%edx
je     141d <verificarDatosSudokuInicial+0x2fd>
cmp    %ecx,%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x48(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x24(%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0x48(%rax,%rsi,4),%edx
test   %ecx,%ecx
je     1434 <verificarDatosSudokuInicial+0x314>
cmp    %edx,%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    -0x24(%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
mov    -0x24(%rax,%rsi,4),%ecx
test   %edx,%edx
je     1445 <verificarDatosSudokuInicial+0x325>
cmp    %ecx,%edx
je     146a <verificarDatosSudokuInicial+0x34a>
cmp    (%rax,%rsi,4),%edx
je     146a <verificarDatosSudokuInicial+0x34a>
test   %ecx,%ecx
je     144e <verificarDatosSudokuInicial+0x32e>
cmp    (%rax,%rsi,4),%ecx
je     146a <verificarDatosSudokuInicial+0x34a>
add    $0x1,%rsi
cmp    $0x9,%rsi
jne    12d3 <verificarDatosSudokuInicial+0x1b3>
mov    0x18(%rsp),%rcx
xor    %eax,%eax
mov    %rax,0x10(%rsp)
jmp    14a6 <verificarDatosSudokuInicial+0x386>
xor    %ebx,%ebx
xor    %eax,%eax
call   1040 <printf@plt>
mov    %ebx,%eax
add    $0x48,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
mov    0x10(%rsp),%rdx
lea    0x3(%rdx),%rax
mov    0x28(%rsp),%rcx
add    $0x6c,%rcx
mov    $0x1,%ebx
cmp    $0x6,%rdx
mov    %rax,0x10(%rsp)
jae    1473 <verificarDatosSudokuInicial+0x353>
mov    %rcx,0x28(%rsp)
mov    %rcx,0x20(%rsp)
xor    %ebx,%ebx
jmp    14d3 <verificarDatosSudokuInicial+0x3b3>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
lea    0x3(%rbx),%rax
addq   $0xc,0x20(%rsp)
cmp    $0x6,%rbx
mov    %rax,%rbx
jae    1484 <verificarDatosSudokuInicial+0x364>
mov    $0x1,%cl
xor    %edx,%edx
jmp    14f6 <verificarDatosSudokuInicial+0x3d6>
nopl   0x0(%rax)
mov    0x30(%rsp),%rdx
add    $0x1,%rdx
mov    0xf(%rsp),%cl
add    $0x3,%cl
cmp    $0x3,%rdx
je     14c0 <verificarDatosSudokuInicial+0x3a0>
mov    0x10(%rsp),%rax
add    %rdx,%rax
mov    %rax,0x40(%rsp)
mov    %rdx,0x30(%rsp)
lea    (%rdx,%rdx,2),%rax
mov    %rax,0x38(%rsp)
mov    %cl,0xf(%rsp)
mov    %cl,0xe(%rsp)
xor    %r12d,%r12d
jmp    152f <verificarDatosSudokuInicial+0x40f>
xchg   %ax,%ax
add    $0x1,%r12
addb   $0x1,0xe(%rsp)
cmp    $0x3,%r12
je     14e0 <verificarDatosSudokuInicial+0x3c0>
lea    (%r12,%rbx,1),%rax
mov    0x40(%rsp),%rcx
lea    (%rcx,%rcx,8),%rcx
mov    0x18(%rsp),%rdx
lea    (%rdx,%rcx,4),%rcx
mov    (%rcx,%rax,4),%eax
test   %eax,%eax
je     1520 <verificarDatosSudokuInicial+0x400>
mov    0x38(%rsp),%rcx
lea    (%r12,%rcx,1),%edx
mov    0xe(%rsp),%cl
nopl   0x0(%rax)
cmp    $0x7,%edx
ja     1520 <verificarDatosSudokuInicial+0x400>
movzbl %cl,%ecx
imul   $0xab,%ecx,%esi
shr    $0x9,%esi
lea    (%rsi,%rsi,2),%esi
neg    %esi
movzbl %sil,%esi
add    %edx,%esi
add    $0x1,%esi
add    $0x1,%edx
movzbl %dl,%edi
imul   $0xab,%edi,%edi
shr    $0x9,%rdi
add    0x10(%rsp),%rdi
movzbl %sil,%esi
add    %rbx,%rsi
lea    (%rdi,%rdi,8),%rdi
mov    0x18(%rsp),%rbp
lea    0x0(,%rdi,4),%rdi
add    %rbp,%rdi
add    $0x1,%cl
cmp    (%rdi,%rsi,4),%eax
jne    1560 <verificarDatosSudokuInicial+0x440>
xor    %ebp,%ebp
lea    0xa63(%rip),%rdi
mov    0x10(%rsp),%rsi
mov    %ebx,%edx
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x20(%rsp),%r15
xor    %r13d,%r13d
jmp    160c <verificarDatosSudokuInicial+0x4ec>
nopl   0x0(%rax,%rax,1)
lea    (%r14,%r14,2),%rax
mov    (%r15,%rax,4),%esi
lea    0xa4b(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
add    $0x1,%r13d
add    $0x4,%r15
add    $0x1,%rbp
cmp    $0x9,%r13d
je     1520 <verificarDatosSudokuInicial+0x400>
mov    %rbp,%rax
movabs $0xaaaaaaaaaaaaaaab,%rcx
aa aa aa
mul    %rcx
mov    %rdx,%r14
and    $0xfffffffffffffffe,%r14
movzbl %r13b,%eax
imul   $0xab,%eax,%ecx
shr    $0x9,%ecx
lea    (%rcx,%rcx,2),%ecx
neg    %ecx
add    %cl,%al
jne    15e0 <verificarDatosSudokuInicial+0x4c0>
mov    $0xa,%edi
call   1030 <putchar@plt>
jmp    15e0 <verificarDatosSudokuInicial+0x4c0>

LLVM IR (-O0):
@.str = [16 x i8] c"ERROR fila %hd\0A\00"
@.str.1 = [19 x i8] c"ERROR columna %hd\0A\00"
@.str.2 = [23 x i8] c"\0AERROR caja %hd - %hd\0A\00"
@.str.3 = [2 x i8] c"\0A\00"
@.str.4 = [5 x i8] c"%4hd\00"
define i32 @verificarDatosSudokuInicial([9 x i32]* %0) {
%2 = alloca i32
%3 = alloca [9 x i32]*
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
store [9 x i32]* %0, [9 x i32]** %3
store i32 0, i32* %4
br label %9
9: ; preds = %63, %1
%10 = load i32, i32* %4
%11 = icmp slt i32 %10, 9
br i1 %11, label %12, label %66
12: ; preds = %9
store i32 0, i32* %5
br label %13
13: ; preds = %59, %12
%14 = load i32, i32* %5
%15 = icmp slt i32 %14, 9
br i1 %15, label %16, label %62
16: ; preds = %13
%17 = load [9 x i32]*, [9 x i32]** %3
%18 = load i32, i32* %4
%19 = sext i32 %18 to i64
%20 = getelementptr inbounds [9 x i32], [9 x i32]* %17, i64 %19
%21 = load i32, i32* %5
%22 = sext i32 %21 to i64
%23 = getelementptr inbounds [9 x i32], [9 x i32]* %20, i64 0, i64 %22
%24 = load i32, i32* %23
%25 = icmp ne i32 %24, 0
br i1 %25, label %26, label %58
26: ; preds = %16
%27 = load i32, i32* %5
%28 = add nsw i32 %27, 1
store i32 %28, i32* %6
br label %29
29: ; preds = %54, %26
%30 = load i32, i32* %6
%31 = icmp slt i32 %30, 9
br i1 %31, label %32, label %57
32: ; preds = %29
%33 = load [9 x i32]*, [9 x i32]** %3
%34 = load i32, i32* %4
%35 = sext i32 %34 to i64
%36 = getelementptr inbounds [9 x i32], [9 x i32]* %33, i64 %35
%37 = load i32, i32* %5
%38 = sext i32 %37 to i64
%39 = getelementptr inbounds [9 x i32], [9 x i32]* %36, i64 0, i64 %38
%40 = load i32, i32* %39
%41 = load [9 x i32]*, [9 x i32]** %3
%42 = load i32, i32* %4
%43 = sext i32 %42 to i64
%44 = getelementptr inbounds [9 x i32], [9 x i32]* %41, i64 %43
%45 = load i32, i32* %6
%46 = sext i32 %45 to i64
%47 = getelementptr inbounds [9 x i32], [9 x i32]* %44, i64 0, i64 %46
%48 = load i32, i32* %47
%49 = icmp eq i32 %40, %48
br i1 %49, label %50, label %53
50: ; preds = %32
%51 = load i32, i32* %4
%52 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str, i64 0, i64 0), i32 %51)
store i32 0, i32* %2
br label %246
53: ; preds = %32
br label %54
54: ; preds = %53
%55 = load i32, i32* %6
%56 = add nsw i32 %55, 1
store i32 %56, i32* %6
br label %29
57: ; preds = %29
br label %58
58: ; preds = %57, %16
br label %59
59: ; preds = %58
%60 = load i32, i32* %5
%61 = add nsw i32 %60, 1
store i32 %61, i32* %5
br label %13
62: ; preds = %13
br label %63
63: ; preds = %62
%64 = load i32, i32* %4
%65 = add nsw i32 %64, 1
store i32 %65, i32* %4
br label %9
66: ; preds = %9
store i32 0, i32* %5
br label %67
67: ; preds = %121, %66
%68 = load i32, i32* %5
%69 = icmp slt i32 %68, 9
br i1 %69, label %70, label %124
70: ; preds = %67
store i32 0, i32* %4
br label %71
71: ; preds = %117, %70
%72 = load i32, i32* %4
%73 = icmp slt i32 %72, 9
br i1 %73, label %74, label %120
74: ; preds = %71
%75 = load [9 x i32]*, [9 x i32]** %3
%76 = load i32, i32* %4
%77 = sext i32 %76 to i64
%78 = getelementptr inbounds [9 x i32], [9 x i32]* %75, i64 %77
%79 = load i32, i32* %5
%80 = sext i32 %79 to i64
%81 = getelementptr inbounds [9 x i32], [9 x i32]* %78, i64 0, i64 %80
%82 = load i32, i32* %81
%83 = icmp ne i32 %82, 0
br i1 %83, label %84, label %116
84: ; preds = %74
%85 = load i32, i32* %4
%86 = add nsw i32 %85, 1
store i32 %86, i32* %6
br label %87
87: ; preds = %112, %84
%88 = load i32, i32* %6
%89 = icmp slt i32 %88, 9
br i1 %89, label %90, label %115
90: ; preds = %87
%91 = load [9 x i32]*, [9 x i32]** %3
%92 = load i32, i32* %4
%93 = sext i32 %92 to i64
%94 = getelementptr inbounds [9 x i32], [9 x i32]* %91, i64 %93
%95 = load i32, i32* %5
%96 = sext i32 %95 to i64
%97 = getelementptr inbounds [9 x i32], [9 x i32]* %94, i64 0, i64 %96
%98 = load i32, i32* %97
%99 = load [9 x i32]*, [9 x i32]** %3
%100 = load i32, i32* %6
%101 = sext i32 %100 to i64
%102 = getelementptr inbounds [9 x i32], [9 x i32]* %99, i64 %101
%103 = load i32, i32* %5
%104 = sext i32 %103 to i64
%105 = getelementptr inbounds [9 x i32], [9 x i32]* %102, i64 0, i64 %104
%106 = load i32, i32* %105
%107 = icmp eq i32 %98, %106
br i1 %107, label %108, label %111
108: ; preds = %90
%109 = load i32, i32* %5
%110 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.1, i64 0, i64 0), i32 %109)
store i32 0, i32* %2
br label %246
111: ; preds = %90
br label %112
112: ; preds = %111
%113 = load i32, i32* %6
%114 = add nsw i32 %113, 1
store i32 %114, i32* %6
br label %87
115: ; preds = %87
br label %116
116: ; preds = %115, %74
br label %117
117: ; preds = %116
%118 = load i32, i32* %4
%119 = add nsw i32 %118, 1
store i32 %119, i32* %4
br label %71
120: ; preds = %71
br label %121
121: ; preds = %120
%122 = load i32, i32* %5
%123 = add nsw i32 %122, 1
store i32 %123, i32* %5
br label %67
124: ; preds = %67
store i32 0, i32* %4
br label %125
125: ; preds = %242, %124
%126 = load i32, i32* %4
%127 = icmp slt i32 %126, 9
br i1 %127, label %128, label %245
128: ; preds = %125
store i32 0, i32* %5
br label %129
129: ; preds = %238, %128
%130 = load i32, i32* %5
%131 = icmp slt i32 %130, 9
br i1 %131, label %132, label %241
132: ; preds = %129
store i32 0, i32* %7
br label %133
133: ; preds = %234, %132
%134 = load i32, i32* %7
%135 = icmp slt i32 %134, 3
br i1 %135, label %136, label %237
136: ; preds = %133
store i32 0, i32* %8
br label %137
137: ; preds = %230, %136
%138 = load i32, i32* %8
%139 = icmp slt i32 %138, 3
br i1 %139, label %140, label %233
140: ; preds = %137
%141 = load [9 x i32]*, [9 x i32]** %3
%142 = load i32, i32* %4
%143 = load i32, i32* %7
%144 = add nsw i32 %142, %143
%145 = sext i32 %144 to i64
%146 = getelementptr inbounds [9 x i32], [9 x i32]* %141, i64 %145
%147 = load i32, i32* %5
%148 = load i32, i32* %8
%149 = add nsw i32 %147, %148
%150 = sext i32 %149 to i64
%151 = getelementptr inbounds [9 x i32], [9 x i32]* %146, i64 0, i64 %150
%152 = load i32, i32* %151
%153 = icmp ne i32 %152, 0
br i1 %153, label %154, label %229
154: ; preds = %140
%155 = load i32, i32* %7
%156 = mul nsw i32 %155, 3
%157 = load i32, i32* %8
%158 = add nsw i32 %156, %157
%159 = add nsw i32 %158, 1
store i32 %159, i32* %6
br label %160
160: ; preds = %225, %154
%161 = load i32, i32* %6
%162 = icmp slt i32 %161, 9
br i1 %162, label %163, label %228
163: ; preds = %160
%164 = load [9 x i32]*, [9 x i32]** %3
%165 = load i32, i32* %4
%166 = load i32, i32* %7
%167 = add nsw i32 %165, %166
%168 = sext i32 %167 to i64
%169 = getelementptr inbounds [9 x i32], [9 x i32]* %164, i64 %168
%170 = load i32, i32* %5
%171 = load i32, i32* %8
%172 = add nsw i32 %170, %171
%173 = sext i32 %172 to i64
%174 = getelementptr inbounds [9 x i32], [9 x i32]* %169, i64 0, i64 %173
%175 = load i32, i32* %174
%176 = load [9 x i32]*, [9 x i32]** %3
%177 = load i32, i32* %4
%178 = load i32, i32* %6
%179 = sdiv i32 %178, 3
%180 = add nsw i32 %177, %179
%181 = sext i32 %180 to i64
%182 = getelementptr inbounds [9 x i32], [9 x i32]* %176, i64 %181
%183 = load i32, i32* %5
%184 = load i32, i32* %6
%185 = srem i32 %184, 3
%186 = add nsw i32 %183, %185
%187 = sext i32 %186 to i64
%188 = getelementptr inbounds [9 x i32], [9 x i32]* %182, i64 0, i64 %187
%189 = load i32, i32* %188
%190 = icmp eq i32 %175, %189
br i1 %190, label %191, label %224
191: ; preds = %163
%192 = load i32, i32* %4
%193 = load i32, i32* %5
%194 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.2, i64 0, i64 0), i32 %192, i32 %193)
store i32 0, i32* %6
br label %195
195: ; preds = %220, %191
%196 = load i32, i32* %6
%197 = icmp slt i32 %196, 9
br i1 %197, label %198, label %223
198: ; preds = %195
%199 = load i32, i32* %6
%200 = srem i32 %199, 3
%201 = icmp eq i32 %200, 0
br i1 %201, label %202, label %204
202: ; preds = %198
%203 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
br label %204
204: ; preds = %202, %198
%205 = load [9 x i32]*, [9 x i32]** %3
%206 = load i32, i32* %4
%207 = load i32, i32* %6
%208 = sdiv i32 %207, 3
%209 = add nsw i32 %206, %208
%210 = sext i32 %209 to i64
%211 = getelementptr inbounds [9 x i32], [9 x i32]* %205, i64 %210
%212 = load i32, i32* %5
%213 = load i32, i32* %6
%214 = srem i32 %213, 3
%215 = add nsw i32 %212, %214
%216 = sext i32 %215 to i64
%217 = getelementptr inbounds [9 x i32], [9 x i32]* %211, i64 0, i64 %216
%218 = load i32, i32* %217
%219 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0), i32 %218)
br label %220
220: ; preds = %204
%221 = load i32, i32* %6
%222 = add nsw i32 %221, 1
store i32 %222, i32* %6
br label %195
223: ; preds = %195
br label %228
224: ; preds = %163
br label %225
225: ; preds = %224
%226 = load i32, i32* %6
%227 = add nsw i32 %226, 1
store i32 %227, i32* %6
br label %160
228: ; preds = %223, %160
br label %229
229: ; preds = %228, %140
br label %230
230: ; preds = %229
%231 = load i32, i32* %8
%232 = add nsw i32 %231, 1
store i32 %232, i32* %8
br label %137
233: ; preds = %137
br label %234
234: ; preds = %233
%235 = load i32, i32* %7
%236 = add nsw i32 %235, 1
store i32 %236, i32* %7
br label %133
237: ; preds = %133
br label %238
238: ; preds = %237
%239 = load i32, i32* %5
%240 = add nsw i32 %239, 3
store i32 %240, i32* %5
br label %129
241: ; preds = %129
br label %242
242: ; preds = %241
%243 = load i32, i32* %4
%244 = add nsw i32 %243, 3
store i32 %244, i32* %4
br label %125
245: ; preds = %125
store i32 1, i32* %2
br label %246
246: ; preds = %245, %108, %50
%247 = load i32, i32* %2
ret i32 %247
}

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