void construct_ppi_C(int i, double *q, double *qL, double *qR, double *dq,
                     double *dqVL, double *qh, int n) {
  double qi = *q;
  double qimo = *(q - 1);
  double qipo = *(q + 1);
  double dqi;
  double dqip = qipo - qi;
  double dqim = qi - qimo;
  double dqiVL;
  int ipo = i + 1;
  int imo = i - 1;
  double ba, bb, bc;
  double osix = 1. / 6.;
  double xi_i = 1.0;
  double qt;
  ba = qh[i] - q[i];
  bb = q[i] - qh[imo];
  if (ba * bb <= 0) {
    qL[i] = q[i];
    qR[i] = q[i];
  }
  ba = qh[i] - qh[imo];
  bb = q[i] - 0.5 * (qh[imo] + qh[i]);
  bc = qh[i] - qh[imo];
  qt = qR[i];
  if (ba * bb > osix * bc * bc)
    qR[i] = 3 * q[i] - 2 * qL[i];
  if (-1 * osix * bc * bc > ba * bb)
    qL[i] = 3 * q[i] - 2 * qt;
  qR[i] = xi_i * qR[i] + (1 - xi_i) * q[i];
  qL[i] = xi_i * qL[i] + (1 - xi_i) * q[i];
}


x86 assembly (clang, -O0):
<construct_ppi_C>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    0x18(%rbp),%eax
mov    0x10(%rbp),%rax
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x10(%rbp),%rax
movsd  -0x8(%rax),%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x48(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x38(%rbp),%xmm0
subsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x4(%rbp),%eax
sub    $0x1,%eax
mov    %eax,-0x70(%rbp)
movsd  0xe81(%rip),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0xe69(%rip),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
mov    0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movslq -0x70(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x78(%rbp),%xmm1
mulsd  -0x80(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jb     1228 <construct_ppi_C+0x128>
mov    -0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x18(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x20(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movslq -0x70(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0x10(%rbp),%rax
movslq -0x70(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0xd9a(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x10(%rbp),%rax
movslq -0x70(%rbp),%rcx
subsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x20(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x78(%rbp),%xmm0
mulsd  -0x80(%rbp),%xmm0
movsd  -0x90(%rbp),%xmm1
ff
mulsd  -0x88(%rbp),%xmm1
ff
mulsd  -0x88(%rbp),%xmm1
ff
ucomisd %xmm1,%xmm0
jbe    133c <construct_ppi_C+0x23c>
mov    -0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x18(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  0xd1d(%rip),%xmm1
mulsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xcf1(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  0xce4(%rip),%xmm0
mulsd  -0x90(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
movsd  -0x78(%rbp),%xmm1
mulsd  -0x80(%rbp),%xmm1
ucomisd %xmm1,%xmm0
jbe    13c1 <construct_ppi_C+0x2c1>
mov    -0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  0xc9b(%rip),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xc6c(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x20(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  0xc22(%rip),%xmm1
subsd  -0x98(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x98(%rbp),%xmm0
ff
mov    -0x18(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
movsd  0xbdb(%rip),%xmm1
subsd  -0x98(%rbp),%xmm1
ff
mov    -0x10(%rbp),%rax
movslq -0x4(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movslq -0x4(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<construct_ppi_C>:
mov    0x8(%rsp),%r8
movslq %edi,%rax
movsd  -0x8(%r8,%rax,8),%xmm3
movsd  (%r8,%rax,8),%xmm1
movsd  (%rsi,%rax,8),%xmm2
movapd %xmm1,%xmm0
subsd  %xmm2,%xmm0
movapd %xmm2,%xmm4
subsd  %xmm3,%xmm4
mulsd  %xmm0,%xmm4
xorpd  %xmm0,%xmm0
ucomisd %xmm4,%xmm0
jae    113f <construct_ppi_C+0x3f>
movsd  (%rcx,%rax,8),%xmm0
jmp    1163 <construct_ppi_C+0x63>
lea    -0x1(%rax),%rdi
movsd  %xmm2,(%rdx,%rax,8)
movsd  (%rsi,%rax,8),%xmm0
movsd  %xmm0,(%rcx,%rax,8)
movsd  (%r8,%rax,8),%xmm1
movsd  (%r8,%rdi,8),%xmm3
movsd  (%rsi,%rax,8),%xmm2
movapd %xmm1,%xmm4
addsd  %xmm3,%xmm1
mulsd  0xe8d(%rip),%xmm1
subsd  %xmm3,%xmm4
addsd  %xmm2,%xmm1
mulsd  %xmm4,%xmm1
movsd  0xe81(%rip),%xmm3
mulsd  %xmm4,%xmm3
mulsd  %xmm4,%xmm3
ucomisd %xmm3,%xmm1
movapd %xmm0,%xmm3
jbe    11b7 <construct_ppi_C+0xb7>
movsd  (%rdx,%rax,8),%xmm3
addsd  %xmm3,%xmm3
mulsd  0xe66(%rip),%xmm2
subsd  %xmm3,%xmm2
movsd  %xmm2,(%rcx,%rax,8)
movapd %xmm2,%xmm3
movsd  0xe59(%rip),%xmm2
mulsd  %xmm4,%xmm2
mulsd  %xmm4,%xmm2
ucomisd %xmm1,%xmm2
jbe    11ec <construct_ppi_C+0xec>
movsd  (%rsi,%rax,8),%xmm1
mulsd  0xe36(%rip),%xmm1
addsd  %xmm0,%xmm0
subsd  %xmm0,%xmm1
movsd  %xmm1,(%rdx,%rax,8)
movsd  (%rcx,%rax,8),%xmm3
xorpd  %xmm0,%xmm0
movsd  (%rsi,%rax,8),%xmm1
mulsd  %xmm0,%xmm1
addsd  %xmm3,%xmm1
movsd  %xmm1,(%rcx,%rax,8)
mulsd  (%rsi,%rax,8),%xmm0
addsd  (%rdx,%rax,8),%xmm0
movsd  %xmm0,(%rdx,%rax,8)
ret

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

LLVM IR (-O2):
define void @construct_ppi_C(i32 %0, double* nocapture %1, double* nocapture %2, double* nocapture %3, double* nocapture readnone %4, double* nocapture readnone %5, double* nocapture %6, i32 %7) {
%9 = add nsw i32 %0, -1
%10 = sext i32 %0 to i64
%11 = getelementptr inbounds double, double* %6, i64 %10
%12 = load double, double* %11
%13 = getelementptr inbounds double, double* %1, i64 %10
%14 = load double, double* %13
%15 = fsub double %12, %14
%16 = sext i32 %9 to i64
%17 = getelementptr inbounds double, double* %6, i64 %16
%18 = load double, double* %17
%19 = fsub double %14, %18
%20 = fmul double %15, %19
%21 = fcmp ugt double %20, 0.000000e+00
br i1 %21, label %22, label %25
22: ; preds = %8
%23 = getelementptr inbounds double, double* %3, i64 %10
%24 = load double, double* %23
br label %32
25: ; preds = %8
%26 = getelementptr inbounds double, double* %2, i64 %10
store double %14, double* %26
%27 = load double, double* %13
%28 = getelementptr inbounds double, double* %3, i64 %10
store double %27, double* %28
%29 = load double, double* %11
%30 = load double, double* %17
%31 = load double, double* %13
br label %32
32: ; preds = %22, %25
%33 = phi double [ %27, %25 ], [ %24, %22 ]
%34 = phi double [ %31, %25 ], [ %14, %22 ]
%35 = phi double [ %30, %25 ], [ %18, %22 ]
%36 = phi double [ %29, %25 ], [ %12, %22 ]
%37 = fsub double %36, %35
%38 = fadd double %36, %35
%39 = tail call double @llvm.fmuladd.f64(double %38, double -5.000000e-01, double %34)
%40 = getelementptr inbounds double, double* %3, i64 %10
%41 = fmul double %37, %39
%42 = fmul double %37, 0x3FC5555555555555
%43 = fmul double %37, %42
%44 = fcmp ogt double %41, %43
br i1 %44, label %45, label %50
45: ; preds = %32
%46 = getelementptr inbounds double, double* %2, i64 %10
%47 = load double, double* %46
%48 = fmul double %47, -2.000000e+00
%49 = tail call double @llvm.fmuladd.f64(double %34, double 3.000000e+00, double %48)
store double %49, double* %40
br label %50
50: ; preds = %45, %32
%51 = phi double [ %49, %45 ], [ %33, %32 ]
%52 = fmul double %37, 0xBFC5555555555555
%53 = fmul double %37, %52
%54 = fcmp ogt double %53, %41
br i1 %54, label %55, label %61
55: ; preds = %50
%56 = load double, double* %13
%57 = fmul double %33, -2.000000e+00
%58 = tail call double @llvm.fmuladd.f64(double %56, double 3.000000e+00, double %57)
%59 = getelementptr inbounds double, double* %2, i64 %10
store double %58, double* %59
%60 = load double, double* %40
br label %61
61: ; preds = %55, %50
%62 = phi double [ %60, %55 ], [ %51, %50 ]
%63 = load double, double* %13
%64 = fmul double %63, 0.000000e+00
%65 = fadd double %62, %64
store double %65, double* %40
%66 = getelementptr inbounds double, double* %2, i64 %10
%67 = load double, double* %66
%68 = load double, double* %13
%69 = fmul double %68, 0.000000e+00
%70 = fadd double %67, %69
store double %70, double* %66
ret void
}