void cftf161(double *a, double *w) {
  double wn4r, wk1r, wk1i, x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i, y0r, y0i,
      y1r, y1i, y2r, y2i, y3r, y3i, y4r, y4i, y5r, y5i, y6r, y6i, y7r, y7i, y8r,
      y8i, y9r, y9i, y10r, y10i, y11r, y11i, y12r, y12i, y13r, y13i, y14r, y14i,
      y15r, y15i;
  wn4r = w[1];
  wk1i = wn4r * w[2];
  wk1r = wk1i + w[2];
  x0r = a[0] + a[16];
  x0i = a[1] + a[17];
  x1r = a[0] - a[16];
  x1i = a[1] - a[17];
  x2r = a[8] + a[24];
  x2i = a[9] + a[25];
  x3r = a[8] - a[24];
  x3i = a[9] - a[25];
  y0r = x0r + x2r;
  y0i = x0i + x2i;
  y4r = x0r - x2r;
  y4i = x0i - x2i;
  y8r = x1r - x3i;
  y8i = x1i + x3r;
  y12r = x1r + x3i;
  y12i = x1i - x3r;
  x0r = a[2] + a[18];
  x0i = a[3] + a[19];
  x1r = a[2] - a[18];
  x1i = a[3] - a[19];
  x2r = a[10] + a[26];
  x2i = a[11] + a[27];
  x3r = a[10] - a[26];
  x3i = a[11] - a[27];
  y1r = x0r + x2r;
  y1i = x0i + x2i;
  y5r = x0r - x2r;
  y5i = x0i - x2i;
  x0r = x1r - x3i;
  x0i = x1i + x3r;
  y9r = wk1r * x0r - wk1i * x0i;
  y9i = wk1r * x0i + wk1i * x0r;
  x0r = x1r + x3i;
  x0i = x1i - x3r;
  y13r = wk1i * x0r - wk1r * x0i;
  y13i = wk1i * x0i + wk1r * x0r;
  x0r = a[4] + a[20];
  x0i = a[5] + a[21];
  x1r = a[4] - a[20];
  x1i = a[5] - a[21];
  x2r = a[12] + a[28];
  x2i = a[13] + a[29];
  x3r = a[12] - a[28];
  x3i = a[13] - a[29];
  y2r = x0r + x2r;
  y2i = x0i + x2i;
  y6r = x0r - x2r;
  y6i = x0i - x2i;
  x0r = x1r - x3i;
  x0i = x1i + x3r;
  y10r = wn4r * (x0r - x0i);
  y10i = wn4r * (x0i + x0r);
  x0r = x1r + x3i;
  x0i = x1i - x3r;
  y14r = wn4r * (x0r + x0i);
  y14i = wn4r * (x0i - x0r);
  x0r = a[6] + a[22];
  x0i = a[7] + a[23];
  x1r = a[6] - a[22];
  x1i = a[7] - a[23];
  x2r = a[14] + a[30];
  x2i = a[15] + a[31];
  x3r = a[14] - a[30];
  x3i = a[15] - a[31];
  y3r = x0r + x2r;
  y3i = x0i + x2i;
  y7r = x0r - x2r;
  y7i = x0i - x2i;
  x0r = x1r - x3i;
  x0i = x1i + x3r;
  y11r = wk1i * x0r - wk1r * x0i;
  y11i = wk1i * x0i + wk1r * x0r;
  x0r = x1r + x3i;
  x0i = x1i - x3r;
  y15r = wk1r * x0r - wk1i * x0i;
  y15i = wk1r * x0i + wk1i * x0r;
  x0r = y12r - y14r;
  x0i = y12i - y14i;
  x1r = y12r + y14r;
  x1i = y12i + y14i;
  x2r = y13r - y15r;
  x2i = y13i - y15i;
  x3r = y13r + y15r;
  x3i = y13i + y15i;
  a[24] = x0r + x2r;
  a[25] = x0i + x2i;
  a[26] = x0r - x2r;
  a[27] = x0i - x2i;
  a[28] = x1r - x3i;
  a[29] = x1i + x3r;
  a[30] = x1r + x3i;
  a[31] = x1i - x3r;
  x0r = y8r + y10r;
  x0i = y8i + y10i;
  x1r = y8r - y10r;
  x1i = y8i - y10i;
  x2r = y9r + y11r;
  x2i = y9i + y11i;
  x3r = y9r - y11r;
  x3i = y9i - y11i;
  a[16] = x0r + x2r;
  a[17] = x0i + x2i;
  a[18] = x0r - x2r;
  a[19] = x0i - x2i;
  a[20] = x1r - x3i;
  a[21] = x1i + x3r;
  a[22] = x1r + x3i;
  a[23] = x1i - x3r;
  x0r = y5r - y7i;
  x0i = y5i + y7r;
  x2r = wn4r * (x0r - x0i);
  x2i = wn4r * (x0i + x0r);
  x0r = y5r + y7i;
  x0i = y5i - y7r;
  x3r = wn4r * (x0r - x0i);
  x3i = wn4r * (x0i + x0r);
  x0r = y4r - y6i;
  x0i = y4i + y6r;
  x1r = y4r + y6i;
  x1i = y4i - y6r;
  a[8] = x0r + x2r;
  a[9] = x0i + x2i;
  a[10] = x0r - x2r;
  a[11] = x0i - x2i;
  a[12] = x1r - x3i;
  a[13] = x1i + x3r;
  a[14] = x1r + x3i;
  a[15] = x1i - x3r;
  x0r = y0r + y2r;
  x0i = y0i + y2i;
  x1r = y0r - y2r;
  x1i = y0i - y2i;
  x2r = y1r + y3r;
  x2i = y1i + y3i;
  x3r = y1r - y3r;
  x3i = y1i - y3i;
  a[0] = x0r + x2r;
  a[1] = x0i + x2i;
  a[2] = x0r - x2r;
  a[3] = x0i - x2i;
  a[4] = x1r - x3i;
  a[5] = x1i + x3r;
  a[6] = x1r + x3i;
  a[7] = x1i - x3r;
}


x86 assembly (clang, -O0):
<cftf161>:
push   %rbp
mov    %rsp,%rbp
sub    $0xe8,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  -0x18(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  -0x28(%rbp),%xmm0
mov    -0x10(%rbp),%rax
addsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0x80(%rax),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0x88(%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0x80(%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0x88(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xc0(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x48(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xc8(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xc0(%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x48(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xc8(%rax),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x38(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
subsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0x90(%rax),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0x98(%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0x90(%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0x98(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xd0(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xd0(%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xd8(%rax),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x38(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x48(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm1
mulsd  -0x38(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm1
mulsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x48(%rbp),%xmm0
subsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x28(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
movsd  -0x20(%rbp),%xmm1
mulsd  -0x38(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm2
movsd  -0x20(%rbp),%xmm1
mulsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xa0(%rax),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xa0(%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xa8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xe0(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x68(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xe8(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xe0(%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x68(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xe8(%rax),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x48(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
subsd  -0x38(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
addsd  -0x30(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x48(%rbp),%xmm0
subsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
addsd  -0x38(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
subsd  -0x30(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xb0(%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xb8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xf0(%rax),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x78(%rax),%xmm0
mov    -0x8(%rbp),%rax
addsd  0xf8(%rax),%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xf0(%rax),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x78(%rax),%xmm0
mov    -0x8(%rbp),%rax
subsd  0xf8(%rax),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x48(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x28(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
movsd  -0x20(%rbp),%xmm1
mulsd  -0x38(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm2
movsd  -0x20(%rbp),%xmm1
mulsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x48(%rbp),%xmm0
subsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm1
mulsd  -0x38(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm1
mulsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x130(%rbp),%xmm0
ff
subsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0x138(%rbp),%xmm0
ff
subsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
movsd  -0x130(%rbp),%xmm0
ff
addsd  -0x150(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
movsd  -0x138(%rbp),%xmm0
ff
addsd  -0x158(%rbp),%xmm0
ff
movsd  %xmm0,-0x48(%rbp)
movsd  -0x140(%rbp),%xmm0
ff
subsd  -0x160(%rbp),%xmm0
ff
movsd  %xmm0,-0x50(%rbp)
movsd  -0x148(%rbp),%xmm0
ff
subsd  -0x168(%rbp),%xmm0
ff
movsd  %xmm0,-0x58(%rbp)
movsd  -0x140(%rbp),%xmm0
ff
addsd  -0x160(%rbp),%xmm0
ff
movsd  %xmm0,-0x60(%rbp)
movsd  -0x148(%rbp),%xmm0
ff
addsd  -0x168(%rbp),%xmm0
ff
movsd  %xmm0,-0x68(%rbp)
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xc0(%rax)
movsd  -0x38(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xc8(%rax)
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xd0(%rax)
movsd  -0x38(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xd8(%rax)
movsd  -0x40(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xe0(%rax)
movsd  -0x48(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xe8(%rax)
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xf0(%rax)
movsd  -0x48(%rbp),%xmm0
subsd  -0x60(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xf8(%rax)
movsd  -0xf0(%rbp),%xmm0
ff
addsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
addsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
movsd  -0xf0(%rbp),%xmm0
ff
subsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
movsd  -0xf8(%rbp),%xmm0
ff
subsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x48(%rbp)
movsd  -0x100(%rbp),%xmm0
ff
addsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x50(%rbp)
movsd  -0x108(%rbp),%xmm0
ff
addsd  -0x128(%rbp),%xmm0
ff
movsd  %xmm0,-0x58(%rbp)
movsd  -0x100(%rbp),%xmm0
ff
subsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x60(%rbp)
movsd  -0x108(%rbp),%xmm0
ff
subsd  -0x128(%rbp),%xmm0
ff
movsd  %xmm0,-0x68(%rbp)
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x80(%rax)
movsd  -0x38(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x88(%rax)
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x90(%rax)
movsd  -0x38(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x98(%rax)
movsd  -0x40(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xa0(%rax)
movsd  -0x48(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xa8(%rax)
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xb0(%rax)
movsd  -0x48(%rbp),%xmm0
subsd  -0x60(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xb8(%rax)
movsd  -0xc0(%rbp),%xmm0
ff
subsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
subsd  -0x38(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
addsd  -0x30(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0xc0(%rbp),%xmm0
ff
addsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0xc8(%rbp),%xmm0
ff
subsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm1
subsd  -0x38(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
addsd  -0x30(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0xb0(%rbp),%xmm0
ff
subsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0xb8(%rbp),%xmm0
addsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
movsd  -0xb0(%rbp),%xmm0
ff
addsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
movsd  -0xb8(%rbp),%xmm0
ff
subsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x48(%rbp)
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x40(%rax)
movsd  -0x38(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x48(%rax)
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x50(%rax)
movsd  -0x38(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x58(%rax)
movsd  -0x40(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x60(%rax)
movsd  -0x48(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x68(%rax)
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x70(%rax)
movsd  -0x48(%rbp),%xmm0
subsd  -0x60(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x78(%rax)
movsd  -0x70(%rbp),%xmm0
addsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  -0x78(%rbp),%xmm0
addsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
movsd  -0x70(%rbp),%xmm0
subsd  -0x90(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x78(%rbp),%xmm0
subsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0x48(%rbp)
movsd  -0x80(%rbp),%xmm0
addsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x50(%rbp)
movsd  -0x88(%rbp),%xmm0
ff
addsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x58(%rbp)
movsd  -0x80(%rbp),%xmm0
subsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x60(%rbp)
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0x68(%rbp)
movsd  -0x30(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x38(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0x30(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x38(%rbp),%xmm0
subsd  -0x58(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0x40(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0x48(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x28(%rax)
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x48(%rbp),%xmm0
subsd  -0x60(%rbp),%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x38(%rax)
add    $0xe8,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<cftf161>:
sub    $0x58,%rsp
movsd  0x8(%rsi),%xmm8
movapd %xmm8,0x20(%rsp)
movsd  0x10(%rsi),%xmm11
mulsd  %xmm11,%xmm8
movupd 0x80(%rdi),%xmm0
movupd (%rdi),%xmm3
movupd 0x10(%rdi),%xmm1
movupd 0x30(%rdi),%xmm2
movapd %xmm3,%xmm5
addpd  %xmm0,%xmm5
subpd  %xmm0,%xmm3
movupd 0x40(%rdi),%xmm6
movupd 0xc0(%rdi),%xmm0
movapd %xmm6,%xmm4
addpd  %xmm0,%xmm4
subpd  %xmm0,%xmm6
shufpd $0x1,%xmm6,%xmm6
movapd %xmm5,%xmm0
addpd  %xmm4,%xmm0
movapd %xmm0,0x40(%rsp)
subpd  %xmm4,%xmm5
movapd %xmm5,0x30(%rsp)
movapd %xmm3,%xmm0
subpd  %xmm6,%xmm0
addpd  %xmm3,%xmm6
movapd %xmm6,%xmm3
movsd  %xmm0,%xmm3
movapd %xmm3,(%rsp)
shufpd $0x2,%xmm0,%xmm6
movapd %xmm6,-0x10(%rsp)
movupd 0x90(%rdi),%xmm0
movapd %xmm1,%xmm4
addpd  %xmm0,%xmm4
subpd  %xmm0,%xmm1
movupd 0x50(%rdi),%xmm6
movupd 0xd0(%rdi),%xmm0
movapd %xmm6,%xmm3
addpd  %xmm0,%xmm3
subpd  %xmm0,%xmm6
shufpd $0x1,%xmm6,%xmm6
movapd %xmm4,%xmm0
addpd  %xmm3,%xmm0
movapd %xmm0,0x10(%rsp)
subpd  %xmm3,%xmm4
movapd %xmm4,-0x20(%rsp)
movapd %xmm1,%xmm0
subpd  %xmm6,%xmm0
addpd  %xmm1,%xmm6
movapd 0xe09(%rip),%xmm9
movapd %xmm8,%xmm4
xorpd  %xmm9,%xmm4
movapd %xmm6,%xmm1
shufpd $0x1,%xmm8,%xmm1
movapd %xmm4,%xmm3
movapd %xmm4,%xmm10
unpcklpd %xmm0,%xmm3
mulpd  %xmm1,%xmm3
movupd 0xb0(%rdi),%xmm1
movapd %xmm1,-0x40(%rsp)
movapd %xmm2,-0x80(%rsp)
subpd  %xmm1,%xmm2
movupd 0x70(%rdi),%xmm12
movupd 0xf0(%rdi),%xmm1
movapd %xmm1,-0x60(%rsp)
movapd %xmm12,-0x50(%rsp)
subpd  %xmm1,%xmm12
shufpd $0x1,%xmm12,%xmm12
movapd %xmm2,%xmm5
subpd  %xmm12,%xmm5
addpd  %xmm2,%xmm12
addsd  %xmm8,%xmm11
movapd %xmm0,%xmm14
movsd  %xmm6,%xmm14
xorpd  %xmm11,%xmm9
movapd %xmm9,%xmm1
unpcklpd %xmm6,%xmm1
movsd  %xmm0,%xmm6
shufpd $0x1,%xmm11,%xmm0
movapd %xmm12,%xmm13
shufpd $0x1,%xmm11,%xmm13
unpcklpd %xmm11,%xmm11
mulpd  %xmm11,%xmm6
addpd  %xmm3,%xmm6
mulpd  %xmm0,%xmm1
movapd %xmm5,%xmm4
movsd  %xmm12,%xmm4
unpcklpd %xmm12,%xmm10
movapd %xmm10,-0x70(%rsp)
movsd  %xmm5,%xmm12
unpcklpd %xmm5,%xmm9
shufpd $0x1,%xmm8,%xmm5
unpcklpd %xmm8,%xmm8
mulpd  %xmm8,%xmm14
addpd  %xmm1,%xmm14
movupd 0x20(%rdi),%xmm0
movupd 0xa0(%rdi),%xmm1
movapd %xmm0,%xmm15
addpd  %xmm1,%xmm15
subpd  %xmm1,%xmm0
movupd 0x60(%rdi),%xmm3
movupd 0xe0(%rdi),%xmm7
movapd %xmm3,%xmm2
addpd  %xmm7,%xmm2
subpd  %xmm7,%xmm3
movapd %xmm15,%xmm1
addpd  %xmm2,%xmm1
movapd %xmm1,-0x30(%rsp)
subpd  %xmm2,%xmm15
movapd %xmm3,%xmm2
unpckhpd %xmm3,%xmm2
movapd %xmm0,%xmm7
subsd  %xmm2,%xmm7
addsd  %xmm0,%xmm2
unpckhpd %xmm0,%xmm0
movapd %xmm0,%xmm1
addsd  %xmm3,%xmm1
movapd %xmm7,%xmm10
subsd  %xmm1,%xmm10
addsd  %xmm7,%xmm1
unpcklpd %xmm1,%xmm10
subsd  %xmm3,%xmm0
movapd %xmm0,%xmm7
addsd  %xmm2,%xmm7
subsd  %xmm2,%xmm0
unpcklpd %xmm0,%xmm7
movapd -0x80(%rsp),%xmm0
addpd  -0x40(%rsp),%xmm0
movapd -0x50(%rsp),%xmm2
addpd  -0x60(%rsp),%xmm2
movapd %xmm0,%xmm1
addpd  %xmm2,%xmm1
movapd %xmm1,-0x80(%rsp)
subpd  %xmm2,%xmm0
mulpd  %xmm13,%xmm9
mulpd  %xmm8,%xmm12
addpd  %xmm9,%xmm12
movapd -0x70(%rsp),%xmm1
mulpd  %xmm5,%xmm1
mulpd  %xmm11,%xmm4
addpd  %xmm1,%xmm4
movapd %xmm0,%xmm5
movapd %xmm0,%xmm11
unpckhpd %xmm0,%xmm5
movapd -0x20(%rsp),%xmm9
movapd %xmm9,%xmm8
subsd  %xmm5,%xmm8
addsd  %xmm9,%xmm5
unpckhpd %xmm9,%xmm9
movapd %xmm9,%xmm2
subsd  %xmm0,%xmm9
movapd %xmm5,%xmm13
subsd  %xmm9,%xmm13
addsd  %xmm5,%xmm9
movapd 0x20(%rsp),%xmm3
mulsd  %xmm3,%xmm13
mulsd  %xmm3,%xmm9
unpcklpd %xmm3,%xmm3
mulpd  %xmm3,%xmm7
movapd -0x10(%rsp),%xmm1
movapd %xmm1,%xmm0
subpd  %xmm7,%xmm0
addpd  %xmm1,%xmm7
movapd %xmm14,%xmm1
subpd  %xmm4,%xmm1
addpd  %xmm14,%xmm4
movapd %xmm0,%xmm5
addpd  %xmm1,%xmm5
movupd %xmm5,0xc0(%rdi)
subpd  %xmm1,%xmm0
movupd %xmm0,0xd0(%rdi)
shufpd $0x1,%xmm4,%xmm4
movapd %xmm7,%xmm0
subpd  %xmm4,%xmm0
addpd  %xmm7,%xmm4
movapd %xmm4,%xmm1
movsd  %xmm0,%xmm1
movupd %xmm1,0xe0(%rdi)
shufpd $0x2,%xmm0,%xmm4
movupd %xmm4,0xf0(%rdi)
mulpd  %xmm3,%xmm10
movapd (%rsp),%xmm5
movapd %xmm5,%xmm0
addpd  %xmm10,%xmm0
subpd  %xmm10,%xmm5
movapd %xmm6,%xmm1
addpd  %xmm12,%xmm1
subpd  %xmm12,%xmm6
movapd %xmm0,%xmm4
addpd  %xmm1,%xmm4
movupd %xmm4,0x80(%rdi)
subpd  %xmm1,%xmm0
shufpd $0x1,%xmm6,%xmm6
movupd %xmm0,0x90(%rdi)
movapd %xmm5,%xmm0
subpd  %xmm6,%xmm0
addpd  %xmm5,%xmm6
movapd %xmm6,%xmm1
movsd  %xmm0,%xmm1
movupd %xmm1,0xa0(%rdi)
shufpd $0x2,%xmm0,%xmm6
movupd %xmm6,0xb0(%rdi)
addsd  %xmm11,%xmm2
movapd %xmm8,%xmm0
subsd  %xmm2,%xmm0
addsd  %xmm8,%xmm2
shufpd $0x1,%xmm15,%xmm15
unpcklpd %xmm2,%xmm0
mulpd  %xmm3,%xmm0
movapd 0x30(%rsp),%xmm2
movapd %xmm2,%xmm1
subpd  %xmm15,%xmm1
addpd  %xmm2,%xmm15
movapd %xmm15,%xmm2
movsd  %xmm1,%xmm2
movapd %xmm2,%xmm3
addpd  %xmm0,%xmm3
movupd %xmm3,0x40(%rdi)
subpd  %xmm0,%xmm2
unpckhpd %xmm1,%xmm1
movupd %xmm2,0x50(%rdi)
movapd %xmm15,%xmm0
subsd  %xmm9,%xmm0
movsd  %xmm0,0x60(%rdi)
movapd %xmm1,%xmm0
addsd  %xmm13,%xmm0
movsd  %xmm0,0x68(%rdi)
addsd  %xmm9,%xmm15
movsd  %xmm15,0x70(%rdi)
subsd  %xmm13,%xmm1
movsd  %xmm1,0x78(%rdi)
movapd 0x40(%rsp),%xmm3
movapd %xmm3,%xmm0
movapd -0x30(%rsp),%xmm1
addpd  %xmm1,%xmm0
subpd  %xmm1,%xmm3
movapd 0x10(%rsp),%xmm4
movapd %xmm4,%xmm1
movapd -0x80(%rsp),%xmm2
addpd  %xmm2,%xmm1
subpd  %xmm2,%xmm4
movapd %xmm0,%xmm2
addpd  %xmm1,%xmm2
movupd %xmm2,(%rdi)
subpd  %xmm1,%xmm0
shufpd $0x1,%xmm4,%xmm4
movupd %xmm0,0x10(%rdi)
movapd %xmm3,%xmm0
subpd  %xmm4,%xmm0
addpd  %xmm3,%xmm4
movapd %xmm4,%xmm1
movsd  %xmm0,%xmm1
movupd %xmm1,0x20(%rdi)
shufpd $0x2,%xmm0,%xmm4
movupd %xmm4,0x30(%rdi)
add    $0x58,%rsp
ret

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

LLVM IR (-O2):
define void @cftf161(double* %0, double* nocapture %1) {
%3 = getelementptr inbounds double, double* %1, i64 1
%4 = load double, double* %3
%5 = getelementptr inbounds double, double* %1, i64 2
%6 = load double, double* %5
%7 = fmul double %4, %6
%8 = fadd double %6, %7
%9 = getelementptr inbounds double, double* %0, i64 16
%10 = bitcast double* %0 to <2 x double>*
%11 = load <2 x double>, <2 x double>* %10
%12 = bitcast double* %9 to <2 x double>*
%13 = load <2 x double>, <2 x double>* %12
%14 = fadd <2 x double> %11, %13
%15 = fsub <2 x double> %11, %13
%16 = getelementptr inbounds double, double* %0, i64 8
%17 = getelementptr inbounds double, double* %0, i64 24
%18 = bitcast double* %16 to <2 x double>*
%19 = load <2 x double>, <2 x double>* %18
%20 = bitcast double* %17 to <2 x double>*
%21 = load <2 x double>, <2 x double>* %20
%22 = fadd <2 x double> %19, %21
%23 = fsub <2 x double> %19, %21
%24 = shufflevector <2 x double> %23, <2 x double> poison, <2 x i32> <i32 1, i32 0>
%25 = fadd <2 x double> %14, %22
%26 = fsub <2 x double> %14, %22
%27 = fsub <2 x double> %15, %24
%28 = fadd <2 x double> %15, %24
%29 = shufflevector <2 x double> %27, <2 x double> %28, <2 x i32> <i32 0, i32 3>
%30 = shufflevector <2 x double> %28, <2 x double> %27, <2 x i32> <i32 0, i32 3>
%31 = getelementptr inbounds double, double* %0, i64 2
%32 = getelementptr inbounds double, double* %0, i64 18
%33 = bitcast double* %31 to <2 x double>*
%34 = load <2 x double>, <2 x double>* %33
%35 = bitcast double* %32 to <2 x double>*
%36 = load <2 x double>, <2 x double>* %35
%37 = fadd <2 x double> %34, %36
%38 = fsub <2 x double> %34, %36
%39 = getelementptr inbounds double, double* %0, i64 10
%40 = getelementptr inbounds double, double* %0, i64 26
%41 = bitcast double* %39 to <2 x double>*
%42 = load <2 x double>, <2 x double>* %41
%43 = bitcast double* %40 to <2 x double>*
%44 = load <2 x double>, <2 x double>* %43
%45 = fadd <2 x double> %42, %44
%46 = fsub <2 x double> %42, %44
%47 = shufflevector <2 x double> %46, <2 x double> poison, <2 x i32> <i32 1, i32 0>
%48 = fadd <2 x double> %37, %45
%49 = fsub <2 x double> %37, %45
%50 = extractelement <2 x double> %49, i64 0
%51 = fsub <2 x double> %37, %45
%52 = extractelement <2 x double> %51, i64 1
%53 = fsub <2 x double> %38, %47
%54 = fadd <2 x double> %38, %47
%55 = shufflevector <2 x double> %53, <2 x double> %54, <2 x i32> <i32 0, i32 3>
%56 = fneg double %7
%57 = extractelement <2 x double> %54, i64 1
%58 = insertelement <2 x double> poison, double %57, i64 0
%59 = insertelement <2 x double> %58, double %7, i64 1
%60 = insertelement <2 x double> poison, double %56, i64 0
%61 = shufflevector <2 x double> %60, <2 x double> %53, <2 x i32> <i32 0, i32 2>
%62 = fmul <2 x double> %59, %61
%63 = insertelement <2 x double> poison, double %8, i64 0
%64 = shufflevector <2 x double> %63, <2 x double> poison, <2 x i32> zeroinitializer
%65 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %64, <2 x double> %55, <2 x double> %62)
%66 = shufflevector <2 x double> %54, <2 x double> %53, <2 x i32> <i32 0, i32 3>
%67 = fneg double %8
%68 = extractelement <2 x double> %53, i64 1
%69 = insertelement <2 x double> poison, double %68, i64 0
%70 = insertelement <2 x double> %69, double %8, i64 1
%71 = insertelement <2 x double> poison, double %67, i64 0
%72 = shufflevector <2 x double> %71, <2 x double> %54, <2 x i32> <i32 0, i32 2>
%73 = fmul <2 x double> %70, %72
%74 = insertelement <2 x double> poison, double %7, i64 0
%75 = shufflevector <2 x double> %74, <2 x double> poison, <2 x i32> zeroinitializer
%76 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %75, <2 x double> %66, <2 x double> %73)
%77 = getelementptr inbounds double, double* %0, i64 4
%78 = getelementptr inbounds double, double* %0, i64 20
%79 = bitcast double* %77 to <2 x double>*
%80 = load <2 x double>, <2 x double>* %79
%81 = bitcast double* %78 to <2 x double>*
%82 = load <2 x double>, <2 x double>* %81
%83 = fadd <2 x double> %80, %82
%84 = fsub <2 x double> %80, %82
%85 = extractelement <2 x double> %84, i64 0
%86 = fsub <2 x double> %80, %82
%87 = extractelement <2 x double> %86, i64 1
%88 = getelementptr inbounds double, double* %0, i64 12
%89 = getelementptr inbounds double, double* %0, i64 28
%90 = getelementptr inbounds double, double* %0, i64 13
%91 = bitcast double* %88 to <2 x double>*
%92 = load <2 x double>, <2 x double>* %91
%93 = bitcast double* %89 to <2 x double>*
%94 = load <2 x double>, <2 x double>* %93
%95 = fadd <2 x double> %92, %94
%96 = fsub <2 x double> %92, %94
%97 = extractelement <2 x double> %96, i64 0
%98 = fsub <2 x double> %92, %94
%99 = extractelement <2 x double> %98, i64 1
%100 = fadd <2 x double> %83, %95
%101 = fsub <2 x double> %83, %95
%102 = shufflevector <2 x double> %101, <2 x double> poison, <2 x i32> <i32 1, i32 0>
%103 = fsub double %85, %99
%104 = fadd double %87, %97
%105 = insertelement <2 x double> poison, double %103, i64 0
%106 = shufflevector <2 x double> %105, <2 x double> poison, <2 x i32> zeroinitializer
%107 = insertelement <2 x double> poison, double %104, i64 0
%108 = shufflevector <2 x double> %107, <2 x double> poison, <2 x i32> zeroinitializer
%109 = fsub <2 x double> %106, %108
%110 = fadd <2 x double> %106, %108
%111 = shufflevector <2 x double> %109, <2 x double> %110, <2 x i32> <i32 0, i32 3>
%112 = insertelement <2 x double> poison, double %4, i64 0
%113 = shufflevector <2 x double> %112, <2 x double> poison, <2 x i32> zeroinitializer
%114 = fmul <2 x double> %113, %111
%115 = fadd double %85, %99
%116 = fsub double %87, %97
%117 = insertelement <2 x double> poison, double %116, i64 0
%118 = shufflevector <2 x double> %117, <2 x double> poison, <2 x i32> zeroinitializer
%119 = insertelement <2 x double> poison, double %115, i64 0
%120 = shufflevector <2 x double> %119, <2 x double> poison, <2 x i32> zeroinitializer
%121 = fadd <2 x double> %118, %120
%122 = fsub <2 x double> %118, %120
%123 = shufflevector <2 x double> %121, <2 x double> %122, <2 x i32> <i32 0, i32 3>
%124 = fmul <2 x double> %113, %123
%125 = getelementptr inbounds double, double* %0, i64 6
%126 = getelementptr inbounds double, double* %0, i64 22
%127 = bitcast double* %125 to <2 x double>*
%128 = load <2 x double>, <2 x double>* %127
%129 = bitcast double* %126 to <2 x double>*
%130 = load <2 x double>, <2 x double>* %129
%131 = fadd <2 x double> %128, %130
%132 = fsub <2 x double> %128, %130
%133 = getelementptr inbounds double, double* %0, i64 14
%134 = getelementptr inbounds double, double* %0, i64 30
%135 = getelementptr inbounds double, double* %0, i64 15
%136 = bitcast double* %133 to <2 x double>*
%137 = load <2 x double>, <2 x double>* %136
%138 = bitcast double* %134 to <2 x double>*
%139 = load <2 x double>, <2 x double>* %138
%140 = fadd <2 x double> %137, %139
%141 = fsub <2 x double> %137, %139
%142 = shufflevector <2 x double> %141, <2 x double> poison, <2 x i32> <i32 1, i32 0>
%143 = fadd <2 x double> %131, %140
%144 = fsub <2 x double> %131, %140
%145 = extractelement <2 x double> %144, i64 0
%146 = fsub <2 x double> %131, %140
%147 = extractelement <2 x double> %146, i64 1
%148 = fsub <2 x double> %132, %142
%149 = fadd <2 x double> %132, %142
%150 = shufflevector <2 x double> %148, <2 x double> %149, <2 x i32> <i32 0, i32 3>
%151 = extractelement <2 x double> %149, i64 1
%152 = insertelement <2 x double> poison, double %151, i64 0
%153 = insertelement <2 x double> %152, double %8, i64 1
%154 = shufflevector <2 x double> %71, <2 x double> %148, <2 x i32> <i32 0, i32 2>
%155 = fmul <2 x double> %153, %154
%156 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %75, <2 x double> %150, <2 x double> %155)
%157 = shufflevector <2 x double> %149, <2 x double> %148, <2 x i32> <i32 0, i32 3>
%158 = extractelement <2 x double> %148, i64 1
%159 = insertelement <2 x double> poison, double %158, i64 0
%160 = insertelement <2 x double> %159, double %7, i64 1
%161 = shufflevector <2 x double> %60, <2 x double> %149, <2 x i32> <i32 0, i32 2>
%162 = fmul <2 x double> %160, %161
%163 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %64, <2 x double> %157, <2 x double> %162)
%164 = fsub <2 x double> %30, %124
%165 = fadd <2 x double> %30, %124
%166 = fsub <2 x double> %76, %163
%167 = fadd <2 x double> %76, %163
%168 = shufflevector <2 x double> %167, <2 x double> poison, <2 x i32> <i32 1, i32 0>
%169 = fadd <2 x double> %164, %166
%170 = bitcast double* %17 to <2 x double>*
store <2 x double> %169, <2 x double>* %170
%171 = fsub <2 x double> %164, %166
%172 = bitcast double* %40 to <2 x double>*
store <2 x double> %171, <2 x double>* %172
%173 = fsub <2 x double> %165, %168
%174 = fadd <2 x double> %165, %168
%175 = shufflevector <2 x double> %173, <2 x double> %174, <2 x i32> <i32 0, i32 3>
%176 = bitcast double* %89 to <2 x double>*
store <2 x double> %175, <2 x double>* %176
%177 = shufflevector <2 x double> %174, <2 x double> %173, <2 x i32> <i32 0, i32 3>
%178 = bitcast double* %134 to <2 x double>*
store <2 x double> %177, <2 x double>* %178
%179 = fadd <2 x double> %29, %114
%180 = fsub <2 x double> %29, %114
%181 = fadd <2 x double> %65, %156
%182 = fsub <2 x double> %65, %156
%183 = shufflevector <2 x double> %182, <2 x double> poison, <2 x i32> <i32 1, i32 0>
%184 = fadd <2 x double> %179, %181
%185 = bitcast double* %9 to <2 x double>*
store <2 x double> %184, <2 x double>* %185
%186 = fsub <2 x double> %179, %181
%187 = bitcast double* %32 to <2 x double>*
store <2 x double> %186, <2 x double>* %187
%188 = fsub <2 x double> %180, %183
%189 = fadd <2 x double> %180, %183
%190 = shufflevector <2 x double> %188, <2 x double> %189, <2 x i32> <i32 0, i32 3>
%191 = bitcast double* %78 to <2 x double>*
store <2 x double> %190, <2 x double>* %191
%192 = shufflevector <2 x double> %189, <2 x double> %188, <2 x i32> <i32 0, i32 3>
%193 = bitcast double* %126 to <2 x double>*
store <2 x double> %192, <2 x double>* %193
%194 = fsub double %50, %147
%195 = fadd double %52, %145
%196 = insertelement <2 x double> poison, double %194, i64 0
%197 = shufflevector <2 x double> %196, <2 x double> poison, <2 x i32> zeroinitializer
%198 = insertelement <2 x double> poison, double %195, i64 0
%199 = shufflevector <2 x double> %198, <2 x double> poison, <2 x i32> zeroinitializer
%200 = fsub <2 x double> %197, %199
%201 = fadd <2 x double> %197, %199
%202 = shufflevector <2 x double> %200, <2 x double> %201, <2 x i32> <i32 0, i32 3>
%203 = fmul <2 x double> %113, %202
%204 = fadd double %50, %147
%205 = fsub double %52, %145
%206 = fsub double %204, %205
%207 = fmul double %4, %206
%208 = fadd double %205, %204
%209 = fmul double %4, %208
%210 = fsub <2 x double> %26, %102
%211 = fadd <2 x double> %26, %102
%212 = shufflevector <2 x double> %210, <2 x double> %211, <2 x i32> <i32 0, i32 3>
%213 = fadd <2 x double> %26, %102
%214 = extractelement <2 x double> %213, i64 0
%215 = fsub <2 x double> %26, %102
%216 = extractelement <2 x double> %215, i64 1
%217 = fadd <2 x double> %212, %203
%218 = bitcast double* %16 to <2 x double>*
store <2 x double> %217, <2 x double>* %218
%219 = fsub <2 x double> %212, %203
%220 = bitcast double* %39 to <2 x double>*
store <2 x double> %219, <2 x double>* %220
%221 = fsub double %214, %209
store double %221, double* %88
%222 = fadd double %216, %207
store double %222, double* %90
%223 = fadd double %214, %209
store double %223, double* %133
%224 = fsub double %216, %207
store double %224, double* %135
%225 = fadd <2 x double> %25, %100
%226 = fsub <2 x double> %25, %100
%227 = fadd <2 x double> %48, %143
%228 = fsub <2 x double> %48, %143
%229 = shufflevector <2 x double> %228, <2 x double> poison, <2 x i32> <i32 1, i32 0>
%230 = fadd <2 x double> %225, %227
%231 = bitcast double* %0 to <2 x double>*
store <2 x double> %230, <2 x double>* %231
%232 = fsub <2 x double> %225, %227
%233 = bitcast double* %31 to <2 x double>*
store <2 x double> %232, <2 x double>* %233
%234 = fsub <2 x double> %226, %229
%235 = fadd <2 x double> %226, %229
%236 = shufflevector <2 x double> %234, <2 x double> %235, <2 x i32> <i32 0, i32 3>
%237 = bitcast double* %77 to <2 x double>*
store <2 x double> %236, <2 x double>* %237
%238 = shufflevector <2 x double> %235, <2 x double> %234, <2 x i32> <i32 0, i32 3>
%239 = bitcast double* %125 to <2 x double>*
store <2 x double> %238, <2 x double>* %239
ret void
}