void step1(int work_x[], int work_y[], int DATA_x[], int DATA_y[], int data_x[],
           int data_y[], int smem[], int reversed[], float sin_64[448],
           float cos_64[448], float sin_512[448], float cos_512[448]) {
  int tid, hi, lo, i, j, stride;
  stride = 64;
outer:
  for (tid = 0; tid < 64; tid++) {
  load:
    for (i = 0; i < 8; i++) {
      data_x[i] = work_x[i * stride + tid];
      data_y[i] = work_y[i * stride + tid];
    }
    {
      int exp_1_8_x, exp_1_4_x, exp_3_8_x;
      int exp_1_8_y, exp_1_4_y, exp_3_8_y;
      int tmp_1, tmp_2;
      exp_1_8_x = 1;
      exp_1_8_y = -1;
      exp_1_4_x = 0;
      exp_1_4_y = -1;
      exp_3_8_x = -1;
      exp_3_8_y = -1;
      {
        int c0_x = *&data_x[0];
        int c0_y = *&data_y[0];
        *&data_x[0] = (c0_x + *&data_x[4]);
        *&data_y[0] = (c0_y + *&data_y[4]);
        *&data_x[4] = (c0_x - *&data_x[4]);
        *&data_y[4] = (c0_y - *&data_y[4]);
      };
      {
        int c0_x = *&data_x[1];
        int c0_y = *&data_y[1];
        *&data_x[1] = (c0_x + *&data_x[5]);
        *&data_y[1] = (c0_y + *&data_y[5]);
        *&data_x[5] = (c0_x - *&data_x[5]);
        *&data_y[5] = (c0_y - *&data_y[5]);
      };
      {
        int c0_x = *&data_x[2];
        int c0_y = *&data_y[2];
        *&data_x[2] = (c0_x + *&data_x[6]);
        *&data_y[2] = (c0_y + *&data_y[6]);
        *&data_x[6] = (c0_x - *&data_x[6]);
        *&data_y[6] = (c0_y - *&data_y[6]);
      };
      {
        int c0_x = *&data_x[3];
        int c0_y = *&data_y[3];
        *&data_x[3] = (c0_x + *&data_x[7]);
        *&data_y[3] = (c0_y + *&data_y[7]);
        *&data_x[7] = (c0_x - *&data_x[7]);
        *&data_y[7] = (c0_y - *&data_y[7]);
      };
      tmp_1 = data_x[5];
      data_x[5] = (0.70710678118654752440f *
                   (data_x[5] * exp_1_8_x - data_y[5] * exp_1_8_y));
      data_y[5] = (0.70710678118654752440f *
                   (tmp_1 * exp_1_8_y + data_y[5] * exp_1_8_x));
      tmp_1 = data_x[6];
      data_x[6] = (data_x[6] * exp_1_4_x - data_y[6] * exp_1_4_y);
      data_y[6] = (tmp_1 * exp_1_4_y + data_y[6] * exp_1_4_x);
      tmp_1 = data_x[7];
      data_x[7] = (0.70710678118654752440f *
                   (data_x[7] * exp_3_8_x - data_y[7] * exp_3_8_y));
      data_y[7] = (0.70710678118654752440f *
                   (tmp_1 * exp_3_8_y + data_y[7] * exp_3_8_x));
      {
        int exp_1_44_x;
        int exp_1_44_y;
        int tmp;
        exp_1_44_x = 0.0;
        exp_1_44_y = -1.0;
        {
          int c0_x = *&data_x[0];
          int c0_y = *&data_y[0];
          *&data_x[0] = (c0_x + *&data_x[2]);
          *&data_y[0] = (c0_y + *&data_y[2]);
          *&data_x[2] = (c0_x - *&data_x[2]);
          *&data_y[2] = (c0_y - *&data_y[2]);
        };
        {
          int c0_x = *&data_x[1];
          int c0_y = *&data_y[1];
          *&data_x[1] = (c0_x + *&data_x[3]);
          *&data_y[1] = (c0_y + *&data_y[3]);
          *&data_x[3] = (c0_x - *&data_x[3]);
          *&data_y[3] = (c0_y - *&data_y[3]);
        };
        tmp = *&data_x[3];
        *&data_x[3] = *&data_x[3] * exp_1_44_x - *&data_y[3] * exp_1_44_y;
        *&data_y[3] = tmp * exp_1_44_y - *&data_y[3] * exp_1_44_x;
        {
          int c0_x = *&data_x[0];
          int c0_y = *&data_y[0];
          *&data_x[0] = (c0_x + *&data_x[1]);
          *&data_y[0] = (c0_y + *&data_y[1]);
          *&data_x[1] = (c0_x - *&data_x[1]);
          *&data_y[1] = (c0_y - *&data_y[1]);
        };
        {
          int c0_x = *&data_x[2];
          int c0_y = *&data_y[2];
          *&data_x[2] = (c0_x + *&data_x[3]);
          *&data_y[2] = (c0_y + *&data_y[3]);
          *&data_x[3] = (c0_x - *&data_x[3]);
          *&data_y[3] = (c0_y - *&data_y[3]);
        };
      };
      {
        int exp_1_44_x;
        int exp_1_44_y;
        int tmp;
        exp_1_44_x = 0.0;
        exp_1_44_y = -1.0;
        {
          int c0_x = *&data_x[4];
          int c0_y = *&data_y[4];
          *&data_x[4] = (c0_x + *&data_x[6]);
          *&data_y[4] = (c0_y + *&data_y[6]);
          *&data_x[6] = (c0_x - *&data_x[6]);
          *&data_y[6] = (c0_y - *&data_y[6]);
        };
        {
          int c0_x = *&data_x[5];
          int c0_y = *&data_y[5];
          *&data_x[5] = (c0_x + *&data_x[7]);
          *&data_y[5] = (c0_y + *&data_y[7]);
          *&data_x[7] = (c0_x - *&data_x[7]);
          *&data_y[7] = (c0_y - *&data_y[7]);
        };
        tmp = *&data_x[7];
        *&data_x[7] = *&data_x[7] * exp_1_44_x - *&data_y[7] * exp_1_44_y;
        *&data_y[7] = tmp * exp_1_44_y - *&data_y[7] * exp_1_44_x;
        {
          int c0_x = *&data_x[4];
          int c0_y = *&data_y[4];
          *&data_x[4] = (c0_x + *&data_x[5]);
          *&data_y[4] = (c0_y + *&data_y[5]);
          *&data_x[5] = (c0_x - *&data_x[5]);
          *&data_y[5] = (c0_y - *&data_y[5]);
        };
        {
          int c0_x = *&data_x[6];
          int c0_y = *&data_y[6];
          *&data_x[6] = (c0_x + *&data_x[7]);
          *&data_y[6] = (c0_y + *&data_y[7]);
          *&data_x[7] = (c0_x - *&data_x[7]);
          *&data_y[7] = (c0_y - *&data_y[7]);
        };
      };
    };
  twiddles:
    for (j = 1; j < 8; j++) {
      int A_x, A_y, tmp;
      A_x = cos_512[tid * 7 + j - 1];
      A_y = sin_512[tid * 7 + j - 1];
      tmp = data_x[j];
      data_x[j] = (data_x[j] * A_x - data_y[j] * A_y);
      data_y[j] = (tmp * A_y + data_y[j] * A_x);
    }
  store:
    for (i = 0; i < 8; i++) {
      DATA_x[tid * 8 + i] = data_x[i];
      DATA_y[tid * 8 + i] = data_y[i];
    }
  }
}


x86 assembly (clang, -O0):
<step1>:
push   %rbp
mov    %rsp,%rbp
sub    $0x70,%rsp
mov    0x38(%rbp),%rax
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
movl   $0x40,-0x48(%rbp)
movl   $0x0,-0x34(%rbp)
cmpl   $0x40,-0x34(%rbp)
jge    19ba <step1+0x8ba>
jmp    1155 <step1+0x55>
movl   $0x0,-0x40(%rbp)
cmpl   $0x8,-0x40(%rbp)
jge    11b2 <step1+0xb2>
mov    -0x8(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   -0x48(%rbp),%ecx
add    -0x34(%rbp),%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%edx
mov    -0x28(%rbp),%rax
movslq -0x40(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   -0x48(%rbp),%ecx
add    -0x34(%rbp),%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%edx
mov    -0x30(%rbp),%rax
movslq -0x40(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    115c <step1+0x5c>
movl   $0x1,-0x4c(%rbp)
movl   $0xffffffff,-0x58(%rbp)
movl   $0x0,-0x50(%rbp)
movl   $0xffffffff,-0x5c(%rbp)
movl   $0xffffffff,-0x54(%rbp)
movl   $0xffffffff,-0x60(%rbp)
mov    -0x28(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x30(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x70(%rbp)
mov    -0x6c(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x10(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x70(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x10(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x6c(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x10(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x70(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x10(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x28(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x74(%rbp)
mov    -0x30(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x78(%rbp)
mov    -0x74(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x14(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x78(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x14(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x74(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x14(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x78(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x14(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x28(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x30(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x80(%rbp)
mov    -0x7c(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x18(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x80(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x18(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x7c(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x18(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0x80(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x18(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0x28(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x84(%rbp)
mov    -0x30(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x88(%rbp)
mov    -0x84(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x1c(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x88(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x1c(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x84(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x1c(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0x88(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x1c(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0x28(%rbp),%rax
mov    0x14(%rax),%eax
mov    %eax,-0x64(%rbp)
mov    -0x28(%rbp),%rax
mov    0x14(%rax),%eax
imul   -0x4c(%rbp),%eax
mov    -0x30(%rbp),%rcx
mov    0x14(%rcx),%ecx
imul   -0x58(%rbp),%ecx
sub    %ecx,%eax
cvtsi2ss %eax,%xmm1
movss  0xc88(%rip),%xmm0
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x64(%rbp),%eax
imul   -0x58(%rbp),%eax
mov    -0x30(%rbp),%rcx
mov    0x14(%rcx),%ecx
imul   -0x4c(%rbp),%ecx
add    %ecx,%eax
cvtsi2ss %eax,%xmm1
movss  0xc59(%rip),%xmm0
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x28(%rbp),%rax
mov    0x18(%rax),%eax
mov    %eax,-0x64(%rbp)
mov    -0x28(%rbp),%rax
mov    0x18(%rax),%ecx
imul   -0x50(%rbp),%ecx
mov    -0x30(%rbp),%rax
mov    0x18(%rax),%eax
imul   -0x5c(%rbp),%eax
sub    %eax,%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0x64(%rbp),%ecx
imul   -0x5c(%rbp),%ecx
mov    -0x30(%rbp),%rax
mov    0x18(%rax),%eax
imul   -0x50(%rbp),%eax
add    %eax,%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0x28(%rbp),%rax
mov    0x1c(%rax),%eax
mov    %eax,-0x64(%rbp)
mov    -0x28(%rbp),%rax
mov    0x1c(%rax),%eax
imul   -0x54(%rbp),%eax
mov    -0x30(%rbp),%rcx
mov    0x1c(%rcx),%ecx
imul   -0x60(%rbp),%ecx
sub    %ecx,%eax
cvtsi2ss %eax,%xmm1
movss  0xbd8(%rip),%xmm0
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0x64(%rbp),%eax
imul   -0x60(%rbp),%eax
mov    -0x30(%rbp),%rcx
mov    0x1c(%rcx),%ecx
imul   -0x54(%rbp),%ecx
add    %ecx,%eax
cvtsi2ss %eax,%xmm1
movss  0xba9(%rip),%xmm0
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x1c(%rax)
movl   $0x0,-0x8c(%rbp)
movl   $0xffffffff,-0x90(%rbp)
ff ff ff
mov    -0x28(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x98(%rbp)
mov    -0x30(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x9c(%rbp)
mov    -0x98(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x8(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x9c(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x8(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x98(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x8(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x9c(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x8(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x28(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x30(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0xa4(%rbp)
mov    -0xa0(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0xc(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0xa4(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0xc(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0xa0(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0xc(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0xa4(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0xc(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x28(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x94(%rbp)
mov    -0x28(%rbp),%rax
mov    0xc(%rax),%ecx
imul   -0x8c(%rbp),%ecx
mov    -0x30(%rbp),%rax
mov    0xc(%rax),%eax
imul   -0x90(%rbp),%eax
sub    %eax,%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x94(%rbp),%ecx
imul   -0x90(%rbp),%ecx
mov    -0x30(%rbp),%rax
mov    0xc(%rax),%eax
imul   -0x8c(%rbp),%eax
sub    %eax,%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x28(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0xa8(%rbp)
mov    -0x30(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0xac(%rbp)
mov    -0xa8(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x4(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,(%rax)
mov    -0xac(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x4(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,(%rax)
mov    -0xa8(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x4(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0xac(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x4(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x28(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0xb0(%rbp)
mov    -0x30(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0xb4(%rbp)
mov    -0xb0(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0xc(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0xb4(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0xc(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0xb0(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0xc(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0xb4(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0xc(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0xc(%rax)
movl   $0x0,-0xb8(%rbp)
movl   $0xffffffff,-0xbc(%rbp)
ff ff ff
mov    -0x28(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0xc4(%rbp)
mov    -0x30(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0xc8(%rbp)
mov    -0xc4(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x18(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0xc8(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x18(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0xc4(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x18(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0xc8(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x18(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0x28(%rbp),%rax
mov    0x14(%rax),%eax
mov    %eax,-0xcc(%rbp)
mov    -0x30(%rbp),%rax
mov    0x14(%rax),%eax
mov    %eax,-0xd0(%rbp)
mov    -0xcc(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x1c(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0xd0(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x1c(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0xcc(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x1c(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0xd0(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x1c(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0x28(%rbp),%rax
mov    0x1c(%rax),%eax
mov    %eax,-0xc0(%rbp)
mov    -0x28(%rbp),%rax
mov    0x1c(%rax),%ecx
imul   -0xb8(%rbp),%ecx
mov    -0x30(%rbp),%rax
mov    0x1c(%rax),%eax
imul   -0xbc(%rbp),%eax
sub    %eax,%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0xc0(%rbp),%ecx
imul   -0xbc(%rbp),%ecx
mov    -0x30(%rbp),%rax
mov    0x1c(%rax),%eax
imul   -0xb8(%rbp),%eax
sub    %eax,%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0x28(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0xd4(%rbp)
mov    -0x30(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0xd8(%rbp)
mov    -0xd4(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x14(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0xd8(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x14(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0xd4(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x14(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0xd8(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x14(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x28(%rbp),%rax
mov    0x18(%rax),%eax
mov    %eax,-0xdc(%rbp)
mov    -0x30(%rbp),%rax
mov    0x18(%rax),%eax
mov    %eax,-0xe0(%rbp)
mov    -0xdc(%rbp),%ecx
mov    -0x28(%rbp),%rax
add    0x1c(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0xe0(%rbp),%ecx
mov    -0x30(%rbp),%rax
add    0x1c(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0xdc(%rbp),%ecx
mov    -0x28(%rbp),%rax
sub    0x1c(%rax),%ecx
mov    -0x28(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0xe0(%rbp),%ecx
mov    -0x30(%rbp),%rax
sub    0x1c(%rax),%ecx
mov    -0x30(%rbp),%rax
mov    %ecx,0x1c(%rax)
movl   $0x1,-0x44(%rbp)
cmpl   $0x8,-0x44(%rbp)
jge    1947 <step1+0x847>
mov    0x38(%rbp),%rax
imul   $0x7,-0x34(%rbp),%ecx
add    -0x44(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cvttss2si (%rax,%rcx,4),%eax
mov    %eax,-0xe4(%rbp)
mov    0x30(%rbp),%rax
imul   $0x7,-0x34(%rbp),%ecx
add    -0x44(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
cvttss2si (%rax,%rcx,4),%eax
mov    %eax,-0xe8(%rbp)
mov    -0x28(%rbp),%rax
movslq -0x44(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
mov    %eax,-0xec(%rbp)
mov    -0x28(%rbp),%rax
movslq -0x44(%rbp),%rcx
mov    (%rax,%rcx,4),%edx
imul   -0xe4(%rbp),%edx
mov    -0x30(%rbp),%rax
movslq -0x44(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
imul   -0xe8(%rbp),%eax
sub    %eax,%edx
mov    -0x28(%rbp),%rax
movslq -0x44(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0xec(%rbp),%edx
imul   -0xe8(%rbp),%edx
mov    -0x30(%rbp),%rax
movslq -0x44(%rbp),%rcx
mov    (%rax,%rcx,4),%eax
imul   -0xe4(%rbp),%eax
add    %eax,%edx
mov    -0x30(%rbp),%rax
movslq -0x44(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x44(%rbp)
jmp    1889 <step1+0x789>
jmp    194c <step1+0x84c>
movl   $0x0,-0x40(%rbp)
cmpl   $0x8,-0x40(%rbp)
jge    19a7 <step1+0x8a7>
mov    -0x28(%rbp),%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%edx
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
shl    $0x3,%ecx
add    -0x40(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x30(%rbp),%rax
movslq -0x40(%rbp),%rcx
mov    (%rax,%rcx,4),%edx
mov    -0x20(%rbp),%rax
mov    -0x34(%rbp),%ecx
shl    $0x3,%ecx
add    -0x40(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    1953 <step1+0x853>
jmp    19ac <step1+0x8ac>
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    1146 <step1+0x46>
add    $0x70,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<step1>:
push   %rbp
push   %r15
push   %r14
push   %r12
push   %rbx
mov    $0x6,%r14d
mov    0x58(%rsp),%r10
mov    0x50(%rsp),%r11
xor    %r15d,%r15d
movss  0xedd(%rip),%xmm0
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    (%rdi,%r15,1),%ebp
mov    %ebp,(%r8)
mov    (%rsi,%r15,1),%ebp
mov    %ebp,(%r9)
mov    0x100(%rdi,%r15,1),%ebp
mov    %ebp,0x4(%r8)
mov    0x100(%rsi,%r15,1),%ebp
mov    %ebp,0x4(%r9)
mov    0x200(%rdi,%r15,1),%ebp
mov    %ebp,0x8(%r8)
mov    0x200(%rsi,%r15,1),%ebp
mov    %ebp,0x8(%r9)
mov    0x300(%rdi,%r15,1),%ebp
mov    %ebp,0xc(%r8)
mov    0x300(%rsi,%r15,1),%ebp
mov    %ebp,0xc(%r9)
mov    0x400(%rdi,%r15,1),%ebp
mov    %ebp,0x10(%r8)
mov    0x400(%rsi,%r15,1),%ebp
mov    %ebp,0x10(%r9)
mov    0x500(%rdi,%r15,1),%ebp
mov    %ebp,0x14(%r8)
mov    0x500(%rsi,%r15,1),%ebp
mov    %ebp,0x14(%r9)
mov    0x600(%rdi,%r15,1),%ebp
mov    %ebp,0x18(%r8)
mov    0x600(%rsi,%r15,1),%ebp
mov    %ebp,0x18(%r9)
mov    0x700(%rdi,%r15,1),%ebp
mov    %ebp,0x1c(%r8)
mov    0x700(%rsi,%r15,1),%ebp
mov    %ebp,0x1c(%r9)
mov    (%r8),%ebp
mov    (%r9),%eax
mov    0x10(%r8),%ebx
add    %ebp,%ebx
mov    %ebx,(%r8)
mov    0x10(%r9),%ebx
add    %eax,%ebx
mov    %ebx,(%r9)
sub    0x10(%r8),%ebp
mov    %ebp,0x10(%r8)
sub    0x10(%r9),%eax
mov    %eax,0x10(%r9)
mov    0x4(%r8),%eax
mov    0x4(%r9),%ebx
mov    0x14(%r8),%ebp
add    %eax,%ebp
mov    %ebp,0x4(%r8)
mov    0x14(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,0x4(%r9)
sub    0x14(%r8),%eax
mov    %eax,0x14(%r8)
sub    0x14(%r9),%ebx
mov    %ebx,0x14(%r9)
mov    0x8(%r8),%eax
mov    0x8(%r9),%ebx
mov    0x18(%r8),%ebp
add    %eax,%ebp
mov    %ebp,0x8(%r8)
mov    0x18(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,0x8(%r9)
sub    0x18(%r8),%eax
mov    %eax,0x18(%r8)
sub    0x18(%r9),%ebx
mov    %ebx,0x18(%r9)
mov    0xc(%r8),%eax
mov    0xc(%r9),%ebx
mov    0x1c(%r8),%ebp
add    %eax,%ebp
mov    %ebp,0xc(%r8)
mov    0x1c(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,0xc(%r9)
sub    0x1c(%r8),%eax
mov    %eax,0x1c(%r8)
sub    0x1c(%r9),%ebx
mov    %ebx,0x1c(%r9)
mov    0x14(%r8),%eax
mov    0x14(%r9),%ebx
add    %eax,%ebx
cvtsi2ss %ebx,%xmm1
mulss  %xmm0,%xmm1
cvttss2si %xmm1,%ebx
mov    %ebx,0x14(%r8)
mov    0x14(%r9),%ebx
sub    %eax,%ebx
xorps  %xmm1,%xmm1
cvtsi2ss %ebx,%xmm1
mov    0x18(%r9),%eax
mulss  %xmm0,%xmm1
cvttss2si %xmm1,%ebx
mov    %ebx,0x14(%r9)
xor    %ebx,%ebx
sub    0x18(%r8),%ebx
mov    %eax,0x18(%r8)
mov    %ebx,0x18(%r9)
mov    0x1c(%r8),%eax
mov    0x1c(%r9),%ebx
sub    %eax,%ebx
xorps  %xmm1,%xmm1
cvtsi2ss %ebx,%xmm1
mulss  %xmm0,%xmm1
cvttss2si %xmm1,%ebx
mov    %ebx,0x1c(%r8)
add    0x1c(%r9),%eax
neg    %eax
xorps  %xmm1,%xmm1
cvtsi2ss %eax,%xmm1
mulss  %xmm0,%xmm1
cvttss2si %xmm1,%eax
mov    %eax,0x1c(%r9)
mov    (%r8),%eax
mov    (%r9),%ebx
mov    0x8(%r8),%ebp
add    %eax,%ebp
mov    %ebp,(%r8)
mov    0x8(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,(%r9)
sub    0x8(%r8),%eax
mov    %eax,0x8(%r8)
sub    0x8(%r9),%ebx
mov    %ebx,0x8(%r9)
mov    0x4(%r8),%eax
mov    0x4(%r9),%ebx
mov    0xc(%r8),%ebp
add    %eax,%ebp
mov    %ebp,0x4(%r8)
mov    0xc(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,0x4(%r9)
sub    0xc(%r8),%eax
mov    %eax,0xc(%r8)
sub    0xc(%r9),%ebx
mov    %ebx,0xc(%r9)
xor    %eax,%eax
sub    0xc(%r8),%eax
mov    %ebx,0xc(%r8)
mov    %eax,0xc(%r9)
mov    (%r8),%eax
mov    (%r9),%ebx
mov    0x4(%r8),%ebp
add    %eax,%ebp
mov    %ebp,(%r8)
mov    0x4(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,(%r9)
sub    0x4(%r8),%eax
mov    %eax,0x4(%r8)
sub    0x4(%r9),%ebx
mov    %ebx,0x4(%r9)
mov    0x8(%r8),%eax
mov    0x8(%r9),%ebx
mov    0xc(%r8),%ebp
add    %eax,%ebp
mov    %ebp,0x8(%r8)
mov    0xc(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,0x8(%r9)
sub    0xc(%r8),%eax
mov    %eax,0xc(%r8)
sub    0xc(%r9),%ebx
mov    %ebx,0xc(%r9)
mov    0x10(%r8),%eax
mov    0x10(%r9),%ebx
mov    0x18(%r8),%ebp
add    %eax,%ebp
mov    %ebp,0x10(%r8)
mov    0x18(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,0x10(%r9)
sub    0x18(%r8),%eax
mov    %eax,0x18(%r8)
sub    0x18(%r9),%ebx
mov    %ebx,0x18(%r9)
mov    0x14(%r8),%eax
mov    0x14(%r9),%ebx
mov    0x1c(%r8),%ebp
add    %eax,%ebp
mov    %ebp,0x14(%r8)
mov    0x1c(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,0x14(%r9)
sub    0x1c(%r8),%eax
mov    %eax,0x1c(%r8)
sub    0x1c(%r9),%ebx
mov    %ebx,0x1c(%r9)
xor    %eax,%eax
sub    0x1c(%r8),%eax
mov    %ebx,0x1c(%r8)
mov    %eax,0x1c(%r9)
mov    0x10(%r8),%eax
mov    0x10(%r9),%ebx
mov    0x14(%r8),%ebp
add    %eax,%ebp
mov    %ebp,0x10(%r8)
mov    0x14(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,0x10(%r9)
sub    0x14(%r8),%eax
mov    %eax,0x14(%r8)
sub    0x14(%r9),%ebx
mov    %ebx,0x14(%r9)
mov    0x18(%r8),%eax
mov    0x18(%r9),%ebx
mov    0x1c(%r8),%ebp
add    %eax,%ebp
mov    %ebp,0x18(%r8)
mov    0x1c(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,0x18(%r9)
sub    0x1c(%r8),%eax
mov    %eax,0x1c(%r8)
sub    0x1c(%r9),%ebx
mov    %ebx,0x1c(%r9)
cvttss2si -0x18(%r10,%r14,4),%eax
cvttss2si -0x18(%r11,%r14,4),%ebx
mov    0x4(%r8),%r12d
mov    %r12d,%ebp
imul   %eax,%ebp
imul   %ebx,%r12d
imul   0x4(%r9),%ebx
sub    %ebx,%ebp
mov    %ebp,0x4(%r8)
imul   0x4(%r9),%eax
add    %r12d,%eax
mov    %eax,0x4(%r9)
cvttss2si -0x14(%r10,%r14,4),%eax
cvttss2si -0x14(%r11,%r14,4),%ebx
mov    0x8(%r8),%r12d
mov    %r12d,%ebp
imul   %eax,%ebp
imul   %ebx,%r12d
imul   0x8(%r9),%ebx
sub    %ebx,%ebp
mov    %ebp,0x8(%r8)
imul   0x8(%r9),%eax
add    %r12d,%eax
mov    %eax,0x8(%r9)
cvttss2si -0x10(%r10,%r14,4),%eax
cvttss2si -0x10(%r11,%r14,4),%ebx
mov    0xc(%r8),%r12d
mov    %r12d,%ebp
imul   %eax,%ebp
imul   %ebx,%r12d
imul   0xc(%r9),%ebx
sub    %ebx,%ebp
mov    %ebp,0xc(%r8)
imul   0xc(%r9),%eax
add    %r12d,%eax
mov    %eax,0xc(%r9)
cvttss2si -0xc(%r10,%r14,4),%eax
cvttss2si -0xc(%r11,%r14,4),%ebx
mov    0x10(%r8),%r12d
mov    %r12d,%ebp
imul   %eax,%ebp
imul   %ebx,%r12d
imul   0x10(%r9),%ebx
sub    %ebx,%ebp
mov    %ebp,0x10(%r8)
imul   0x10(%r9),%eax
add    %r12d,%eax
mov    %eax,0x10(%r9)
cvttss2si -0x8(%r10,%r14,4),%eax
cvttss2si -0x8(%r11,%r14,4),%ebx
mov    0x14(%r8),%r12d
mov    %r12d,%ebp
imul   %eax,%ebp
imul   %ebx,%r12d
imul   0x14(%r9),%ebx
sub    %ebx,%ebp
mov    %ebp,0x14(%r8)
imul   0x14(%r9),%eax
add    %r12d,%eax
mov    %eax,0x14(%r9)
cvttss2si -0x4(%r10,%r14,4),%eax
cvttss2si -0x4(%r11,%r14,4),%ebx
mov    0x18(%r8),%r12d
mov    %r12d,%ebp
imul   %eax,%ebp
imul   %ebx,%r12d
imul   0x18(%r9),%ebx
sub    %ebx,%ebp
mov    %ebp,0x18(%r8)
imul   0x18(%r9),%eax
add    %r12d,%eax
mov    %eax,0x18(%r9)
cvttss2si (%r10,%r14,4),%eax
cvttss2si (%r11,%r14,4),%ebx
mov    0x1c(%r8),%r12d
mov    %r12d,%ebp
imul   %eax,%ebp
imul   %ebx,%r12d
imul   0x1c(%r9),%ebx
sub    %ebx,%ebp
mov    %ebp,0x1c(%r8)
imul   0x1c(%r9),%eax
add    %r12d,%eax
mov    %eax,0x1c(%r9)
mov    (%r8),%eax
mov    %eax,(%rdx,%r15,8)
mov    (%r9),%eax
mov    %eax,(%rcx,%r15,8)
mov    0x4(%r8),%eax
mov    %eax,0x4(%rdx,%r15,8)
mov    0x4(%r9),%eax
mov    %eax,0x4(%rcx,%r15,8)
mov    0x8(%r8),%eax
mov    %eax,0x8(%rdx,%r15,8)
mov    0x8(%r9),%eax
mov    %eax,0x8(%rcx,%r15,8)
mov    0xc(%r8),%eax
mov    %eax,0xc(%rdx,%r15,8)
mov    0xc(%r9),%eax
mov    %eax,0xc(%rcx,%r15,8)
mov    0x10(%r8),%eax
mov    %eax,0x10(%rdx,%r15,8)
mov    0x10(%r9),%eax
mov    %eax,0x10(%rcx,%r15,8)
mov    0x14(%r8),%eax
mov    %eax,0x14(%rdx,%r15,8)
mov    0x14(%r9),%eax
mov    %eax,0x14(%rcx,%r15,8)
mov    0x18(%r8),%eax
mov    %eax,0x18(%rdx,%r15,8)
mov    0x18(%r9),%eax
mov    %eax,0x18(%rcx,%r15,8)
mov    0x1c(%r8),%eax
mov    %eax,0x1c(%rdx,%r15,8)
mov    0x1c(%r9),%eax
mov    %eax,0x1c(%rcx,%r15,8)
add    $0x4,%r15
add    $0x7,%r14
cmp    $0x100,%r15
jne    1130 <step1+0x30>
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
pop    %rbp
ret

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

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