void interpolate_eta_derivative_order3_square(double epsilon, double eta,
                                              double *out_7408361074971146125) {
  out_7408361074971146125[0] =
      0.390625 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 1.0) *
          (eta - 0.447213595499958) +
      0.390625 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 1.0) *
          (eta + 0.447213595499958) +
      0.390625 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 0.447213595499958) *
          (eta + 0.447213595499958);
  out_7408361074971146125[1] =
      -0.873464053710856 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta - 0.447213595499958) -
      0.873464053710856 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta + 0.447213595499958) -
      0.873464053710856 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) *
          (eta + 0.447213595499958);
  out_7408361074971146125[2] =
      0.873464053710855 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta - 0.447213595499958) +
      0.873464053710855 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta + 0.447213595499958) +
      0.873464053710855 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) *
          (eta + 0.447213595499958);
  out_7408361074971146125[3] =
      -0.390625 * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (epsilon + 1.0) * (eta - 1.0) *
          (eta - 0.447213595499958) -
      0.390625 * (epsilon - 0.447213595499958) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta + 0.447213595499958) -
      0.390625 * (epsilon - 0.447213595499958) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) *
          (eta + 0.447213595499958);
  out_7408361074971146125[4] =
      -0.873464053710855 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 1.0) *
          (eta - 0.447213595499958) -
      0.873464053710855 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 1.0) * (eta + 1.0) -
      0.873464053710855 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 0.447213595499958) *
          (eta + 1.0);
  out_7408361074971146125[5] =
      1.953125 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta - 0.447213595499958) +
      1.953125 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta + 1.0) +
      1.953125 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) * (eta + 1.0);
  out_7408361074971146125[6] =
      -1.953125 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta - 0.447213595499958) -
      1.953125 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta + 1.0) -
      1.953125 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) * (eta + 1.0);
  out_7408361074971146125[7] =
      0.873464053710855 * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (epsilon + 1.0) * (eta - 1.0) *
          (eta - 0.447213595499958) +
      0.873464053710855 * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (epsilon + 1.0) * (eta - 1.0) *
          (eta + 1.0) +
      0.873464053710855 * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (epsilon + 1.0) *
          (eta - 0.447213595499958) * (eta + 1.0);
  out_7408361074971146125[8] =
      0.873464053710855 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 1.0) *
          (eta + 0.447213595499958) +
      0.873464053710855 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 1.0) * (eta + 1.0) +
      0.873464053710855 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta + 0.447213595499958) *
          (eta + 1.0);
  out_7408361074971146125[9] =
      -1.953125 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta + 0.447213595499958) -
      1.953125 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta + 1.0) -
      1.953125 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta + 0.447213595499958) * (eta + 1.0);
  out_7408361074971146125[10] =
      1.953125 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta + 0.447213595499958) +
      1.953125 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 1.0) * (eta + 1.0) +
      1.953125 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta + 0.447213595499958) * (eta + 1.0);
  out_7408361074971146125[11] =
      -0.873464053710855 * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (epsilon + 1.0) * (eta - 1.0) *
          (eta + 0.447213595499958) -
      0.873464053710855 * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (epsilon + 1.0) * (eta - 1.0) *
          (eta + 1.0) -
      0.873464053710855 * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (epsilon + 1.0) *
          (eta + 0.447213595499958) * (eta + 1.0);
  out_7408361074971146125[12] =
      -0.390625 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 0.447213595499958) *
          (eta + 0.447213595499958) -
      0.390625 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta - 0.447213595499958) *
          (eta + 1.0) -
      0.390625 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 0.447213595499958) * (eta + 0.447213595499958) *
          (eta + 1.0);
  out_7408361074971146125[13] =
      0.873464053710856 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) *
          (eta + 0.447213595499958) +
      0.873464053710856 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) * (eta + 1.0) +
      0.873464053710856 * (epsilon - 1.0) * (epsilon - 0.447213595499958) *
          (epsilon + 1.0) * (eta + 0.447213595499958) * (eta + 1.0);
  out_7408361074971146125[14] =
      -0.873464053710855 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) *
          (eta + 0.447213595499958) -
      0.873464053710855 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) * (eta + 1.0) -
      0.873464053710855 * (epsilon - 1.0) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta + 0.447213595499958) * (eta + 1.0);
  out_7408361074971146125[15] =
      0.390625 * (epsilon - 0.447213595499958) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) *
          (eta + 0.447213595499958) +
      0.390625 * (epsilon - 0.447213595499958) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta - 0.447213595499958) * (eta + 1.0) +
      0.390625 * (epsilon - 0.447213595499958) * (epsilon + 0.447213595499958) *
          (epsilon + 1.0) * (eta + 0.447213595499958) * (eta + 1.0);
}


x86 assembly (clang, -O0):
<interpolate_eta_derivative_order3_square>:
push   %rbp
mov    %rsp,%rbp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
mov    %rdi,-0x18(%rbp)
movsd  -0x8(%rbp),%xmm0
movsd  0x1ee1(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x1ee5(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm0
movsd  0x1ecc(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1ebc(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x1e9e(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm2
movsd  0x1e91(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x1e78(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x1e7c(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  -0x8(%rbp),%xmm3
movsd  0x1e63(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1e53(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x1e35(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1e2d(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x1e07(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x1e0b(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0x1df2(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1de2(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x1dcc(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1dbc(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x1d92(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x1dce(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm0
movsd  0x1d7d(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1d65(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x1d4f(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm2
movsd  0x1d42(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x1d29(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x1d45(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  -0x8(%rbp),%xmm3
movsd  0x1d14(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1cfc(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x1ce6(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1cde(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x1ca1(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x1cbd(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0x1c8c(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1c74(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x1c66(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1c56(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x1c14(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x1c20(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x1c04(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1beb(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x1bd5(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm2
movsd  0x1bc8(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x1baf(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x1bbb(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  0x1b9f(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1b86(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x1b70(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1b68(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x1b42(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x1b4e(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0x1b32(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1b19(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x1b0b(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1afb(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x1ad8(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x1af4(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x1ac0(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1aa7(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x1a91(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm2
movsd  0x1a84(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x1a73(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x1a6f(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  0x1a5b(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1a42(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x1a2c(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1a24(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x19ef(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x19eb(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0x19d7(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x19be(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x19b0(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x19a0(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x195e(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x1972(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm0
movsd  0x1949(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1939(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x191b(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm2
movsd  0x190e(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x18f5(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x1901(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  -0x8(%rbp),%xmm3
movsd  0x18e0(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x18d0(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x18b2(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x18a2(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x186d(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x1879(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0x1858(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1848(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x1832(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x181a(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x17e0(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x180c(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm0
movsd  0x17cb(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0x17b3(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x179d(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm2
movsd  0x1790(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x1777(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x17a3(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  -0x8(%rbp),%xmm3
movsd  0x1762(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x174a(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x1734(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1724(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x1706(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x1732(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0x16f1(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x16d9(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x16cb(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x16b3(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x28(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x1690(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x16c4(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x1680(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1667(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x1651(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm2
movsd  0x1644(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x162b(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x1657(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  0x161b(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1602(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x15ec(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x15dc(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x15a7(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x15d3(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0x1597(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x157e(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x1570(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1558(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x1526(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x152a(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x150e(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x14f5(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x14df(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm2
movsd  0x14d2(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x14c1(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x14c5(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  0x14a9(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1490(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x147a(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x146a(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x1454(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x1458(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0x143c(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1423(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0x1415(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x13fd(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x38(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x13da(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x13e6(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm0
movsd  0x13c5(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0x13b5(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x1397(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0x138f(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x1375(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x1381(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  -0x8(%rbp),%xmm3
movsd  0x1360(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1350(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x1332(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1322(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x1304(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x1310(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0x12ef(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x12df(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x12ce(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x12b5(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x40(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x1292(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x12c6(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm0
movsd  0x127d(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1265(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x124f(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1247(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x122d(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x1259(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  -0x8(%rbp),%xmm3
movsd  0x1218(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1200(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x11ea(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x11da(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x11a5(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x11d1(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0x1190(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1178(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x116f(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1156(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x48(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0x111c(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0x1148(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x110c(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x10f3(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0x10dd(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0x10d5(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x10bb(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x10e7(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  0x10ab(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1092(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x107c(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x106c(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x104e(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x107a(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0x103e(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1025(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x101c(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x1003(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x50(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0xfe8(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0xff4(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0xfd0(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0xfb7(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0xfa1(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0xf99(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0xf87(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0xf8b(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  0xf6f(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0xf56(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0xf40(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0xf30(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0xf03(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0xf07(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0xeeb(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xed2(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xec9(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xeb0(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x58(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0xe76(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0xe9a(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm0
movsd  0xe61(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0xe51(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0xe3b(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0xe2b(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0xe11(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0xe15(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  -0x8(%rbp),%xmm3
movsd  0xdfc(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0xdec(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0xdd6(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0xdbe(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0xd89(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0xd8d(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0xd74(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0xd64(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xd53(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xd3a(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x60(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0xd00(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0xd1c(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm0
movsd  0xceb(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0xcd3(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0xcc5(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0xcb5(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0xc9b(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0xcb7(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  -0x8(%rbp),%xmm3
movsd  0xc86(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0xc6e(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0xc60(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0xc48(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0xc2a(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0xc46(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0xc15(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
movsd  0xbfd(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xbf4(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xbdb(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x68(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0xbb8(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0xbcc(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0xba8(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0xb8f(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0xb81(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0xb71(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0xb57(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0xb63(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  0xb47(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0xb2e(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0xb20(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0xb08(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0xad3(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0xadf(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0xac3(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xaaa(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xaa1(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0xa88(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x70(%rax)
movsd  -0x8(%rbp),%xmm0
movsd  0xa56(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  0xa52(%rip),%xmm1
mulsd  %xmm0,%xmm1
movsd  0xa3e(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0xa25(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  0xa17(%rip),%xmm2
subsd  %xmm2,%xmm0
mulsd  %xmm0,%xmm1
movsd  0xa07(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0x9f5(%rip),%xmm0
subsd  %xmm0,%xmm3
movsd  0x9f1(%rip),%xmm0
mulsd  %xmm3,%xmm0
movsd  0x9dd(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0x9c4(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  -0x10(%rbp),%xmm3
movsd  0x9b6(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm0
movsd  0x99e(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x8(%rbp),%xmm2
movsd  0x988(%rip),%xmm0
subsd  %xmm0,%xmm2
movsd  0x984(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0x970(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x957(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x94e(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
movsd  0x935(%rip),%xmm2
addsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x78(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<interpolate_eta_derivative_order3_square>:
sub    $0x28,%rsp
movapd %xmm1,%xmm2
movapd %xmm0,%xmm8
unpcklpd %xmm0,%xmm8
movapd 0xee5(%rip),%xmm15
addpd  %xmm8,%xmm15
movsd  0xf57(%rip),%xmm10
addsd  %xmm1,%xmm10
movapd %xmm15,%xmm12
unpcklpd %xmm15,%xmm12
movapd 0xed0(%rip),%xmm1
mulpd  %xmm12,%xmm1
movapd %xmm15,%xmm13
unpckhpd %xmm15,%xmm13
mulpd  %xmm13,%xmm1
addpd  0xec3(%rip),%xmm8
mulpd  %xmm8,%xmm1
movapd %xmm1,%xmm3
movapd 0xec2(%rip),%xmm4
mulpd  %xmm12,%xmm4
mulpd  %xmm13,%xmm4
mulpd  %xmm8,%xmm4
movapd %xmm4,-0x60(%rsp)
unpckhpd %xmm4,%xmm4
movapd 0xeb1(%rip),%xmm1
xorpd  %xmm1,%xmm4
movapd %xmm1,%xmm9
mulsd  %xmm10,%xmm4
movapd 0xeab(%rip),%xmm5
mulpd  %xmm15,%xmm5
movapd %xmm8,%xmm1
unpcklpd %xmm8,%xmm1
movapd %xmm1,%xmm7
movapd %xmm1,%xmm6
movapd %xmm1,-0x70(%rsp)
mulpd  %xmm5,%xmm7
movapd %xmm7,-0x80(%rsp)
mulpd  0xe8b(%rip),%xmm12
mulpd  0xe92(%rip),%xmm15
unpcklpd %xmm15,%xmm5
mulpd  %xmm13,%xmm5
mulpd  %xmm8,%xmm5
movapd %xmm13,%xmm11
mulpd  %xmm12,%xmm11
mulpd  %xmm8,%xmm11
unpckhpd %xmm8,%xmm8
movsd  0xe8f(%rip),%xmm0
mulsd  %xmm13,%xmm0
movapd %xmm12,%xmm1
unpcklpd %xmm0,%xmm1
mulpd  %xmm6,%xmm1
mulpd  %xmm8,%xmm1
movapd %xmm1,-0x50(%rsp)
unpckhpd %xmm1,%xmm1
movapd %xmm9,%xmm6
xorpd  %xmm9,%xmm1
mulsd  %xmm10,%xmm1
unpcklpd %xmm10,%xmm10
movapd %xmm10,%xmm0
movapd %xmm3,0x10(%rsp)
mulpd  %xmm3,%xmm0
movapd %xmm0,%xmm7
unpcklpd %xmm4,%xmm7
movsd  0xe2a(%rip),%xmm14
movapd %xmm2,-0x20(%rsp)
addsd  %xmm2,%xmm14
movsd  0xe1e(%rip),%xmm9
addsd  %xmm2,%xmm9
unpcklpd %xmm9,%xmm9
mulpd  %xmm9,%xmm7
movapd %xmm14,%xmm2
unpcklpd %xmm14,%xmm2
mulpd  %xmm2,%xmm0
addpd  %xmm7,%xmm0
movapd %xmm14,%xmm4
mulsd  %xmm3,%xmm4
movapd %xmm4,%xmm3
movapd %xmm4,-0x10(%rsp)
movapd %xmm2,%xmm7
mulpd  -0x60(%rsp),%xmm7
movapd %xmm7,(%rsp)
unpckhpd %xmm7,%xmm7
xorpd  %xmm6,%xmm7
movapd %xmm6,%xmm4
movapd %xmm3,%xmm6
unpcklpd %xmm7,%xmm6
mulpd  %xmm9,%xmm6
addpd  %xmm0,%xmm6
movupd %xmm6,(%rdi)
movapd -0x80(%rsp),%xmm3
mulpd  %xmm8,%xmm3
movapd %xmm3,-0x80(%rsp)
movapd %xmm10,%xmm0
mulpd  %xmm3,%xmm0
movapd %xmm0,%xmm6
unpcklpd %xmm1,%xmm6
mulpd  %xmm2,%xmm0
mulpd  %xmm9,%xmm6
addpd  %xmm6,%xmm0
movapd %xmm5,%xmm6
movapd %xmm4,%xmm1
xorpd  %xmm4,%xmm6
movapd %xmm10,%xmm3
mulpd  %xmm11,%xmm3
mulsd  0xd84(%rip),%xmm13
movapd %xmm11,-0x30(%rsp)
movsd  %xmm6,%xmm11
shufpd $0x1,%xmm13,%xmm12
movapd -0x70(%rsp),%xmm4
mulpd  %xmm4,%xmm12
mulpd  %xmm4,%xmm15
mulpd  %xmm8,%xmm12
mulpd  %xmm8,%xmm15
movapd %xmm12,%xmm7
movapd %xmm1,%xmm8
xorpd  %xmm1,%xmm7
movapd %xmm10,%xmm6
movapd %xmm10,%xmm13
mulpd  %xmm15,%xmm10
movapd %xmm15,-0x40(%rsp)
movsd  %xmm7,%xmm15
movapd %xmm3,%xmm1
mulpd  %xmm2,%xmm3
mulpd  %xmm2,%xmm11
movapd %xmm10,%xmm7
mulpd  %xmm2,%xmm10
mulpd  %xmm2,%xmm15
mulsd  -0x80(%rsp),%xmm14
mulpd  -0x50(%rsp),%xmm2
movapd %xmm2,-0x70(%rsp)
unpckhpd %xmm2,%xmm2
xorpd  %xmm8,%xmm2
movapd %xmm8,%xmm4
movapd %xmm14,%xmm8
unpcklpd %xmm2,%xmm8
mulpd  %xmm9,%xmm8
addpd  %xmm0,%xmm8
movupd %xmm8,0x10(%rdi)
movapd -0x20(%rsp),%xmm8
addsd  0xcc0(%rip),%xmm8
mulpd  %xmm5,%xmm6
unpckhpd %xmm1,%xmm1
mulsd  %xmm8,%xmm1
movapd %xmm8,%xmm2
mulsd  %xmm6,%xmm2
movapd %xmm2,%xmm0
xorpd  %xmm4,%xmm0
unpcklpd %xmm1,%xmm0
addpd  %xmm0,%xmm3
movapd %xmm8,%xmm4
unpcklpd %xmm8,%xmm4
mulpd  %xmm4,%xmm11
addpd  %xmm3,%xmm11
movupd %xmm11,0x20(%rdi)
unpckhpd %xmm7,%xmm7
mulsd  %xmm8,%xmm7
mulpd  %xmm12,%xmm13
mulsd  %xmm13,%xmm8
movapd %xmm8,%xmm3
movapd 0xbff(%rip),%xmm11
xorpd  %xmm11,%xmm3
unpcklpd %xmm7,%xmm3
addpd  %xmm3,%xmm10
mulpd  %xmm4,%xmm15
addpd  %xmm10,%xmm15
movupd %xmm15,0x30(%rdi)
xorpd  %xmm11,%xmm1
unpcklpd %xmm1,%xmm2
mulpd  %xmm9,%xmm6
addpd  %xmm2,%xmm6
movapd -0x30(%rsp),%xmm1
unpckhpd %xmm1,%xmm1
xorpd  %xmm11,%xmm1
unpcklpd %xmm1,%xmm5
mulpd  %xmm9,%xmm5
mulpd  %xmm4,%xmm5
addpd  %xmm6,%xmm5
movupd %xmm5,0x40(%rdi)
xorpd  %xmm11,%xmm7
unpcklpd %xmm7,%xmm8
mulpd  %xmm9,%xmm13
addpd  %xmm8,%xmm13
movapd -0x40(%rsp),%xmm0
unpckhpd %xmm0,%xmm0
xorpd  %xmm11,%xmm0
unpcklpd %xmm0,%xmm12
mulpd  %xmm9,%xmm12
mulpd  %xmm4,%xmm12
addpd  %xmm13,%xmm12
movupd %xmm12,0x50(%rdi)
movapd -0x10(%rsp),%xmm1
xorpd  %xmm11,%xmm1
movapd (%rsp),%xmm0
shufpd $0x2,%xmm0,%xmm1
mulpd  %xmm4,%xmm1
mulpd  %xmm9,%xmm0
addpd  %xmm1,%xmm0
movapd %xmm0,%xmm1
movapd 0x10(%rsp),%xmm0
xorpd  %xmm11,%xmm0
shufpd $0x2,-0x60(%rsp),%xmm0
mulpd  %xmm9,%xmm0
mulpd  %xmm4,%xmm0
addpd  %xmm1,%xmm0
movupd %xmm0,0x60(%rdi)
xorpd  %xmm11,%xmm14
movapd -0x80(%rsp),%xmm0
xorpd  %xmm11,%xmm0
movapd -0x70(%rsp),%xmm1
shufpd $0x2,%xmm1,%xmm14
mulpd  %xmm4,%xmm14
mulpd  %xmm9,%xmm1
addpd  %xmm14,%xmm1
shufpd $0x2,-0x50(%rsp),%xmm0
mulpd  %xmm9,%xmm0
mulpd  %xmm4,%xmm0
addpd  %xmm1,%xmm0
movupd %xmm0,0x70(%rdi)
add    $0x28,%rsp
ret

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

LLVM IR (-O2):
define void @interpolate_eta_derivative_order3_square(double %0, double %1, double* nocapture writeonly %2) {
%4 = insertelement <2 x double> poison, double %0, i64 0
%5 = shufflevector <2 x double> %4, <2 x double> poison, <2 x i32> zeroinitializer
%6 = fadd <2 x double> %5, <double -1.000000e+00, double 0xBFDC9F25C5BFEDDA>
%7 = fadd double %1, -1.000000e+00
%8 = fadd double %1, 0xBFDC9F25C5BFEDDA
%9 = fadd double %1, 0x3FDC9F25C5BFEDDA
%10 = shufflevector <2 x double> %6, <2 x double> undef, <2 x i32> zeroinitializer
%11 = fmul <2 x double> %10, <double 3.906250e-01, double 0xBFEBF36AE31D6E4C>
%12 = extractelement <2 x double> %6, i64 1
%13 = shufflevector <2 x double> %6, <2 x double> undef, <2 x i32> <i32 1, i32 1>
%14 = fmul <2 x double> %13, %11
%15 = fadd <2 x double> %5, <double 0x3FDC9F25C5BFEDDA, double 1.000000e+00>
%16 = fmul <2 x double> %15, %14
%17 = extractelement <2 x double> %16, i64 0
%18 = fmul double %8, %17
%19 = insertelement <2 x double> poison, double %7, i64 0
%20 = shufflevector <2 x double> %19, <2 x double> poison, <2 x i32> zeroinitializer
%21 = fmul <2 x double> %20, %16
%22 = fmul <2 x double> %10, <double -3.906250e-01, double 0x3FEBF36AE31D6E4C>
%23 = fmul <2 x double> %13, %22
%24 = fmul <2 x double> %15, %23
%25 = extractelement <2 x double> %24, i64 1
%26 = fneg double %25
%27 = fmul double %7, %26
%28 = insertelement <2 x double> poison, double %9, i64 0
%29 = shufflevector <2 x double> %28, <2 x double> poison, <2 x i32> zeroinitializer
%30 = insertelement <2 x double> %21, double %27, i64 1
%31 = fmul <2 x double> %29, %30
%32 = insertelement <2 x double> poison, double %8, i64 0
%33 = shufflevector <2 x double> %32, <2 x double> poison, <2 x i32> zeroinitializer
%34 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %21, <2 x double> %33, <2 x double> %31)
%35 = fmul <2 x double> %33, %24
%36 = extractelement <2 x double> %35, i64 1
%37 = fneg double %36
%38 = insertelement <2 x double> poison, double %18, i64 0
%39 = insertelement <2 x double> %38, double %37, i64 1
%40 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %39, <2 x double> %29, <2 x double> %34)
%41 = bitcast double* %2 to <2 x double>*
store <2 x double> %40, <2 x double>* %41
%42 = fmul <2 x double> %6, <double 0x3FEBF36AE31D6E43, double -3.906250e-01>
%43 = shufflevector <2 x double> %15, <2 x double> undef, <2 x i32> zeroinitializer
%44 = fmul <2 x double> %43, %42
%45 = shufflevector <2 x double> %15, <2 x double> undef, <2 x i32> <i32 1, i32 1>
%46 = fmul <2 x double> %45, %44
%47 = extractelement <2 x double> %46, i64 0
%48 = fmul double %8, %47
%49 = getelementptr inbounds double, double* %2, i64 2
%50 = fmul <2 x double> %20, %46
%51 = fmul double %12, 3.906250e-01
%52 = fmul <2 x double> %10, <double 0xBFEBF36AE31D6E43, double 0x3FFF400000000000>
%53 = insertelement <2 x double> %52, double %51, i64 1
%54 = fmul <2 x double> %43, %53
%55 = fmul <2 x double> %45, %54
%56 = extractelement <2 x double> %55, i64 1
%57 = fneg double %56
%58 = fmul double %7, %57
%59 = insertelement <2 x double> %50, double %58, i64 1
%60 = fmul <2 x double> %29, %59
%61 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> %33, <2 x double> %60)
%62 = fmul <2 x double> %33, %55
%63 = extractelement <2 x double> %62, i64 1
%64 = fneg double %63
%65 = insertelement <2 x double> poison, double %48, i64 0
%66 = insertelement <2 x double> %65, double %64, i64 1
%67 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %66, <2 x double> %29, <2 x double> %61)
%68 = bitcast double* %49 to <2 x double>*
store <2 x double> %67, <2 x double>* %68
%69 = fadd double %1, 1.000000e+00
%70 = fmul <2 x double> %6, <double 0xBFFF400000000000, double 0x3FEBF36AE31D6E43>
%71 = shufflevector <2 x double> %42, <2 x double> %70, <2 x i32> <i32 0, i32 2>
%72 = fmul <2 x double> %13, %71
%73 = fmul <2 x double> %15, %72
%74 = fmul <2 x double> %20, %73
%75 = extractelement <2 x double> %74, i64 0
%76 = fmul double %69, %75
%77 = fneg double %76
%78 = extractelement <2 x double> %73, i64 0
%79 = fneg double %78
%80 = getelementptr inbounds double, double* %2, i64 4
%81 = fmul <2 x double> %13, %52
%82 = fmul <2 x double> %15, %81
%83 = fmul <2 x double> %20, %82
%84 = extractelement <2 x double> %83, i64 1
%85 = fmul double %69, %84
%86 = insertelement <2 x double> poison, double %77, i64 0
%87 = insertelement <2 x double> %86, double %85, i64 1
%88 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %83, <2 x double> %33, <2 x double> %87)
%89 = extractelement <2 x double> %82, i64 1
%90 = insertelement <2 x double> %82, double %79, i64 0
%91 = fmul <2 x double> %33, %90
%92 = insertelement <2 x double> poison, double %69, i64 0
%93 = shufflevector <2 x double> %92, <2 x double> poison, <2 x i32> zeroinitializer
%94 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %91, <2 x double> %93, <2 x double> %88)
%95 = bitcast double* %80 to <2 x double>*
store <2 x double> %94, <2 x double>* %95
%96 = extractelement <2 x double> %52, i64 1
%97 = fmul double %12, 0xBFEBF36AE31D6E43
%98 = insertelement <2 x double> poison, double %96, i64 0
%99 = insertelement <2 x double> %98, double %97, i64 1
%100 = fmul <2 x double> %43, %99
%101 = fmul <2 x double> %45, %100
%102 = fmul <2 x double> %20, %101
%103 = extractelement <2 x double> %102, i64 0
%104 = fmul double %69, %103
%105 = fneg double %104
%106 = extractelement <2 x double> %101, i64 0
%107 = fneg double %106
%108 = getelementptr inbounds double, double* %2, i64 6
%109 = fmul <2 x double> %43, %70
%110 = fmul <2 x double> %45, %109
%111 = fmul <2 x double> %20, %110
%112 = extractelement <2 x double> %111, i64 1
%113 = fmul double %69, %112
%114 = insertelement <2 x double> poison, double %105, i64 0
%115 = insertelement <2 x double> %114, double %113, i64 1
%116 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %111, <2 x double> %33, <2 x double> %115)
%117 = extractelement <2 x double> %110, i64 1
%118 = insertelement <2 x double> %110, double %107, i64 0
%119 = fmul <2 x double> %33, %118
%120 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %119, <2 x double> %93, <2 x double> %116)
%121 = bitcast double* %108 to <2 x double>*
store <2 x double> %120, <2 x double>* %121
%122 = getelementptr inbounds double, double* %2, i64 8
%123 = fneg double %85
%124 = insertelement <2 x double> poison, double %76, i64 0
%125 = insertelement <2 x double> %124, double %123, i64 1
%126 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %74, <2 x double> %29, <2 x double> %125)
%127 = fneg double %89
%128 = insertelement <2 x double> %73, double %127, i64 1
%129 = fmul <2 x double> %29, %128
%130 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %129, <2 x double> %93, <2 x double> %126)
%131 = bitcast double* %122 to <2 x double>*
store <2 x double> %130, <2 x double>* %131
%132 = getelementptr inbounds double, double* %2, i64 10
%133 = fneg double %113
%134 = insertelement <2 x double> poison, double %104, i64 0
%135 = insertelement <2 x double> %134, double %133, i64 1
%136 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %102, <2 x double> %29, <2 x double> %135)
%137 = fneg double %117
%138 = insertelement <2 x double> %101, double %137, i64 1
%139 = fmul <2 x double> %29, %138
%140 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %139, <2 x double> %93, <2 x double> %136)
%141 = bitcast double* %132 to <2 x double>*
store <2 x double> %140, <2 x double>* %141
%142 = fneg double %18
%143 = fneg double %17
%144 = getelementptr inbounds double, double* %2, i64 12
%145 = insertelement <2 x double> %35, double %142, i64 0
%146 = fmul <2 x double> %93, %145
%147 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %35, <2 x double> %29, <2 x double> %146)
%148 = insertelement <2 x double> %24, double %143, i64 0
%149 = fmul <2 x double> %29, %148
%150 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %149, <2 x double> %93, <2 x double> %147)
%151 = bitcast double* %144 to <2 x double>*
store <2 x double> %150, <2 x double>* %151
%152 = fneg double %48
%153 = fneg double %47
%154 = getelementptr inbounds double, double* %2, i64 14
%155 = insertelement <2 x double> %62, double %152, i64 0
%156 = fmul <2 x double> %93, %155
%157 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %62, <2 x double> %29, <2 x double> %156)
%158 = insertelement <2 x double> %55, double %153, i64 0
%159 = fmul <2 x double> %29, %158
%160 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %159, <2 x double> %93, <2 x double> %157)
%161 = bitcast double* %154 to <2 x double>*
store <2 x double> %160, <2 x double>* %161
ret void
}