double WENO7_Reconstruct1d(const double vmmm, const double vmm, const double vm,
                           const double v, const double vp, const double vpp,
                           const double vppp, const double ummm,
                           const double umm, const double um, const double u,
                           const double up, const double upp,
                           const double uppp) {
  double B0n, B1n, B2n, B3n, B0p, B1p, B2p, B3p;
  double w0n, w1n, w2n, w3n, w0p, w1p, w2p, w3p;
  double a0n, a1n, a2n, a3n, a0p, a1p, a2p, a3p;
  double alphasumn, alphasump, hn, hp, dflux;
  B0n = vm * (134241 * vm - 114894 * v) +
        vmmm * (56694 * vm - 47214 * vmm + 6649 * vmmm - 22778 * v) +
        25729 * v * v + vmm * (-210282 * vm + 85641 * vmm + 86214 * v);
  B1n = v * (41001 * v - 30414 * vp) +
        vmm * (-19374 * vm + 3169 * vmm + 19014 * v - 5978 * vp) +
        6649 * vp * vp + vm * (33441 * vm - 70602 * v + 23094 * vp);
  B2n = vp * (33441 * vp - 19374 * vpp) +
        vm * (6649 * vm - 30414 * v + 23094 * vp - 5978 * vpp) +
        3169 * vpp * vpp + v * (41001 * v - 70602 * vp + 19014 * vpp);
  B3n = vpp * (85641 * vpp - 47214 * vppp) +
        v * (25729 * v - 114894 * vp + 86214 * vpp - 22778 * vppp) +
        6649 * vppp * vppp + vp * (134241 * vp - 210282 * vpp + 56694 * vppp);
  a0n = ((double)1) / 35 / ((1E-6 + B0n) * (1E-6 + B0n));
  a1n = ((double)12) / 35 / ((1E-6 + B1n) * (1E-6 + B1n));
  a2n = ((double)18) / 35 / ((1E-6 + B2n) * (1E-6 + B2n));
  a3n = ((double)4) / 35 / ((1E-6 + B3n) * (1E-6 + B3n));
  alphasumn = a0n + a1n + a2n + a3n;
  w0n = a0n / alphasumn;
  w1n = a1n / alphasumn;
  w2n = a2n / alphasumn;
  w3n = a3n / alphasumn;
  hn = (w0n * (-3 * vmmm + 13 * vmm - 23 * vm + 25 * v) +
        w1n * (1 * vmm - 5 * vm + 13 * v + 3 * vp) +
        w2n * (-1 * vm + 7 * v + 7 * vp - 1 * vpp) +
        w3n * (3 * v + 13 * vp - 5 * vpp + 1 * vppp)) /
       12;
  B0p = um * (134241 * um - 114894 * u) +
        ummm * (56694 * um - 47214 * umm + 6649 * ummm - 22778 * u) +
        25729 * u * u + umm * (-210282 * um + 85641 * umm + 86214 * u);
  B1p = u * (41001 * u - 30414 * up) +
        umm * (-19374 * um + 3169 * umm + 19014 * u - 5978 * up) +
        6649 * up * up + um * (33441 * um - 70602 * u + 23094 * up);
  B2p = up * (33441 * up - 19374 * upp) +
        um * (6649 * um - 30414 * u + 23094 * up - 5978 * upp) +
        3169 * upp * upp + u * (41001 * u - 70602 * up + 19014 * upp);
  B3p = upp * (85641 * upp - 47214 * uppp) +
        u * (25729 * u - 114894 * up + 86214 * upp - 22778 * uppp) +
        6649 * uppp * uppp + up * (134241 * up - 210282 * upp + 56694 * uppp);
  a0p = ((double)4) / 35 / ((1E-6 + B0p) * (1E-6 + B0p));
  a1p = ((double)18) / 35 / ((1E-6 + B1p) * (1E-6 + B1p));
  a2p = ((double)12) / 35 / ((1E-6 + B2p) * (1E-6 + B2p));
  a3p = ((double)1) / 35 / ((1E-6 + B3p) * (1E-6 + B3p));
  alphasump = a0p + a1p + a2p + a3p;
  w0p = a0p / alphasump;
  w1p = a1p / alphasump;
  w2p = a2p / alphasump;
  w3p = a3p / alphasump;
  hp = (w0p * (1 * ummm - 5 * umm + 13 * um + 3 * u) +
        w1p * (-1 * umm + 7 * um + 7 * u - 1 * up) +
        w2p * (3 * um + 13 * u - 5 * up + 1 * upp) +
        w3p * (25 * u - 23 * up + 13 * upp - 3 * uppp)) /
       12;
  dflux = (hn + hp);
  return dflux;
}


x86 assembly (clang, -O0):
<WENO7_Reconstruct1d>:
push   %rbp
mov    %rsp,%rbp
sub    $0xa8,%rsp
movsd  0x38(%rbp),%xmm8
movsd  0x30(%rbp),%xmm8
movsd  0x28(%rbp),%xmm8
movsd  0x20(%rbp),%xmm8
movsd  0x18(%rbp),%xmm8
movsd  0x10(%rbp),%xmm8
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  %xmm3,-0x20(%rbp)
movsd  %xmm4,-0x28(%rbp)
movsd  %xmm5,-0x30(%rbp)
movsd  %xmm6,-0x38(%rbp)
movsd  %xmm7,-0x40(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm2
movsd  0x1f3f(%rip),%xmm1
mulsd  -0x20(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1eeb(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x8(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm3
movsd  0x1f11(%rip),%xmm4
mulsd  -0x10(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
movsd  0x1ea5(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  -0x8(%rbp),%xmm4
movsd  0x1ea8(%rip),%xmm5
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  -0x20(%rbp),%xmm3
movsd  0x1e9b(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1e8f(%rip),%xmm1
mulsd  -0x20(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm3
movsd  0x1e7b(%rip),%xmm2
mulsd  -0x10(%rbp),%xmm2
movsd  0x1ece(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x20(%rbp),%xmm2
movsd  0x1e41(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  -0x20(%rbp),%xmm2
movsd  0x1e72(%rip),%xmm1
mulsd  -0x28(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1e26(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x10(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm3
movsd  0x1e1c(%rip),%xmm4
mulsd  -0x10(%rbp),%xmm4
movsd  0x1e3f(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  -0x20(%rbp),%xmm4
movsd  0x1de2(%rip),%xmm5
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  -0x28(%rbp),%xmm3
movsd  0x1ded(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1d79(%rip),%xmm1
mulsd  -0x28(%rbp),%xmm1
movsd  -0x28(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm3
movsd  0x1d9d(%rip),%xmm2
mulsd  -0x20(%rbp),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
movsd  0x1da1(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x28(%rbp),%xmm2
movsd  0x1d7c(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x28(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm2
movsd  0x1d6d(%rip),%xmm1
mulsd  -0x30(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1d41(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x18(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm3
movsd  0x1d1f(%rip),%xmm4
mulsd  -0x20(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
movsd  0x1c93(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  -0x28(%rbp),%xmm4
movsd  0x1cde(%rip),%xmm5
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  -0x30(%rbp),%xmm3
movsd  0x1cc1(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1c9d(%rip),%xmm1
mulsd  -0x30(%rbp),%xmm1
movsd  -0x30(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x20(%rbp),%xmm0
movsd  -0x20(%rbp),%xmm3
movsd  0x1c71(%rip),%xmm2
mulsd  -0x28(%rbp),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
movsd  0x1c45(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x30(%rbp),%xmm2
movsd  0x1c28(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
movsd  0x1bf9(%rip),%xmm1
mulsd  -0x38(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1bcd(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x20(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm3
movsd  0x1bab(%rip),%xmm4
mulsd  -0x28(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
movsd  0x1b7f(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  0x1b62(%rip),%xmm5
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  -0x38(%rbp),%xmm3
movsd  0x1b45(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1b21(%rip),%xmm1
mulsd  -0x38(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x28(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm3
movsd  0x1af5(%rip),%xmm2
mulsd  -0x30(%rbp),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
movsd  0x1ac9(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x38(%rbp),%xmm2
movsd  0x1aac(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  0x1a6f(%rip),%xmm1
addsd  -0x48(%rbp),%xmm1
movsd  0x1a62(%rip),%xmm0
addsd  -0x48(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1a49(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  0x1a3d(%rip),%xmm1
addsd  -0x50(%rbp),%xmm1
movsd  0x1a30(%rip),%xmm0
addsd  -0x50(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1a27(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0x1a0b(%rip),%xmm1
addsd  -0x58(%rbp),%xmm1
movsd  0x19fe(%rip),%xmm0
addsd  -0x58(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x19fd(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0x19d9(%rip),%xmm1
addsd  -0x60(%rbp),%xmm1
movsd  0x19cc(%rip),%xmm0
addsd  -0x60(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x19d3(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
addsd  -0xd0(%rbp),%xmm0
ff
addsd  -0xd8(%rbp),%xmm0
ff
addsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
divsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
divsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
divsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
divsd  -0x108(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movsd  -0x8(%rbp),%xmm2
movsd  0x18d2(%rip),%xmm1
mulsd  -0x10(%rbp),%xmm1
movsd  0x18bd(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x18(%rbp),%xmm1
movsd  0x19b8(%rip),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  0x18a3(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x90(%rbp),%xmm1
ff
movsd  -0x10(%rbp),%xmm3
movsd  0x18ae(%rip),%xmm4
mulsd  -0x18(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
addsd  %xmm4,%xmm3
movsd  -0x20(%rbp),%xmm4
movsd  0x1851(%rip),%xmm5
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  -0x28(%rbp),%xmm3
movsd  0x185c(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x98(%rbp),%xmm1
ff
movsd  -0x18(%rbp),%xmm2
movsd  0x183b(%rip),%xmm3
mulsd  -0x20(%rbp),%xmm3
subsd  %xmm2,%xmm3
movsd  -0x28(%rbp),%xmm2
movsd  0x1825(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0x30(%rbp),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x20(%rbp),%xmm2
movsd  0x17cf(%rip),%xmm3
mulsd  -0x28(%rbp),%xmm3
movsd  0x17e2(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  -0x30(%rbp),%xmm3
movsd  0x17c5(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  -0x38(%rbp),%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x177c(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  0x18(%rbp),%xmm0
movsd  0x18(%rbp),%xmm2
movsd  0x1806(%rip),%xmm1
mulsd  0x20(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x17b2(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x40(%rbp),%xmm1
movsd  0x18(%rbp),%xmm3
movsd  0x17d8(%rip),%xmm4
mulsd  0x10(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
movsd  0x176c(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  -0x40(%rbp),%xmm4
movsd  0x176f(%rip),%xmm5
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  0x20(%rbp),%xmm3
movsd  0x1762(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1756(%rip),%xmm1
mulsd  0x20(%rbp),%xmm1
movsd  0x20(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x10(%rbp),%xmm0
movsd  0x18(%rbp),%xmm3
movsd  0x1742(%rip),%xmm2
mulsd  0x10(%rbp),%xmm2
movsd  0x1795(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  0x20(%rbp),%xmm2
movsd  0x1708(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  0x20(%rbp),%xmm0
movsd  0x20(%rbp),%xmm2
movsd  0x1739(%rip),%xmm1
mulsd  0x28(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x16ed(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  0x10(%rbp),%xmm1
movsd  0x18(%rbp),%xmm3
movsd  0x16e3(%rip),%xmm4
mulsd  0x10(%rbp),%xmm4
movsd  0x1706(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  0x20(%rbp),%xmm4
movsd  0x16a9(%rip),%xmm5
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  0x28(%rbp),%xmm3
movsd  0x16b4(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1640(%rip),%xmm1
mulsd  0x28(%rbp),%xmm1
movsd  0x28(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x18(%rbp),%xmm0
movsd  0x18(%rbp),%xmm3
movsd  0x1664(%rip),%xmm2
mulsd  0x20(%rbp),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
movsd  0x1668(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  0x28(%rbp),%xmm2
movsd  0x1643(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  0x28(%rbp),%xmm0
movsd  0x28(%rbp),%xmm2
movsd  0x1634(%rip),%xmm1
mulsd  0x30(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1608(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  0x18(%rbp),%xmm1
movsd  0x18(%rbp),%xmm3
movsd  0x15e6(%rip),%xmm4
mulsd  0x20(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
movsd  0x155a(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  0x28(%rbp),%xmm4
movsd  0x15a5(%rip),%xmm5
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  0x30(%rbp),%xmm3
movsd  0x1588(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1564(%rip),%xmm1
mulsd  0x30(%rbp),%xmm1
movsd  0x30(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x20(%rbp),%xmm0
movsd  0x20(%rbp),%xmm3
movsd  0x1538(%rip),%xmm2
mulsd  0x28(%rbp),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
movsd  0x150c(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  0x30(%rbp),%xmm2
movsd  0x14ef(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  0x30(%rbp),%xmm0
movsd  0x30(%rbp),%xmm2
movsd  0x14c0(%rip),%xmm1
mulsd  0x38(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1494(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  0x20(%rbp),%xmm1
movsd  0x20(%rbp),%xmm3
movsd  0x1472(%rip),%xmm4
mulsd  0x28(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
movsd  0x1446(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  0x30(%rbp),%xmm4
movsd  0x1429(%rip),%xmm5
mulsd  %xmm5,%xmm4
addsd  %xmm3,%xmm4
movsd  0x38(%rbp),%xmm3
movsd  0x140c(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x13e8(%rip),%xmm1
mulsd  0x38(%rbp),%xmm1
movsd  0x38(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x28(%rbp),%xmm0
movsd  0x28(%rbp),%xmm3
movsd  0x13bc(%rip),%xmm2
mulsd  0x30(%rbp),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
movsd  0x1390(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  0x38(%rbp),%xmm2
movsd  0x1373(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  0x1336(%rip),%xmm1
addsd  -0x68(%rbp),%xmm1
movsd  0x1329(%rip),%xmm0
addsd  -0x68(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1330(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  0x1304(%rip),%xmm1
addsd  -0x70(%rbp),%xmm1
movsd  0x12f7(%rip),%xmm0
addsd  -0x70(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x12f6(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  0x12d2(%rip),%xmm1
addsd  -0x78(%rbp),%xmm1
movsd  0x12c5(%rip),%xmm0
addsd  -0x78(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x12bc(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  0x12a0(%rip),%xmm1
addsd  -0x80(%rbp),%xmm1
movsd  0x1293(%rip),%xmm0
addsd  -0x80(%rbp),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x127a(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
addsd  -0xf0(%rbp),%xmm0
ff
addsd  -0xf8(%rbp),%xmm0
ff
addsd  -0x100(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
divsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
divsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
divsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
divsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0x40(%rbp),%xmm2
movsd  0x11c9(%rip),%xmm1
mulsd  0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
addsd  %xmm1,%xmm2
movsd  0x18(%rbp),%xmm1
movsd  0x116c(%rip),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0x20(%rbp),%xmm2
movsd  0x1177(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0xb0(%rbp),%xmm1
ff
movsd  0x10(%rbp),%xmm3
movsd  0x1162(%rip),%xmm4
mulsd  0x18(%rbp),%xmm4
subsd  %xmm3,%xmm4
movsd  0x20(%rbp),%xmm3
movsd  0x114c(%rip),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
movsd  0x28(%rbp),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0xb8(%rbp),%xmm1
ff
movsd  0x18(%rbp),%xmm2
movsd  0x10f2(%rip),%xmm3
mulsd  0x20(%rbp),%xmm3
movsd  0x1105(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  0x28(%rbp),%xmm3
movsd  0x10e8(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  0x30(%rbp),%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xc0(%rbp),%xmm0
ff
movsd  0x20(%rbp),%xmm2
movsd  0x10b2(%rip),%xmm3
mulsd  0x28(%rbp),%xmm3
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movsd  0x1086(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movsd  0x30(%rbp),%xmm3
movsd  0x1069(%rip),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm2,%xmm3
movsd  0x38(%rbp),%xmm2
movsd  0x104c(%rip),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x102c(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x118(%rbp),%xmm0
ff
addsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
add    $0xa8,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<WENO7_Reconstruct1d>:
push   %rax
movapd %xmm7,-0x50(%rsp)
movapd %xmm6,%xmm13
movapd %xmm5,-0x40(%rsp)
movapd %xmm4,%xmm8
movapd %xmm3,%xmm14
movapd %xmm2,%xmm3
movapd %xmm0,%xmm12
movsd  0xed3(%rip),%xmm2
movapd %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm12,%xmm4
mulsd  0xec6(%rip),%xmm4
addsd  %xmm0,%xmm4
movapd %xmm4,-0x10(%rsp)
movsd  0xec4(%rip),%xmm6
movapd %xmm14,%xmm0
mulsd  %xmm6,%xmm0
subsd  %xmm3,%xmm0
movapd %xmm8,%xmm4
mulsd  %xmm6,%xmm4
addsd  %xmm0,%xmm4
movapd %xmm4,-0x80(%rsp)
movapd %xmm8,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm14,%xmm2
mulsd  0xe96(%rip),%xmm2
addsd  %xmm0,%xmm2
movsd  0xe7a(%rip),%xmm4
movapd %xmm5,%xmm0
mulsd  %xmm4,%xmm0
addsd  %xmm2,%xmm0
movapd %xmm0,-0x30(%rsp)
movsd  0x20(%rsp),%xmm0
unpcklpd %xmm0,%xmm14
movapd %xmm14,%xmm0
mulpd  0xe80(%rip),%xmm0
movsd  0x18(%rsp),%xmm2
movapd %xmm3,%xmm5
unpcklpd %xmm2,%xmm3
movapd %xmm3,%xmm15
mulpd  0xe74(%rip),%xmm15
addpd  %xmm0,%xmm15
mulsd  %xmm4,%xmm5
addsd  %xmm1,%xmm5
movapd %xmm5,-0x20(%rsp)
movsd  0x10(%rsp),%xmm0
unpcklpd %xmm0,%xmm1
movapd %xmm1,%xmm0
mulpd  0xeab(%rip),%xmm0
movapd %xmm3,%xmm2
mulpd  0xeaf(%rip),%xmm2
addpd  %xmm0,%xmm2
movapd %xmm14,%xmm11
mulpd  0xead(%rip),%xmm11
addpd  %xmm2,%xmm11
movapd %xmm1,%xmm0
mulpd  0xecc(%rip),%xmm0
movapd %xmm3,%xmm2
mulpd  0xed0(%rip),%xmm2
addpd  %xmm0,%xmm2
movapd 0xed4(%rip),%xmm6
movapd %xmm14,%xmm4
mulpd  %xmm6,%xmm4
addpd  %xmm2,%xmm4
movsd  0x28(%rsp),%xmm0
unpcklpd %xmm0,%xmm8
movapd %xmm8,%xmm10
mulpd  0xebe(%rip),%xmm10
addpd  %xmm4,%xmm10
mulpd  %xmm1,%xmm11
mulpd  %xmm1,%xmm10
mulpd  0xdd7(%rip),%xmm1
movapd %xmm3,%xmm4
mulpd  0xddb(%rip),%xmm4
addpd  %xmm1,%xmm4
movapd %xmm12,%xmm1
unpcklpd %xmm7,%xmm1
movapd 0xdd5(%rip),%xmm9
movapd %xmm1,%xmm12
mulpd  %xmm9,%xmm12
addpd  %xmm4,%xmm12
movapd %xmm14,%xmm5
mulpd  0xdc9(%rip),%xmm5
addpd  %xmm12,%xmm5
mulpd  %xmm1,%xmm5
mulpd  %xmm3,%xmm15
addpd  %xmm5,%xmm15
movapd 0xdbd(%rip),%xmm12
mulpd  %xmm14,%xmm12
movapd 0xd50(%rip),%xmm0
mulpd  %xmm8,%xmm0
addpd  %xmm12,%xmm0
movapd %xmm0,-0x70(%rsp)
mulpd  %xmm14,%xmm12
addpd  %xmm15,%xmm12
addpd  %xmm12,%xmm11
movapd 0xdc8(%rip),%xmm15
movapd %xmm8,%xmm5
mulpd  %xmm15,%xmm5
movapd 0xdc6(%rip),%xmm4
mulpd  %xmm14,%xmm4
addpd  %xmm4,%xmm5
mulpd  %xmm14,%xmm5
addpd  %xmm10,%xmm5
movapd %xmm8,%xmm10
mulpd  %xmm9,%xmm10
mulpd  %xmm8,%xmm10
movapd %xmm8,%xmm7
addpd  %xmm5,%xmm10
movapd 0xde2(%rip),%xmm5
movapd %xmm14,%xmm8
mulpd  %xmm5,%xmm8
movapd 0xde0(%rip),%xmm1
movapd %xmm3,%xmm12
mulpd  %xmm1,%xmm12
addpd  %xmm8,%xmm12
movapd 0xdd8(%rip),%xmm8
mulpd  %xmm7,%xmm8
addpd  %xmm8,%xmm12
mulpd  %xmm3,%xmm12
addpd  %xmm10,%xmm12
movapd -0x80(%rsp),%xmm0
movapd -0x40(%rsp),%xmm2
subsd  %xmm2,%xmm0
movapd %xmm0,-0x80(%rsp)
movsd  0x30(%rsp),%xmm10
unpcklpd %xmm10,%xmm2
movapd 0xd4a(%rip),%xmm0
mulpd  %xmm2,%xmm0
mulpd  %xmm7,%xmm1
addpd  %xmm0,%xmm1
mulpd  %xmm14,%xmm15
movapd %xmm3,-0x60(%rsp)
movapd %xmm3,%xmm0
mulpd  %xmm9,%xmm0
addpd  %xmm15,%xmm0
addpd  %xmm8,%xmm0
movapd 0xd37(%rip),%xmm8
mulpd  %xmm2,%xmm8
addpd  %xmm0,%xmm8
mulpd  %xmm3,%xmm8
mulpd  %xmm7,%xmm1
addpd  %xmm8,%xmm1
movapd 0xce7(%rip),%xmm0
mulpd  %xmm2,%xmm0
mulpd  %xmm2,%xmm0
addpd  %xmm1,%xmm0
mulpd  %xmm7,%xmm5
addpd  %xmm4,%xmm5
mulpd  %xmm2,%xmm6
addpd  %xmm5,%xmm6
mulpd  %xmm14,%xmm6
addpd  %xmm0,%xmm6
movapd -0x30(%rsp),%xmm8
addsd  %xmm13,%xmm8
movsd  0x38(%rsp),%xmm15
unpcklpd %xmm15,%xmm13
movapd 0xc02(%rip),%xmm1
mulpd  %xmm13,%xmm1
movapd 0xc45(%rip),%xmm0
mulpd  %xmm2,%xmm0
addpd  %xmm1,%xmm0
movapd 0xc55(%rip),%xmm1
mulpd  %xmm2,%xmm1
addpd  -0x70(%rsp),%xmm1
movapd 0xc03(%rip),%xmm3
mulpd  %xmm13,%xmm3
addpd  %xmm1,%xmm3
mulpd  %xmm14,%xmm3
movapd %xmm14,%xmm5
mulpd  %xmm2,%xmm0
addpd  %xmm3,%xmm0
mulpd  %xmm13,%xmm9
mulpd  %xmm13,%xmm9
addpd  %xmm0,%xmm9
mulpd  0xc01(%rip),%xmm2
movapd 0xb89(%rip),%xmm0
mulpd  %xmm7,%xmm0
addpd  %xmm2,%xmm0
mulpd  0xb98(%rip),%xmm13
addpd  %xmm0,%xmm13
mulpd  %xmm7,%xmm13
addpd  %xmm9,%xmm13
movapd 0xc81(%rip),%xmm0
addpd  %xmm0,%xmm11
mulpd  %xmm11,%xmm11
movapd 0xc7f(%rip),%xmm4
divpd  %xmm11,%xmm4
addpd  %xmm0,%xmm12
mulpd  %xmm12,%xmm12
movapd 0xc78(%rip),%xmm3
divpd  %xmm12,%xmm3
addpd  %xmm0,%xmm6
mulpd  %xmm6,%xmm6
movapd 0xc73(%rip),%xmm1
divpd  %xmm6,%xmm1
addpd  %xmm0,%xmm13
mulpd  %xmm13,%xmm13
movapd 0xc6c(%rip),%xmm14
divpd  %xmm13,%xmm14
movapd %xmm4,%xmm2
addpd  %xmm3,%xmm2
addpd  %xmm1,%xmm2
addpd  %xmm14,%xmm2
divpd  %xmm2,%xmm4
divpd  %xmm2,%xmm3
divpd  %xmm2,%xmm1
divpd  %xmm2,%xmm14
movsd  0xaa5(%rip),%xmm2
movsd  0x18(%rsp),%xmm9
mulsd  %xmm9,%xmm2
movsd  0x10(%rsp),%xmm6
subsd  %xmm6,%xmm2
movapd %xmm2,%xmm12
movapd %xmm6,%xmm2
movsd  0xa75(%rip),%xmm11
mulsd  %xmm11,%xmm2
addsd  -0x50(%rsp),%xmm2
movapd -0x60(%rsp),%xmm0
mulpd  0xc0c(%rip),%xmm0
movapd -0x10(%rsp),%xmm6
unpcklpd %xmm2,%xmm6
addpd  %xmm0,%xmm6
movapd 0xc06(%rip),%xmm2
mulpd  %xmm5,%xmm2
addpd  %xmm6,%xmm2
mulpd  %xmm4,%xmm2
mulpd  0xc02(%rip),%xmm5
movapd -0x20(%rsp),%xmm4
unpcklpd %xmm12,%xmm4
addpd  %xmm5,%xmm4
mulpd  0xbfb(%rip),%xmm7
addpd  %xmm7,%xmm4
mulpd  %xmm3,%xmm4
addpd  %xmm2,%xmm4
movapd %xmm4,%xmm5
movapd %xmm9,%xmm6
mulsd  0xa0e(%rip),%xmm6
movsd  0x20(%rsp),%xmm4
movapd %xmm4,%xmm2
movsd  0x9dc(%rip),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm2,%xmm6
movapd %xmm11,%xmm2
movsd  0x28(%rsp),%xmm7
mulsd  %xmm7,%xmm2
addsd  %xmm6,%xmm2
addsd  %xmm10,%xmm2
movapd %xmm2,%xmm6
movapd -0x80(%rsp),%xmm2
unpcklpd %xmm6,%xmm2
mulpd  %xmm1,%xmm2
addpd  %xmm5,%xmm2
mulsd  0x9c6(%rip),%xmm7
mulsd  0x9c6(%rip),%xmm4
addsd  %xmm7,%xmm4
mulsd  %xmm3,%xmm10
addsd  %xmm4,%xmm10
mulsd  0x987(%rip),%xmm15
addsd  %xmm10,%xmm15
movapd %xmm8,%xmm1
unpcklpd %xmm15,%xmm1
mulpd  %xmm14,%xmm1
addpd  %xmm2,%xmm1
divpd  0xb5f(%rip),%xmm1
movapd %xmm1,%xmm0
unpckhpd %xmm1,%xmm0
addsd  %xmm1,%xmm0
pop    %rax
ret

LLVM IR (-O0):
define double @WENO7_Reconstruct1d(double %0, double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double %9, double %10, double %11, double %12, double %13) {
%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
%48 = alloca double
%49 = alloca double
%50 = alloca double
%51 = alloca double
%52 = alloca double
%53 = alloca double
%54 = alloca double
%55 = alloca double
%56 = alloca double
%57 = alloca double
store double %0, double* %15
store double %1, double* %16
store double %2, double* %17
store double %3, double* %18
store double %4, double* %19
store double %5, double* %20
store double %6, double* %21
store double %7, double* %22
store double %8, double* %23
store double %9, double* %24
store double %10, double* %25
store double %11, double* %26
store double %12, double* %27
store double %13, double* %28
%58 = load double, double* %17
%59 = load double, double* %17
%60 = load double, double* %18
%61 = fmul double 1.148940e+05, %60
%62 = fneg double %61
%63 = call double @llvm.fmuladd.f64(double 1.342410e+05, double %59, double %62)
%64 = load double, double* %15
%65 = load double, double* %17
%66 = load double, double* %16
%67 = fmul double 4.721400e+04, %66
%68 = fneg double %67
%69 = call double @llvm.fmuladd.f64(double 5.669400e+04, double %65, double %68)
%70 = load double, double* %15
%71 = call double @llvm.fmuladd.f64(double 6.649000e+03, double %70, double %69)
%72 = load double, double* %18
%73 = call double @llvm.fmuladd.f64(double -2.277800e+04, double %72, double %71)
%74 = fmul double %64, %73
%75 = call double @llvm.fmuladd.f64(double %58, double %63, double %74)
%76 = load double, double* %18
%77 = fmul double 2.572900e+04, %76
%78 = load double, double* %18
%79 = call double @llvm.fmuladd.f64(double %77, double %78, double %75)
%80 = load double, double* %16
%81 = load double, double* %17
%82 = load double, double* %16
%83 = fmul double 8.564100e+04, %82
%84 = call double @llvm.fmuladd.f64(double -2.102820e+05, double %81, double %83)
%85 = load double, double* %18
%86 = call double @llvm.fmuladd.f64(double 8.621400e+04, double %85, double %84)
%87 = call double @llvm.fmuladd.f64(double %80, double %86, double %79)
store double %87, double* %29
%88 = load double, double* %18
%89 = load double, double* %18
%90 = load double, double* %19
%91 = fmul double 3.041400e+04, %90
%92 = fneg double %91
%93 = call double @llvm.fmuladd.f64(double 4.100100e+04, double %89, double %92)
%94 = load double, double* %16
%95 = load double, double* %17
%96 = load double, double* %16
%97 = fmul double 3.169000e+03, %96
%98 = call double @llvm.fmuladd.f64(double -1.937400e+04, double %95, double %97)
%99 = load double, double* %18
%100 = call double @llvm.fmuladd.f64(double 1.901400e+04, double %99, double %98)
%101 = load double, double* %19
%102 = call double @llvm.fmuladd.f64(double -5.978000e+03, double %101, double %100)
%103 = fmul double %94, %102
%104 = call double @llvm.fmuladd.f64(double %88, double %93, double %103)
%105 = load double, double* %19
%106 = fmul double 6.649000e+03, %105
%107 = load double, double* %19
%108 = call double @llvm.fmuladd.f64(double %106, double %107, double %104)
%109 = load double, double* %17
%110 = load double, double* %17
%111 = load double, double* %18
%112 = fmul double 7.060200e+04, %111
%113 = fneg double %112
%114 = call double @llvm.fmuladd.f64(double 3.344100e+04, double %110, double %113)
%115 = load double, double* %19
%116 = call double @llvm.fmuladd.f64(double 2.309400e+04, double %115, double %114)
%117 = call double @llvm.fmuladd.f64(double %109, double %116, double %108)
store double %117, double* %30
%118 = load double, double* %19
%119 = load double, double* %19
%120 = load double, double* %20
%121 = fmul double 1.937400e+04, %120
%122 = fneg double %121
%123 = call double @llvm.fmuladd.f64(double 3.344100e+04, double %119, double %122)
%124 = load double, double* %17
%125 = load double, double* %17
%126 = load double, double* %18
%127 = fmul double 3.041400e+04, %126
%128 = fneg double %127
%129 = call double @llvm.fmuladd.f64(double 6.649000e+03, double %125, double %128)
%130 = load double, double* %19
%131 = call double @llvm.fmuladd.f64(double 2.309400e+04, double %130, double %129)
%132 = load double, double* %20
%133 = call double @llvm.fmuladd.f64(double -5.978000e+03, double %132, double %131)
%134 = fmul double %124, %133
%135 = call double @llvm.fmuladd.f64(double %118, double %123, double %134)
%136 = load double, double* %20
%137 = fmul double 3.169000e+03, %136
%138 = load double, double* %20
%139 = call double @llvm.fmuladd.f64(double %137, double %138, double %135)
%140 = load double, double* %18
%141 = load double, double* %18
%142 = load double, double* %19
%143 = fmul double 7.060200e+04, %142
%144 = fneg double %143
%145 = call double @llvm.fmuladd.f64(double 4.100100e+04, double %141, double %144)
%146 = load double, double* %20
%147 = call double @llvm.fmuladd.f64(double 1.901400e+04, double %146, double %145)
%148 = call double @llvm.fmuladd.f64(double %140, double %147, double %139)
store double %148, double* %31
%149 = load double, double* %20
%150 = load double, double* %20
%151 = load double, double* %21
%152 = fmul double 4.721400e+04, %151
%153 = fneg double %152
%154 = call double @llvm.fmuladd.f64(double 8.564100e+04, double %150, double %153)
%155 = load double, double* %18
%156 = load double, double* %18
%157 = load double, double* %19
%158 = fmul double 1.148940e+05, %157
%159 = fneg double %158
%160 = call double @llvm.fmuladd.f64(double 2.572900e+04, double %156, double %159)
%161 = load double, double* %20
%162 = call double @llvm.fmuladd.f64(double 8.621400e+04, double %161, double %160)
%163 = load double, double* %21
%164 = call double @llvm.fmuladd.f64(double -2.277800e+04, double %163, double %162)
%165 = fmul double %155, %164
%166 = call double @llvm.fmuladd.f64(double %149, double %154, double %165)
%167 = load double, double* %21
%168 = fmul double 6.649000e+03, %167
%169 = load double, double* %21
%170 = call double @llvm.fmuladd.f64(double %168, double %169, double %166)
%171 = load double, double* %19
%172 = load double, double* %19
%173 = load double, double* %20
%174 = fmul double 2.102820e+05, %173
%175 = fneg double %174
%176 = call double @llvm.fmuladd.f64(double 1.342410e+05, double %172, double %175)
%177 = load double, double* %21
%178 = call double @llvm.fmuladd.f64(double 5.669400e+04, double %177, double %176)
%179 = call double @llvm.fmuladd.f64(double %171, double %178, double %170)
store double %179, double* %32
%180 = load double, double* %29
%181 = fadd double 0x3EB0C6F7A0B5ED8D, %180
%182 = load double, double* %29
%183 = fadd double 0x3EB0C6F7A0B5ED8D, %182
%184 = fmul double %181, %183
%185 = fdiv double 0x3F9D41D41D41D41D, %184
store double %185, double* %45
%186 = load double, double* %30
%187 = fadd double 0x3EB0C6F7A0B5ED8D, %186
%188 = load double, double* %30
%189 = fadd double 0x3EB0C6F7A0B5ED8D, %188
%190 = fmul double %187, %189
%191 = fdiv double 0x3FD5F15F15F15F16, %190
store double %191, double* %46
%192 = load double, double* %31
%193 = fadd double 0x3EB0C6F7A0B5ED8D, %192
%194 = load double, double* %31
%195 = fadd double 0x3EB0C6F7A0B5ED8D, %194
%196 = fmul double %193, %195
%197 = fdiv double 0x3FE0750750750750, %196
store double %197, double* %47
%198 = load double, double* %32
%199 = fadd double 0x3EB0C6F7A0B5ED8D, %198
%200 = load double, double* %32
%201 = fadd double 0x3EB0C6F7A0B5ED8D, %200
%202 = fmul double %199, %201
%203 = fdiv double 0x3FBD41D41D41D41D, %202
store double %203, double* %48
%204 = load double, double* %45
%205 = load double, double* %46
%206 = fadd double %204, %205
%207 = load double, double* %47
%208 = fadd double %206, %207
%209 = load double, double* %48
%210 = fadd double %208, %209
store double %210, double* %53
%211 = load double, double* %45
%212 = load double, double* %53
%213 = fdiv double %211, %212
store double %213, double* %37
%214 = load double, double* %46
%215 = load double, double* %53
%216 = fdiv double %214, %215
store double %216, double* %38
%217 = load double, double* %47
%218 = load double, double* %53
%219 = fdiv double %217, %218
store double %219, double* %39
%220 = load double, double* %48
%221 = load double, double* %53
%222 = fdiv double %220, %221
store double %222, double* %40
%223 = load double, double* %37
%224 = load double, double* %15
%225 = load double, double* %16
%226 = fmul double 1.300000e+01, %225
%227 = call double @llvm.fmuladd.f64(double -3.000000e+00, double %224, double %226)
%228 = load double, double* %17
%229 = call double @llvm.fmuladd.f64(double -2.300000e+01, double %228, double %227)
%230 = load double, double* %18
%231 = call double @llvm.fmuladd.f64(double 2.500000e+01, double %230, double %229)
%232 = load double, double* %38
%233 = load double, double* %16
%234 = load double, double* %17
%235 = fmul double 5.000000e+00, %234
%236 = fneg double %235
%237 = call double @llvm.fmuladd.f64(double 1.000000e+00, double %233, double %236)
%238 = load double, double* %18
%239 = call double @llvm.fmuladd.f64(double 1.300000e+01, double %238, double %237)
%240 = load double, double* %19
%241 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %240, double %239)
%242 = fmul double %232, %241
%243 = call double @llvm.fmuladd.f64(double %223, double %231, double %242)
%244 = load double, double* %39
%245 = load double, double* %17
%246 = load double, double* %18
%247 = fmul double 7.000000e+00, %246
%248 = call double @llvm.fmuladd.f64(double -1.000000e+00, double %245, double %247)
%249 = load double, double* %19
%250 = call double @llvm.fmuladd.f64(double 7.000000e+00, double %249, double %248)
%251 = load double, double* %20
%252 = call double @llvm.fmuladd.f64(double -1.000000e+00, double %251, double %250)
%253 = call double @llvm.fmuladd.f64(double %244, double %252, double %243)
%254 = load double, double* %40
%255 = load double, double* %18
%256 = load double, double* %19
%257 = fmul double 1.300000e+01, %256
%258 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %255, double %257)
%259 = load double, double* %20
%260 = call double @llvm.fmuladd.f64(double -5.000000e+00, double %259, double %258)
%261 = load double, double* %21
%262 = call double @llvm.fmuladd.f64(double 1.000000e+00, double %261, double %260)
%263 = call double @llvm.fmuladd.f64(double %254, double %262, double %253)
%264 = fdiv double %263, 1.200000e+01
store double %264, double* %55
%265 = load double, double* %24
%266 = load double, double* %24
%267 = load double, double* %25
%268 = fmul double 1.148940e+05, %267
%269 = fneg double %268
%270 = call double @llvm.fmuladd.f64(double 1.342410e+05, double %266, double %269)
%271 = load double, double* %22
%272 = load double, double* %24
%273 = load double, double* %23
%274 = fmul double 4.721400e+04, %273
%275 = fneg double %274
%276 = call double @llvm.fmuladd.f64(double 5.669400e+04, double %272, double %275)
%277 = load double, double* %22
%278 = call double @llvm.fmuladd.f64(double 6.649000e+03, double %277, double %276)
%279 = load double, double* %25
%280 = call double @llvm.fmuladd.f64(double -2.277800e+04, double %279, double %278)
%281 = fmul double %271, %280
%282 = call double @llvm.fmuladd.f64(double %265, double %270, double %281)
%283 = load double, double* %25
%284 = fmul double 2.572900e+04, %283
%285 = load double, double* %25
%286 = call double @llvm.fmuladd.f64(double %284, double %285, double %282)
%287 = load double, double* %23
%288 = load double, double* %24
%289 = load double, double* %23
%290 = fmul double 8.564100e+04, %289
%291 = call double @llvm.fmuladd.f64(double -2.102820e+05, double %288, double %290)
%292 = load double, double* %25
%293 = call double @llvm.fmuladd.f64(double 8.621400e+04, double %292, double %291)
%294 = call double @llvm.fmuladd.f64(double %287, double %293, double %286)
store double %294, double* %33
%295 = load double, double* %25
%296 = load double, double* %25
%297 = load double, double* %26
%298 = fmul double 3.041400e+04, %297
%299 = fneg double %298
%300 = call double @llvm.fmuladd.f64(double 4.100100e+04, double %296, double %299)
%301 = load double, double* %23
%302 = load double, double* %24
%303 = load double, double* %23
%304 = fmul double 3.169000e+03, %303
%305 = call double @llvm.fmuladd.f64(double -1.937400e+04, double %302, double %304)
%306 = load double, double* %25
%307 = call double @llvm.fmuladd.f64(double 1.901400e+04, double %306, double %305)
%308 = load double, double* %26
%309 = call double @llvm.fmuladd.f64(double -5.978000e+03, double %308, double %307)
%310 = fmul double %301, %309
%311 = call double @llvm.fmuladd.f64(double %295, double %300, double %310)
%312 = load double, double* %26
%313 = fmul double 6.649000e+03, %312
%314 = load double, double* %26
%315 = call double @llvm.fmuladd.f64(double %313, double %314, double %311)
%316 = load double, double* %24
%317 = load double, double* %24
%318 = load double, double* %25
%319 = fmul double 7.060200e+04, %318
%320 = fneg double %319
%321 = call double @llvm.fmuladd.f64(double 3.344100e+04, double %317, double %320)
%322 = load double, double* %26
%323 = call double @llvm.fmuladd.f64(double 2.309400e+04, double %322, double %321)
%324 = call double @llvm.fmuladd.f64(double %316, double %323, double %315)
store double %324, double* %34
%325 = load double, double* %26
%326 = load double, double* %26
%327 = load double, double* %27
%328 = fmul double 1.937400e+04, %327
%329 = fneg double %328
%330 = call double @llvm.fmuladd.f64(double 3.344100e+04, double %326, double %329)
%331 = load double, double* %24
%332 = load double, double* %24
%333 = load double, double* %25
%334 = fmul double 3.041400e+04, %333
%335 = fneg double %334
%336 = call double @llvm.fmuladd.f64(double 6.649000e+03, double %332, double %335)
%337 = load double, double* %26
%338 = call double @llvm.fmuladd.f64(double 2.309400e+04, double %337, double %336)
%339 = load double, double* %27
%340 = call double @llvm.fmuladd.f64(double -5.978000e+03, double %339, double %338)
%341 = fmul double %331, %340
%342 = call double @llvm.fmuladd.f64(double %325, double %330, double %341)
%343 = load double, double* %27
%344 = fmul double 3.169000e+03, %343
%345 = load double, double* %27
%346 = call double @llvm.fmuladd.f64(double %344, double %345, double %342)
%347 = load double, double* %25
%348 = load double, double* %25
%349 = load double, double* %26
%350 = fmul double 7.060200e+04, %349
%351 = fneg double %350
%352 = call double @llvm.fmuladd.f64(double 4.100100e+04, double %348, double %351)
%353 = load double, double* %27
%354 = call double @llvm.fmuladd.f64(double 1.901400e+04, double %353, double %352)
%355 = call double @llvm.fmuladd.f64(double %347, double %354, double %346)
store double %355, double* %35
%356 = load double, double* %27
%357 = load double, double* %27
%358 = load double, double* %28
%359 = fmul double 4.721400e+04, %358
%360 = fneg double %359
%361 = call double @llvm.fmuladd.f64(double 8.564100e+04, double %357, double %360)
%362 = load double, double* %25
%363 = load double, double* %25
%364 = load double, double* %26
%365 = fmul double 1.148940e+05, %364
%366 = fneg double %365
%367 = call double @llvm.fmuladd.f64(double 2.572900e+04, double %363, double %366)
%368 = load double, double* %27
%369 = call double @llvm.fmuladd.f64(double 8.621400e+04, double %368, double %367)
%370 = load double, double* %28
%371 = call double @llvm.fmuladd.f64(double -2.277800e+04, double %370, double %369)
%372 = fmul double %362, %371
%373 = call double @llvm.fmuladd.f64(double %356, double %361, double %372)
%374 = load double, double* %28
%375 = fmul double 6.649000e+03, %374
%376 = load double, double* %28
%377 = call double @llvm.fmuladd.f64(double %375, double %376, double %373)
%378 = load double, double* %26
%379 = load double, double* %26
%380 = load double, double* %27
%381 = fmul double 2.102820e+05, %380
%382 = fneg double %381
%383 = call double @llvm.fmuladd.f64(double 1.342410e+05, double %379, double %382)
%384 = load double, double* %28
%385 = call double @llvm.fmuladd.f64(double 5.669400e+04, double %384, double %383)
%386 = call double @llvm.fmuladd.f64(double %378, double %385, double %377)
store double %386, double* %36
%387 = load double, double* %33
%388 = fadd double 0x3EB0C6F7A0B5ED8D, %387
%389 = load double, double* %33
%390 = fadd double 0x3EB0C6F7A0B5ED8D, %389
%391 = fmul double %388, %390
%392 = fdiv double 0x3FBD41D41D41D41D, %391
store double %392, double* %49
%393 = load double, double* %34
%394 = fadd double 0x3EB0C6F7A0B5ED8D, %393
%395 = load double, double* %34
%396 = fadd double 0x3EB0C6F7A0B5ED8D, %395
%397 = fmul double %394, %396
%398 = fdiv double 0x3FE0750750750750, %397
store double %398, double* %50
%399 = load double, double* %35
%400 = fadd double 0x3EB0C6F7A0B5ED8D, %399
%401 = load double, double* %35
%402 = fadd double 0x3EB0C6F7A0B5ED8D, %401
%403 = fmul double %400, %402
%404 = fdiv double 0x3FD5F15F15F15F16, %403
store double %404, double* %51
%405 = load double, double* %36
%406 = fadd double 0x3EB0C6F7A0B5ED8D, %405
%407 = load double, double* %36
%408 = fadd double 0x3EB0C6F7A0B5ED8D, %407
%409 = fmul double %406, %408
%410 = fdiv double 0x3F9D41D41D41D41D, %409
store double %410, double* %52
%411 = load double, double* %49
%412 = load double, double* %50
%413 = fadd double %411, %412
%414 = load double, double* %51
%415 = fadd double %413, %414
%416 = load double, double* %52
%417 = fadd double %415, %416
store double %417, double* %54
%418 = load double, double* %49
%419 = load double, double* %54
%420 = fdiv double %418, %419
store double %420, double* %41
%421 = load double, double* %50
%422 = load double, double* %54
%423 = fdiv double %421, %422
store double %423, double* %42
%424 = load double, double* %51
%425 = load double, double* %54
%426 = fdiv double %424, %425
store double %426, double* %43
%427 = load double, double* %52
%428 = load double, double* %54
%429 = fdiv double %427, %428
store double %429, double* %44
%430 = load double, double* %41
%431 = load double, double* %22
%432 = load double, double* %23
%433 = fmul double 5.000000e+00, %432
%434 = fneg double %433
%435 = call double @llvm.fmuladd.f64(double 1.000000e+00, double %431, double %434)
%436 = load double, double* %24
%437 = call double @llvm.fmuladd.f64(double 1.300000e+01, double %436, double %435)
%438 = load double, double* %25
%439 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %438, double %437)
%440 = load double, double* %42
%441 = load double, double* %23
%442 = load double, double* %24
%443 = fmul double 7.000000e+00, %442
%444 = call double @llvm.fmuladd.f64(double -1.000000e+00, double %441, double %443)
%445 = load double, double* %25
%446 = call double @llvm.fmuladd.f64(double 7.000000e+00, double %445, double %444)
%447 = load double, double* %26
%448 = call double @llvm.fmuladd.f64(double -1.000000e+00, double %447, double %446)
%449 = fmul double %440, %448
%450 = call double @llvm.fmuladd.f64(double %430, double %439, double %449)
%451 = load double, double* %43
%452 = load double, double* %24
%453 = load double, double* %25
%454 = fmul double 1.300000e+01, %453
%455 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %452, double %454)
%456 = load double, double* %26
%457 = call double @llvm.fmuladd.f64(double -5.000000e+00, double %456, double %455)
%458 = load double, double* %27
%459 = call double @llvm.fmuladd.f64(double 1.000000e+00, double %458, double %457)
%460 = call double @llvm.fmuladd.f64(double %451, double %459, double %450)
%461 = load double, double* %44
%462 = load double, double* %25
%463 = load double, double* %26
%464 = fmul double 2.300000e+01, %463
%465 = fneg double %464
%466 = call double @llvm.fmuladd.f64(double 2.500000e+01, double %462, double %465)
%467 = load double, double* %27
%468 = call double @llvm.fmuladd.f64(double 1.300000e+01, double %467, double %466)
%469 = load double, double* %28
%470 = call double @llvm.fmuladd.f64(double -3.000000e+00, double %469, double %468)
%471 = call double @llvm.fmuladd.f64(double %461, double %470, double %460)
%472 = fdiv double %471, 1.200000e+01
store double %472, double* %56
%473 = load double, double* %55
%474 = load double, double* %56
%475 = fadd double %473, %474
store double %475, double* %57
%476 = load double, double* %57
ret double %476
}

LLVM IR (-O2):
define double @WENO7_Reconstruct1d(double %0, double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double %9, double %10, double %11, double %12, double %13) {
%15 = fmul double %1, 1.300000e+01
%16 = tail call double @llvm.fmuladd.f64(double %0, double -3.000000e+00, double %15)
%17 = fmul double %2, 5.000000e+00
%18 = fsub double %1, %17
%19 = fmul double %3, 7.000000e+00
%20 = tail call double @llvm.fmuladd.f64(double %2, double -1.000000e+00, double %19)
%21 = tail call double @llvm.fmuladd.f64(double %4, double 7.000000e+00, double %20)
%22 = tail call double @llvm.fmuladd.f64(double %5, double -1.000000e+00, double %21)
%23 = fmul double %4, 1.300000e+01
%24 = tail call double @llvm.fmuladd.f64(double %3, double 3.000000e+00, double %23)
%25 = tail call double @llvm.fmuladd.f64(double %5, double -5.000000e+00, double %24)
%26 = fadd double %25, %6
%27 = insertelement <2 x double> poison, double %3, i64 0
%28 = insertelement <2 x double> %27, double %10, i64 1
%29 = fmul <2 x double> %28, <double -1.148940e+05, double -1.148940e+05>
%30 = insertelement <2 x double> poison, double %2, i64 0
%31 = insertelement <2 x double> %30, double %9, i64 1
%32 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> <double 1.342410e+05, double 1.342410e+05>, <2 x double> %29)
%33 = insertelement <2 x double> poison, double %1, i64 0
%34 = insertelement <2 x double> %33, double %8, i64 1
%35 = fmul <2 x double> %34, <double -4.721400e+04, double -4.721400e+04>
%36 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> <double 5.669400e+04, double 5.669400e+04>, <2 x double> %35)
%37 = insertelement <2 x double> poison, double %0, i64 0
%38 = insertelement <2 x double> %37, double %7, i64 1
%39 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %38, <2 x double> <double 6.649000e+03, double 6.649000e+03>, <2 x double> %36)
%40 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> <double -2.277800e+04, double -2.277800e+04>, <2 x double> %39)
%41 = fmul <2 x double> %40, %38
%42 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> %32, <2 x double> %41)
%43 = fmul <2 x double> %28, <double 2.572900e+04, double 2.572900e+04>
%44 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %43, <2 x double> %28, <2 x double> %42)
%45 = fmul <2 x double> %34, <double 8.564100e+04, double 8.564100e+04>
%46 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> <double -2.102820e+05, double -2.102820e+05>, <2 x double> %45)
%47 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> <double 8.621400e+04, double 8.621400e+04>, <2 x double> %46)
%48 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %34, <2 x double> %47, <2 x double> %44)
%49 = insertelement <2 x double> poison, double %4, i64 0
%50 = insertelement <2 x double> %49, double %11, i64 1
%51 = fmul <2 x double> %50, <double -3.041400e+04, double -3.041400e+04>
%52 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> <double 4.100100e+04, double 4.100100e+04>, <2 x double> %51)
%53 = fmul <2 x double> %34, <double 3.169000e+03, double 3.169000e+03>
%54 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> <double -1.937400e+04, double -1.937400e+04>, <2 x double> %53)
%55 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> <double 1.901400e+04, double 1.901400e+04>, <2 x double> %54)
%56 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> <double -5.978000e+03, double -5.978000e+03>, <2 x double> %55)
%57 = fmul <2 x double> %56, %34
%58 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> %52, <2 x double> %57)
%59 = fmul <2 x double> %50, <double 6.649000e+03, double 6.649000e+03>
%60 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %59, <2 x double> %50, <2 x double> %58)
%61 = fmul <2 x double> %28, <double -7.060200e+04, double -7.060200e+04>
%62 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> <double 3.344100e+04, double 3.344100e+04>, <2 x double> %61)
%63 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> <double 2.309400e+04, double 2.309400e+04>, <2 x double> %62)
%64 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> %63, <2 x double> %60)
%65 = insertelement <2 x double> poison, double %5, i64 0
%66 = insertelement <2 x double> %65, double %12, i64 1
%67 = fmul <2 x double> %66, <double -1.937400e+04, double -1.937400e+04>
%68 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> <double 3.344100e+04, double 3.344100e+04>, <2 x double> %67)
%69 = fmul <2 x double> %28, <double -3.041400e+04, double -3.041400e+04>
%70 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> <double 6.649000e+03, double 6.649000e+03>, <2 x double> %69)
%71 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> <double 2.309400e+04, double 2.309400e+04>, <2 x double> %70)
%72 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %66, <2 x double> <double -5.978000e+03, double -5.978000e+03>, <2 x double> %71)
%73 = fmul <2 x double> %72, %31
%74 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> %68, <2 x double> %73)
%75 = fmul <2 x double> %66, <double 3.169000e+03, double 3.169000e+03>
%76 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %75, <2 x double> %66, <2 x double> %74)
%77 = fmul <2 x double> %50, <double -7.060200e+04, double -7.060200e+04>
%78 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> <double 4.100100e+04, double 4.100100e+04>, <2 x double> %77)
%79 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %66, <2 x double> <double 1.901400e+04, double 1.901400e+04>, <2 x double> %78)
%80 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> %79, <2 x double> %76)
%81 = insertelement <2 x double> poison, double %6, i64 0
%82 = insertelement <2 x double> %81, double %13, i64 1
%83 = fmul <2 x double> %82, <double -4.721400e+04, double -4.721400e+04>
%84 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %66, <2 x double> <double 8.564100e+04, double 8.564100e+04>, <2 x double> %83)
%85 = fmul <2 x double> %50, <double -1.148940e+05, double -1.148940e+05>
%86 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> <double 2.572900e+04, double 2.572900e+04>, <2 x double> %85)
%87 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %66, <2 x double> <double 8.621400e+04, double 8.621400e+04>, <2 x double> %86)
%88 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %82, <2 x double> <double -2.277800e+04, double -2.277800e+04>, <2 x double> %87)
%89 = fmul <2 x double> %88, %28
%90 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %66, <2 x double> %84, <2 x double> %89)
%91 = fmul <2 x double> %82, <double 6.649000e+03, double 6.649000e+03>
%92 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %91, <2 x double> %82, <2 x double> %90)
%93 = fmul <2 x double> %66, <double -2.102820e+05, double -2.102820e+05>
%94 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> <double 1.342410e+05, double 1.342410e+05>, <2 x double> %93)
%95 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %82, <2 x double> <double 5.669400e+04, double 5.669400e+04>, <2 x double> %94)
%96 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> %95, <2 x double> %92)
%97 = fadd <2 x double> %48, <double 0x3EB0C6F7A0B5ED8D, double 0x3EB0C6F7A0B5ED8D>
%98 = fmul <2 x double> %97, %97
%99 = fdiv <2 x double> <double 0x3F9D41D41D41D41D, double 0x3FBD41D41D41D41D>, %98
%100 = fadd <2 x double> %64, <double 0x3EB0C6F7A0B5ED8D, double 0x3EB0C6F7A0B5ED8D>
%101 = fmul <2 x double> %100, %100
%102 = fdiv <2 x double> <double 0x3FD5F15F15F15F16, double 0x3FE0750750750750>, %101
%103 = fadd <2 x double> %80, <double 0x3EB0C6F7A0B5ED8D, double 0x3EB0C6F7A0B5ED8D>
%104 = fmul <2 x double> %103, %103
%105 = fdiv <2 x double> <double 0x3FE0750750750750, double 0x3FD5F15F15F15F16>, %104
%106 = fadd <2 x double> %96, <double 0x3EB0C6F7A0B5ED8D, double 0x3EB0C6F7A0B5ED8D>
%107 = fmul <2 x double> %106, %106
%108 = fdiv <2 x double> <double 0x3FBD41D41D41D41D, double 0x3F9D41D41D41D41D>, %107
%109 = fadd <2 x double> %99, %102
%110 = fadd <2 x double> %109, %105
%111 = fadd <2 x double> %110, %108
%112 = fdiv <2 x double> %99, %111
%113 = fdiv <2 x double> %102, %111
%114 = fdiv <2 x double> %105, %111
%115 = fdiv <2 x double> %108, %111
%116 = fmul double %8, 5.000000e+00
%117 = fsub double %7, %116
%118 = insertelement <2 x double> poison, double %16, i64 0
%119 = insertelement <2 x double> %118, double %117, i64 1
%120 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> <double -2.300000e+01, double 1.300000e+01>, <2 x double> %119)
%121 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> <double 2.500000e+01, double 3.000000e+00>, <2 x double> %120)
%122 = fmul double %9, 7.000000e+00
%123 = tail call double @llvm.fmuladd.f64(double %8, double -1.000000e+00, double %122)
%124 = insertelement <2 x double> poison, double %18, i64 0
%125 = insertelement <2 x double> %124, double %123, i64 1
%126 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %28, <2 x double> <double 1.300000e+01, double 7.000000e+00>, <2 x double> %125)
%127 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %50, <2 x double> <double 3.000000e+00, double -1.000000e+00>, <2 x double> %126)
%128 = fmul <2 x double> %127, %113
%129 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %112, <2 x double> %121, <2 x double> %128)
%130 = fmul double %10, 1.300000e+01
%131 = tail call double @llvm.fmuladd.f64(double %9, double 3.000000e+00, double %130)
%132 = tail call double @llvm.fmuladd.f64(double %11, double -5.000000e+00, double %131)
%133 = fadd double %132, %12
%134 = insertelement <2 x double> poison, double %22, i64 0
%135 = insertelement <2 x double> %134, double %133, i64 1
%136 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %114, <2 x double> %135, <2 x double> %129)
%137 = fmul double %11, -2.300000e+01
%138 = tail call double @llvm.fmuladd.f64(double %10, double 2.500000e+01, double %137)
%139 = tail call double @llvm.fmuladd.f64(double %12, double 1.300000e+01, double %138)
%140 = tail call double @llvm.fmuladd.f64(double %13, double -3.000000e+00, double %139)
%141 = insertelement <2 x double> poison, double %26, i64 0
%142 = insertelement <2 x double> %141, double %140, i64 1
%143 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %115, <2 x double> %142, <2 x double> %136)
%144 = fdiv <2 x double> %143, <double 1.200000e+01, double 1.200000e+01>
%145 = shufflevector <2 x double> %144, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%146 = fadd <2 x double> %144, %145
%147 = extractelement <2 x double> %146, i64 0
ret double %147
}