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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ bzero(int *, int);
scalar_t__ malloc(int);
int *liber8tion_coding_bitmatrix(int k) {
  int *matrix, i, j, index;
  int w;
  w = 8;
  if (k > w)
    return NULL;
  matrix = (int *)malloc(sizeof(int) * (2 * k * w * w));
  if (matrix == NULL)
    return NULL;
  bzero(matrix, sizeof(int) * 2 * k * w * w);
  for (i = 0; i < w; i++) {
    index = i * k * w + i;
    for (j = 0; j < k; j++) {
      matrix[index] = 1;
      index += w;
    }
  }
  index = k * w * w;
  if (k == 0)
    return matrix;
  matrix[index + 0 * k * w + 0 * w + 0] = 1;
  matrix[index + 1 * k * w + 0 * w + 1] = 1;
  matrix[index + 2 * k * w + 0 * w + 2] = 1;
  matrix[index + 3 * k * w + 0 * w + 3] = 1;
  matrix[index + 4 * k * w + 0 * w + 4] = 1;
  matrix[index + 5 * k * w + 0 * w + 5] = 1;
  matrix[index + 6 * k * w + 0 * w + 6] = 1;
  matrix[index + 7 * k * w + 0 * w + 7] = 1;
  if (k == 1)
    return matrix;
  matrix[index + 0 * k * w + 1 * w + 7] = 1;
  matrix[index + 1 * k * w + 1 * w + 3] = 1;
  matrix[index + 2 * k * w + 1 * w + 0] = 1;
  matrix[index + 3 * k * w + 1 * w + 2] = 1;
  matrix[index + 4 * k * w + 1 * w + 6] = 1;
  matrix[index + 5 * k * w + 1 * w + 1] = 1;
  matrix[index + 6 * k * w + 1 * w + 5] = 1;
  matrix[index + 7 * k * w + 1 * w + 4] = 1;
  matrix[index + 4 * k * w + 1 * w + 7] = 1;
  if (k == 2)
    return matrix;
  matrix[index + 0 * k * w + 2 * w + 6] = 1;
  matrix[index + 1 * k * w + 2 * w + 2] = 1;
  matrix[index + 2 * k * w + 2 * w + 4] = 1;
  matrix[index + 3 * k * w + 2 * w + 0] = 1;
  matrix[index + 4 * k * w + 2 * w + 7] = 1;
  matrix[index + 5 * k * w + 2 * w + 3] = 1;
  matrix[index + 6 * k * w + 2 * w + 1] = 1;
  matrix[index + 7 * k * w + 2 * w + 5] = 1;
  matrix[index + 1 * k * w + 2 * w + 3] = 1;
  if (k == 3)
    return matrix;
  matrix[index + 0 * k * w + 3 * w + 2] = 1;
  matrix[index + 1 * k * w + 3 * w + 5] = 1;
  matrix[index + 2 * k * w + 3 * w + 7] = 1;
  matrix[index + 3 * k * w + 3 * w + 6] = 1;
  matrix[index + 4 * k * w + 3 * w + 0] = 1;
  matrix[index + 5 * k * w + 3 * w + 3] = 1;
  matrix[index + 6 * k * w + 3 * w + 4] = 1;
  matrix[index + 7 * k * w + 3 * w + 1] = 1;
  matrix[index + 5 * k * w + 3 * w + 4] = 1;
  if (k == 4)
    return matrix;
  matrix[index + 0 * k * w + 4 * w + 5] = 1;
  matrix[index + 1 * k * w + 4 * w + 6] = 1;
  matrix[index + 2 * k * w + 4 * w + 1] = 1;
  matrix[index + 3 * k * w + 4 * w + 7] = 1;
  matrix[index + 4 * k * w + 4 * w + 2] = 1;
  matrix[index + 5 * k * w + 4 * w + 4] = 1;
  matrix[index + 6 * k * w + 4 * w + 3] = 1;
  matrix[index + 7 * k * w + 4 * w + 0] = 1;
  matrix[index + 2 * k * w + 4 * w + 0] = 1;
  if (k == 5)
    return matrix;
  matrix[index + 0 * k * w + 5 * w + 1] = 1;
  matrix[index + 1 * k * w + 5 * w + 2] = 1;
  matrix[index + 2 * k * w + 5 * w + 3] = 1;
  matrix[index + 3 * k * w + 5 * w + 4] = 1;
  matrix[index + 4 * k * w + 5 * w + 5] = 1;
  matrix[index + 5 * k * w + 5 * w + 6] = 1;
  matrix[index + 6 * k * w + 5 * w + 7] = 1;
  matrix[index + 7 * k * w + 5 * w + 0] = 1;
  matrix[index + 7 * k * w + 5 * w + 2] = 1;
  if (k == 6)
    return matrix;
  matrix[index + 0 * k * w + 6 * w + 3] = 1;
  matrix[index + 1 * k * w + 6 * w + 0] = 1;
  matrix[index + 2 * k * w + 6 * w + 6] = 1;
  matrix[index + 3 * k * w + 6 * w + 5] = 1;
  matrix[index + 4 * k * w + 6 * w + 1] = 1;
  matrix[index + 5 * k * w + 6 * w + 7] = 1;
  matrix[index + 6 * k * w + 6 * w + 4] = 1;
  matrix[index + 7 * k * w + 6 * w + 2] = 1;
  matrix[index + 6 * k * w + 6 * w + 5] = 1;
  if (k == 7)
    return matrix;
  matrix[index + 0 * k * w + 7 * w + 4] = 1;
  matrix[index + 1 * k * w + 7 * w + 7] = 1;
  matrix[index + 2 * k * w + 7 * w + 1] = 1;
  matrix[index + 3 * k * w + 7 * w + 5] = 1;
  matrix[index + 4 * k * w + 7 * w + 3] = 1;
  matrix[index + 5 * k * w + 7 * w + 2] = 1;
  matrix[index + 6 * k * w + 7 * w + 0] = 1;
  matrix[index + 7 * k * w + 7 * w + 6] = 1;
  matrix[index + 3 * k * w + 7 * w + 1] = 1;
  return matrix;
}


x86 assembly (clang, -O0):
<liber8tion_coding_bitmatrix>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
mov    %edi,-0xc(%rbp)
movl   $0x8,-0x28(%rbp)
mov    -0xc(%rbp),%eax
cmp    -0x28(%rbp),%eax
jle    114b <liber8tion_coding_bitmatrix+0x2b>
movq   $0x0,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0xc(%rbp),%eax
shl    $0x1,%eax
imul   -0x28(%rbp),%eax
imul   -0x28(%rbp),%eax
cltq
shl    $0x2,%rax
mov    %eax,%edi
call   1030 <malloc@plt>
mov    %rax,-0x18(%rbp)
cmpq   $0x0,-0x18(%rbp)
jne    1182 <liber8tion_coding_bitmatrix+0x62>
movq   $0x0,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0x18(%rbp),%rdi
movslq -0xc(%rbp),%rax
shl    $0x3,%rax
movslq -0x28(%rbp),%rcx
imul   %rcx,%rax
movslq -0x28(%rbp),%rcx
imul   %rcx,%rax
mov    %eax,%esi
call   1040 <bzero@plt>
movl   $0x0,-0x1c(%rbp)
mov    -0x1c(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    1215 <liber8tion_coding_bitmatrix+0xf5>
mov    -0x1c(%rbp),%eax
imul   -0xc(%rbp),%eax
imul   -0x28(%rbp),%eax
add    -0x1c(%rbp),%eax
mov    %eax,-0x24(%rbp)
movl   $0x0,-0x20(%rbp)
mov    -0x20(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    1202 <liber8tion_coding_bitmatrix+0xe2>
mov    -0x18(%rbp),%rax
movslq -0x24(%rbp),%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x28(%rbp),%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    11d0 <liber8tion_coding_bitmatrix+0xb0>
jmp    1207 <liber8tion_coding_bitmatrix+0xe7>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    11ac <liber8tion_coding_bitmatrix+0x8c>
mov    -0xc(%rbp),%eax
imul   -0x28(%rbp),%eax
imul   -0x28(%rbp),%eax
mov    %eax,-0x24(%rbp)
cmpl   $0x0,-0xc(%rbp)
jne    123a <liber8tion_coding_bitmatrix+0x11a>
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x0,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x0,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x0,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x0,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x1,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x0,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x3,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x0,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x2,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x0,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x5,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x0,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x6,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x0,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x7,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x0,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
cmpl   $0x1,-0xc(%rbp)
jne    1377 <liber8tion_coding_bitmatrix+0x257>
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x0,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x0,%edx
add    %edx,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x0,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x0,%edx
add    %edx,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x1,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x0,%edx
add    %edx,%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x3,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x0,%edx
add    %edx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x2,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x0,%edx
add    %edx,%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x5,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x0,%edx
add    %edx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x6,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x0,%edx
add    %edx,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x7,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x0,%edx
add    %edx,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x2,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x0,%edx
add    %edx,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
cmpl   $0x2,-0xc(%rbp)
jne    14ec <liber8tion_coding_bitmatrix+0x3cc>
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x0,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x1,%edx
add    %edx,%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x0,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x1,%edx
add    %edx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x1,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x1,%edx
add    %edx,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x3,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x1,%edx
add    %edx,%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x2,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x1,%edx
add    %edx,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x5,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x1,%edx
add    %edx,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x6,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x1,%edx
add    %edx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x7,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x1,%edx
add    %edx,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x0,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x1,%edx
add    %edx,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
cmpl   $0x3,-0xc(%rbp)
jne    1661 <liber8tion_coding_bitmatrix+0x541>
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x0,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x3,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x0,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x3,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x1,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x3,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x3,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x3,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x2,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x3,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x5,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x3,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x6,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x3,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x7,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x3,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x5,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x3,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
cmpl   $0x4,-0xc(%rbp)
jne    17c2 <liber8tion_coding_bitmatrix+0x6a2>
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x0,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x2,%edx
add    %edx,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x0,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x2,%edx
add    %edx,%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x1,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x2,%edx
add    %edx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x3,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x2,%edx
add    %edx,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x2,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x2,%edx
add    %edx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x5,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x2,%edx
add    %edx,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x6,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x2,%edx
add    %edx,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x7,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x2,%edx
add    %edx,%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x1,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
mov    -0x28(%rbp),%edx
shl    $0x2,%edx
add    %edx,%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
cmpl   $0x5,-0xc(%rbp)
jne    1937 <liber8tion_coding_bitmatrix+0x817>
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x0,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x5,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x0,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x5,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x1,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x5,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x3,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x5,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x2,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x5,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x5,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x5,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x6,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x5,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x7,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x5,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x7,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x5,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
cmpl   $0x6,-0xc(%rbp)
jne    1a98 <liber8tion_coding_bitmatrix+0x978>
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x0,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x6,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x0,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x6,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x1,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x6,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x3,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x6,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x2,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x6,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x5,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x6,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x6,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x6,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x7,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x6,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x6,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x6,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
cmpl   $0x7,-0xc(%rbp)
jne    1bf9 <liber8tion_coding_bitmatrix+0xad9>
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    1d4b <liber8tion_coding_bitmatrix+0xc2b>
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x0,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x7,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x0,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x7,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x1,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x7,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x3,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x7,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    -0xc(%rbp),%edx
shl    $0x2,%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x7,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x5,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x7,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x6,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x7,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x7,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x7,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
imul   $0x3,-0xc(%rbp),%edx
imul   -0x28(%rbp),%edx
add    %edx,%ecx
imul   $0x7,-0x28(%rbp),%edx
add    %edx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rax,%rcx,4)
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<liber8tion_coding_bitmatrix>:
push   %rbp
push   %r15
push   %r14
push   %r12
push   %rbx
cmp    $0x8,%edi
jg     18ab <liber8tion_coding_bitmatrix+0x78b>
mov    %edi,%r14d
mov    %edi,%ebp
shl    $0x9,%ebp
mov    %ebp,%edi
call   1030 <malloc@plt>
test   %rax,%rax
je     18ab <liber8tion_coding_bitmatrix+0x78b>
mov    %rax,%rbx
mov    %rax,%rdi
mov    %ebp,%esi
call   1040 <bzero@plt>
test   %r14d,%r14d
jle    14d8 <liber8tion_coding_bitmatrix+0x3b8>
movl   $0x1,(%rbx)
cmp    $0x1,%r14d
je     11cc <liber8tion_coding_bitmatrix+0xac>
movl   $0x1,0x20(%rbx)
cmp    $0x2,%r14d
je     11cc <liber8tion_coding_bitmatrix+0xac>
movl   $0x1,0x40(%rbx)
cmp    $0x3,%r14d
je     11cc <liber8tion_coding_bitmatrix+0xac>
movl   $0x1,0x60(%rbx)
cmp    $0x4,%r14d
je     11cc <liber8tion_coding_bitmatrix+0xac>
movl   $0x1,0x80(%rbx)
cmp    $0x5,%r14d
je     11cc <liber8tion_coding_bitmatrix+0xac>
movl   $0x1,0xa0(%rbx)
cmp    $0x6,%r14d
je     11cc <liber8tion_coding_bitmatrix+0xac>
movl   $0x1,0xc0(%rbx)
cmp    $0x7,%r14d
je     11cc <liber8tion_coding_bitmatrix+0xac>
movl   $0x1,0xe0(%rbx)
test   %r14d,%r14d
jle    14d8 <liber8tion_coding_bitmatrix+0x3b8>
lea    0x1(,%r14,8),%eax
movslq %eax,%rdx
lea    -0x1(%r14),%ecx
cmp    $0x3,%ecx
jb     1218 <liber8tion_coding_bitmatrix+0xf8>
mov    %r14d,%esi
and    $0xfffffffc,%esi
nop
movl   $0x1,(%rbx,%rdx,4)
movl   $0x1,0x20(%rbx,%rdx,4)
movl   $0x1,0x40(%rbx,%rdx,4)
movl   $0x1,0x60(%rbx,%rdx,4)
add    $0x20,%rdx
add    $0xfffffffc,%esi
jne    11f0 <liber8tion_coding_bitmatrix+0xd0>
test   $0x3,%r14b
je     123f <liber8tion_coding_bitmatrix+0x11f>
lea    (%rbx,%rdx,4),%rdx
mov    %r14d,%esi
and    $0x3,%esi
shl    $0x5,%rsi
xor    %edi,%edi
xchg   %ax,%ax
movl   $0x1,(%rdx,%rdi,1)
add    $0x20,%rdi
cmp    %edi,%esi
jne    1230 <liber8tion_coding_bitmatrix+0x110>
test   %r14d,%r14d
jle    14d8 <liber8tion_coding_bitmatrix+0x3b8>
lea    (%rax,%rax,1),%edx
movslq %edx,%rsi
cmp    $0x3,%ecx
jb     1288 <liber8tion_coding_bitmatrix+0x168>
mov    %r14d,%edi
and    $0xfffffffc,%edi
nopl   0x0(%rax)
movl   $0x1,(%rbx,%rsi,4)
movl   $0x1,0x20(%rbx,%rsi,4)
movl   $0x1,0x40(%rbx,%rsi,4)
movl   $0x1,0x60(%rbx,%rsi,4)
add    $0x20,%rsi
add    $0xfffffffc,%edi
jne    1260 <liber8tion_coding_bitmatrix+0x140>
test   $0x3,%r14b
je     12af <liber8tion_coding_bitmatrix+0x18f>
lea    (%rbx,%rsi,4),%rsi
mov    %r14d,%edi
and    $0x3,%edi
shl    $0x5,%rdi
xor    %ebp,%ebp
xchg   %ax,%ax
movl   $0x1,(%rsi,%rbp,1)
add    $0x20,%rbp
cmp    %ebp,%edi
jne    12a0 <liber8tion_coding_bitmatrix+0x180>
test   %r14d,%r14d
jle    14d8 <liber8tion_coding_bitmatrix+0x3b8>
lea    (%rax,%rax,2),%esi
movslq %esi,%rsi
cmp    $0x3,%ecx
jb     12f8 <liber8tion_coding_bitmatrix+0x1d8>
mov    %r14d,%edi
and    $0xfffffffc,%edi
nopl   0x0(%rax)
movl   $0x1,(%rbx,%rsi,4)
movl   $0x1,0x20(%rbx,%rsi,4)
movl   $0x1,0x40(%rbx,%rsi,4)
movl   $0x1,0x60(%rbx,%rsi,4)
add    $0x20,%rsi
add    $0xfffffffc,%edi
jne    12d0 <liber8tion_coding_bitmatrix+0x1b0>
test   $0x3,%r14b
je     131f <liber8tion_coding_bitmatrix+0x1ff>
lea    (%rbx,%rsi,4),%rsi
mov    %r14d,%edi
and    $0x3,%edi
shl    $0x5,%rdi
xor    %ebp,%ebp
xchg   %ax,%ax
movl   $0x1,(%rsi,%rbp,1)
add    $0x20,%rbp
cmp    %ebp,%edi
jne    1310 <liber8tion_coding_bitmatrix+0x1f0>
test   %r14d,%r14d
jle    14d8 <liber8tion_coding_bitmatrix+0x3b8>
lea    0x0(,%rax,4),%esi
movslq %esi,%rsi
cmp    $0x3,%ecx
jb     1368 <liber8tion_coding_bitmatrix+0x248>
mov    %r14d,%edi
and    $0xfffffffc,%edi
nopl   (%rax)
movl   $0x1,(%rbx,%rsi,4)
movl   $0x1,0x20(%rbx,%rsi,4)
movl   $0x1,0x40(%rbx,%rsi,4)
movl   $0x1,0x60(%rbx,%rsi,4)
add    $0x20,%rsi
add    $0xfffffffc,%edi
jne    1340 <liber8tion_coding_bitmatrix+0x220>
test   $0x3,%r14b
je     138f <liber8tion_coding_bitmatrix+0x26f>
lea    (%rbx,%rsi,4),%rsi
mov    %r14d,%edi
and    $0x3,%edi
shl    $0x5,%rdi
xor    %ebp,%ebp
xchg   %ax,%ax
movl   $0x1,(%rsi,%rbp,1)
add    $0x20,%rbp
cmp    %ebp,%edi
jne    1380 <liber8tion_coding_bitmatrix+0x260>
test   %r14d,%r14d
jle    14d8 <liber8tion_coding_bitmatrix+0x3b8>
lea    (%rax,%rax,4),%esi
movslq %esi,%rsi
cmp    $0x3,%ecx
jb     13d8 <liber8tion_coding_bitmatrix+0x2b8>
mov    %r14d,%edi
and    $0xfffffffc,%edi
nopl   0x0(%rax)
movl   $0x1,(%rbx,%rsi,4)
movl   $0x1,0x20(%rbx,%rsi,4)
movl   $0x1,0x40(%rbx,%rsi,4)
movl   $0x1,0x60(%rbx,%rsi,4)
add    $0x20,%rsi
add    $0xfffffffc,%edi
jne    13b0 <liber8tion_coding_bitmatrix+0x290>
test   $0x3,%r14b
je     13ff <liber8tion_coding_bitmatrix+0x2df>
lea    (%rbx,%rsi,4),%rsi
mov    %r14d,%edi
and    $0x3,%edi
shl    $0x5,%rdi
xor    %ebp,%ebp
xchg   %ax,%ax
movl   $0x1,(%rsi,%rbp,1)
add    $0x20,%rbp
cmp    %ebp,%edi
jne    13f0 <liber8tion_coding_bitmatrix+0x2d0>
test   %r14d,%r14d
jle    14d8 <liber8tion_coding_bitmatrix+0x3b8>
lea    (%rdx,%rdx,2),%edx
movslq %edx,%rdx
cmp    $0x3,%ecx
jb     1441 <liber8tion_coding_bitmatrix+0x321>
mov    %r14d,%esi
and    $0xfffffffc,%esi
movl   $0x1,(%rbx,%rdx,4)
movl   $0x1,0x20(%rbx,%rdx,4)
movl   $0x1,0x40(%rbx,%rdx,4)
movl   $0x1,0x60(%rbx,%rdx,4)
add    $0x20,%rdx
add    $0xfffffffc,%esi
jne    1419 <liber8tion_coding_bitmatrix+0x2f9>
test   $0x3,%r14b
je     146f <liber8tion_coding_bitmatrix+0x34f>
lea    (%rbx,%rdx,4),%rdx
mov    %r14d,%esi
and    $0x3,%esi
shl    $0x5,%rsi
xor    %edi,%edi
nopw   0x0(%rax,%rax,1)
movl   $0x1,(%rdx,%rdi,1)
add    $0x20,%rdi
cmp    %edi,%esi
jne    1460 <liber8tion_coding_bitmatrix+0x340>
test   %r14d,%r14d
jle    14d8 <liber8tion_coding_bitmatrix+0x3b8>
lea    0x0(,%rax,8),%edx
sub    %eax,%edx
movslq %edx,%rax
cmp    $0x3,%ecx
jb     14b3 <liber8tion_coding_bitmatrix+0x393>
mov    %r14d,%ecx
and    $0xfffffffc,%ecx
movl   $0x1,(%rbx,%rax,4)
movl   $0x1,0x20(%rbx,%rax,4)
movl   $0x1,0x40(%rbx,%rax,4)
movl   $0x1,0x60(%rbx,%rax,4)
add    $0x20,%rax
add    $0xfffffffc,%ecx
jne    148b <liber8tion_coding_bitmatrix+0x36b>
test   $0x3,%r14b
je     14d8 <liber8tion_coding_bitmatrix+0x3b8>
lea    (%rbx,%rax,4),%rax
mov    %r14d,%ecx
and    $0x3,%ecx
shl    $0x5,%rcx
xor    %edx,%edx
movl   $0x1,(%rax,%rdx,1)
add    $0x20,%rdx
cmp    %edx,%ecx
jne    14c9 <liber8tion_coding_bitmatrix+0x3a9>
test   %r14d,%r14d
je     18ad <liber8tion_coding_bitmatrix+0x78d>
mov    %r14d,%r15d
shl    $0x6,%r15d
movslq %r15d,%rax
movl   $0x1,(%rbx,%rax,4)
lea    0x0(,%r14,8),%eax
lea    (%rax,%rax,8),%edx
mov    %edx,%eax
or     $0x1,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
mov    %r14d,%eax
shl    $0x4,%eax
lea    (%rax,%rax,4),%r8d
mov    %r8d,%eax
or     $0x2,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
imul   $0x58,%r14d,%esi
lea    0x3(%rsi),%eax
cltq
movl   $0x1,(%rbx,%rax,4)
mov    %r14d,%eax
shl    $0x5,%eax
lea    (%rax,%rax,2),%r12d
mov    %r12d,%eax
or     $0x4,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
imul   $0x68,%r14d,%eax
lea    0x5(%rax),%edi
movslq %edi,%rdi
movl   $0x1,(%rbx,%rdi,4)
imul   $0x70,%r14d,%edi
lea    0x6(%rdi),%ebp
movslq %ebp,%rbp
movl   $0x1,(%rbx,%rbp,4)
imul   $0x78,%r14d,%ebp
lea    0x7(%rbp),%ecx
movslq %ecx,%rcx
movl   $0x1,(%rbx,%rcx,4)
cmp    $0x1,%r14d
je     18ad <liber8tion_coding_bitmatrix+0x78d>
mov    %r15d,%ecx
or     $0xf,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rbx,%rcx,4)
movslq %edx,%rdx
movl   $0x1,0x2c(%rbx,%rdx,4)
mov    %r8d,%ecx
or     $0x8,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rbx,%rcx,4)
movslq %esi,%r10
movl   $0x1,0x28(%rbx,%r10,4)
mov    %r12d,%ecx
or     $0xe,%ecx
movslq %ecx,%rcx
movl   $0x1,(%rbx,%rcx,4)
movslq %eax,%rsi
movl   $0x1,0x24(%rbx,%rsi,4)
mov    %edi,%eax
or     $0xd,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
movslq %ebp,%r11
movl   $0x1,0x30(%rbx,%r11,4)
mov    %r12d,%eax
or     $0xf,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
cmp    $0x2,%r14d
je     18ad <liber8tion_coding_bitmatrix+0x78d>
mov    %r15d,%eax
or     $0x16,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
movl   $0x1,0x48(%rbx,%rdx,4)
movslq %r8d,%r8
movl   $0x1,0x50(%rbx,%r8,4)
movl   $0x1,0x40(%rbx,%r10,4)
mov    %r12d,%eax
or     $0x17,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
movl   $0x1,0x4c(%rbx,%rsi,4)
movslq %edi,%r9
movl   $0x1,0x44(%rbx,%r9,4)
movl   $0x1,0x54(%rbx,%r11,4)
movl   $0x1,0x4c(%rbx,%rdx,4)
cmp    $0x3,%r14d
je     18ad <liber8tion_coding_bitmatrix+0x78d>
mov    %r15d,%eax
or     $0x1a,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
movl   $0x1,0x74(%rbx,%rdx,4)
movl   $0x1,0x7c(%rbx,%r8,4)
movl   $0x1,0x78(%rbx,%r10,4)
mov    %r12d,%eax
or     $0x18,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
movl   $0x1,0x6c(%rbx,%rsi,4)
movl   $0x1,0x70(%rbx,%r9,4)
movl   $0x1,0x64(%rbx,%r11,4)
movl   $0x1,0x70(%rbx,%rsi,4)
cmp    $0x4,%r14d
je     18ad <liber8tion_coding_bitmatrix+0x78d>
mov    %r15d,%eax
or     $0x25,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
movl   $0x1,0x98(%rbx,%rdx,4)
movl   $0x1,0x84(%rbx,%r8,4)
movl   $0x1,0x9c(%rbx,%r10,4)
movslq %r12d,%rcx
movl   $0x1,0x88(%rbx,%rcx,4)
movl   $0x1,0x90(%rbx,%rsi,4)
movl   $0x1,0x8c(%rbx,%r9,4)
movl   $0x1,0x80(%rbx,%r11,4)
movl   $0x1,0x80(%rbx,%r8,4)
cmp    $0x5,%r14d
je     18ad <liber8tion_coding_bitmatrix+0x78d>
mov    %r15d,%eax
or     $0x29,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
movl   $0x1,0xa8(%rbx,%rdx,4)
movl   $0x1,0xac(%rbx,%r8,4)
movl   $0x1,0xb0(%rbx,%r10,4)
movl   $0x1,0xb4(%rbx,%rcx,4)
movl   $0x1,0xb8(%rbx,%rsi,4)
movl   $0x1,0xbc(%rbx,%r9,4)
movl   $0x1,0xa0(%rbx,%r11,4)
movl   $0x1,0xa8(%rbx,%r11,4)
cmp    $0x6,%r14d
je     18ad <liber8tion_coding_bitmatrix+0x78d>
mov    %r15d,%eax
or     $0x33,%eax
cltq
movl   $0x1,(%rbx,%rax,4)
movl   $0x1,0xc0(%rbx,%rdx,4)
movl   $0x1,0xd8(%rbx,%r8,4)
movl   $0x1,0xd4(%rbx,%r10,4)
movl   $0x1,0xc4(%rbx,%rcx,4)
movl   $0x1,0xdc(%rbx,%rsi,4)
movl   $0x1,0xd0(%rbx,%r9,4)
movl   $0x1,0xc8(%rbx,%r11,4)
movl   $0x1,0xd4(%rbx,%r9,4)
cmp    $0x7,%r14d
je     18ad <liber8tion_coding_bitmatrix+0x78d>
or     $0x3c,%r15d
movslq %r15d,%rax
movl   $0x1,(%rbx,%rax,4)
movl   $0x1,0xfc(%rbx,%rdx,4)
movl   $0x1,0xe4(%rbx,%r8,4)
movl   $0x1,0xf4(%rbx,%r10,4)
movl   $0x1,0xec(%rbx,%rcx,4)
movl   $0x1,0xe8(%rbx,%rsi,4)
movl   $0x1,0xe0(%rbx,%r9,4)
movl   $0x1,0xf8(%rbx,%r11,4)
movl   $0x1,0xe4(%rbx,%r10,4)
jmp    18ad <liber8tion_coding_bitmatrix+0x78d>
xor    %ebx,%ebx
mov    %rbx,%rax
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
pop    %rbp
ret

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

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