unsigned char **player2_draw(unsigned char **a,
                             struct game_position_t *game_positions,
                             int player2_move, int rows, int cols) {
  int i;
  if (player2_move == 1) {
    a[14][9] = 1;
    for (i = 1; i < 10; i++) {
      a[14 + i][9] = 1;
      a[14][9 + i] = 1;
      a[14 + i][18] = 1;
      a[23][9 + i] = 1;
    }
  } else if (player2_move == 2) {
    a[44][9] = 1;
    for (i = 1; i < 10; i++) {
      a[44 + i][9] = 1;
      a[44][9 + i] = 1;
      a[44 + i][18] = 1;
      a[53][9 + i] = 1;
    }
  } else if (player2_move == 3) {
    a[73][9] = 1;
    for (i = 1; i < 10; i++) {
      a[73 + i][9] = 1;
      a[73][9 + i] = 1;
      a[73 + i][18] = 1;
      a[82][9 + i] = 1;
    }
  } else if (player2_move == 4) {
    a[14][33] = 1;
    for (i = 1; i < 10; i++) {
      a[14 + i][33] = 1;
      a[14][33 + i] = 1;
      a[14 + i][42] = 1;
      a[23][33 + i] = 1;
    }
  } else if (player2_move == 5) {
    a[44][33] = 1;
    for (i = 1; i < 10; i++) {
      a[44 + i][33] = 1;
      a[44][33 + i] = 1;
      a[44 + i][42] = 1;
      a[53][33 + i] = 1;
    }
  } else if (player2_move == 6) {
    a[73][33] = 1;
    for (i = 1; i < 10; i++) {
      a[73 + i][33] = 1;
      a[73][33 + i] = 1;
      a[73 + i][42] = 1;
      a[82][33 + i] = 1;
    }
  } else if (player2_move == 7) {
    a[14][56] = 1;
    for (i = 1; i < 10; i++) {
      a[14 + i][56] = 1;
      a[14][56 + i] = 1;
      a[14 + i][65] = 1;
      a[23][56 + i] = 1;
    }
  } else if (player2_move == 8) {
    a[44][56] = 1;
    for (i = 1; i < 10; i++) {
      a[44 + i][56] = 1;
      a[44][56 + i] = 1;
      a[44 + i][65] = 1;
      a[53][56 + i] = 1;
    }
  } else if (player2_move == 9) {
    a[73][56] = 1;
    for (i = 1; i < 10; i++) {
      a[73 + i][56] = 1;
      a[73][56 + i] = 1;
      a[73 + i][65] = 1;
      a[82][56 + i] = 1;
    }
  }
  return a;
}


x86 assembly (clang, -O0):
<player2_draw>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %edx,-0x14(%rbp)
mov    %ecx,-0x18(%rbp)
mov    %r8d,-0x1c(%rbp)
cmpl   $0x1,-0x14(%rbp)
jne    11a7 <player2_draw+0xa7>
mov    -0x8(%rbp),%rax
mov    0x70(%rax),%rax
movb   $0x1,0x9(%rax)
movl   $0x1,-0x20(%rbp)
cmpl   $0xa,-0x20(%rbp)
jge    11a2 <player2_draw+0xa2>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0xe,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x9(%rax)
mov    -0x8(%rbp),%rax
mov    0x70(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x9,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0xe,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x12(%rax)
mov    -0x8(%rbp),%rax
mov    0xb8(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x9,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    1133 <player2_draw+0x33>
jmp    167b <player2_draw+0x57b>
cmpl   $0x2,-0x14(%rbp)
jne    123e <player2_draw+0x13e>
mov    -0x8(%rbp),%rax
mov    0x160(%rax),%rax
movb   $0x1,0x9(%rax)
movl   $0x1,-0x20(%rbp)
cmpl   $0xa,-0x20(%rbp)
jge    1239 <player2_draw+0x139>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x2c,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x9(%rax)
mov    -0x8(%rbp),%rax
mov    0x160(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x9,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x2c,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x12(%rax)
mov    -0x8(%rbp),%rax
mov    0x1a8(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x9,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    11c7 <player2_draw+0xc7>
jmp    1676 <player2_draw+0x576>
cmpl   $0x3,-0x14(%rbp)
jne    12d5 <player2_draw+0x1d5>
mov    -0x8(%rbp),%rax
mov    0x248(%rax),%rax
movb   $0x1,0x9(%rax)
movl   $0x1,-0x20(%rbp)
cmpl   $0xa,-0x20(%rbp)
jge    12d0 <player2_draw+0x1d0>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x49,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x9(%rax)
mov    -0x8(%rbp),%rax
mov    0x248(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x9,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x49,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x12(%rax)
mov    -0x8(%rbp),%rax
mov    0x290(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x9,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    125e <player2_draw+0x15e>
jmp    1671 <player2_draw+0x571>
cmpl   $0x4,-0x14(%rbp)
jne    1366 <player2_draw+0x266>
mov    -0x8(%rbp),%rax
mov    0x70(%rax),%rax
movb   $0x1,0x21(%rax)
movl   $0x1,-0x20(%rbp)
cmpl   $0xa,-0x20(%rbp)
jge    1361 <player2_draw+0x261>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0xe,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x21(%rax)
mov    -0x8(%rbp),%rax
mov    0x70(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x21,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0xe,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x2a(%rax)
mov    -0x8(%rbp),%rax
mov    0xb8(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x21,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    12f2 <player2_draw+0x1f2>
jmp    166c <player2_draw+0x56c>
cmpl   $0x5,-0x14(%rbp)
jne    13fd <player2_draw+0x2fd>
mov    -0x8(%rbp),%rax
mov    0x160(%rax),%rax
movb   $0x1,0x21(%rax)
movl   $0x1,-0x20(%rbp)
cmpl   $0xa,-0x20(%rbp)
jge    13f8 <player2_draw+0x2f8>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x2c,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x21(%rax)
mov    -0x8(%rbp),%rax
mov    0x160(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x21,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x2c,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x2a(%rax)
mov    -0x8(%rbp),%rax
mov    0x1a8(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x21,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    1386 <player2_draw+0x286>
jmp    1667 <player2_draw+0x567>
cmpl   $0x6,-0x14(%rbp)
jne    1494 <player2_draw+0x394>
mov    -0x8(%rbp),%rax
mov    0x248(%rax),%rax
movb   $0x1,0x21(%rax)
movl   $0x1,-0x20(%rbp)
cmpl   $0xa,-0x20(%rbp)
jge    148f <player2_draw+0x38f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x49,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x21(%rax)
mov    -0x8(%rbp),%rax
mov    0x248(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x21,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x49,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x2a(%rax)
mov    -0x8(%rbp),%rax
mov    0x290(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x21,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    141d <player2_draw+0x31d>
jmp    1662 <player2_draw+0x562>
cmpl   $0x7,-0x14(%rbp)
jne    1525 <player2_draw+0x425>
mov    -0x8(%rbp),%rax
mov    0x70(%rax),%rax
movb   $0x1,0x38(%rax)
movl   $0x1,-0x20(%rbp)
cmpl   $0xa,-0x20(%rbp)
jge    1520 <player2_draw+0x420>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0xe,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x38(%rax)
mov    -0x8(%rbp),%rax
mov    0x70(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x38,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0xe,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x41(%rax)
mov    -0x8(%rbp),%rax
mov    0xb8(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x38,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    14b1 <player2_draw+0x3b1>
jmp    165d <player2_draw+0x55d>
cmpl   $0x8,-0x14(%rbp)
jne    15bc <player2_draw+0x4bc>
mov    -0x8(%rbp),%rax
mov    0x160(%rax),%rax
movb   $0x1,0x38(%rax)
movl   $0x1,-0x20(%rbp)
cmpl   $0xa,-0x20(%rbp)
jge    15b7 <player2_draw+0x4b7>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x2c,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x38(%rax)
mov    -0x8(%rbp),%rax
mov    0x160(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x38,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x2c,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x41(%rax)
mov    -0x8(%rbp),%rax
mov    0x1a8(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x38,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    1545 <player2_draw+0x445>
jmp    1658 <player2_draw+0x558>
cmpl   $0x9,-0x14(%rbp)
jne    1653 <player2_draw+0x553>
mov    -0x8(%rbp),%rax
mov    0x248(%rax),%rax
movb   $0x1,0x38(%rax)
movl   $0x1,-0x20(%rbp)
cmpl   $0xa,-0x20(%rbp)
jge    164e <player2_draw+0x54e>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x49,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x38(%rax)
mov    -0x8(%rbp),%rax
mov    0x248(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x38,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x49,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movb   $0x1,0x41(%rax)
mov    -0x8(%rbp),%rax
mov    0x290(%rax),%rax
mov    -0x20(%rbp),%ecx
add    $0x38,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    15dc <player2_draw+0x4dc>
jmp    1653 <player2_draw+0x553>
jmp    1658 <player2_draw+0x558>
jmp    165d <player2_draw+0x55d>
jmp    1662 <player2_draw+0x562>
jmp    1667 <player2_draw+0x567>
jmp    166c <player2_draw+0x56c>
jmp    1671 <player2_draw+0x571>
jmp    1676 <player2_draw+0x576>
jmp    167b <player2_draw+0x57b>
mov    -0x8(%rbp),%rax
pop    %rbp
ret

x86 assembly (clang, -O2):
<player2_draw>:
mov    %rdi,%rax
add    $0xffffffff,%edx
cmp    $0x8,%edx
ja     1328 <player2_draw+0x228>
push   %r14
push   %rbx
movslq %edx,%rcx
lea    0xee4(%rip),%rdx
mov    (%rdx,%rcx,8),%r8
lea    0xf21(%rip),%rdx
mov    (%rdx,%rcx,8),%r11
lea    0xf5e(%rip),%rdx
mov    (%rdx,%rcx,8),%rdx
lea    0xf9b(%rip),%rdi
mov    (%rdi,%rcx,8),%r10
lea    0xfd8(%rip),%rdi
mov    (%rdi,%rcx,8),%r9
lea    0x1015(%rip),%rdi
mov    (%rdi,%rcx,8),%rdi
mov    (%rax,%r8,8),%rsi
movb   $0x1,(%rsi,%r11,1)
mov    (%rax,%r10,8),%rsi
movb   $0x1,(%rsi,%r11,1)
mov    (%rax,%r8,8),%rsi
movb   $0x1,(%rsi,%r9,1)
lea    0x1037(%rip),%rsi
mov    (%rsi,%rcx,8),%r14
mov    (%rax,%r10,8),%rsi
movb   $0x1,(%rsi,%rdi,1)
mov    (%rax,%rdx,8),%rsi
movb   $0x1,(%rsi,%r9,1)
lea    0x1063(%rip),%rsi
mov    (%rsi,%rcx,8),%rsi
mov    (%rax,%r14,8),%rbx
movb   $0x1,(%rbx,%r11,1)
mov    (%rax,%r8,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x108f(%rip),%rbx
mov    (%rbx,%rcx,8),%r9
mov    (%rax,%r14,8),%rbx
movb   $0x1,(%rbx,%rdi,1)
mov    (%rax,%rdx,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x10bc(%rip),%rsi
mov    (%rsi,%rcx,8),%rsi
mov    (%rax,%r9,8),%rbx
movb   $0x1,(%rbx,%r11,1)
mov    (%rax,%r8,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x10e8(%rip),%rbx
mov    (%rbx,%rcx,8),%r10
mov    (%rax,%r9,8),%rbx
movb   $0x1,(%rbx,%rdi,1)
mov    (%rax,%rdx,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x1115(%rip),%rsi
mov    (%rsi,%rcx,8),%rsi
mov    (%rax,%r10,8),%rbx
movb   $0x1,(%rbx,%r11,1)
mov    (%rax,%r8,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x1141(%rip),%rbx
mov    (%rbx,%rcx,8),%r9
mov    (%rax,%r10,8),%rbx
movb   $0x1,(%rbx,%rdi,1)
mov    (%rax,%rdx,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x116e(%rip),%rsi
mov    (%rsi,%rcx,8),%rsi
mov    (%rax,%r9,8),%rbx
movb   $0x1,(%rbx,%r11,1)
mov    (%rax,%r8,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x119a(%rip),%rbx
mov    (%rbx,%rcx,8),%r10
mov    (%rax,%r9,8),%rbx
movb   $0x1,(%rbx,%rdi,1)
mov    (%rax,%rdx,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x11c7(%rip),%rsi
mov    (%rsi,%rcx,8),%rsi
mov    (%rax,%r10,8),%rbx
movb   $0x1,(%rbx,%r11,1)
mov    (%rax,%r8,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x11f3(%rip),%rbx
mov    (%rbx,%rcx,8),%r9
mov    (%rax,%r10,8),%rbx
movb   $0x1,(%rbx,%rdi,1)
mov    (%rax,%rdx,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x1220(%rip),%rsi
mov    (%rsi,%rcx,8),%rsi
mov    (%rax,%r9,8),%rbx
movb   $0x1,(%rbx,%r11,1)
mov    (%rax,%r8,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
mov    (%rax,%r9,8),%rbx
movb   $0x1,(%rbx,%rdi,1)
mov    (%rax,%rdx,8),%rbx
movb   $0x1,(%rbx,%rsi,1)
lea    0x123c(%rip),%rsi
mov    (%rsi,%rcx,8),%rsi
lea    0x1279(%rip),%rbx
mov    (%rbx,%rcx,8),%rcx
mov    (%rax,%rsi,8),%rbx
movb   $0x1,(%rbx,%r11,1)
mov    (%rax,%r8,8),%rbx
movb   $0x1,(%rbx,%rcx,1)
mov    (%rax,%rsi,8),%rsi
movb   $0x1,(%rsi,%rdi,1)
mov    (%rax,%rdx,8),%rsi
movb   $0x1,(%rsi,%rcx,1)
mov    (%rax,%rdx,8),%rcx
movb   $0x1,(%rcx,%r11,1)
mov    (%rax,%r8,8),%rcx
movb   $0x1,(%rcx,%rdi,1)
mov    (%rax,%rdx,8),%rcx
movb   $0x1,(%rcx,%rdi,1)
mov    (%rax,%rdx,8),%rcx
movb   $0x1,(%rcx,%rdi,1)
pop    %rbx
pop    %r14
ret

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

LLVM IR (-O2):
%struct.game_position_t = type opaque
@switch.table.player2_draw = [9 x i64] [i64 14, i64 44, i64 73, i64 14, i64 44, i64 73, i64 14, i64 44, i64 73]
@switch.table.player2_draw.1 = [9 x i64] [i64 9, i64 9, i64 9, i64 33, i64 33, i64 33, i64 56, i64 56, i64 56]
@switch.table.player2_draw.2 = [9 x i64] [i64 23, i64 53, i64 82, i64 23, i64 53, i64 82, i64 23, i64 53, i64 82]
@switch.table.player2_draw.3 = [9 x i64] [i64 15, i64 45, i64 74, i64 15, i64 45, i64 74, i64 15, i64 45, i64 74]
@switch.table.player2_draw.4 = [9 x i64] [i64 10, i64 10, i64 10, i64 34, i64 34, i64 34, i64 57, i64 57, i64 57]
@switch.table.player2_draw.5 = [9 x i64] [i64 18, i64 18, i64 18, i64 42, i64 42, i64 42, i64 65, i64 65, i64 65]
@switch.table.player2_draw.6 = [9 x i64] [i64 16, i64 46, i64 75, i64 16, i64 46, i64 75, i64 16, i64 46, i64 75]
@switch.table.player2_draw.7 = [9 x i64] [i64 11, i64 11, i64 11, i64 35, i64 35, i64 35, i64 58, i64 58, i64 58]
@switch.table.player2_draw.8 = [9 x i64] [i64 17, i64 47, i64 76, i64 17, i64 47, i64 76, i64 17, i64 47, i64 76]
@switch.table.player2_draw.9 = [9 x i64] [i64 12, i64 12, i64 12, i64 36, i64 36, i64 36, i64 59, i64 59, i64 59]
@switch.table.player2_draw.10 = [9 x i64] [i64 18, i64 48, i64 77, i64 18, i64 48, i64 77, i64 18, i64 48, i64 77]
@switch.table.player2_draw.11 = [9 x i64] [i64 13, i64 13, i64 13, i64 37, i64 37, i64 37, i64 60, i64 60, i64 60]
@switch.table.player2_draw.12 = [9 x i64] [i64 19, i64 49, i64 78, i64 19, i64 49, i64 78, i64 19, i64 49, i64 78]
@switch.table.player2_draw.13 = [9 x i64] [i64 14, i64 14, i64 14, i64 38, i64 38, i64 38, i64 61, i64 61, i64 61]
@switch.table.player2_draw.14 = [9 x i64] [i64 20, i64 50, i64 79, i64 20, i64 50, i64 79, i64 20, i64 50, i64 79]
@switch.table.player2_draw.15 = [9 x i64] [i64 15, i64 15, i64 15, i64 39, i64 39, i64 39, i64 62, i64 62, i64 62]
@switch.table.player2_draw.16 = [9 x i64] [i64 21, i64 51, i64 80, i64 21, i64 51, i64 80, i64 21, i64 51, i64 80]
@switch.table.player2_draw.17 = [9 x i64] [i64 16, i64 16, i64 16, i64 40, i64 40, i64 40, i64 63, i64 63, i64 63]
@switch.table.player2_draw.18 = [9 x i64] [i64 22, i64 52, i64 81, i64 22, i64 52, i64 81, i64 22, i64 52, i64 81]
@switch.table.player2_draw.19 = [9 x i64] [i64 17, i64 17, i64 17, i64 41, i64 41, i64 41, i64 64, i64 64, i64 64]
define i8** @player2_draw(i8** returned %0, %struct.game_position_t* nocapture readnone %1, i32 %2, i32 %3, i32 %4) {
%6 = add i32 %2, -1
%7 = icmp ult i32 %6, 9
br i1 %7, label %8, label %153
8: ; preds = %5
%9 = sext i32 %6 to i64
%10 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw, i64 0, i64 %9
%11 = load i64, i64* %10
%12 = sext i32 %6 to i64
%13 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.1, i64 0, i64 %12
%14 = load i64, i64* %13
%15 = sext i32 %6 to i64
%16 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.2, i64 0, i64 %15
%17 = load i64, i64* %16
%18 = sext i32 %6 to i64
%19 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.3, i64 0, i64 %18
%20 = load i64, i64* %19
%21 = sext i32 %6 to i64
%22 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.4, i64 0, i64 %21
%23 = load i64, i64* %22
%24 = sext i32 %6 to i64
%25 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.5, i64 0, i64 %24
%26 = load i64, i64* %25
%27 = sext i32 %6 to i64
%28 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.6, i64 0, i64 %27
%29 = load i64, i64* %28
%30 = sext i32 %6 to i64
%31 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.7, i64 0, i64 %30
%32 = load i64, i64* %31
%33 = sext i32 %6 to i64
%34 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.8, i64 0, i64 %33
%35 = load i64, i64* %34
%36 = sext i32 %6 to i64
%37 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.9, i64 0, i64 %36
%38 = load i64, i64* %37
%39 = sext i32 %6 to i64
%40 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.10, i64 0, i64 %39
%41 = load i64, i64* %40
%42 = sext i32 %6 to i64
%43 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.11, i64 0, i64 %42
%44 = load i64, i64* %43
%45 = sext i32 %6 to i64
%46 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.12, i64 0, i64 %45
%47 = load i64, i64* %46
%48 = sext i32 %6 to i64
%49 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.13, i64 0, i64 %48
%50 = load i64, i64* %49
%51 = sext i32 %6 to i64
%52 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.14, i64 0, i64 %51
%53 = load i64, i64* %52
%54 = sext i32 %6 to i64
%55 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.15, i64 0, i64 %54
%56 = load i64, i64* %55
%57 = sext i32 %6 to i64
%58 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.16, i64 0, i64 %57
%59 = load i64, i64* %58
%60 = sext i32 %6 to i64
%61 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.17, i64 0, i64 %60
%62 = load i64, i64* %61
%63 = sext i32 %6 to i64
%64 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.18, i64 0, i64 %63
%65 = load i64, i64* %64
%66 = sext i32 %6 to i64
%67 = getelementptr inbounds [9 x i64], [9 x i64]* @switch.table.player2_draw.19, i64 0, i64 %66
%68 = load i64, i64* %67
%69 = getelementptr inbounds i8*, i8** %0, i64 %11
%70 = load i8*, i8** %69
%71 = getelementptr inbounds i8, i8* %70, i64 %14
store i8 1, i8* %71
%72 = getelementptr inbounds i8*, i8** %0, i64 %17
%73 = getelementptr inbounds i8*, i8** %0, i64 %20
%74 = load i8*, i8** %73
%75 = getelementptr inbounds i8, i8* %74, i64 %14
store i8 1, i8* %75
%76 = load i8*, i8** %69
%77 = getelementptr inbounds i8, i8* %76, i64 %23
store i8 1, i8* %77
%78 = load i8*, i8** %73
%79 = getelementptr inbounds i8, i8* %78, i64 %26
store i8 1, i8* %79
%80 = load i8*, i8** %72
%81 = getelementptr inbounds i8, i8* %80, i64 %23
store i8 1, i8* %81
%82 = getelementptr inbounds i8*, i8** %0, i64 %29
%83 = load i8*, i8** %82
%84 = getelementptr inbounds i8, i8* %83, i64 %14
store i8 1, i8* %84
%85 = load i8*, i8** %69
%86 = getelementptr inbounds i8, i8* %85, i64 %32
store i8 1, i8* %86
%87 = load i8*, i8** %82
%88 = getelementptr inbounds i8, i8* %87, i64 %26
store i8 1, i8* %88
%89 = load i8*, i8** %72
%90 = getelementptr inbounds i8, i8* %89, i64 %32
store i8 1, i8* %90
%91 = getelementptr inbounds i8*, i8** %0, i64 %35
%92 = load i8*, i8** %91
%93 = getelementptr inbounds i8, i8* %92, i64 %14
store i8 1, i8* %93
%94 = load i8*, i8** %69
%95 = getelementptr inbounds i8, i8* %94, i64 %38
store i8 1, i8* %95
%96 = load i8*, i8** %91
%97 = getelementptr inbounds i8, i8* %96, i64 %26
store i8 1, i8* %97
%98 = load i8*, i8** %72
%99 = getelementptr inbounds i8, i8* %98, i64 %38
store i8 1, i8* %99
%100 = getelementptr inbounds i8*, i8** %0, i64 %41
%101 = load i8*, i8** %100
%102 = getelementptr inbounds i8, i8* %101, i64 %14
store i8 1, i8* %102
%103 = load i8*, i8** %69
%104 = getelementptr inbounds i8, i8* %103, i64 %44
store i8 1, i8* %104
%105 = load i8*, i8** %100
%106 = getelementptr inbounds i8, i8* %105, i64 %26
store i8 1, i8* %106
%107 = load i8*, i8** %72
%108 = getelementptr inbounds i8, i8* %107, i64 %44
store i8 1, i8* %108
%109 = getelementptr inbounds i8*, i8** %0, i64 %47
%110 = load i8*, i8** %109
%111 = getelementptr inbounds i8, i8* %110, i64 %14
store i8 1, i8* %111
%112 = load i8*, i8** %69
%113 = getelementptr inbounds i8, i8* %112, i64 %50
store i8 1, i8* %113
%114 = load i8*, i8** %109
%115 = getelementptr inbounds i8, i8* %114, i64 %26
store i8 1, i8* %115
%116 = load i8*, i8** %72
%117 = getelementptr inbounds i8, i8* %116, i64 %50
store i8 1, i8* %117
%118 = getelementptr inbounds i8*, i8** %0, i64 %53
%119 = load i8*, i8** %118
%120 = getelementptr inbounds i8, i8* %119, i64 %14
store i8 1, i8* %120
%121 = load i8*, i8** %69
%122 = getelementptr inbounds i8, i8* %121, i64 %56
store i8 1, i8* %122
%123 = load i8*, i8** %118
%124 = getelementptr inbounds i8, i8* %123, i64 %26
store i8 1, i8* %124
%125 = load i8*, i8** %72
%126 = getelementptr inbounds i8, i8* %125, i64 %56
store i8 1, i8* %126
%127 = getelementptr inbounds i8*, i8** %0, i64 %59
%128 = load i8*, i8** %127
%129 = getelementptr inbounds i8, i8* %128, i64 %14
store i8 1, i8* %129
%130 = load i8*, i8** %69
%131 = getelementptr inbounds i8, i8* %130, i64 %62
store i8 1, i8* %131
%132 = load i8*, i8** %127
%133 = getelementptr inbounds i8, i8* %132, i64 %26
store i8 1, i8* %133
%134 = load i8*, i8** %72
%135 = getelementptr inbounds i8, i8* %134, i64 %62
store i8 1, i8* %135
%136 = getelementptr inbounds i8*, i8** %0, i64 %65
%137 = load i8*, i8** %136
%138 = getelementptr inbounds i8, i8* %137, i64 %14
store i8 1, i8* %138
%139 = load i8*, i8** %69
%140 = getelementptr inbounds i8, i8* %139, i64 %68
store i8 1, i8* %140
%141 = load i8*, i8** %136
%142 = getelementptr inbounds i8, i8* %141, i64 %26
store i8 1, i8* %142
%143 = load i8*, i8** %72
%144 = getelementptr inbounds i8, i8* %143, i64 %68
store i8 1, i8* %144
%145 = load i8*, i8** %72
%146 = getelementptr inbounds i8, i8* %145, i64 %14
store i8 1, i8* %146
%147 = load i8*, i8** %69
%148 = getelementptr inbounds i8, i8* %147, i64 %26
store i8 1, i8* %148
%149 = load i8*, i8** %72
%150 = getelementptr inbounds i8, i8* %149, i64 %26
store i8 1, i8* %150
%151 = load i8*, i8** %72
%152 = getelementptr inbounds i8, i8* %151, i64 %26
store i8 1, i8* %152
br label %153
153: ; preds = %5, %8
ret i8** %0
}