void scalar_minv_ft(double s, double *scalar_ft) {
  double xa11, xa12;
  double ya11, ya12;
  double yb11, yb12;
  double xc11, xc12;
  double yc11, yc12;
  double s2, s3, s4, s6;
  double dx, dy;
  s2 = s * s;
  s3 = s * s2;
  s4 = s2 * s2;
  s6 = s3 * s3;
  dx = 4.0 * s6 - (3.0 * s2 - 2.0) * (3.0 * s2 - 2.0);
  dy = 4.0 +
       s2 * (-12.0 +
             s2 * (9.0 +
                   s2 * (-32.0 + s2 * (-144.0 + s2 * (-36.0 + s2 * (64.0))))));
  xa11 = 4.0 * s6 / dx;
  xa12 = -2.0 * s3 * (3.0 * s2 - 2.0) / dx;
  ya11 = 16.0 * s6 * ((4.0 * s4 - 3.0) * s2 - 1.0) / dy;
  ya12 = -4.0 * s3 * (((12.0 * s2 + 8.0) * s4 + 3.0) * s2 - 2.0) / dy;
  yb11 = -16.0 * s6 * s * (3.0 * s2 + 4.0) / dy;
  yb12 = 8.0 * s4 * ((8.0 * s4 - 3.0) * s2 + 2.0) / dy;
  xc11 = 4.0 * s6 / 3.0 / (s6 - 1.0);
  xc12 = -4.0 * s3 / 3.0 / (s6 - 1.0);
  yc11 = 16.0 * s6 * (((16.0 * s2 - 9.0) * s2 - 24.0) * s2 - 4.0) / 3.0 / dy;
  yc12 = 8.0 * s3 * ((16.0 * s2 + 9.0) * s4 - 4.0) / 3.0 / dy;
  scalar_ft[0] = xa11;
  scalar_ft[1] = xa12;
  scalar_ft[2] = ya11;
  scalar_ft[3] = ya12;
  scalar_ft[4] = yb11;
  scalar_ft[5] = yb12;
  scalar_ft[6] = xc11;
  scalar_ft[7] = xc12;
  scalar_ft[8] = yc11;
  scalar_ft[9] = yc12;
}


x86 assembly (clang, -O0):
<scalar_minv_ft>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movsd  %xmm0,-0x8(%rbp)
mov    %rdi,-0x10(%rbp)
movsd  -0x8(%rbp),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x8(%rbp),%xmm0
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x68(%rbp),%xmm0
mulsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x70(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x80(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm1
movsd  0xea1(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xef5(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x68(%rbp),%xmm2
movsd  0xe84(%rip),%xmm3
mulsd  %xmm3,%xmm2
movsd  0xed8(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xe91(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x68(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm1
movsd  -0x68(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm3
movsd  -0x68(%rbp),%xmm4
movsd  -0x68(%rbp),%xmm5
movsd  0xeab(%rip),%xmm6
mulsd  %xmm6,%xmm5
movsd  0xea7(%rip),%xmm6
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm4
movsd  0xe87(%rip),%xmm5
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm3
movsd  0xe6f(%rip),%xmm4
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
movsd  0xdf7(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0xe47(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0xdff(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0xdeb(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
divsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x18(%rbp)
movsd  0xdf1(%rip),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm1
movsd  0xd7f(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xdd3(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x20(%rbp)
movsd  0xd66(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
movsd  -0x78(%rbp),%xmm1
movsd  0xd84(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xd88(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x68(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xd93(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x28(%rbp)
movsd  0xd0e(%rip),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm1
movsd  0xd5c(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xd08(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x78(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xcd3(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x68(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xd1e(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x30(%rbp)
movsd  0xcf9(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm1
movsd  0xc8a(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xcbe(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x38(%rbp)
movsd  0xc81(%rip),%xmm0
mulsd  -0x78(%rbp),%xmm0
movsd  -0x78(%rbp),%xmm1
movsd  0xc6f(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xc93(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x68(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xc76(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
movsd  0xc51(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
movsd  0xc04(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  -0x80(%rbp),%xmm1
movsd  0xc2b(%rip),%xmm2
subsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0xbe6(%rip),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  0xbd1(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  -0x80(%rbp),%xmm1
movsd  0xbf8(%rip),%xmm2
subsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  0xbbb(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm1
movsd  0xba9(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xbbd(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x68(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xba0(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x68(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xb6b(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0xb53(%rip),%xmm1
divsd  %xmm1,%xmm0
divsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x58(%rbp)
movsd  0xb5a(%rip),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm1
movsd  0xb38(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xb34(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x78(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xb0f(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0xaf7(%rip),%xmm1
divsd  %xmm1,%xmm0
divsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x60(%rbp)
movsd  -0x18(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x20(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0x28(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x30(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0x38(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  -0x40(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
movsd  -0x48(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  -0x50(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x38(%rax)
movsd  -0x58(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x40(%rax)
movsd  -0x60(%rbp),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x48(%rax)
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<scalar_minv_ft>:
movapd %xmm0,%xmm1
mulsd  %xmm0,%xmm1
movapd %xmm1,%xmm9
mulsd  %xmm0,%xmm9
movsd  0xee6(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xee2(%rip),%xmm2
movapd 0xf61(%rip),%xmm11
unpcklpd %xmm2,%xmm11
mulsd  %xmm2,%xmm2
movapd %xmm9,%xmm3
unpcklpd %xmm9,%xmm3
movapd 0xf36(%rip),%xmm6
movsd  %xmm9,%xmm6
mulpd  %xmm3,%xmm6
movsd  0xeb5(%rip),%xmm3
movapd %xmm6,%xmm5
movsd  0xeb1(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  0xead(%rip),%xmm4
mulsd  %xmm3,%xmm5
mulsd  %xmm1,%xmm4
addsd  0xea5(%rip),%xmm4
subsd  %xmm2,%xmm5
mulsd  %xmm1,%xmm4
addsd  0xe9d(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  0xe99(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  0xe95(%rip),%xmm4
mulsd  %xmm1,%xmm4
addsd  %xmm3,%xmm4
mulpd  %xmm6,%xmm11
unpcklpd %xmm5,%xmm5
movapd %xmm11,%xmm8
divpd  %xmm5,%xmm8
movapd %xmm6,%xmm13
unpcklpd %xmm9,%xmm13
mulpd  0xec7(%rip),%xmm13
movsd  0xe67(%rip),%xmm2
mulsd  %xmm1,%xmm2
movsd  0xe62(%rip),%xmm10
addsd  %xmm10,%xmm2
movapd %xmm6,%xmm7
unpcklpd %xmm1,%xmm7
movapd 0xeac(%rip),%xmm12
unpcklpd %xmm1,%xmm12
mulpd  %xmm7,%xmm12
movapd %xmm12,%xmm7
unpckhpd %xmm12,%xmm7
movapd %xmm12,%xmm5
shufpd $0x1,%xmm2,%xmm5
shufpd $0x2,%xmm12,%xmm3
mulpd  %xmm5,%xmm3
addpd  0xe8c(%rip),%xmm3
movapd %xmm1,%xmm2
unpcklpd %xmm1,%xmm2
mulpd  %xmm3,%xmm2
addpd  0xe88(%rip),%xmm2
mulpd  %xmm13,%xmm2
unpcklpd %xmm4,%xmm4
shufpd $0x2,0xe86(%rip),%xmm0
divpd  %xmm4,%xmm2
mulsd  %xmm10,%xmm7
addsd  0xded(%rip),%xmm7
mulpd  %xmm12,%xmm0
movapd %xmm1,%xmm5
unpcklpd %xmm7,%xmm5
movapd 0xe70(%rip),%xmm3
unpcklpd %xmm1,%xmm3
mulpd  %xmm5,%xmm3
addpd  0xe70(%rip),%xmm3
mulpd  %xmm0,%xmm3
divpd  %xmm4,%xmm3
addsd  0xdc0(%rip),%xmm6
shufpd $0x2,%xmm13,%xmm11
movapd 0xe62(%rip),%xmm0
divpd  %xmm0,%xmm11
unpcklpd %xmm6,%xmm6
divpd  %xmm6,%xmm11
movsd  0xda4(%rip),%xmm5
mulsd  %xmm1,%xmm5
addsd  0xda0(%rip),%xmm5
unpcklpd %xmm1,%xmm5
movsd  %xmm1,%xmm12
shufpd $0x2,0xe3e(%rip),%xmm1
mulsd  %xmm10,%xmm9
mulpd  %xmm5,%xmm1
addpd  0xe3d(%rip),%xmm1
mulpd  %xmm12,%xmm1
addpd  0xe40(%rip),%xmm1
unpcklpd %xmm9,%xmm13
mulpd  %xmm1,%xmm13
divpd  %xmm0,%xmm13
divpd  %xmm4,%xmm13
movupd %xmm8,(%rdi)
movupd %xmm2,0x10(%rdi)
movupd %xmm3,0x20(%rdi)
movupd %xmm11,0x30(%rdi)
movupd %xmm13,0x40(%rdi)
ret

LLVM IR (-O0):
define void @scalar_minv_ft(double %0, double* %1) {
%3 = alloca double
%4 = alloca double*
%5 = alloca double
%6 = alloca double
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
%16 = alloca double
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
store double %0, double* %3
store double* %1, double** %4
%21 = load double, double* %3
%22 = load double, double* %3
%23 = fmul double %21, %22
store double %23, double* %15
%24 = load double, double* %3
%25 = load double, double* %15
%26 = fmul double %24, %25
store double %26, double* %16
%27 = load double, double* %15
%28 = load double, double* %15
%29 = fmul double %27, %28
store double %29, double* %17
%30 = load double, double* %16
%31 = load double, double* %16
%32 = fmul double %30, %31
store double %32, double* %18
%33 = load double, double* %18
%34 = load double, double* %15
%35 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %34, double -2.000000e+00)
%36 = load double, double* %15
%37 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %36, double -2.000000e+00)
%38 = fmul double %35, %37
%39 = fneg double %38
%40 = call double @llvm.fmuladd.f64(double 4.000000e+00, double %33, double %39)
store double %40, double* %19
%41 = load double, double* %15
%42 = load double, double* %15
%43 = load double, double* %15
%44 = load double, double* %15
%45 = load double, double* %15
%46 = load double, double* %15
%47 = call double @llvm.fmuladd.f64(double %46, double 6.400000e+01, double -3.600000e+01)
%48 = call double @llvm.fmuladd.f64(double %45, double %47, double -1.440000e+02)
%49 = call double @llvm.fmuladd.f64(double %44, double %48, double -3.200000e+01)
%50 = call double @llvm.fmuladd.f64(double %43, double %49, double 9.000000e+00)
%51 = call double @llvm.fmuladd.f64(double %42, double %50, double -1.200000e+01)
%52 = call double @llvm.fmuladd.f64(double %41, double %51, double 4.000000e+00)
store double %52, double* %20
%53 = load double, double* %18
%54 = fmul double 4.000000e+00, %53
%55 = load double, double* %19
%56 = fdiv double %54, %55
store double %56, double* %5
%57 = load double, double* %16
%58 = fmul double -2.000000e+00, %57
%59 = load double, double* %15
%60 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %59, double -2.000000e+00)
%61 = fmul double %58, %60
%62 = load double, double* %19
%63 = fdiv double %61, %62
store double %63, double* %6
%64 = load double, double* %18
%65 = fmul double 1.600000e+01, %64
%66 = load double, double* %17
%67 = call double @llvm.fmuladd.f64(double 4.000000e+00, double %66, double -3.000000e+00)
%68 = load double, double* %15
%69 = call double @llvm.fmuladd.f64(double %67, double %68, double -1.000000e+00)
%70 = fmul double %65, %69
%71 = load double, double* %20
%72 = fdiv double %70, %71
store double %72, double* %7
%73 = load double, double* %16
%74 = fmul double -4.000000e+00, %73
%75 = load double, double* %15
%76 = call double @llvm.fmuladd.f64(double 1.200000e+01, double %75, double 8.000000e+00)
%77 = load double, double* %17
%78 = call double @llvm.fmuladd.f64(double %76, double %77, double 3.000000e+00)
%79 = load double, double* %15
%80 = call double @llvm.fmuladd.f64(double %78, double %79, double -2.000000e+00)
%81 = fmul double %74, %80
%82 = load double, double* %20
%83 = fdiv double %81, %82
store double %83, double* %8
%84 = load double, double* %18
%85 = fmul double -1.600000e+01, %84
%86 = load double, double* %3
%87 = fmul double %85, %86
%88 = load double, double* %15
%89 = call double @llvm.fmuladd.f64(double 3.000000e+00, double %88, double 4.000000e+00)
%90 = fmul double %87, %89
%91 = load double, double* %20
%92 = fdiv double %90, %91
store double %92, double* %9
%93 = load double, double* %17
%94 = fmul double 8.000000e+00, %93
%95 = load double, double* %17
%96 = call double @llvm.fmuladd.f64(double 8.000000e+00, double %95, double -3.000000e+00)
%97 = load double, double* %15
%98 = call double @llvm.fmuladd.f64(double %96, double %97, double 2.000000e+00)
%99 = fmul double %94, %98
%100 = load double, double* %20
%101 = fdiv double %99, %100
store double %101, double* %10
%102 = load double, double* %18
%103 = fmul double 4.000000e+00, %102
%104 = fdiv double %103, 3.000000e+00
%105 = load double, double* %18
%106 = fsub double %105, 1.000000e+00
%107 = fdiv double %104, %106
store double %107, double* %11
%108 = load double, double* %16
%109 = fmul double -4.000000e+00, %108
%110 = fdiv double %109, 3.000000e+00
%111 = load double, double* %18
%112 = fsub double %111, 1.000000e+00
%113 = fdiv double %110, %112
store double %113, double* %12
%114 = load double, double* %18
%115 = fmul double 1.600000e+01, %114
%116 = load double, double* %15
%117 = call double @llvm.fmuladd.f64(double 1.600000e+01, double %116, double -9.000000e+00)
%118 = load double, double* %15
%119 = call double @llvm.fmuladd.f64(double %117, double %118, double -2.400000e+01)
%120 = load double, double* %15
%121 = call double @llvm.fmuladd.f64(double %119, double %120, double -4.000000e+00)
%122 = fmul double %115, %121
%123 = fdiv double %122, 3.000000e+00
%124 = load double, double* %20
%125 = fdiv double %123, %124
store double %125, double* %13
%126 = load double, double* %16
%127 = fmul double 8.000000e+00, %126
%128 = load double, double* %15
%129 = call double @llvm.fmuladd.f64(double 1.600000e+01, double %128, double 9.000000e+00)
%130 = load double, double* %17
%131 = call double @llvm.fmuladd.f64(double %129, double %130, double -4.000000e+00)
%132 = fmul double %127, %131
%133 = fdiv double %132, 3.000000e+00
%134 = load double, double* %20
%135 = fdiv double %133, %134
store double %135, double* %14
%136 = load double, double* %5
%137 = load double*, double** %4
%138 = getelementptr inbounds double, double* %137, i64 0
store double %136, double* %138
%139 = load double, double* %6
%140 = load double*, double** %4
%141 = getelementptr inbounds double, double* %140, i64 1
store double %139, double* %141
%142 = load double, double* %7
%143 = load double*, double** %4
%144 = getelementptr inbounds double, double* %143, i64 2
store double %142, double* %144
%145 = load double, double* %8
%146 = load double*, double** %4
%147 = getelementptr inbounds double, double* %146, i64 3
store double %145, double* %147
%148 = load double, double* %9
%149 = load double*, double** %4
%150 = getelementptr inbounds double, double* %149, i64 4
store double %148, double* %150
%151 = load double, double* %10
%152 = load double*, double** %4
%153 = getelementptr inbounds double, double* %152, i64 5
store double %151, double* %153
%154 = load double, double* %11
%155 = load double*, double** %4
%156 = getelementptr inbounds double, double* %155, i64 6
store double %154, double* %156
%157 = load double, double* %12
%158 = load double*, double** %4
%159 = getelementptr inbounds double, double* %158, i64 7
store double %157, double* %159
%160 = load double, double* %13
%161 = load double*, double** %4
%162 = getelementptr inbounds double, double* %161, i64 8
store double %160, double* %162
%163 = load double, double* %14
%164 = load double*, double** %4
%165 = getelementptr inbounds double, double* %164, i64 9
store double %163, double* %165
ret void
}

LLVM IR (-O2):
define void @scalar_minv_ft(double %0, double* nocapture writeonly %1) {
%3 = fmul double %0, %0
%4 = fmul double %3, %0
%5 = tail call double @llvm.fmuladd.f64(double %3, double 3.000000e+00, double -2.000000e+00)
%6 = fneg double %5
%7 = fmul double %5, %6
%8 = insertelement <2 x double> poison, double %4, i64 0
%9 = shufflevector <2 x double> %8, <2 x double> poison, <2 x i32> zeroinitializer
%10 = insertelement <2 x double> <double poison, double -2.000000e+00>, double %4, i64 0
%11 = fmul <2 x double> %9, %10
%12 = extractelement <2 x double> %11, i64 0
%13 = tail call double @llvm.fmuladd.f64(double %12, double 4.000000e+00, double %7)
%14 = tail call double @llvm.fmuladd.f64(double %3, double 6.400000e+01, double -3.600000e+01)
%15 = tail call double @llvm.fmuladd.f64(double %3, double %14, double -1.440000e+02)
%16 = tail call double @llvm.fmuladd.f64(double %3, double %15, double -3.200000e+01)
%17 = tail call double @llvm.fmuladd.f64(double %3, double %16, double 9.000000e+00)
%18 = tail call double @llvm.fmuladd.f64(double %3, double %17, double -1.200000e+01)
%19 = tail call double @llvm.fmuladd.f64(double %3, double %18, double 4.000000e+00)
%20 = insertelement <2 x double> <double 4.000000e+00, double poison>, double %5, i64 1
%21 = fmul <2 x double> %20, %11
%22 = insertelement <2 x double> poison, double %13, i64 0
%23 = shufflevector <2 x double> %22, <2 x double> poison, <2 x i32> zeroinitializer
%24 = fdiv <2 x double> %21, %23
%25 = shufflevector <2 x double> %11, <2 x double> undef, <2 x i32> <i32 0, i32 undef>
%26 = insertelement <2 x double> %25, double %4, i64 1
%27 = fmul <2 x double> %26, <double 1.600000e+01, double -4.000000e+00>
%28 = tail call double @llvm.fmuladd.f64(double %3, double 1.200000e+01, double 8.000000e+00)
%29 = insertelement <2 x double> %25, double %3, i64 1
%30 = insertelement <2 x double> <double -1.600000e+01, double poison>, double %3, i64 1
%31 = fmul <2 x double> %29, %30
%32 = extractelement <2 x double> %31, i64 1
%33 = insertelement <2 x double> poison, double %32, i64 0
%34 = insertelement <2 x double> %33, double %28, i64 1
%35 = insertelement <2 x double> %31, double 4.000000e+00, i64 0
%36 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %34, <2 x double> %35, <2 x double> <double -3.000000e+00, double 3.000000e+00>)
%37 = insertelement <2 x double> poison, double %3, i64 0
%38 = shufflevector <2 x double> %37, <2 x double> poison, <2 x i32> zeroinitializer
%39 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %36, <2 x double> %38, <2 x double> <double -1.000000e+00, double -2.000000e+00>)
%40 = fmul <2 x double> %27, %39
%41 = insertelement <2 x double> poison, double %19, i64 0
%42 = shufflevector <2 x double> %41, <2 x double> poison, <2 x i32> zeroinitializer
%43 = fdiv <2 x double> %40, %42
%44 = insertelement <2 x double> <double poison, double 8.000000e+00>, double %0, i64 0
%45 = fmul <2 x double> %31, %44
%46 = tail call double @llvm.fmuladd.f64(double %32, double 8.000000e+00, double -3.000000e+00)
%47 = insertelement <2 x double> %37, double %46, i64 1
%48 = insertelement <2 x double> <double 3.000000e+00, double poison>, double %3, i64 1
%49 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %47, <2 x double> %48, <2 x double> <double 4.000000e+00, double 2.000000e+00>)
%50 = fmul <2 x double> %49, %45
%51 = fdiv <2 x double> %50, %42
%52 = fadd double %12, -1.000000e+00
%53 = shufflevector <2 x double> %21, <2 x double> %27, <2 x i32> <i32 0, i32 3>
%54 = fdiv <2 x double> %53, <double 3.000000e+00, double 3.000000e+00>
%55 = insertelement <2 x double> poison, double %52, i64 0
%56 = shufflevector <2 x double> %55, <2 x double> poison, <2 x i32> zeroinitializer
%57 = fdiv <2 x double> %54, %56
%58 = tail call double @llvm.fmuladd.f64(double %3, double 1.600000e+01, double -9.000000e+00)
%59 = fmul double %4, 8.000000e+00
%60 = insertelement <2 x double> poison, double %58, i64 0
%61 = insertelement <2 x double> %60, double %3, i64 1
%62 = insertelement <2 x double> <double poison, double 1.600000e+01>, double %3, i64 0
%63 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %61, <2 x double> %62, <2 x double> <double -2.400000e+01, double 9.000000e+00>)
%64 = insertelement <2 x double> %31, double %3, i64 0
%65 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %63, <2 x double> %64, <2 x double> <double -4.000000e+00, double -4.000000e+00>)
%66 = insertelement <2 x double> %27, double %59, i64 1
%67 = fmul <2 x double> %66, %65
%68 = fdiv <2 x double> %67, <double 3.000000e+00, double 3.000000e+00>
%69 = fdiv <2 x double> %68, %42
%70 = bitcast double* %1 to <2 x double>*
store <2 x double> %24, <2 x double>* %70
%71 = getelementptr inbounds double, double* %1, i64 2
%72 = bitcast double* %71 to <2 x double>*
store <2 x double> %43, <2 x double>* %72
%73 = getelementptr inbounds double, double* %1, i64 4
%74 = bitcast double* %73 to <2 x double>*
store <2 x double> %51, <2 x double>* %74
%75 = getelementptr inbounds double, double* %1, i64 6
%76 = bitcast double* %75 to <2 x double>*
store <2 x double> %57, <2 x double>* %76
%77 = getelementptr inbounds double, double* %1, i64 8
%78 = bitcast double* %77 to <2 x double>*
store <2 x double> %69, <2 x double>* %78
ret void
}