void bfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU,
              long StageCnt) {
  unsigned long pos;
  unsigned long posi;
  unsigned long pinc;
  unsigned long pnext;
  unsigned long NSameU;
  unsigned long Uinc;
  unsigned long Uinc2;
  unsigned long Uinc4;
  unsigned long DiffUCnt;
  unsigned long SameUCnt;
  unsigned long U2toU3;
  float *pstrt;
  float *p0r, *p1r, *p2r, *p3r;
  float *u0r, *u0i, *u1r, *u1i, *u2r, *u2i;
  float w0r, w0i, w1r, w1i, w2r, w2i, w3r, w3i;
  float f0r, f0i, f1r, f1i, f2r, f2i, f3r, f3i;
  float f4r, f4i, f5r, f5i, f6r, f6i, f7r, f7i;
  float t0r, t0i, t1r, t1i;
  const float Two = 2.0;
  pinc = NDiffU * 2;
  pnext = pinc * 8;
  pos = pinc * 4;
  posi = pos + 1;
  NSameU = ((unsigned long)1 << (M)) / 8 / NDiffU;
  Uinc = NSameU * Ustride;
  Uinc2 = Uinc * 2;
  Uinc4 = Uinc * 4;
  U2toU3 = (((unsigned long)1 << (M)) / 8) * Ustride;
  for (; StageCnt > 0; StageCnt--) {
    u0r = &Utbl[0];
    u0i = &Utbl[((unsigned long)1 << (M - 2)) * Ustride];
    u1r = u0r;
    u1i = u0i;
    u2r = u0r;
    u2i = u0i;
    w0r = *u0r;
    w0i = *u0i;
    w1r = *u1r;
    w1i = *u1i;
    w2r = *u2r;
    w2i = *u2i;
    w3r = *(u2r + U2toU3);
    w3i = *(u2i - U2toU3);
    pstrt = ioptr;
    p0r = pstrt;
    p1r = pstrt + pinc;
    p2r = p1r + pinc;
    p3r = p2r + pinc;
    for (DiffUCnt = NDiffU; DiffUCnt > 0; DiffUCnt--) {
      f0r = *p0r;
      f0i = *(p0r + 1);
      f1r = *p1r;
      f1i = *(p1r + 1);
      for (SameUCnt = NSameU - 1; SameUCnt > 0; SameUCnt--) {
        f2r = *p2r;
        f2i = *(p2r + 1);
        f3r = *p3r;
        f3i = *(p3r + 1);
        t0r = f0r + f1r * w0r + f1i * w0i;
        t0i = f0i - f1r * w0i + f1i * w0r;
        f1r = f0r * Two - t0r;
        f1i = f0i * Two - t0i;
        f4r = *(p0r + pos);
        f4i = *(p0r + posi);
        f5r = *(p1r + pos);
        f5i = *(p1r + posi);
        f6r = *(p2r + pos);
        f6i = *(p2r + posi);
        f7r = *(p3r + pos);
        f7i = *(p3r + posi);
        t1r = f2r - f3r * w0r - f3i * w0i;
        t1i = f2i + f3r * w0i - f3i * w0r;
        f2r = f2r * Two - t1r;
        f2i = f2i * Two - t1i;
        f0r = t0r + f2r * w1r + f2i * w1i;
        f0i = t0i - f2r * w1i + f2i * w1r;
        f2r = t0r * Two - f0r;
        f2i = t0i * Two - f0i;
        f3r = f1r + t1r * w1i - t1i * w1r;
        f3i = f1i + t1r * w1r + t1i * w1i;
        f1r = f1r * Two - f3r;
        f1i = f1i * Two - f3i;
        t0r = f4r + f5r * w0r + f5i * w0i;
        t0i = f4i - f5r * w0i + f5i * w0r;
        f5r = f4r * Two - t0r;
        f5i = f4i * Two - t0i;
        t1r = f6r - f7r * w0r - f7i * w0i;
        t1i = f6i + f7r * w0i - f7i * w0r;
        f6r = f6r * Two - t1r;
        f6i = f6i * Two - t1i;
        f4r = t0r + f6r * w1r + f6i * w1i;
        f4i = t0i - f6r * w1i + f6i * w1r;
        f6r = t0r * Two - f4r;
        f6i = t0i * Two - f4i;
        f7r = f5r + t1r * w1i - t1i * w1r;
        f7i = f5i + t1r * w1r + t1i * w1i;
        f5r = f5r * Two - f7r;
        f5i = f5i * Two - f7i;
        t0r = f0r - f4r * w2r - f4i * w2i;
        t0i = f0i + f4r * w2i - f4i * w2r;
        f0r = f0r * Two - t0r;
        f0i = f0i * Two - t0i;
        t1r = f1r - f5r * w3r - f5i * w3i;
        t1i = f1i + f5r * w3i - f5i * w3r;
        f1r = f1r * Two - t1r;
        f1i = f1i * Two - t1i;
        *(p0r + pos) = t0r;
        *(p1r + pos) = t1r;
        *(p0r + posi) = t0i;
        *(p1r + posi) = t1i;
        *p0r = f0r;
        *p1r = f1r;
        *(p0r + 1) = f0i;
        *(p1r + 1) = f1i;
        p0r += pnext;
        f0r = *p0r;
        f0i = *(p0r + 1);
        p1r += pnext;
        f1r = *p1r;
        f1i = *(p1r + 1);
        f4r = f2r - f6r * w2i + f6i * w2r;
        f4i = f2i - f6r * w2r - f6i * w2i;
        f6r = f2r * Two - f4r;
        f6i = f2i * Two - f4i;
        f5r = f3r - f7r * w3i + f7i * w3r;
        f5i = f3i - f7r * w3r - f7i * w3i;
        f7r = f3r * Two - f5r;
        f7i = f3i * Two - f5i;
        *p2r = f4r;
        *p3r = f5r;
        *(p2r + 1) = f4i;
        *(p3r + 1) = f5i;
        *(p2r + pos) = f6r;
        *(p3r + pos) = f7r;
        *(p2r + posi) = f6i;
        *(p3r + posi) = f7i;
        p2r += pnext;
        p3r += pnext;
      }
      f2r = *p2r;
      f2i = *(p2r + 1);
      f3r = *p3r;
      f3i = *(p3r + 1);
      t0r = f0r + f1r * w0r + f1i * w0i;
      t0i = f0i - f1r * w0i + f1i * w0r;
      f1r = f0r * Two - t0r;
      f1i = f0i * Two - t0i;
      f4r = *(p0r + pos);
      f4i = *(p0r + posi);
      f5r = *(p1r + pos);
      f5i = *(p1r + posi);
      f6r = *(p2r + pos);
      f6i = *(p2r + posi);
      f7r = *(p3r + pos);
      f7i = *(p3r + posi);
      t1r = f2r - f3r * w0r - f3i * w0i;
      t1i = f2i + f3r * w0i - f3i * w0r;
      f2r = f2r * Two - t1r;
      f2i = f2i * Two - t1i;
      f0r = t0r + f2r * w1r + f2i * w1i;
      f0i = t0i - f2r * w1i + f2i * w1r;
      f2r = t0r * Two - f0r;
      f2i = t0i * Two - f0i;
      f3r = f1r + t1r * w1i - t1i * w1r;
      f3i = f1i + t1r * w1r + t1i * w1i;
      f1r = f1r * Two - f3r;
      f1i = f1i * Two - f3i;
      if (DiffUCnt == NDiffU / 2)
        Uinc4 = -Uinc4;
      u0r += Uinc4;
      u0i -= Uinc4;
      u1r += Uinc2;
      u1i -= Uinc2;
      u2r += Uinc;
      u2i -= Uinc;
      pstrt += 2;
      t0r = f4r + f5r * w0r + f5i * w0i;
      t0i = f4i - f5r * w0i + f5i * w0r;
      f5r = f4r * Two - t0r;
      f5i = f4i * Two - t0i;
      t1r = f6r - f7r * w0r - f7i * w0i;
      t1i = f6i + f7r * w0i - f7i * w0r;
      f6r = f6r * Two - t1r;
      f6i = f6i * Two - t1i;
      f4r = t0r + f6r * w1r + f6i * w1i;
      f4i = t0i - f6r * w1i + f6i * w1r;
      f6r = t0r * Two - f4r;
      f6i = t0i * Two - f4i;
      f7r = f5r + t1r * w1i - t1i * w1r;
      f7i = f5i + t1r * w1r + t1i * w1i;
      f5r = f5r * Two - f7r;
      f5i = f5i * Two - f7i;
      w0r = *u0r;
      w0i = *u0i;
      w1r = *u1r;
      w1i = *u1i;
      if (DiffUCnt <= NDiffU / 2)
        w0r = -w0r;
      t0r = f0r - f4r * w2r - f4i * w2i;
      t0i = f0i + f4r * w2i - f4i * w2r;
      f0r = f0r * Two - t0r;
      f0i = f0i * Two - t0i;
      f4r = f2r - f6r * w2i + f6i * w2r;
      f4i = f2i - f6r * w2r - f6i * w2i;
      f6r = f2r * Two - f4r;
      f6i = f2i * Two - f4i;
      *(p0r + pos) = t0r;
      *p2r = f4r;
      *(p0r + posi) = t0i;
      *(p2r + 1) = f4i;
      w2r = *u2r;
      w2i = *u2i;
      *p0r = f0r;
      *(p2r + pos) = f6r;
      *(p0r + 1) = f0i;
      *(p2r + posi) = f6i;
      p0r = pstrt;
      p2r = pstrt + pinc + pinc;
      t1r = f1r - f5r * w3r - f5i * w3i;
      t1i = f1i + f5r * w3i - f5i * w3r;
      f1r = f1r * Two - t1r;
      f1i = f1i * Two - t1i;
      f5r = f3r - f7r * w3i + f7i * w3r;
      f5i = f3i - f7r * w3r - f7i * w3i;
      f7r = f3r * Two - f5r;
      f7i = f3i * Two - f5i;
      *(p1r + pos) = t1r;
      *p3r = f5r;
      *(p1r + posi) = t1i;
      *(p3r + 1) = f5i;
      w3r = *(u2r + U2toU3);
      w3i = *(u2i - U2toU3);
      *p1r = f1r;
      *(p3r + pos) = f7r;
      *(p1r + 1) = f1i;
      *(p3r + posi) = f7i;
      p1r = pstrt + pinc;
      p3r = p2r + pinc;
    }
    NSameU /= 8;
    Uinc /= 8;
    Uinc2 /= 8;
    Uinc4 = Uinc * 4;
    NDiffU *= 8;
    pinc *= 8;
    pnext *= 8;
    pos *= 8;
    posi = pos + 1;
  }
}


x86 assembly (clang, -O0):
<bfstages>:
push   %rbp
mov    %rsp,%rbp
sub    $0xe8,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
movss  0x2ed5(%rip),%xmm0
movss  %xmm0,-0x154(%rbp)
ff
mov    -0x28(%rbp),%rax
shl    $0x1,%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
shl    $0x3,%rax
mov    %rax,-0x50(%rbp)
mov    -0x48(%rbp),%rax
shl    $0x2,%rax
mov    %rax,-0x38(%rbp)
mov    -0x38(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x40(%rbp)
mov    -0x10(%rbp),%rcx
mov    $0x1,%eax
shl    %cl,%rax
shr    $0x3,%rax
xor    %ecx,%ecx
mov    %ecx,%edx
divq   -0x28(%rbp)
mov    %rax,-0x58(%rbp)
mov    -0x58(%rbp),%rax
imul   -0x20(%rbp),%rax
mov    %rax,-0x60(%rbp)
mov    -0x60(%rbp),%rax
shl    $0x1,%rax
mov    %rax,-0x68(%rbp)
mov    -0x60(%rbp),%rax
shl    $0x2,%rax
mov    %rax,-0x70(%rbp)
mov    -0x10(%rbp),%rcx
mov    $0x1,%eax
shl    %cl,%rax
shr    $0x3,%rax
imul   -0x20(%rbp),%rax
mov    %rax,-0x88(%rbp)
cmpq   $0x0,-0x30(%rbp)
jle    32f2 <bfstages+0x21f2>
mov    -0x18(%rbp),%rax
mov    %rax,-0xb8(%rbp)
mov    -0x18(%rbp),%rax
mov    -0x10(%rbp),%rcx
sub    $0x2,%rcx
mov    $0x1,%edx
shl    %cl,%rdx
mov    %rdx,%rcx
imul   -0x20(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xc0(%rbp)
mov    -0xb8(%rbp),%rax
mov    %rax,-0xc8(%rbp)
mov    -0xc0(%rbp),%rax
mov    %rax,-0xd0(%rbp)
mov    -0xb8(%rbp),%rax
mov    %rax,-0xd8(%rbp)
mov    -0xc0(%rbp),%rax
mov    %rax,-0xe0(%rbp)
mov    -0xb8(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xe4(%rbp)
ff
mov    -0xc0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xe8(%rbp)
ff
mov    -0xc8(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xec(%rbp)
ff
mov    -0xd0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xf0(%rbp)
ff
mov    -0xd8(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xf4(%rbp)
ff
mov    -0xe0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xf8(%rbp)
ff
mov    -0xd8(%rbp),%rax
mov    -0x88(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0xfc(%rbp)
ff
mov    -0xe0(%rbp),%rax
xor    %ecx,%ecx
sub    -0x88(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x100(%rbp)
ff
mov    -0x8(%rbp),%rax
mov    %rax,-0x90(%rbp)
mov    -0x90(%rbp),%rax
mov    %rax,-0x98(%rbp)
mov    -0x90(%rbp),%rax
mov    -0x48(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
mov    -0x48(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xa8(%rbp)
mov    -0xa8(%rbp),%rax
mov    -0x48(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xb0(%rbp)
mov    -0x28(%rbp),%rax
mov    %rax,-0x78(%rbp)
cmpq   $0x0,-0x78(%rbp)
jbe    3275 <bfstages+0x2175>
mov    -0x98(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x104(%rbp)
ff
mov    -0x98(%rbp),%rax
movss  0x4(%rax),%xmm0
movss  %xmm0,-0x108(%rbp)
ff
mov    -0xa0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x10c(%rbp)
ff
mov    -0xa0(%rbp),%rax
movss  0x4(%rax),%xmm0
movss  %xmm0,-0x110(%rbp)
ff
mov    -0x58(%rbp),%rax
sub    $0x1,%rax
mov    %rax,-0x80(%rbp)
cmpq   $0x0,-0x80(%rbp)
jbe    224f <bfstages+0x114f>
mov    -0xa8(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x114(%rbp)
ff
mov    -0xa8(%rbp),%rax
movss  0x4(%rax),%xmm0
movss  %xmm0,-0x118(%rbp)
ff
mov    -0xb0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x11c(%rbp)
ff
mov    -0xb0(%rbp),%rax
movss  0x4(%rax),%xmm0
movss  %xmm0,-0x120(%rbp)
ff
movss  -0x104(%rbp),%xmm0
ff
movss  -0x10c(%rbp),%xmm1
ff
movss  -0xe4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x110(%rbp),%xmm0
ff
movss  -0xe8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x144(%rbp)
ff
movss  -0x108(%rbp),%xmm0
ff
movss  -0x10c(%rbp),%xmm1
ff
movss  -0xe8(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x110(%rbp),%xmm0
ff
movss  -0xe4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x148(%rbp)
ff
movss  -0x104(%rbp),%xmm0
ff
movss  -0x144(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x10c(%rbp)
ff
movss  -0x108(%rbp),%xmm0
ff
movss  -0x148(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x110(%rbp)
ff
mov    -0x98(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x124(%rbp)
ff
mov    -0x98(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x128(%rbp)
ff
mov    -0xa0(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x12c(%rbp)
ff
mov    -0xa0(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x130(%rbp)
ff
mov    -0xa8(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x134(%rbp)
ff
mov    -0xa8(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x138(%rbp)
ff
mov    -0xb0(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x13c(%rbp)
ff
mov    -0xb0(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x140(%rbp)
ff
movss  -0x114(%rbp),%xmm0
ff
movss  -0x11c(%rbp),%xmm1
ff
movss  -0xe4(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x120(%rbp),%xmm0
ff
movss  -0xe8(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x14c(%rbp)
ff
movss  -0x118(%rbp),%xmm0
ff
movss  -0x11c(%rbp),%xmm1
ff
movss  -0xe8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x120(%rbp),%xmm0
ff
movss  -0xe4(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x150(%rbp)
ff
movss  -0x114(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x114(%rbp)
ff
movss  -0x118(%rbp),%xmm0
ff
movss  -0x150(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x118(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
movss  -0x114(%rbp),%xmm1
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x118(%rbp),%xmm0
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x104(%rbp)
ff
movss  -0x148(%rbp),%xmm0
ff
movss  -0x114(%rbp),%xmm1
ff
movss  -0xf0(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x118(%rbp),%xmm0
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x108(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
movss  -0x104(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x114(%rbp)
ff
movss  -0x148(%rbp),%xmm0
ff
movss  -0x108(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x118(%rbp)
ff
movss  -0x10c(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x150(%rbp),%xmm0
ff
movss  -0xec(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x11c(%rbp)
ff
movss  -0x110(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x150(%rbp),%xmm0
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x120(%rbp)
ff
movss  -0x10c(%rbp),%xmm0
ff
movss  -0x11c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x10c(%rbp)
ff
movss  -0x110(%rbp),%xmm0
ff
movss  -0x120(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x110(%rbp)
ff
movss  -0x124(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movss  -0xe4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x130(%rbp),%xmm0
ff
movss  -0xe8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x144(%rbp)
ff
movss  -0x128(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movss  -0xe8(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x130(%rbp),%xmm0
ff
movss  -0xe4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x148(%rbp)
ff
movss  -0x124(%rbp),%xmm0
ff
movss  -0x144(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x12c(%rbp)
ff
movss  -0x128(%rbp),%xmm0
ff
movss  -0x148(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x130(%rbp)
ff
movss  -0x134(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movss  -0xe4(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x140(%rbp),%xmm0
ff
movss  -0xe8(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x14c(%rbp)
ff
movss  -0x138(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movss  -0xe8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x140(%rbp),%xmm0
ff
movss  -0xe4(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x150(%rbp)
ff
movss  -0x134(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x134(%rbp)
ff
movss  -0x138(%rbp),%xmm0
ff
movss  -0x150(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
movss  -0x134(%rbp),%xmm1
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x138(%rbp),%xmm0
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
movss  -0x148(%rbp),%xmm0
ff
movss  -0x134(%rbp),%xmm1
ff
movss  -0xf0(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x138(%rbp),%xmm0
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x128(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x134(%rbp)
ff
movss  -0x148(%rbp),%xmm0
ff
movss  -0x128(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
movss  -0x12c(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x150(%rbp),%xmm0
ff
movss  -0xec(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x13c(%rbp)
ff
movss  -0x130(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x150(%rbp),%xmm0
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x140(%rbp)
ff
movss  -0x12c(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x12c(%rbp)
ff
movss  -0x130(%rbp),%xmm0
ff
movss  -0x140(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x130(%rbp)
ff
movss  -0x104(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm1
ff
movss  -0xf4(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x128(%rbp),%xmm0
ff
movss  -0xf8(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x144(%rbp)
ff
movss  -0x108(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm1
ff
movss  -0xf8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x128(%rbp),%xmm0
ff
movss  -0xf4(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x148(%rbp)
ff
movss  -0x104(%rbp),%xmm0
ff
movss  -0x144(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x104(%rbp)
ff
movss  -0x108(%rbp),%xmm0
ff
movss  -0x148(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x108(%rbp)
ff
movss  -0x10c(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movss  -0xfc(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x130(%rbp),%xmm0
ff
movss  -0x100(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x14c(%rbp)
ff
movss  -0x110(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movss  -0x100(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x130(%rbp),%xmm0
ff
movss  -0xfc(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x150(%rbp)
ff
movss  -0x10c(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x10c(%rbp)
ff
movss  -0x110(%rbp),%xmm0
ff
movss  -0x150(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x110(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
mov    -0x98(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x14c(%rbp),%xmm0
ff
mov    -0xa0(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x148(%rbp),%xmm0
ff
mov    -0x98(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x150(%rbp),%xmm0
ff
mov    -0xa0(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x104(%rbp),%xmm0
ff
mov    -0x98(%rbp),%rax
movss  %xmm0,(%rax)
movss  -0x10c(%rbp),%xmm0
ff
mov    -0xa0(%rbp),%rax
movss  %xmm0,(%rax)
movss  -0x108(%rbp),%xmm0
ff
mov    -0x98(%rbp),%rax
movss  %xmm0,0x4(%rax)
movss  -0x110(%rbp),%xmm0
ff
mov    -0xa0(%rbp),%rax
movss  %xmm0,0x4(%rax)
mov    -0x50(%rbp),%rax
shl    $0x2,%rax
add    -0x98(%rbp),%rax
mov    %rax,-0x98(%rbp)
mov    -0x98(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x104(%rbp)
ff
mov    -0x98(%rbp),%rax
movss  0x4(%rax),%xmm0
movss  %xmm0,-0x108(%rbp)
ff
mov    -0x50(%rbp),%rax
shl    $0x2,%rax
add    -0xa0(%rbp),%rax
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x10c(%rbp)
ff
mov    -0xa0(%rbp),%rax
movss  0x4(%rax),%xmm0
movss  %xmm0,-0x110(%rbp)
ff
movss  -0x114(%rbp),%xmm0
ff
movss  -0x134(%rbp),%xmm1
ff
movss  -0xf8(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x138(%rbp),%xmm0
ff
movss  -0xf4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
movss  -0x118(%rbp),%xmm0
ff
movss  -0x134(%rbp),%xmm1
ff
movss  -0xf4(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x138(%rbp),%xmm0
ff
movss  -0xf8(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x128(%rbp)
movss  -0x114(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x134(%rbp)
ff
movss  -0x118(%rbp),%xmm0
ff
movss  -0x128(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
movss  -0x11c(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movss  -0x100(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x140(%rbp),%xmm0
ff
movss  -0xfc(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x12c(%rbp)
ff
movss  -0x120(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movss  -0xfc(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x140(%rbp),%xmm0
ff
movss  -0x100(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x130(%rbp)
ff
movss  -0x11c(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x13c(%rbp)
ff
movss  -0x120(%rbp),%xmm0
ff
movss  -0x130(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x140(%rbp)
ff
movss  -0x124(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rax
movss  %xmm0,(%rax)
movss  -0x12c(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rax
movss  %xmm0,(%rax)
movss  -0x128(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rax
movss  %xmm0,0x4(%rax)
movss  -0x130(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rax
movss  %xmm0,0x4(%rax)
movss  -0x134(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x13c(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x138(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x140(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x50(%rbp),%rax
shl    $0x2,%rax
add    -0xa8(%rbp),%rax
mov    %rax,-0xa8(%rbp)
mov    -0x50(%rbp),%rax
shl    $0x2,%rax
add    -0xb0(%rbp),%rax
mov    %rax,-0xb0(%rbp)
mov    -0x80(%rbp),%rax
add    $0xffffffffffffffff,%rax
mov    %rax,-0x80(%rbp)
jmp    13b3 <bfstages+0x2b3>
mov    -0xa8(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x114(%rbp)
ff
mov    -0xa8(%rbp),%rax
movss  0x4(%rax),%xmm0
movss  %xmm0,-0x118(%rbp)
ff
mov    -0xb0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x11c(%rbp)
ff
mov    -0xb0(%rbp),%rax
movss  0x4(%rax),%xmm0
movss  %xmm0,-0x120(%rbp)
ff
movss  -0x104(%rbp),%xmm0
ff
movss  -0x10c(%rbp),%xmm1
ff
movss  -0xe4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x110(%rbp),%xmm0
ff
movss  -0xe8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x144(%rbp)
ff
movss  -0x108(%rbp),%xmm0
ff
movss  -0x10c(%rbp),%xmm1
ff
movss  -0xe8(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x110(%rbp),%xmm0
ff
movss  -0xe4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x148(%rbp)
ff
movss  -0x104(%rbp),%xmm0
ff
movss  -0x144(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x10c(%rbp)
ff
movss  -0x108(%rbp),%xmm0
ff
movss  -0x148(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x110(%rbp)
ff
mov    -0x98(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x124(%rbp)
ff
mov    -0x98(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x128(%rbp)
ff
mov    -0xa0(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x12c(%rbp)
ff
mov    -0xa0(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x130(%rbp)
ff
mov    -0xa8(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x134(%rbp)
ff
mov    -0xa8(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x138(%rbp)
ff
mov    -0xb0(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x13c(%rbp)
ff
mov    -0xb0(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x140(%rbp)
ff
movss  -0x114(%rbp),%xmm0
ff
movss  -0x11c(%rbp),%xmm1
ff
movss  -0xe4(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x120(%rbp),%xmm0
ff
movss  -0xe8(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x14c(%rbp)
ff
movss  -0x118(%rbp),%xmm0
ff
movss  -0x11c(%rbp),%xmm1
ff
movss  -0xe8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x120(%rbp),%xmm0
ff
movss  -0xe4(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x150(%rbp)
ff
movss  -0x114(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x114(%rbp)
ff
movss  -0x118(%rbp),%xmm0
ff
movss  -0x150(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x118(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
movss  -0x114(%rbp),%xmm1
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x118(%rbp),%xmm0
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x104(%rbp)
ff
movss  -0x148(%rbp),%xmm0
ff
movss  -0x114(%rbp),%xmm1
ff
movss  -0xf0(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x118(%rbp),%xmm0
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x108(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
movss  -0x104(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x114(%rbp)
ff
movss  -0x148(%rbp),%xmm0
ff
movss  -0x108(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x118(%rbp)
ff
movss  -0x10c(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x150(%rbp),%xmm0
ff
movss  -0xec(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x11c(%rbp)
ff
movss  -0x110(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x150(%rbp),%xmm0
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x120(%rbp)
ff
movss  -0x10c(%rbp),%xmm0
ff
movss  -0x11c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x10c(%rbp)
ff
movss  -0x110(%rbp),%xmm0
ff
movss  -0x120(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x110(%rbp)
ff
mov    -0x78(%rbp),%rax
mov    %rax,-0x160(%rbp)
mov    -0x28(%rbp),%rax
mov    $0x2,%ecx
cqto
idiv   %rcx
mov    %rax,%rcx
mov    -0x160(%rbp),%rax
cmp    %rcx,%rax
jne    2749 <bfstages+0x1649>
xor    %eax,%eax
sub    -0x70(%rbp),%rax
mov    %rax,-0x70(%rbp)
mov    -0x70(%rbp),%rax
shl    $0x2,%rax
add    -0xb8(%rbp),%rax
mov    %rax,-0xb8(%rbp)
mov    -0x70(%rbp),%rdx
mov    -0xc0(%rbp),%rax
xor    %ecx,%ecx
sub    %rdx,%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xc0(%rbp)
mov    -0x68(%rbp),%rax
shl    $0x2,%rax
add    -0xc8(%rbp),%rax
mov    %rax,-0xc8(%rbp)
mov    -0x68(%rbp),%rdx
mov    -0xd0(%rbp),%rax
xor    %ecx,%ecx
sub    %rdx,%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xd0(%rbp)
mov    -0x60(%rbp),%rax
shl    $0x2,%rax
add    -0xd8(%rbp),%rax
mov    %rax,-0xd8(%rbp)
mov    -0x60(%rbp),%rdx
mov    -0xe0(%rbp),%rax
xor    %ecx,%ecx
sub    %rdx,%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xe0(%rbp)
mov    -0x90(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0x90(%rbp)
movss  -0x124(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movss  -0xe4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x130(%rbp),%xmm0
ff
movss  -0xe8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x144(%rbp)
ff
movss  -0x128(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movss  -0xe8(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x130(%rbp),%xmm0
ff
movss  -0xe4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x148(%rbp)
ff
movss  -0x124(%rbp),%xmm0
ff
movss  -0x144(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x12c(%rbp)
ff
movss  -0x128(%rbp),%xmm0
ff
movss  -0x148(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x130(%rbp)
ff
movss  -0x134(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movss  -0xe4(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x140(%rbp),%xmm0
ff
movss  -0xe8(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x14c(%rbp)
ff
movss  -0x138(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movss  -0xe8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x140(%rbp),%xmm0
ff
movss  -0xe4(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x150(%rbp)
ff
movss  -0x134(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x134(%rbp)
ff
movss  -0x138(%rbp),%xmm0
ff
movss  -0x150(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
movss  -0x134(%rbp),%xmm1
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x138(%rbp),%xmm0
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
movss  -0x148(%rbp),%xmm0
ff
movss  -0x134(%rbp),%xmm1
ff
movss  -0xf0(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x138(%rbp),%xmm0
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x128(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x134(%rbp)
ff
movss  -0x148(%rbp),%xmm0
ff
movss  -0x128(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
movss  -0x12c(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x150(%rbp),%xmm0
ff
movss  -0xec(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x13c(%rbp)
ff
movss  -0x130(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
ff
movss  -0xec(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x150(%rbp),%xmm0
ff
movss  -0xf0(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x140(%rbp)
ff
movss  -0x12c(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x12c(%rbp)
ff
movss  -0x130(%rbp),%xmm0
ff
movss  -0x140(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x130(%rbp)
ff
mov    -0xb8(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xe4(%rbp)
ff
mov    -0xc0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xe8(%rbp)
ff
mov    -0xc8(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xec(%rbp)
ff
mov    -0xd0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xf0(%rbp)
ff
mov    -0x78(%rbp),%rax
mov    %rax,-0x168(%rbp)
mov    -0x28(%rbp),%rax
mov    $0x2,%ecx
cqto
idiv   %rcx
mov    %rax,%rcx
mov    -0x168(%rbp),%rax
cmp    %rcx,%rax
ja     2c42 <bfstages+0x1b42>
movss  -0xe4(%rbp),%xmm0
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
movss  %xmm0,-0xe4(%rbp)
ff
movss  -0x104(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm1
ff
movss  -0xf4(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x128(%rbp),%xmm0
ff
movss  -0xf8(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x144(%rbp)
ff
movss  -0x108(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm1
ff
movss  -0xf8(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x128(%rbp),%xmm0
ff
movss  -0xf4(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x148(%rbp)
ff
movss  -0x104(%rbp),%xmm0
ff
movss  -0x144(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x104(%rbp)
ff
movss  -0x108(%rbp),%xmm0
ff
movss  -0x148(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x108(%rbp)
ff
movss  -0x114(%rbp),%xmm0
ff
movss  -0x134(%rbp),%xmm1
ff
movss  -0xf8(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x138(%rbp),%xmm0
ff
movss  -0xf4(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x124(%rbp)
ff
movss  -0x118(%rbp),%xmm0
ff
movss  -0x134(%rbp),%xmm1
ff
movss  -0xf4(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x138(%rbp),%xmm0
ff
movss  -0xf8(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x128(%rbp)
ff
movss  -0x114(%rbp),%xmm0
ff
movss  -0x124(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x134(%rbp)
ff
movss  -0x118(%rbp),%xmm0
ff
movss  -0x128(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x138(%rbp)
ff
movss  -0x144(%rbp),%xmm0
ff
mov    -0x98(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x124(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rax
movss  %xmm0,(%rax)
movss  -0x148(%rbp),%xmm0
ff
mov    -0x98(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x128(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rax
movss  %xmm0,0x4(%rax)
mov    -0xd8(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xf4(%rbp)
ff
mov    -0xe0(%rbp),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0xf8(%rbp)
ff
movss  -0x104(%rbp),%xmm0
ff
mov    -0x98(%rbp),%rax
movss  %xmm0,(%rax)
movss  -0x134(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x108(%rbp),%xmm0
ff
mov    -0x98(%rbp),%rax
movss  %xmm0,0x4(%rax)
movss  -0x138(%rbp),%xmm0
ff
mov    -0xa8(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x90(%rbp),%rax
mov    %rax,-0x98(%rbp)
mov    -0x90(%rbp),%rax
mov    -0x48(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    -0x48(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xa8(%rbp)
movss  -0x10c(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movss  -0xfc(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x130(%rbp),%xmm0
ff
movss  -0x100(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x14c(%rbp)
ff
movss  -0x110(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movss  -0x100(%rbp),%xmm2
ff
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x130(%rbp),%xmm0
ff
movss  -0xfc(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x150(%rbp)
ff
movss  -0x10c(%rbp),%xmm0
ff
movss  -0x14c(%rbp),%xmm1
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x10c(%rbp)
ff
movss  -0x110(%rbp),%xmm0
ff
movss  -0x150(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x110(%rbp)
ff
movss  -0x11c(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movss  -0x100(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x140(%rbp),%xmm0
ff
movss  -0xfc(%rbp),%xmm2
ff
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x12c(%rbp)
ff
movss  -0x120(%rbp),%xmm0
ff
movss  -0x13c(%rbp),%xmm1
ff
movss  -0xfc(%rbp),%xmm2
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
mulss  %xmm2,%xmm1
addss  %xmm0,%xmm1
movss  -0x140(%rbp),%xmm0
ff
movss  -0x100(%rbp),%xmm2
ff
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x130(%rbp)
ff
movss  -0x11c(%rbp),%xmm0
ff
movss  -0x12c(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x13c(%rbp)
ff
movss  -0x120(%rbp),%xmm0
ff
movss  -0x130(%rbp),%xmm1
ff
movd   %xmm1,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm1
addss  %xmm0,%xmm0
addss  %xmm1,%xmm0
movss  %xmm0,-0x140(%rbp)
ff
movss  -0x14c(%rbp),%xmm0
ff
mov    -0xa0(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x12c(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rax
movss  %xmm0,(%rax)
movss  -0x150(%rbp),%xmm0
ff
mov    -0xa0(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x130(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rax
movss  %xmm0,0x4(%rax)
mov    -0xd8(%rbp),%rax
mov    -0x88(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0xfc(%rbp)
ff
mov    -0xe0(%rbp),%rax
xor    %ecx,%ecx
sub    -0x88(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x100(%rbp)
ff
movss  -0x10c(%rbp),%xmm0
ff
mov    -0xa0(%rbp),%rax
movss  %xmm0,(%rax)
movss  -0x13c(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rax
mov    -0x38(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
movss  -0x110(%rbp),%xmm0
ff
mov    -0xa0(%rbp),%rax
movss  %xmm0,0x4(%rax)
movss  -0x140(%rbp),%xmm0
ff
mov    -0xb0(%rbp),%rax
mov    -0x40(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x90(%rbp),%rax
mov    -0x48(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xa0(%rbp)
mov    -0xa8(%rbp),%rax
mov    -0x48(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
mov    %rax,-0xb0(%rbp)
mov    -0x78(%rbp),%rax
add    $0xffffffffffffffff,%rax
mov    %rax,-0x78(%rbp)
jmp    134e <bfstages+0x24e>
mov    -0x58(%rbp),%rax
shr    $0x3,%rax
mov    %rax,-0x58(%rbp)
mov    -0x60(%rbp),%rax
shr    $0x3,%rax
mov    %rax,-0x60(%rbp)
mov    -0x68(%rbp),%rax
shr    $0x3,%rax
mov    %rax,-0x68(%rbp)
mov    -0x60(%rbp),%rax
shl    $0x2,%rax
mov    %rax,-0x70(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x3,%rax
mov    %rax,-0x28(%rbp)
mov    -0x48(%rbp),%rax
shl    $0x3,%rax
mov    %rax,-0x48(%rbp)
mov    -0x50(%rbp),%rax
shl    $0x3,%rax
mov    %rax,-0x50(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x3,%rax
mov    %rax,-0x38(%rbp)
mov    -0x38(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x40(%rbp)
mov    -0x30(%rbp),%rax
add    $0xffffffffffffffff,%rax
mov    %rax,-0x30(%rbp)
jmp    11c0 <bfstages+0xc0>
add    $0xe8,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<bfstages>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xe8,%rsp
mov    %rcx,%r11
mov    %rsi,%rcx
mov    $0x1,%eax
shl    %cl,%rax
mov    %rdx,0x30(%rsp)
mov    %rdi,0x80(%rsp)
shr    $0x3,%rax
mov    %rax,%rdx
or     %r8,%rdx
mov    %rax,%rsi
shr    $0x20,%rdx
je     1146 <bfstages+0x46>
xor    %edx,%edx
div    %r8
jmp    114b <bfstages+0x4b>
xor    %edx,%edx
div    %r8d
mov    %rax,-0x28(%rsp)
test   %r9,%r9
jle    1ece <bfstages+0xdce>
mov    -0x28(%rsp),%rax
imul   %r11,%rax
imul   %r11,%rsi
mov    %rax,-0x18(%rsp)
add    %rax,%rax
mov    %rax,-0x20(%rsp)
mov    %r8,%rax
shl    $0x4,%rax
mov    %rax,0x38(%rsp)
add    $0xfe,%cl
shl    %cl,%r11
lea    (%r8,%r8,1),%rbx
mov    0x30(%rsp),%rax
lea    (%rax,%r11,4),%rax
mov    %rax,0x78(%rsp)
mov    %rsi,%rax
neg    %rax
mov    %rax,0x48(%rsp)
mov    %r8,%rdx
mov    %rsi,%rdi
mov    %rsi,0x98(%rsp)
jmp    1203 <bfstages+0x103>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    %rcx,%rdi
shrq   $0x3,-0x28(%rsp)
shrq   $0x3,-0x18(%rsp)
shrq   $0x3,-0x20(%rsp)
mov    0x40(%rsp),%rdx
shl    $0x3,%rdx
shl    $0x3,%rbx
shlq   $0x3,0x38(%rsp)
mov    0x88(%rsp),%rcx
lea    -0x1(%rcx),%r9
mov    -0x8(%rsp),%r8
cmp    $0x1,%rcx
jle    1ece <bfstages+0xdce>
mov    %r9,0x88(%rsp)
lea    0x0(,%r8,8),%rax
mov    %rax,-0x8(%rsp)
mov    %rdx,0x40(%rsp)
test   %rdx,%rdx
mov    %rdi,%rcx
je     11c0 <bfstages+0xc0>
lea    0x1(,%r8,8),%rax
mov    %rax,0x70(%rsp)
mov    0x30(%rsp),%rbp
movss  0x0(%rbp),%xmm1
mov    0x78(%rsp),%rdi
movss  (%rdi),%xmm3
mov    0x48(%rsp),%rax
movss  (%rdi,%rax,4),%xmm0
movss  0x0(%rbp,%rcx,4),%xmm2
mov    -0x18(%rsp),%rdx
lea    0x0(,%rdx,4),%rax
mov    %rax,0x18(%rsp)
mov    -0x28(%rsp),%rax
add    $0xffffffffffffffff,%rax
mov    %rax,0xb8(%rsp)
mov    0x40(%rsp),%r9
mov    %r9,%rax
shr    $0x3f,%rax
add    %r9,%rax
sar    %rax
mov    %rax,0xb0(%rsp)
mov    -0x20(%rsp),%rax
neg    %rax
mov    %rax,0x68(%rsp)
neg    %rdx
mov    %rdx,0xa8(%rsp)
lea    0x0(,%rbx,4),%rax
lea    (%rax,%rax,2),%rsi
mov    0x38(%rsp),%rdx
lea    0x0(,%rdx,4),%r15
shl    $0x5,%r8
lea    (%r8,%rsi,1),%r13
add    $0x4,%r13
lea    0x0(,%rbx,8),%r12
lea    0x4(%r8,%rbx,8),%r11
lea    0x4(%r8,%rbx,4),%r14
lea    0x4(%r15,%rbx,4),%rdx
mov    %rdx,0x90(%rsp)
movss  %xmm3,-0x64(%rsp)
movss  %xmm1,-0x6c(%rsp)
movaps %xmm3,%xmm4
movss  %xmm3,-0x74(%rsp)
movss  %xmm1,-0x68(%rsp)
mov    %rdi,0x58(%rsp)
mov    %rbp,0x50(%rsp)
mov    %rdi,0x8(%rsp)
mov    %rbp,(%rsp)
mov    %rbp,0x10(%rsp)
mov    0x80(%rsp),%rbp
mov    %r9,0x60(%rsp)
mov    %rbx,0xc0(%rsp)
mov    %rax,0xa0(%rsp)
jmp    176f <bfstages+0x66f>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
xorps  0xca9(%rip),%xmm0
movaps %xmm0,0xd0(%rsp)
movss  -0x74(%rsp),%xmm4
movaps %xmm14,%xmm2
movss  -0x34(%rsp),%xmm3
movaps %xmm3,%xmm0
movss  -0x70(%rsp),%xmm7
mulss  %xmm7,%xmm0
movss  0x24(%rsp),%xmm13
addss  %xmm13,%xmm0
movss  0x20(%rsp),%xmm6
movaps %xmm6,%xmm5
mulss  %xmm4,%xmm5
addss  %xmm0,%xmm5
mulss  %xmm4,%xmm3
movss  -0x48(%rsp),%xmm14
movaps %xmm14,%xmm0
subss  %xmm3,%xmm0
mulss  %xmm7,%xmm6
addss  %xmm0,%xmm6
movaps %xmm11,%xmm3
mulss  %xmm7,%xmm3
movaps %xmm8,%xmm9
subss  %xmm3,%xmm9
movaps %xmm1,%xmm3
mulss  %xmm4,%xmm3
subss  %xmm3,%xmm9
mulss  %xmm4,%xmm11
mulss  %xmm7,%xmm1
addss  %xmm2,%xmm11
subss  %xmm1,%xmm11
addss  %xmm8,%xmm8
subss  %xmm9,%xmm8
addss  %xmm2,%xmm2
subss  %xmm11,%xmm2
movaps %xmm8,%xmm3
movss  -0x6c(%rsp),%xmm1
mulss  %xmm1,%xmm3
addss  %xmm5,%xmm3
movaps %xmm2,%xmm4
movss  -0x64(%rsp),%xmm10
mulss  %xmm10,%xmm4
addss  %xmm3,%xmm4
mulss  %xmm10,%xmm8
movaps %xmm6,%xmm3
subss  %xmm8,%xmm3
mulss  %xmm1,%xmm2
addss  %xmm3,%xmm2
movaps %xmm11,%xmm0
mulss  %xmm1,%xmm0
movss  %xmm0,-0x70(%rsp)
movaps %xmm9,%xmm15
mulss  %xmm1,%xmm9
mulss  %xmm10,%xmm15
mulss  %xmm10,%xmm11
movaps %xmm4,%xmm1
movss  -0x68(%rsp),%xmm10
mulss  %xmm10,%xmm1
movaps %xmm12,%xmm8
movaps %xmm12,%xmm7
subss  %xmm1,%xmm7
movaps %xmm2,%xmm1
movss  -0x2c(%rsp),%xmm3
mulss  %xmm3,%xmm1
subss  %xmm1,%xmm7
addss  %xmm13,%xmm13
subss  %xmm5,%xmm13
addss  %xmm14,%xmm14
subss  %xmm6,%xmm14
addss  %xmm5,%xmm5
subss  %xmm4,%xmm5
addss  %xmm6,%xmm6
subss  %xmm2,%xmm6
mulss  %xmm3,%xmm4
movss  0x2c(%rsp),%xmm0
addss  %xmm0,%xmm4
mulss  %xmm10,%xmm2
subss  %xmm2,%xmm4
movaps %xmm5,%xmm1
mulss  %xmm3,%xmm1
movss  -0x58(%rsp),%xmm12
movaps %xmm12,%xmm2
subss  %xmm1,%xmm2
movaps %xmm6,%xmm1
mulss  %xmm10,%xmm1
addss  %xmm2,%xmm1
mulss  %xmm10,%xmm5
movss  -0x50(%rsp),%xmm10
movaps %xmm10,%xmm2
subss  %xmm5,%xmm2
mulss  %xmm3,%xmm6
subss  %xmm6,%xmm2
lea    0x0(,%rbx,4),%rbp
sub    %rbp,%rdi
mov    %rdi,-0x48(%rsp)
addss  %xmm8,%xmm8
subss  %xmm7,%xmm8
movss  (%rdi),%xmm5
movss  %xmm5,-0x74(%rsp)
mov    %rbx,0x18(%rsp)
mov    -0x20(%rsp),%rax
mov    (%rsp),%rdx
movss  (%rdx,%rax,4),%xmm3
movss  %xmm3,-0x6c(%rsp)
mov    0x8(%rsp),%rdx
mov    0x68(%rsp),%rax
movss  (%rdx,%rax,4),%xmm3
movss  %xmm3,-0x64(%rsp)
mov    -0x8(%rsp),%rbx
movss  %xmm7,(%rcx,%rbx,4)
addss  %xmm12,%xmm12
subss  %xmm1,%xmm12
movss  %xmm1,(%r10)
addss  %xmm0,%xmm0
subss  %xmm4,%xmm0
mov    0x70(%rsp),%rbp
movss  %xmm4,(%rcx,%rbp,4)
addss  %xmm10,%xmm10
subss  %xmm2,%xmm10
movss  %xmm2,0x4(%r10)
mov    0x50(%rsp),%rax
mov    -0x18(%rsp),%rdx
movss  (%rax,%rdx,4),%xmm1
movss  %xmm1,-0x68(%rsp)
mov    0xa8(%rsp),%rdi
mov    0x58(%rsp),%rdx
movss  (%rdx,%rdi,4),%xmm4
movss  %xmm8,(%rcx)
movss  %xmm12,(%r10,%rbx,4)
movss  %xmm0,0x4(%rcx)
movss  %xmm10,(%r10,%rbp,4)
addss  %xmm13,%xmm15
subss  -0x70(%rsp),%xmm15
movaps %xmm14,%xmm2
addss  %xmm14,%xmm9
addss  %xmm9,%xmm11
addss  %xmm13,%xmm13
subss  %xmm15,%xmm13
movaps %xmm13,%xmm0
movss  -0x4c(%rsp),%xmm6
mulss  %xmm6,%xmm0
movss  -0x54(%rsp),%xmm3
movaps %xmm3,%xmm1
subss  %xmm0,%xmm1
addss  %xmm14,%xmm2
subss  %xmm11,%xmm2
movaps %xmm2,%xmm0
movss  -0x30(%rsp),%xmm5
mulss  %xmm5,%xmm0
subss  %xmm0,%xmm1
mulss  %xmm5,%xmm13
movss  -0x60(%rsp),%xmm14
addss  %xmm14,%xmm13
mulss  %xmm6,%xmm2
subss  %xmm2,%xmm13
movaps %xmm15,%xmm0
mulss  %xmm5,%xmm0
movss  0x28(%rsp),%xmm7
movaps %xmm7,%xmm2
subss  %xmm0,%xmm2
movaps %xmm11,%xmm0
mulss  %xmm6,%xmm0
addss  %xmm2,%xmm0
mulss  %xmm6,%xmm15
movss  -0x5c(%rsp),%xmm6
movaps %xmm6,%xmm2
subss  %xmm15,%xmm2
mulss  %xmm5,%xmm11
subss  %xmm11,%xmm2
addss  %xmm3,%xmm3
subss  %xmm1,%xmm3
mov    -0x40(%rsp),%r10
movss  %xmm1,(%r10,%rbx,4)
addss  %xmm7,%xmm7
subss  %xmm0,%xmm7
mov    -0x10(%rsp),%r9
movss  %xmm0,(%r9)
mov    -0x18(%rsp),%rcx
lea    (%rax,%rcx,4),%rax
lea    (%rdx,%rdi,4),%rdi
addss  %xmm14,%xmm14
subss  %xmm13,%xmm14
addss  %xmm6,%xmm6
subss  %xmm2,%xmm6
movss  %xmm13,(%r10,%rbp,4)
movss  %xmm2,0x4(%r9)
mov    0x98(%rsp),%rcx
movss  (%rax,%rcx,4),%xmm2
mov    0x48(%rsp),%rdx
movss  (%rdi,%rdx,4),%xmm0
movss  %xmm3,(%r10)
movss  %xmm7,(%r9,%rbx,4)
movss  %xmm14,0x4(%r10)
movss  %xmm6,(%r9,%rbp,4)
mov    0x18(%rsp),%rdx
mov    0x10(%rsp),%rbx
lea    (%rbx,%rdx,4),%rbx
mov    %rbx,0x10(%rsp)
mov    -0x20(%rsp),%rdx
mov    (%rsp),%rbp
lea    0x0(%rbp,%rdx,4),%rdx
mov    0x8(%rsp),%rbp
mov    0x68(%rsp),%rbx
lea    0x0(,%rbx,4),%rbx
add    %rbp,%rbx
mov    0xc8(%rsp),%rbp
add    $0x8,%rbp
movaps 0xd0(%rsp),%xmm1
mov    %rdi,0x58(%rsp)
mov    -0x48(%rsp),%rdi
mov    %rax,0x50(%rsp)
mov    %rbx,0x8(%rsp)
mov    %rdx,(%rsp)
addq   $0xffffffffffffffff,0x60(%rsp)
mov    0xc0(%rsp),%rbx
mov    0xa0(%rsp),%rax
je     11c0 <bfstages+0xc0>
movss  %xmm1,-0x70(%rsp)
movss  0x0(%rbp),%xmm9
movss  0x4(%rbp),%xmm8
movss  0x0(%rbp,%rbx,4),%xmm1
movss  0x4(%rbp,%rbx,4),%xmm13
mov    0xb8(%rsp),%rdx
test   %rdx,%rdx
movss  %xmm4,-0x2c(%rsp)
movss  %xmm0,-0x30(%rsp)
movss  %xmm2,-0x4c(%rsp)
mov    %rbp,0xc8(%rsp)
je     1cb0 <bfstages+0xbb0>
mov    %rbp,%rcx
mov    0x90(%rsp),%rbp
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movss  (%rcx,%r12,1),%xmm5
movss  0x4(%rcx,%r12,1),%xmm2
movss  (%rcx,%rsi,1),%xmm14
movss  0x4(%rcx,%rsi,1),%xmm7
movaps %xmm1,%xmm0
movss  -0x70(%rsp),%xmm3
mulss  %xmm3,%xmm0
movaps %xmm3,%xmm6
movaps %xmm13,%xmm4
addss  %xmm9,%xmm0
movss  -0x74(%rsp),%xmm11
mulss  %xmm11,%xmm4
mulss  %xmm11,%xmm1
movaps %xmm8,%xmm3
subss  %xmm1,%xmm3
addss  %xmm0,%xmm4
movaps %xmm4,%xmm0
movss  %xmm4,-0x48(%rsp)
movaps %xmm6,%xmm1
mulss  %xmm6,%xmm13
addss  %xmm9,%xmm9
addss  %xmm8,%xmm8
addss  %xmm3,%xmm13
movss  %xmm13,-0x50(%rsp)
movss  (%rcx,%r8,1),%xmm10
movss  0x4(%rcx,%r8,1),%xmm12
movss  -0x4(%rcx,%r14,1),%xmm4
subss  %xmm0,%xmm9
movaps %xmm9,%xmm6
movss  %xmm9,-0x54(%rsp)
movss  (%rcx,%r14,1),%xmm0
movss  %xmm0,-0x40(%rsp)
movss  -0x4(%rcx,%r13,1),%xmm15
movaps %xmm14,%xmm0
mulss  %xmm1,%xmm0
movaps %xmm5,%xmm3
subss  %xmm13,%xmm8
movss  %xmm8,-0x60(%rsp)
subss  %xmm0,%xmm3
movaps %xmm7,%xmm0
mulss  %xmm11,%xmm0
mulss  %xmm11,%xmm14
subss  %xmm0,%xmm3
addss  %xmm2,%xmm14
mulss  %xmm1,%xmm7
addss  %xmm5,%xmm5
subss  %xmm7,%xmm14
subss  %xmm3,%xmm5
addss  %xmm2,%xmm2
subss  %xmm14,%xmm2
movaps %xmm14,%xmm1
movaps %xmm2,%xmm14
movaps %xmm5,%xmm0
movss  -0x6c(%rsp),%xmm9
mulss  %xmm9,%xmm0
movss  -0x64(%rsp),%xmm8
mulss  %xmm8,%xmm5
movaps %xmm13,%xmm7
subss  %xmm5,%xmm7
movaps %xmm3,%xmm2
mulss  %xmm8,%xmm2
movaps %xmm1,%xmm5
addss  %xmm6,%xmm2
mulss  %xmm9,%xmm1
subss  %xmm1,%xmm2
movss  %xmm2,-0x58(%rsp)
movaps %xmm14,%xmm1
movaps %xmm14,%xmm6
mulss  %xmm8,%xmm6
addss  -0x48(%rsp),%xmm0
mulss  %xmm9,%xmm3
addss  -0x60(%rsp),%xmm3
mulss  %xmm8,%xmm5
addss  %xmm0,%xmm6
movss  %xmm6,-0x5c(%rsp)
addss  %xmm3,%xmm5
movss  %xmm5,-0x10(%rsp)
movaps %xmm4,%xmm0
movss  -0x70(%rsp),%xmm13
mulss  %xmm13,%xmm0
movss  -0x40(%rsp),%xmm14
movaps %xmm14,%xmm3
mulss  %xmm11,%xmm3
addss  %xmm10,%xmm0
addss  %xmm0,%xmm3
mulss  %xmm11,%xmm4
movaps %xmm12,%xmm0
subss  %xmm4,%xmm0
movss  -0x4(%rcx,%r11,1),%xmm5
mulss  %xmm9,%xmm1
mulss  %xmm13,%xmm14
addss  %xmm0,%xmm14
movaps %xmm15,%xmm0
addss  %xmm7,%xmm1
movss  %xmm1,-0x40(%rsp)
mulss  %xmm13,%xmm0
movaps %xmm5,%xmm7
subss  %xmm0,%xmm7
movss  (%rcx,%r13,1),%xmm4
movaps %xmm4,%xmm0
mulss  %xmm11,%xmm0
subss  %xmm0,%xmm7
mulss  %xmm11,%xmm15
movss  (%rcx,%r11,1),%xmm11
addss  %xmm11,%xmm15
mulss  %xmm13,%xmm4
subss  %xmm4,%xmm15
addss  %xmm5,%xmm5
subss  %xmm7,%xmm5
movaps %xmm5,%xmm0
mulss  %xmm8,%xmm5
movaps %xmm14,%xmm4
subss  %xmm5,%xmm4
addss  %xmm11,%xmm11
subss  %xmm15,%xmm11
mulss  %xmm9,%xmm0
addss  %xmm3,%xmm0
movaps %xmm11,%xmm5
mulss  %xmm8,%xmm5
addss  %xmm0,%xmm5
addss  %xmm10,%xmm10
subss  %xmm3,%xmm10
movaps %xmm7,%xmm13
mulss  %xmm8,%xmm13
addss  %xmm10,%xmm13
movaps %xmm15,%xmm0
mulss  %xmm9,%xmm0
subss  %xmm0,%xmm13
mulss  %xmm9,%xmm11
addss  %xmm4,%xmm11
addss  %xmm12,%xmm12
subss  %xmm14,%xmm12
mulss  %xmm9,%xmm7
addss  %xmm12,%xmm7
mulss  %xmm8,%xmm15
addss  %xmm7,%xmm15
movaps %xmm5,%xmm0
mulss  -0x68(%rsp),%xmm0
movaps %xmm6,%xmm7
subss  %xmm0,%xmm7
movss  -0x54(%rsp),%xmm1
addss  %xmm1,%xmm1
subss  %xmm2,%xmm1
movaps %xmm1,%xmm6
addss  %xmm10,%xmm10
subss  %xmm13,%xmm10
movaps %xmm10,%xmm0
movss  -0x4c(%rsp),%xmm1
mulss  %xmm1,%xmm0
movaps %xmm6,%xmm4
subss  %xmm0,%xmm4
movaps %xmm11,%xmm0
movss  -0x2c(%rsp),%xmm8
mulss  %xmm8,%xmm0
subss  %xmm0,%xmm7
addss  %xmm3,%xmm3
subss  %xmm5,%xmm3
movaps %xmm6,%xmm2
movss  -0x60(%rsp),%xmm9
addss  %xmm14,%xmm14
subss  %xmm11,%xmm14
mulss  %xmm8,%xmm5
movss  -0x40(%rsp),%xmm6
addss  %xmm6,%xmm5
mulss  -0x68(%rsp),%xmm11
subss  %xmm11,%xmm5
addss  %xmm12,%xmm12
subss  %xmm15,%xmm12
movaps %xmm12,%xmm0
movss  -0x30(%rsp),%xmm11
mulss  %xmm11,%xmm0
subss  %xmm0,%xmm4
addss  %xmm9,%xmm9
subss  -0x10(%rsp),%xmm9
mulss  %xmm11,%xmm10
addss  %xmm9,%xmm10
mulss  %xmm1,%xmm12
subss  %xmm12,%xmm10
movss  -0x48(%rsp),%xmm12
addss  %xmm12,%xmm12
movss  -0x5c(%rsp),%xmm0
subss  %xmm0,%xmm12
addss  %xmm0,%xmm0
subss  %xmm7,%xmm0
movaps %xmm0,%xmm1
movss  %xmm7,(%rcx,%r8,1)
addss  %xmm2,%xmm2
subss  %xmm4,%xmm2
movss  %xmm4,-0x4(%rcx,%r14,1)
movss  -0x50(%rsp),%xmm0
addss  %xmm0,%xmm0
subss  %xmm6,%xmm0
addss  %xmm6,%xmm6
subss  %xmm5,%xmm6
movss  %xmm5,0x4(%rcx,%r8,1)
addss  %xmm9,%xmm9
subss  %xmm10,%xmm9
movss  %xmm10,(%rcx,%r14,1)
movss  %xmm1,(%rcx)
movaps %xmm3,%xmm1
movss  %xmm2,(%rcx,%rax,1)
mulss  %xmm8,%xmm1
movaps %xmm12,%xmm4
subss  %xmm1,%xmm4
movaps %xmm14,%xmm5
movss  -0x68(%rsp),%xmm1
mulss  %xmm1,%xmm5
movss  %xmm6,0x4(%rcx)
addss  %xmm4,%xmm5
mulss  %xmm1,%xmm3
movaps %xmm0,%xmm7
subss  %xmm3,%xmm7
movss  %xmm9,0x4(%rcx,%rax,1)
mulss  %xmm8,%xmm14
subss  %xmm14,%xmm7
addss  %xmm12,%xmm12
movaps %xmm13,%xmm1
movss  (%rcx,%r15,1),%xmm9
mulss  %xmm11,%xmm1
movss  -0x58(%rsp),%xmm2
movaps %xmm2,%xmm3
subss  %xmm1,%xmm3
movaps %xmm15,%xmm4
movss  -0x4c(%rsp),%xmm1
mulss  %xmm1,%xmm4
movss  0x4(%rcx,%r15,1),%xmm8
addss  %xmm3,%xmm4
mulss  %xmm1,%xmm13
movss  -0x10(%rsp),%xmm10
movaps %xmm10,%xmm3
subss  %xmm13,%xmm3
movss  -0x4(%rcx,%rbp,1),%xmm1
subss  %xmm5,%xmm12
mulss  %xmm11,%xmm15
subss  %xmm15,%xmm3
movss  (%rcx,%rbp,1),%xmm13
movss  %xmm5,(%rcx,%r12,1)
addss  %xmm2,%xmm2
subss  %xmm4,%xmm2
movss  %xmm4,(%rcx,%rsi,1)
addss  %xmm0,%xmm0
subss  %xmm7,%xmm0
movss  %xmm7,0x4(%rcx,%r12,1)
movaps %xmm10,%xmm4
addss  %xmm10,%xmm4
subss  %xmm3,%xmm4
movss  %xmm3,0x4(%rcx,%rsi,1)
movss  %xmm12,-0x4(%rcx,%r11,1)
movss  %xmm2,-0x4(%rcx,%r13,1)
movss  %xmm0,(%rcx,%r11,1)
movss  %xmm4,(%rcx,%r13,1)
add    %r15,%rcx
add    $0xffffffffffffffff,%rdx
jne    17d0 <bfstages+0x6d0>
lea    (%rcx,%rsi,1),%rbx
lea    (%rcx,%r12,1),%r10
mov    %rcx,%r9
add    %rax,%r9
jmp    1cc6 <bfstages+0xbc6>
xchg   %ax,%ax
lea    0x0(,%rbx,4),%r9
add    %rbp,%r9
lea    (%r9,%rbx,4),%r10
lea    (%r10,%rbx,4),%rbx
mov    %rbp,%rcx
movss  -0x74(%rsp),%xmm4
movss  (%r10),%xmm0
movss  0x4(%r10),%xmm15
movss  (%rbx),%xmm12
movss  0x4(%rbx),%xmm6
movaps %xmm1,%xmm2
movss  -0x70(%rsp),%xmm10
mulss  %xmm10,%xmm2
addss  %xmm9,%xmm2
movaps %xmm13,%xmm7
mulss  %xmm4,%xmm7
addss  %xmm2,%xmm7
mulss  %xmm4,%xmm1
movaps %xmm8,%xmm3
movaps %xmm8,%xmm2
subss  %xmm1,%xmm2
mulss  %xmm10,%xmm13
addss  %xmm2,%xmm13
addss  %xmm9,%xmm9
subss  %xmm7,%xmm9
addss  %xmm8,%xmm3
subss  %xmm13,%xmm3
mov    -0x8(%rsp),%rdx
movss  (%rcx,%rdx,4),%xmm1
movss  %xmm1,0x24(%rsp)
mov    0x70(%rsp),%rbp
movss  (%rcx,%rbp,4),%xmm1
movss  %xmm1,-0x48(%rsp)
movss  (%r9,%rdx,4),%xmm1
movss  %xmm1,-0x34(%rsp)
mov    %r9,-0x40(%rsp)
movss  (%r9,%rbp,4),%xmm1
movss  %xmm1,0x20(%rsp)
movss  (%r10,%rdx,4),%xmm8
movss  (%r10,%rbp,4),%xmm14
movss  (%rbx,%rdx,4),%xmm11
movaps %xmm12,%xmm1
mulss  %xmm10,%xmm1
movaps %xmm0,%xmm2
subss  %xmm1,%xmm2
movaps %xmm6,%xmm1
mulss  %xmm4,%xmm1
subss  %xmm1,%xmm2
mulss  %xmm4,%xmm12
addss  %xmm15,%xmm12
mulss  %xmm10,%xmm6
subss  %xmm6,%xmm12
addss  %xmm0,%xmm0
subss  %xmm2,%xmm0
addss  %xmm15,%xmm15
subss  %xmm12,%xmm15
movaps %xmm0,%xmm1
movss  -0x6c(%rsp),%xmm6
mulss  %xmm6,%xmm1
addss  %xmm7,%xmm1
movaps %xmm15,%xmm10
movss  -0x64(%rsp),%xmm4
mulss  %xmm4,%xmm10
addss  %xmm1,%xmm10
mulss  %xmm4,%xmm0
movaps %xmm13,%xmm1
subss  %xmm0,%xmm1
mulss  %xmm6,%xmm15
addss  %xmm1,%xmm15
movaps %xmm2,%xmm5
mulss  %xmm4,%xmm5
addss  %xmm9,%xmm5
movaps %xmm12,%xmm0
mulss  %xmm6,%xmm0
subss  %xmm0,%xmm5
mov    %rbx,-0x10(%rsp)
movss  (%rbx,%rbp,4),%xmm1
addss  %xmm7,%xmm7
subss  %xmm10,%xmm7
movss  %xmm7,-0x58(%rsp)
addss  %xmm13,%xmm13
movss  %xmm15,0x2c(%rsp)
subss  %xmm15,%xmm13
movss  %xmm13,-0x50(%rsp)
movss  %xmm6,-0x6c(%rsp)
mulss  %xmm6,%xmm2
addss  %xmm3,%xmm2
mulss  %xmm4,%xmm12
addss  %xmm2,%xmm12
addss  %xmm9,%xmm9
subss  %xmm5,%xmm9
movss  %xmm9,-0x54(%rsp)
addss  %xmm3,%xmm3
movss  %xmm12,-0x5c(%rsp)
subss  %xmm12,%xmm3
movss  %xmm3,-0x60(%rsp)
mov    0x18(%rsp),%rbp
mov    %rbp,%rbx
neg    %rbx
mov    0x60(%rsp),%rdx
cmp    0xb0(%rsp),%rdx
cmove  %rbx,%rbp
mov    0x10(%rsp),%rdx
mov    %rbp,%rbx
movss  (%rdx,%rbp,4),%xmm0
movss  %xmm5,0x28(%rsp)
movaps %xmm10,%xmm12
jbe    1350 <bfstages+0x250>
movss  -0x74(%rsp),%xmm4
movaps %xmm0,0xd0(%rsp)
jmp    1365 <bfstages+0x265>
add    $0xe8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

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