void twobody_scale(int version, double *two, double a1, double l) {
  double l1 = 1.0 + l;
  double l2 = l1 * l1;
  double l3 = l2 * l1;
  l2 /= 6.0;
  l3 /= 6.0;
  l1 /= 2.0;
  two[0] *= a1;
  two[1] *= a1 * l1;
  two[2] *= a1;
  two[3] *= a1 * l1;
  if (version == 0)
    return;
  double a12 = a1 * a1;
  double a13 = a12 * a1;
  two[4] *= a12 * 2.0 / 3.0;
  two[5] *= a12 * l2;
  two[6] *= a13 * 4.0 / 3.0;
  two[7] *= a13 * l3;
  two[8] *= a13 * 4.0 / 3.0;
  two[9] *= a13 * l3;
  if (version == 1)
    return;
  two[10] *= a12 * 2.0 / 3.0;
  two[11] *= a12 * l2;
  two[12] *= a12 * 2.0 / 3.0;
  two[13] *= a12 * l2;
  two[14] *= a13 * 4.0 / 3.0;
  two[15] *= a13 * l3;
  double lm;
  lm = 5.0 / 6.0 * l3;
  two[16] *= a13 * 10.0 / 9.0;
  two[17] *= a13 * lm;
  two[18] *= a13 * 10.0 / 9.0;
  two[19] *= a13 * lm;
  two[20] *= a13 * 10.0 / 9.0;
  two[21] *= a13 * lm;
}


x86 assembly (clang, -O0):
<twobody_scale>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
movsd  %xmm0,-0x18(%rbp)
movsd  %xmm1,-0x20(%rbp)
movsd  0xef3(%rip),%xmm0
addsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  -0x28(%rbp),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  0xeb6(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x38(%rbp),%xmm0
movsd  0xea0(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x28(%rbp),%xmm0
movsd  0xe82(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  -0x18(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  (%rax),%xmm0
movsd  %xmm0,(%rax)
movsd  -0x18(%rbp),%xmm0
mulsd  -0x28(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
movsd  %xmm0,0x8(%rax)
movsd  -0x18(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
movsd  %xmm0,0x10(%rax)
movsd  -0x18(%rbp),%xmm0
mulsd  -0x28(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x18(%rax),%xmm0
movsd  %xmm0,0x18(%rax)
cmpl   $0x0,-0x4(%rbp)
jne    11ea <twobody_scale+0xea>
jmp    1484 <twobody_scale+0x384>
movsd  -0x18(%rbp),%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x40(%rbp),%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0xdf0(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  0xdfb(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x20(%rax),%xmm0
movsd  %xmm0,0x20(%rax)
movsd  -0x40(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x28(%rax),%xmm0
movsd  %xmm0,0x28(%rax)
movsd  0xdd1(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  0xdbc(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x30(%rax),%xmm0
movsd  %xmm0,0x30(%rax)
movsd  -0x48(%rbp),%xmm0
mulsd  -0x38(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x38(%rax),%xmm0
movsd  %xmm0,0x38(%rax)
movsd  0xd92(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  0xd7d(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x40(%rax),%xmm0
movsd  %xmm0,0x40(%rax)
movsd  -0x48(%rbp),%xmm0
mulsd  -0x38(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x48(%rax),%xmm0
movsd  %xmm0,0x48(%rax)
cmpl   $0x1,-0x4(%rbp)
jne    12d4 <twobody_scale+0x1d4>
jmp    1484 <twobody_scale+0x384>
movsd  0xd24(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  0xd2f(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x50(%rax),%xmm0
movsd  %xmm0,0x50(%rax)
movsd  -0x40(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x58(%rax),%xmm0
movsd  %xmm0,0x58(%rax)
movsd  0xce5(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  0xcf0(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x60(%rax),%xmm0
movsd  %xmm0,0x60(%rax)
movsd  -0x40(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x68(%rax),%xmm0
movsd  %xmm0,0x68(%rax)
movsd  0xcc6(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  0xcb1(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x70(%rax),%xmm0
movsd  %xmm0,0x70(%rax)
movsd  -0x48(%rbp),%xmm0
mulsd  -0x38(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x78(%rax),%xmm0
movsd  %xmm0,0x78(%rax)
movsd  0xc9f(%rip),%xmm0
mulsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  0xc85(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  0xc70(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x80(%rax),%xmm0
movsd  %xmm0,0x80(%rax)
movsd  -0x48(%rbp),%xmm0
mulsd  -0x50(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x88(%rax),%xmm0
movsd  %xmm0,0x88(%rax)
movsd  0xc3a(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  0xc25(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x90(%rax),%xmm0
movsd  %xmm0,0x90(%rax)
movsd  -0x48(%rbp),%xmm0
mulsd  -0x50(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0x98(%rax),%xmm0
movsd  %xmm0,0x98(%rax)
movsd  0xbef(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  0xbda(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x10(%rbp),%rax
mulsd  0xa0(%rax),%xmm0
movsd  %xmm0,0xa0(%rax)
movsd  -0x48(%rbp),%xmm0
mulsd  -0x50(%rbp),%xmm0
mov    -0x10(%rbp),%rax
mulsd  0xa8(%rax),%xmm0
movsd  %xmm0,0xa8(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<twobody_scale>:
addsd  0xef8(%rip),%xmm1
movsd  0xf00(%rip),%xmm2
mulsd  %xmm1,%xmm2
mulsd  %xmm0,%xmm2
movapd %xmm0,%xmm3
unpcklpd %xmm2,%xmm3
movupd (%rsi),%xmm2
movupd 0x10(%rsi),%xmm4
mulpd  %xmm3,%xmm2
movupd %xmm2,(%rsi)
mulpd  %xmm3,%xmm4
movupd %xmm4,0x10(%rsi)
test   %edi,%edi
je     12bf <twobody_scale+0x1bf>
movapd %xmm1,%xmm4
mulsd  %xmm1,%xmm4
mulsd  %xmm4,%xmm1
divsd  0xeb2(%rip),%xmm1
divsd  0xeaa(%rip),%xmm4
movapd %xmm0,%xmm2
mulsd  %xmm0,%xmm2
mulsd  %xmm2,%xmm0
movapd %xmm2,%xmm3
addsd  %xmm2,%xmm3
movsd  0xe9e(%rip),%xmm6
divsd  %xmm6,%xmm3
movsd  0x20(%rsi),%xmm5
mulsd  %xmm3,%xmm5
movsd  %xmm5,0x20(%rsi)
mulsd  %xmm4,%xmm2
movsd  0x28(%rsi),%xmm4
mulsd  %xmm2,%xmm4
movsd  %xmm4,0x28(%rsi)
movsd  0xe7a(%rip),%xmm5
mulsd  %xmm0,%xmm5
divsd  %xmm6,%xmm5
movsd  0x30(%rsi),%xmm4
mulsd  %xmm5,%xmm4
movsd  %xmm4,0x30(%rsi)
movapd %xmm0,%xmm4
mulsd  %xmm1,%xmm4
movsd  0x38(%rsi),%xmm6
mulsd  %xmm4,%xmm6
movsd  %xmm6,0x38(%rsi)
movsd  0x40(%rsi),%xmm6
mulsd  %xmm5,%xmm6
movsd  %xmm6,0x40(%rsi)
movsd  0x48(%rsi),%xmm6
mulsd  %xmm4,%xmm6
movsd  %xmm6,0x48(%rsi)
cmp    $0x1,%edi
je     12bf <twobody_scale+0x1bf>
movsd  0x50(%rsi),%xmm6
mulsd  %xmm3,%xmm6
movsd  %xmm6,0x50(%rsi)
movsd  0x58(%rsi),%xmm6
mulsd  %xmm2,%xmm6
movsd  %xmm6,0x58(%rsi)
mulsd  0x60(%rsi),%xmm3
movsd  %xmm3,0x60(%rsi)
mulsd  0x68(%rsi),%xmm2
movsd  %xmm2,0x68(%rsi)
mulsd  0x70(%rsi),%xmm5
movsd  %xmm5,0x70(%rsi)
mulsd  0xdef(%rip),%xmm1
movsd  0xdef(%rip),%xmm2
mulsd  %xmm0,%xmm2
divsd  0xdeb(%rip),%xmm2
movupd 0x78(%rsi),%xmm3
unpcklpd %xmm2,%xmm4
mulpd  %xmm3,%xmm4
movupd %xmm4,0x78(%rsi)
mulsd  %xmm0,%xmm1
movsd  0x88(%rsi),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,0x88(%rsi)
movsd  0x90(%rsi),%xmm0
mulsd  %xmm2,%xmm0
movsd  %xmm0,0x90(%rsi)
movsd  0x98(%rsi),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,0x98(%rsi)
mulsd  0xa0(%rsi),%xmm2
movsd  %xmm2,0xa0(%rsi)
mulsd  0xa8(%rsi),%xmm1
movsd  %xmm1,0xa8(%rsi)
ret

LLVM IR (-O0):
define void @twobody_scale(i32 %0, double* %1, double %2, double %3) {
%5 = alloca i32
%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
store i32 %0, i32* %5
store double* %1, double** %6
store double %2, double* %7
store double %3, double* %8
%15 = load double, double* %8
%16 = fadd double 1.000000e+00, %15
store double %16, double* %9
%17 = load double, double* %9
%18 = load double, double* %9
%19 = fmul double %17, %18
store double %19, double* %10
%20 = load double, double* %10
%21 = load double, double* %9
%22 = fmul double %20, %21
store double %22, double* %11
%23 = load double, double* %10
%24 = fdiv double %23, 6.000000e+00
store double %24, double* %10
%25 = load double, double* %11
%26 = fdiv double %25, 6.000000e+00
store double %26, double* %11
%27 = load double, double* %9
%28 = fdiv double %27, 2.000000e+00
store double %28, double* %9
%29 = load double, double* %7
%30 = load double*, double** %6
%31 = getelementptr inbounds double, double* %30, i64 0
%32 = load double, double* %31
%33 = fmul double %32, %29
store double %33, double* %31
%34 = load double, double* %7
%35 = load double, double* %9
%36 = fmul double %34, %35
%37 = load double*, double** %6
%38 = getelementptr inbounds double, double* %37, i64 1
%39 = load double, double* %38
%40 = fmul double %39, %36
store double %40, double* %38
%41 = load double, double* %7
%42 = load double*, double** %6
%43 = getelementptr inbounds double, double* %42, i64 2
%44 = load double, double* %43
%45 = fmul double %44, %41
store double %45, double* %43
%46 = load double, double* %7
%47 = load double, double* %9
%48 = fmul double %46, %47
%49 = load double*, double** %6
%50 = getelementptr inbounds double, double* %49, i64 3
%51 = load double, double* %50
%52 = fmul double %51, %48
store double %52, double* %50
%53 = load i32, i32* %5
%54 = icmp eq i32 %53, 0
br i1 %54, label %55, label %56
55: ; preds = %4
br label %195
56: ; preds = %4
%57 = load double, double* %7
%58 = load double, double* %7
%59 = fmul double %57, %58
store double %59, double* %12
%60 = load double, double* %12
%61 = load double, double* %7
%62 = fmul double %60, %61
store double %62, double* %13
%63 = load double, double* %12
%64 = fmul double %63, 2.000000e+00
%65 = fdiv double %64, 3.000000e+00
%66 = load double*, double** %6
%67 = getelementptr inbounds double, double* %66, i64 4
%68 = load double, double* %67
%69 = fmul double %68, %65
store double %69, double* %67
%70 = load double, double* %12
%71 = load double, double* %10
%72 = fmul double %70, %71
%73 = load double*, double** %6
%74 = getelementptr inbounds double, double* %73, i64 5
%75 = load double, double* %74
%76 = fmul double %75, %72
store double %76, double* %74
%77 = load double, double* %13
%78 = fmul double %77, 4.000000e+00
%79 = fdiv double %78, 3.000000e+00
%80 = load double*, double** %6
%81 = getelementptr inbounds double, double* %80, i64 6
%82 = load double, double* %81
%83 = fmul double %82, %79
store double %83, double* %81
%84 = load double, double* %13
%85 = load double, double* %11
%86 = fmul double %84, %85
%87 = load double*, double** %6
%88 = getelementptr inbounds double, double* %87, i64 7
%89 = load double, double* %88
%90 = fmul double %89, %86
store double %90, double* %88
%91 = load double, double* %13
%92 = fmul double %91, 4.000000e+00
%93 = fdiv double %92, 3.000000e+00
%94 = load double*, double** %6
%95 = getelementptr inbounds double, double* %94, i64 8
%96 = load double, double* %95
%97 = fmul double %96, %93
store double %97, double* %95
%98 = load double, double* %13
%99 = load double, double* %11
%100 = fmul double %98, %99
%101 = load double*, double** %6
%102 = getelementptr inbounds double, double* %101, i64 9
%103 = load double, double* %102
%104 = fmul double %103, %100
store double %104, double* %102
%105 = load i32, i32* %5
%106 = icmp eq i32 %105, 1
br i1 %106, label %107, label %108
107: ; preds = %56
br label %195
108: ; preds = %56
%109 = load double, double* %12
%110 = fmul double %109, 2.000000e+00
%111 = fdiv double %110, 3.000000e+00
%112 = load double*, double** %6
%113 = getelementptr inbounds double, double* %112, i64 10
%114 = load double, double* %113
%115 = fmul double %114, %111
store double %115, double* %113
%116 = load double, double* %12
%117 = load double, double* %10
%118 = fmul double %116, %117
%119 = load double*, double** %6
%120 = getelementptr inbounds double, double* %119, i64 11
%121 = load double, double* %120
%122 = fmul double %121, %118
store double %122, double* %120
%123 = load double, double* %12
%124 = fmul double %123, 2.000000e+00
%125 = fdiv double %124, 3.000000e+00
%126 = load double*, double** %6
%127 = getelementptr inbounds double, double* %126, i64 12
%128 = load double, double* %127
%129 = fmul double %128, %125
store double %129, double* %127
%130 = load double, double* %12
%131 = load double, double* %10
%132 = fmul double %130, %131
%133 = load double*, double** %6
%134 = getelementptr inbounds double, double* %133, i64 13
%135 = load double, double* %134
%136 = fmul double %135, %132
store double %136, double* %134
%137 = load double, double* %13
%138 = fmul double %137, 4.000000e+00
%139 = fdiv double %138, 3.000000e+00
%140 = load double*, double** %6
%141 = getelementptr inbounds double, double* %140, i64 14
%142 = load double, double* %141
%143 = fmul double %142, %139
store double %143, double* %141
%144 = load double, double* %13
%145 = load double, double* %11
%146 = fmul double %144, %145
%147 = load double*, double** %6
%148 = getelementptr inbounds double, double* %147, i64 15
%149 = load double, double* %148
%150 = fmul double %149, %146
store double %150, double* %148
%151 = load double, double* %11
%152 = fmul double 0x3FEAAAAAAAAAAAAB, %151
store double %152, double* %14
%153 = load double, double* %13
%154 = fmul double %153, 1.000000e+01
%155 = fdiv double %154, 9.000000e+00
%156 = load double*, double** %6
%157 = getelementptr inbounds double, double* %156, i64 16
%158 = load double, double* %157
%159 = fmul double %158, %155
store double %159, double* %157
%160 = load double, double* %13
%161 = load double, double* %14
%162 = fmul double %160, %161
%163 = load double*, double** %6
%164 = getelementptr inbounds double, double* %163, i64 17
%165 = load double, double* %164
%166 = fmul double %165, %162
store double %166, double* %164
%167 = load double, double* %13
%168 = fmul double %167, 1.000000e+01
%169 = fdiv double %168, 9.000000e+00
%170 = load double*, double** %6
%171 = getelementptr inbounds double, double* %170, i64 18
%172 = load double, double* %171
%173 = fmul double %172, %169
store double %173, double* %171
%174 = load double, double* %13
%175 = load double, double* %14
%176 = fmul double %174, %175
%177 = load double*, double** %6
%178 = getelementptr inbounds double, double* %177, i64 19
%179 = load double, double* %178
%180 = fmul double %179, %176
store double %180, double* %178
%181 = load double, double* %13
%182 = fmul double %181, 1.000000e+01
%183 = fdiv double %182, 9.000000e+00
%184 = load double*, double** %6
%185 = getelementptr inbounds double, double* %184, i64 20
%186 = load double, double* %185
%187 = fmul double %186, %183
store double %187, double* %185
%188 = load double, double* %13
%189 = load double, double* %14
%190 = fmul double %188, %189
%191 = load double*, double** %6
%192 = getelementptr inbounds double, double* %191, i64 21
%193 = load double, double* %192
%194 = fmul double %193, %190
store double %194, double* %192
br label %195
195: ; preds = %108, %107, %55
ret void
}

LLVM IR (-O2):
define void @twobody_scale(i32 %0, double* %1, double %2, double %3) {
%5 = fadd double %3, 1.000000e+00
%6 = fmul double %5, %5
%7 = fmul double %5, %6
%8 = fdiv double %7, 6.000000e+00
%9 = fmul double %5, 5.000000e-01
%10 = fmul double %9, %2
%11 = bitcast double* %1 to <2 x double>*
%12 = load <2 x double>, <2 x double>* %11
%13 = insertelement <2 x double> poison, double %2, i64 0
%14 = insertelement <2 x double> %13, double %10, i64 1
%15 = fmul <2 x double> %14, %12
%16 = bitcast double* %1 to <2 x double>*
store <2 x double> %15, <2 x double>* %16
%17 = getelementptr inbounds double, double* %1, i64 2
%18 = bitcast double* %17 to <2 x double>*
%19 = load <2 x double>, <2 x double>* %18
%20 = fmul <2 x double> %14, %19
%21 = bitcast double* %17 to <2 x double>*
store <2 x double> %20, <2 x double>* %21
%22 = icmp eq i32 %0, 0
br i1 %22, label %94, label %23
23: ; preds = %4
%24 = fdiv double %6, 6.000000e+00
%25 = fmul double %2, %2
%26 = fmul double %25, %2
%27 = fmul double %25, 2.000000e+00
%28 = fdiv double %27, 3.000000e+00
%29 = getelementptr inbounds double, double* %1, i64 4
%30 = load double, double* %29
%31 = fmul double %28, %30
store double %31, double* %29
%32 = fmul double %25, %24
%33 = getelementptr inbounds double, double* %1, i64 5
%34 = load double, double* %33
%35 = fmul double %32, %34
store double %35, double* %33
%36 = fmul double %26, 4.000000e+00
%37 = fdiv double %36, 3.000000e+00
%38 = getelementptr inbounds double, double* %1, i64 6
%39 = load double, double* %38
%40 = fmul double %37, %39
store double %40, double* %38
%41 = fmul double %26, %8
%42 = getelementptr inbounds double, double* %1, i64 7
%43 = load double, double* %42
%44 = fmul double %41, %43
store double %44, double* %42
%45 = getelementptr inbounds double, double* %1, i64 8
%46 = load double, double* %45
%47 = fmul double %37, %46
store double %47, double* %45
%48 = getelementptr inbounds double, double* %1, i64 9
%49 = load double, double* %48
%50 = fmul double %41, %49
store double %50, double* %48
%51 = icmp eq i32 %0, 1
br i1 %51, label %94, label %52
52: ; preds = %23
%53 = getelementptr inbounds double, double* %1, i64 10
%54 = load double, double* %53
%55 = fmul double %28, %54
store double %55, double* %53
%56 = getelementptr inbounds double, double* %1, i64 11
%57 = load double, double* %56
%58 = fmul double %32, %57
store double %58, double* %56
%59 = getelementptr inbounds double, double* %1, i64 12
%60 = load double, double* %59
%61 = fmul double %28, %60
store double %61, double* %59
%62 = getelementptr inbounds double, double* %1, i64 13
%63 = load double, double* %62
%64 = fmul double %32, %63
store double %64, double* %62
%65 = getelementptr inbounds double, double* %1, i64 14
%66 = load double, double* %65
%67 = fmul double %37, %66
store double %67, double* %65
%68 = getelementptr inbounds double, double* %1, i64 15
%69 = fmul double %8, 0x3FEAAAAAAAAAAAAB
%70 = fmul double %26, 1.000000e+01
%71 = fdiv double %70, 9.000000e+00
%72 = bitcast double* %68 to <2 x double>*
%73 = load <2 x double>, <2 x double>* %72
%74 = insertelement <2 x double> poison, double %41, i64 0
%75 = insertelement <2 x double> %74, double %71, i64 1
%76 = fmul <2 x double> %75, %73
%77 = bitcast double* %68 to <2 x double>*
store <2 x double> %76, <2 x double>* %77
%78 = fmul double %26, %69
%79 = getelementptr inbounds double, double* %1, i64 17
%80 = load double, double* %79
%81 = fmul double %78, %80
store double %81, double* %79
%82 = getelementptr inbounds double, double* %1, i64 18
%83 = load double, double* %82
%84 = fmul double %71, %83
store double %84, double* %82
%85 = getelementptr inbounds double, double* %1, i64 19
%86 = load double, double* %85
%87 = fmul double %78, %86
store double %87, double* %85
%88 = getelementptr inbounds double, double* %1, i64 20
%89 = load double, double* %88
%90 = fmul double %71, %89
store double %90, double* %88
%91 = getelementptr inbounds double, double* %1, i64 21
%92 = load double, double* %91
%93 = fmul double %78, %92
store double %93, double* %91
br label %94
94: ; preds = %52, %23, %4
ret void
}