void step11(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] = DATA_x[tid * 8 + i];
      data_y[i] = DATA_y[tid * 8 + i];
    }
    {
      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]);
        };
      };
    };
  store:
    for (i = 0; i < 8; i++) {
      work_x[i * stride + tid] = data_x[reversed[i]];
      work_y[i * stride + tid] = data_y[reversed[i]];
    }
  }
}


x86 assembly (clang, -O0):
<step11>:
push   %rbp
mov    %rsp,%rbp
sub    $0x60,%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    1900 <step11+0x800>
jmp    1155 <step11+0x55>
movl   $0x0,-0x40(%rbp)
cmpl   $0x8,-0x40(%rbp)
jge    11b0 <step11+0xb0>
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
shl    $0x3,%ecx
add    -0x40(%rbp),%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%edx
mov    -0x28(%rbp),%rax
movslq -0x40(%rbp),%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x20(%rbp),%rax
mov    -0x34(%rbp),%ecx
shl    $0x3,%ecx
add    -0x40(%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 <step11+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  0xc8a(%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  0xc5b(%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  0xbda(%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  0xbab(%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   $0x0,-0x40(%rbp)
cmpl   $0x8,-0x40(%rbp)
jge    18ed <step11+0x7ed>
mov    -0x28(%rbp),%rax
mov    0x18(%rbp),%rcx
movslq -0x40(%rbp),%rdx
movslq (%rcx,%rdx,4),%rcx
mov    (%rax,%rcx,4),%edx
mov    -0x8(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   -0x48(%rbp),%ecx
add    -0x34(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x30(%rbp),%rax
mov    0x18(%rbp),%rcx
movslq -0x40(%rbp),%rdx
movslq (%rcx,%rdx,4),%rcx
mov    (%rax,%rcx,4),%edx
mov    -0x10(%rbp),%rax
mov    -0x40(%rbp),%ecx
imul   -0x48(%rbp),%ecx
add    -0x34(%rbp),%ecx
movslq %ecx,%rcx
mov    %edx,(%rax,%rcx,4)
mov    -0x40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x40(%rbp)
jmp    1887 <step11+0x787>
jmp    18f2 <step11+0x7f2>
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    1146 <step11+0x46>
add    $0x60,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<step11>:
push   %rbp
push   %rbx
mov    0x20(%rsp),%r10
xor    %r11d,%r11d
movss  0xeee(%rip),%xmm0
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    (%rdx,%r11,8),%eax
mov    %eax,(%r8)
mov    (%rcx,%r11,8),%eax
mov    %eax,(%r9)
mov    0x4(%rdx,%r11,8),%eax
mov    %eax,0x4(%r8)
mov    0x4(%rcx,%r11,8),%eax
mov    %eax,0x4(%r9)
mov    0x8(%rdx,%r11,8),%eax
mov    %eax,0x8(%r8)
mov    0x8(%rcx,%r11,8),%eax
mov    %eax,0x8(%r9)
mov    0xc(%rdx,%r11,8),%eax
mov    %eax,0xc(%r8)
mov    0xc(%rcx,%r11,8),%eax
mov    %eax,0xc(%r9)
mov    0x10(%rdx,%r11,8),%eax
mov    %eax,0x10(%r8)
mov    0x10(%rcx,%r11,8),%eax
mov    %eax,0x10(%r9)
mov    0x14(%rdx,%r11,8),%eax
mov    %eax,0x14(%r8)
mov    0x14(%rcx,%r11,8),%eax
mov    %eax,0x14(%r9)
mov    0x18(%rdx,%r11,8),%eax
mov    %eax,0x18(%r8)
mov    0x18(%rcx,%r11,8),%eax
mov    %eax,0x18(%r9)
mov    0x1c(%rdx,%r11,8),%eax
mov    %eax,0x1c(%r8)
mov    0x1c(%rcx,%r11,8),%eax
mov    %eax,0x1c(%r9)
mov    (%r8),%eax
mov    (%r9),%ebx
mov    0x10(%r8),%ebp
add    %eax,%ebp
mov    %ebp,(%r8)
mov    0x10(%r9),%ebp
add    %ebx,%ebp
mov    %ebp,(%r9)
sub    0x10(%r8),%eax
mov    %eax,0x10(%r8)
sub    0x10(%r9),%ebx
mov    %ebx,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)
movslq (%r10),%rax
mov    (%r8,%rax,4),%eax
mov    %eax,(%rdi,%r11,1)
movslq (%r10),%rax
mov    (%r9,%rax,4),%eax
mov    %eax,(%rsi,%r11,1)
movslq 0x4(%r10),%rax
mov    (%r8,%rax,4),%eax
mov    %eax,0x100(%rdi,%r11,1)
movslq 0x4(%r10),%rax
mov    (%r9,%rax,4),%eax
mov    %eax,0x100(%rsi,%r11,1)
movslq 0x8(%r10),%rax
mov    (%r8,%rax,4),%eax
mov    %eax,0x200(%rdi,%r11,1)
movslq 0x8(%r10),%rax
mov    (%r9,%rax,4),%eax
mov    %eax,0x200(%rsi,%r11,1)
movslq 0xc(%r10),%rax
mov    (%r8,%rax,4),%eax
mov    %eax,0x300(%rdi,%r11,1)
movslq 0xc(%r10),%rax
mov    (%r9,%rax,4),%eax
mov    %eax,0x300(%rsi,%r11,1)
movslq 0x10(%r10),%rax
mov    (%r8,%rax,4),%eax
mov    %eax,0x400(%rdi,%r11,1)
movslq 0x10(%r10),%rax
mov    (%r9,%rax,4),%eax
mov    %eax,0x400(%rsi,%r11,1)
movslq 0x14(%r10),%rax
mov    (%r8,%rax,4),%eax
mov    %eax,0x500(%rdi,%r11,1)
movslq 0x14(%r10),%rax
mov    (%r9,%rax,4),%eax
mov    %eax,0x500(%rsi,%r11,1)
movslq 0x18(%r10),%rax
mov    (%r8,%rax,4),%eax
mov    %eax,0x600(%rdi,%r11,1)
movslq 0x18(%r10),%rax
mov    (%r9,%rax,4),%eax
mov    %eax,0x600(%rsi,%r11,1)
movslq 0x1c(%r10),%rax
mov    (%r8,%rax,4),%eax
mov    %eax,0x700(%rdi,%r11,1)
movslq 0x1c(%r10),%rax
mov    (%r9,%rax,4),%eax
mov    %eax,0x700(%rsi,%r11,1)
add    $0x4,%r11
cmp    $0x100,%r11
jne    1120 <step11+0x20>
pop    %rbx
pop    %rbp
ret

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

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