int chk_status(char board[][7]) {
  int i, j, k;
  for (j = 0; j < 6; j++) {
    for (i = 0; i < 7 - 3; i++) {
      if ((board[j][i] == 'X') && (board[j][i + 1] == 'X') &&
          (board[j][i + 2] == 'X') && (board[j][i + 3] == 'X'))
        return 1;
      else if ((board[j][i] == 'O') && (board[j][i + 1] == 'O') &&
               (board[j][i + 2] == 'O') && (board[j][i + 3] == 'O'))
        return 2;
    }
  }
  for (j = 0; j < 7; j++) {
    for (i = 0; i < 6 - 3; i++) {
      if ((board[i][j] == 'X') && (board[i + 1][j] == 'X') &&
          (board[i + 2][j] == 'X') && (board[i + 3][j] == 'X'))
        return 1;
      else if ((board[i][j] == 'O') && (board[i + 1][j] == 'O') &&
               (board[i + 2][j] == 'O') && (board[i + 3][j] == 'O'))
        return 2;
    }
  }
  for (i = 0; i < 6 - 3; i++) {
    for (j = 0; j < 7 - 3; j++) {
      if ((board[i][j] == 'X') && (board[i + 1][j + 1] == 'X') &&
          (board[i + 2][j + 2] == 'X') && (board[i + 3][j + 3] == 'X'))
        return 1;
      else if ((board[i][j] == 'O') && (board[i + 1][j + 1] == 'O') &&
               (board[i + 2][j + 2] == 'O') && (board[i + 3][j + 3] == 'O'))
        return 2;
    }
  }
  for (i = 0; i < 6 - 3; i++) {
    for (j = 7 - 1; j > 2; j--) {
      if ((board[i][j] == 'X') && (board[i + 1][j - 1] == 'X') &&
          (board[i + 2][j - 2] == 'X') && (board[i + 3][j - 3] == 'X'))
        return 1;
      else if ((board[i][j] == 'O') && (board[i + 1][j - 1] == 'O') &&
               (board[i + 2][j - 2] == 'O') && (board[i + 3][j - 3] == 'O'))
        return 2;
    }
  }
  for (i = 0; i < 7; i++)
    if (board[6 - 1][i] == '_')
      return 3;
  return 0;
}


x86 assembly (clang, -O0):
<chk_status>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x10(%rbp)
movl   $0x0,-0x18(%rbp)
cmpl   $0x6,-0x18(%rbp)
jge    128b <chk_status+0x18b>
movl   $0x0,-0x14(%rbp)
cmpl   $0x4,-0x14(%rbp)
jge    1278 <chk_status+0x178>
mov    -0x10(%rbp),%rax
movslq -0x18(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x14(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    11c5 <chk_status+0xc5>
mov    -0x10(%rbp),%rax
movslq -0x18(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    11c5 <chk_status+0xc5>
mov    -0x10(%rbp),%rax
movslq -0x18(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    11c5 <chk_status+0xc5>
mov    -0x10(%rbp),%rax
movslq -0x18(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x14(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    11c5 <chk_status+0xc5>
movl   $0x1,-0x4(%rbp)
jmp    179d <chk_status+0x69d>
mov    -0x10(%rbp),%rax
movslq -0x18(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x14(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1260 <chk_status+0x160>
mov    -0x10(%rbp),%rax
movslq -0x18(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1260 <chk_status+0x160>
mov    -0x10(%rbp),%rax
movslq -0x18(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1260 <chk_status+0x160>
mov    -0x10(%rbp),%rax
movslq -0x18(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x14(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1260 <chk_status+0x160>
movl   $0x2,-0x4(%rbp)
jmp    179d <chk_status+0x69d>
jmp    1265 <chk_status+0x165>
jmp    126a <chk_status+0x16a>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1120 <chk_status+0x20>
jmp    127d <chk_status+0x17d>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    110f <chk_status+0xf>
movl   $0x0,-0x18(%rbp)
cmpl   $0x7,-0x18(%rbp)
jge    140e <chk_status+0x30e>
movl   $0x0,-0x14(%rbp)
cmpl   $0x3,-0x14(%rbp)
jge    13fb <chk_status+0x2fb>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    1348 <chk_status+0x248>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    1348 <chk_status+0x248>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    1348 <chk_status+0x248>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    1348 <chk_status+0x248>
movl   $0x1,-0x4(%rbp)
jmp    179d <chk_status+0x69d>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    13e3 <chk_status+0x2e3>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    13e3 <chk_status+0x2e3>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    13e3 <chk_status+0x2e3>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    13e3 <chk_status+0x2e3>
movl   $0x2,-0x4(%rbp)
jmp    179d <chk_status+0x69d>
jmp    13e8 <chk_status+0x2e8>
jmp    13ed <chk_status+0x2ed>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    12a3 <chk_status+0x1a3>
jmp    1400 <chk_status+0x300>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1292 <chk_status+0x192>
movl   $0x0,-0x14(%rbp)
cmpl   $0x3,-0x14(%rbp)
jge    15af <chk_status+0x4af>
movl   $0x0,-0x18(%rbp)
cmpl   $0x4,-0x18(%rbp)
jge    159c <chk_status+0x49c>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    14da <chk_status+0x3da>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    14da <chk_status+0x3da>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    14da <chk_status+0x3da>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    14da <chk_status+0x3da>
movl   $0x1,-0x4(%rbp)
jmp    179d <chk_status+0x69d>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1584 <chk_status+0x484>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1584 <chk_status+0x484>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1584 <chk_status+0x484>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1584 <chk_status+0x484>
movl   $0x2,-0x4(%rbp)
jmp    179d <chk_status+0x69d>
jmp    1589 <chk_status+0x489>
jmp    158e <chk_status+0x48e>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1426 <chk_status+0x326>
jmp    15a1 <chk_status+0x4a1>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1415 <chk_status+0x315>
movl   $0x0,-0x14(%rbp)
cmpl   $0x3,-0x14(%rbp)
jge    1750 <chk_status+0x650>
movl   $0x6,-0x18(%rbp)
cmpl   $0x2,-0x18(%rbp)
jle    173d <chk_status+0x63d>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    167b <chk_status+0x57b>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    167b <chk_status+0x57b>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x2,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    167b <chk_status+0x57b>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x3,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    167b <chk_status+0x57b>
movl   $0x1,-0x4(%rbp)
jmp    179d <chk_status+0x69d>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
movslq -0x18(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1725 <chk_status+0x625>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1725 <chk_status+0x625>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x2,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1725 <chk_status+0x625>
mov    -0x10(%rbp),%rax
mov    -0x14(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
imul   $0x7,%rcx,%rcx
add    %rcx,%rax
mov    -0x18(%rbp),%ecx
sub    $0x3,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    1725 <chk_status+0x625>
movl   $0x2,-0x4(%rbp)
jmp    179d <chk_status+0x69d>
jmp    172a <chk_status+0x62a>
jmp    172f <chk_status+0x62f>
mov    -0x18(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x18(%rbp)
jmp    15c7 <chk_status+0x4c7>
jmp    1742 <chk_status+0x642>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    15b6 <chk_status+0x4b6>
movl   $0x0,-0x14(%rbp)
cmpl   $0x7,-0x14(%rbp)
jge    1796 <chk_status+0x696>
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
movsbl 0x23(%rax,%rcx,1),%eax
cmp    $0x5f,%eax
jne    1783 <chk_status+0x683>
movl   $0x3,-0x4(%rbp)
jmp    179d <chk_status+0x69d>
jmp    1788 <chk_status+0x688>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1757 <chk_status+0x657>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<chk_status>:
mov    $0x6,%eax
jmp    111e <chk_status+0x1e>
nopw   0x0(%rax,%rax,1)
add    $0x7,%rax
cmp    $0x30,%rax
je     1275 <chk_status+0x175>
movzbl -0x6(%rdi,%rax,1),%ecx
cmp    $0x4f,%cl
je     1150 <chk_status+0x50>
cmp    $0x58,%cl
jne    1170 <chk_status+0x70>
movzbl -0x5(%rdi,%rax,1),%ecx
cmp    $0x58,%cl
jne    1175 <chk_status+0x75>
cmpb   $0x58,-0x4(%rdi,%rax,1)
jne    117f <chk_status+0x7f>
cmpb   $0x58,-0x3(%rdi,%rax,1)
jne    117f <chk_status+0x7f>
jmp    1681 <chk_status+0x581>
nopw   0x0(%rax,%rax,1)
movzbl -0x5(%rdi,%rax,1),%ecx
cmp    $0x4f,%cl
jne    1175 <chk_status+0x75>
cmpb   $0x4f,-0x4(%rdi,%rax,1)
jne    11a0 <chk_status+0xa0>
cmpb   $0x4f,-0x3(%rdi,%rax,1)
jne    11a0 <chk_status+0xa0>
jmp    1687 <chk_status+0x587>
nopl   (%rax)
movzbl -0x5(%rdi,%rax,1),%ecx
cmp    $0x4f,%cl
je     11a0 <chk_status+0xa0>
cmp    $0x58,%cl
jne    11c0 <chk_status+0xc0>
movzbl -0x4(%rdi,%rax,1),%ecx
cmp    $0x58,%cl
jne    11c5 <chk_status+0xc5>
cmpb   $0x58,-0x3(%rdi,%rax,1)
jne    11cf <chk_status+0xcf>
cmpb   $0x58,-0x2(%rdi,%rax,1)
jne    11cf <chk_status+0xcf>
jmp    1681 <chk_status+0x581>
nopl   0x0(%rax)
movzbl -0x4(%rdi,%rax,1),%ecx
cmp    $0x4f,%cl
jne    11c5 <chk_status+0xc5>
cmpb   $0x4f,-0x3(%rdi,%rax,1)
jne    11f0 <chk_status+0xf0>
cmpb   $0x4f,-0x2(%rdi,%rax,1)
jne    11f0 <chk_status+0xf0>
jmp    1687 <chk_status+0x587>
nopl   (%rax)
movzbl -0x4(%rdi,%rax,1),%ecx
cmp    $0x4f,%cl
je     11f0 <chk_status+0xf0>
cmp    $0x58,%cl
jne    1210 <chk_status+0x110>
movzbl -0x3(%rdi,%rax,1),%ecx
cmp    $0x58,%cl
jne    1215 <chk_status+0x115>
cmpb   $0x58,-0x2(%rdi,%rax,1)
jne    1250 <chk_status+0x150>
cmpb   $0x58,-0x1(%rdi,%rax,1)
jne    1250 <chk_status+0x150>
jmp    1681 <chk_status+0x581>
nopl   0x0(%rax)
movzbl -0x3(%rdi,%rax,1),%ecx
cmp    $0x4f,%cl
jne    1215 <chk_status+0x115>
cmpb   $0x4f,-0x2(%rdi,%rax,1)
jne    1223 <chk_status+0x123>
cmpb   $0x4f,-0x1(%rdi,%rax,1)
jne    1223 <chk_status+0x123>
jmp    1687 <chk_status+0x587>
nopl   (%rax)
movzbl -0x3(%rdi,%rax,1),%ecx
cmp    $0x58,%cl
je     1250 <chk_status+0x150>
cmp    $0x4f,%cl
jne    1110 <chk_status+0x10>
cmpb   $0x4f,-0x2(%rdi,%rax,1)
jne    1110 <chk_status+0x10>
cmpb   $0x4f,-0x1(%rdi,%rax,1)
jne    1110 <chk_status+0x10>
cmpb   $0x4f,(%rdi,%rax,1)
jne    1110 <chk_status+0x10>
jmp    1687 <chk_status+0x587>
nopl   0x0(%rax,%rax,1)
cmpb   $0x58,-0x2(%rdi,%rax,1)
jne    1110 <chk_status+0x10>
cmpb   $0x58,-0x1(%rdi,%rax,1)
jne    1110 <chk_status+0x10>
cmpb   $0x58,(%rdi,%rax,1)
jne    1110 <chk_status+0x10>
jmp    1681 <chk_status+0x581>
lea    0x23(%rdi),%rax
mov    $0xfffffffffffffff9,%rcx
jmp    1299 <chk_status+0x199>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
inc    %rcx
je     13a5 <chk_status+0x2a5>
movzbl -0x1c(%rax,%rcx,1),%edx
cmp    $0x4f,%dl
je     12d0 <chk_status+0x1d0>
cmp    $0x58,%dl
jne    12f0 <chk_status+0x1f0>
movzbl -0x15(%rax,%rcx,1),%edx
cmp    $0x58,%dl
jne    12f5 <chk_status+0x1f5>
cmpb   $0x58,-0xe(%rax,%rcx,1)
jne    12ff <chk_status+0x1ff>
cmpb   $0x58,-0x7(%rax,%rcx,1)
jne    12ff <chk_status+0x1ff>
jmp    1681 <chk_status+0x581>
cs nopw 0x0(%rax,%rax,1)
nop
movzbl -0x15(%rax,%rcx,1),%edx
cmp    $0x4f,%dl
jne    12f5 <chk_status+0x1f5>
cmpb   $0x4f,-0xe(%rax,%rcx,1)
jne    1320 <chk_status+0x220>
cmpb   $0x4f,-0x7(%rax,%rcx,1)
jne    1320 <chk_status+0x220>
jmp    1687 <chk_status+0x587>
nopl   (%rax)
movzbl -0x15(%rax,%rcx,1),%edx
cmp    $0x4f,%dl
je     1320 <chk_status+0x220>
cmp    $0x58,%dl
jne    1340 <chk_status+0x240>
movzbl -0xe(%rax,%rcx,1),%edx
cmp    $0x58,%dl
jne    1345 <chk_status+0x245>
cmpb   $0x58,-0x7(%rax,%rcx,1)
jne    1380 <chk_status+0x280>
cmpb   $0x58,(%rax,%rcx,1)
jne    1380 <chk_status+0x280>
jmp    1681 <chk_status+0x581>
nopl   0x0(%rax,%rax,1)
movzbl -0xe(%rax,%rcx,1),%edx
cmp    $0x4f,%dl
jne    1345 <chk_status+0x245>
cmpb   $0x4f,-0x7(%rax,%rcx,1)
jne    1353 <chk_status+0x253>
cmpb   $0x4f,(%rax,%rcx,1)
jne    1353 <chk_status+0x253>
jmp    1687 <chk_status+0x587>
nopl   0x0(%rax)
movzbl -0xe(%rax,%rcx,1),%edx
cmp    $0x58,%dl
je     1380 <chk_status+0x280>
cmp    $0x4f,%dl
jne    1290 <chk_status+0x190>
cmpb   $0x4f,-0x7(%rax,%rcx,1)
jne    1290 <chk_status+0x190>
cmpb   $0x4f,(%rax,%rcx,1)
jne    1290 <chk_status+0x190>
cmpb   $0x4f,0x7(%rax,%rcx,1)
jne    1290 <chk_status+0x190>
jmp    1687 <chk_status+0x587>
nopl   0x0(%rax,%rax,1)
cmpb   $0x58,-0x7(%rax,%rcx,1)
jne    1290 <chk_status+0x190>
cmpb   $0x58,(%rax,%rcx,1)
jne    1290 <chk_status+0x190>
cmpb   $0x58,0x7(%rax,%rcx,1)
jne    1290 <chk_status+0x190>
jmp    1681 <chk_status+0x581>
lea    0x1b(%rdi),%rax
xor    %ecx,%ecx
jmp    13be <chk_status+0x2be>
nopl   (%rax)
add    $0x7,%rcx
cmp    $0x15,%rcx
je     1515 <chk_status+0x415>
movzbl -0x1b(%rax,%rcx,1),%edx
cmp    $0x4f,%dl
je     13f0 <chk_status+0x2f0>
cmp    $0x58,%dl
jne    1410 <chk_status+0x310>
cmpb   $0x58,-0x13(%rax,%rcx,1)
jne    1410 <chk_status+0x310>
cmpb   $0x58,-0xb(%rax,%rcx,1)
jne    1410 <chk_status+0x310>
cmpb   $0x58,-0x3(%rax,%rcx,1)
jne    1410 <chk_status+0x310>
jmp    1681 <chk_status+0x581>
nopw   0x0(%rax,%rax,1)
cmpb   $0x4f,-0x13(%rax,%rcx,1)
jne    1410 <chk_status+0x310>
cmpb   $0x4f,-0xb(%rax,%rcx,1)
jne    1410 <chk_status+0x310>
cmpb   $0x4f,-0x3(%rax,%rcx,1)
je     1687 <chk_status+0x587>
nopl   0x0(%rax)
movzbl -0x1a(%rax,%rcx,1),%edx
cmp    $0x58,%dl
je     1440 <chk_status+0x340>
cmp    $0x4f,%dl
jne    1460 <chk_status+0x360>
cmpb   $0x4f,-0x12(%rax,%rcx,1)
jne    1460 <chk_status+0x360>
cmpb   $0x4f,-0xa(%rax,%rcx,1)
jne    1460 <chk_status+0x360>
cmpb   $0x4f,-0x2(%rax,%rcx,1)
jne    1460 <chk_status+0x360>
jmp    1687 <chk_status+0x587>
nopl   0x0(%rax)
cmpb   $0x58,-0x12(%rax,%rcx,1)
jne    1460 <chk_status+0x360>
cmpb   $0x58,-0xa(%rax,%rcx,1)
jne    1460 <chk_status+0x360>
cmpb   $0x58,-0x2(%rax,%rcx,1)
je     1681 <chk_status+0x581>
nopl   0x0(%rax)
movzbl -0x19(%rax,%rcx,1),%edx
cmp    $0x58,%dl
je     1490 <chk_status+0x390>
cmp    $0x4f,%dl
jne    14b0 <chk_status+0x3b0>
cmpb   $0x4f,-0x11(%rax,%rcx,1)
jne    14b0 <chk_status+0x3b0>
cmpb   $0x4f,-0x9(%rax,%rcx,1)
jne    14b0 <chk_status+0x3b0>
cmpb   $0x4f,-0x1(%rax,%rcx,1)
jne    14b0 <chk_status+0x3b0>
jmp    1687 <chk_status+0x587>
nopl   0x0(%rax)
cmpb   $0x58,-0x11(%rax,%rcx,1)
jne    14b0 <chk_status+0x3b0>
cmpb   $0x58,-0x9(%rax,%rcx,1)
jne    14b0 <chk_status+0x3b0>
cmpb   $0x58,-0x1(%rax,%rcx,1)
je     1681 <chk_status+0x581>
nopl   0x0(%rax)
movzbl -0x18(%rax,%rcx,1),%edx
cmp    $0x58,%dl
je     14f0 <chk_status+0x3f0>
cmp    $0x4f,%dl
jne    13b0 <chk_status+0x2b0>
cmpb   $0x4f,-0x10(%rax,%rcx,1)
jne    13b0 <chk_status+0x2b0>
cmpb   $0x4f,-0x8(%rax,%rcx,1)
jne    13b0 <chk_status+0x2b0>
cmpb   $0x4f,(%rax,%rcx,1)
jne    13b0 <chk_status+0x2b0>
jmp    1687 <chk_status+0x587>
nopl   0x0(%rax,%rax,1)
cmpb   $0x58,-0x10(%rax,%rcx,1)
jne    13b0 <chk_status+0x2b0>
cmpb   $0x58,-0x8(%rax,%rcx,1)
jne    13b0 <chk_status+0x2b0>
cmpb   $0x58,(%rax,%rcx,1)
jne    13b0 <chk_status+0x2b0>
jmp    1681 <chk_status+0x581>
lea    0x18(%rdi),%rax
xor    %ecx,%ecx
jmp    152e <chk_status+0x42e>
nopl   (%rax)
add    $0x7,%rcx
cmp    $0x15,%rcx
je     168d <chk_status+0x58d>
movzbl -0x12(%rax,%rcx,1),%edx
cmp    $0x4f,%dl
je     1560 <chk_status+0x460>
cmp    $0x58,%dl
jne    1580 <chk_status+0x480>
cmpb   $0x58,-0xc(%rax,%rcx,1)
jne    1580 <chk_status+0x480>
cmpb   $0x58,-0x6(%rax,%rcx,1)
jne    1580 <chk_status+0x480>
cmpb   $0x58,(%rax,%rcx,1)
jne    1580 <chk_status+0x480>
jmp    1681 <chk_status+0x581>
cs nopw 0x0(%rax,%rax,1)
cmpb   $0x4f,-0xc(%rax,%rcx,1)
jne    1580 <chk_status+0x480>
cmpb   $0x4f,-0x6(%rax,%rcx,1)
jne    1580 <chk_status+0x480>
cmpb   $0x4f,(%rax,%rcx,1)
je     1687 <chk_status+0x587>
nopl   0x0(%rax,%rax,1)
movzbl -0x13(%rax,%rcx,1),%edx
cmp    $0x58,%dl
je     15b0 <chk_status+0x4b0>
cmp    $0x4f,%dl
jne    15d0 <chk_status+0x4d0>
cmpb   $0x4f,-0xd(%rax,%rcx,1)
jne    15d0 <chk_status+0x4d0>
cmpb   $0x4f,-0x7(%rax,%rcx,1)
jne    15d0 <chk_status+0x4d0>
cmpb   $0x4f,-0x1(%rax,%rcx,1)
jne    15d0 <chk_status+0x4d0>
jmp    1687 <chk_status+0x587>
nopl   0x0(%rax)
cmpb   $0x58,-0xd(%rax,%rcx,1)
jne    15d0 <chk_status+0x4d0>
cmpb   $0x58,-0x7(%rax,%rcx,1)
jne    15d0 <chk_status+0x4d0>
cmpb   $0x58,-0x1(%rax,%rcx,1)
je     1681 <chk_status+0x581>
nopl   0x0(%rax)
movzbl -0x14(%rax,%rcx,1),%edx
cmp    $0x58,%dl
je     1600 <chk_status+0x500>
cmp    $0x4f,%dl
jne    1620 <chk_status+0x520>
cmpb   $0x4f,-0xe(%rax,%rcx,1)
jne    1620 <chk_status+0x520>
cmpb   $0x4f,-0x8(%rax,%rcx,1)
jne    1620 <chk_status+0x520>
cmpb   $0x4f,-0x2(%rax,%rcx,1)
jne    1620 <chk_status+0x520>
jmp    1687 <chk_status+0x587>
nopl   0x0(%rax)
cmpb   $0x58,-0xe(%rax,%rcx,1)
jne    1620 <chk_status+0x520>
cmpb   $0x58,-0x8(%rax,%rcx,1)
jne    1620 <chk_status+0x520>
cmpb   $0x58,-0x2(%rax,%rcx,1)
je     1681 <chk_status+0x581>
cs nopw 0x0(%rax,%rax,1)
nop
movzbl -0x15(%rax,%rcx,1),%edx
cmp    $0x58,%dl
je     1660 <chk_status+0x560>
cmp    $0x4f,%dl
jne    1520 <chk_status+0x420>
cmpb   $0x4f,-0xf(%rax,%rcx,1)
jne    1520 <chk_status+0x420>
cmpb   $0x4f,-0x9(%rax,%rcx,1)
jne    1520 <chk_status+0x420>
cmpb   $0x4f,-0x3(%rax,%rcx,1)
jne    1520 <chk_status+0x420>
jmp    1687 <chk_status+0x587>
cs nopw 0x0(%rax,%rax,1)
cmpb   $0x58,-0xf(%rax,%rcx,1)
jne    1520 <chk_status+0x420>
cmpb   $0x58,-0x9(%rax,%rcx,1)
jne    1520 <chk_status+0x420>
cmpb   $0x58,-0x3(%rax,%rcx,1)
jne    1520 <chk_status+0x420>
mov    $0x1,%eax
ret
mov    $0x2,%eax
ret
mov    $0x3,%eax
cmpb   $0x5f,0x23(%rdi)
je     16c2 <chk_status+0x5c2>
cmpb   $0x5f,0x24(%rdi)
je     16c2 <chk_status+0x5c2>
cmpb   $0x5f,0x25(%rdi)
je     16c2 <chk_status+0x5c2>
cmpb   $0x5f,0x26(%rdi)
je     16c2 <chk_status+0x5c2>
cmpb   $0x5f,0x27(%rdi)
je     16c2 <chk_status+0x5c2>
cmpb   $0x5f,0x28(%rdi)
je     16c2 <chk_status+0x5c2>
xor    %eax,%eax
cmpb   $0x5f,0x29(%rdi)
sete   %al
lea    (%rax,%rax,2),%eax
ret

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

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