void interpolate_eta_derivative_order2_square(double epsilon, double eta,
                                              double *out_9086922723928993073) {
  out_9086922723928993073[0] = 0.25 * epsilon * eta * (epsilon - 1.0) +
                               0.25 * epsilon * (epsilon - 1.0) * (eta - 1.0);
  out_9086922723928993073[1] =
      -0.5 * eta * (epsilon - 1.0) * (epsilon + 1.0) -
      0.5 * (epsilon - 1.0) * (epsilon + 1.0) * (eta - 1.0);
  out_9086922723928993073[2] = 0.25 * epsilon * eta * (epsilon + 1.0) +
                               0.25 * epsilon * (epsilon + 1.0) * (eta - 1.0);
  out_9086922723928993073[3] = -0.5 * epsilon * (epsilon - 1.0) * (eta - 1.0) -
                               0.5 * epsilon * (epsilon - 1.0) * (eta + 1.0);
  out_9086922723928993073[4] =
      1.0 * (epsilon - 1.0) * (epsilon + 1.0) * (eta - 1.0) +
      1.0 * (epsilon - 1.0) * (epsilon + 1.0) * (eta + 1.0);
  out_9086922723928993073[5] = -0.5 * epsilon * (epsilon + 1.0) * (eta - 1.0) -
                               0.5 * epsilon * (epsilon + 1.0) * (eta + 1.0);
  out_9086922723928993073[6] = 0.25 * epsilon * eta * (epsilon - 1.0) +
                               0.25 * epsilon * (epsilon - 1.0) * (eta + 1.0);
  out_9086922723928993073[7] =
      -0.5 * eta * (epsilon - 1.0) * (epsilon + 1.0) -
      0.5 * (epsilon - 1.0) * (epsilon + 1.0) * (eta + 1.0);
  out_9086922723928993073[8] = 0.25 * epsilon * eta * (epsilon + 1.0) +
                               0.25 * epsilon * (epsilon + 1.0) * (eta + 1.0);
}


x86 assembly (clang, -O0):
<interpolate_eta_derivative_order2_square>:
push   %rbp
mov    %rsp,%rbp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
mov    %rdi,-0x18(%rbp)
movsd  0xeee(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0xecf(%rip),%xmm1
subsd  %xmm1,%xmm2
movsd  0xecb(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  -0x8(%rbp),%xmm3
movsd  0xeb1(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movsd  -0x10(%rbp),%xmm3
movsd  0xe9c(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  0xe94(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  -0x8(%rbp),%xmm1
movsd  0xe6a(%rip),%xmm2
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0xe5a(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0xe48(%rip),%xmm1
subsd  %xmm1,%xmm3
movsd  0xe4c(%rip),%xmm1
mulsd  %xmm3,%xmm1
movsd  0xe30(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movsd  -0x10(%rbp),%xmm3
movsd  0xe1a(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  0xdea(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  0xdd0(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
movsd  0xdcb(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  0xdb6(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movsd  -0x10(%rbp),%xmm3
movsd  0xda0(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  0xd97(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  -0x8(%rbp),%xmm1
movsd  0xd6d(%rip),%xmm2
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0xd58(%rip),%xmm1
subsd  %xmm1,%xmm2
movsd  0xd5c(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  -0x8(%rbp),%xmm3
movsd  0xd3a(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movsd  0xd2a(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0x8(%rbp),%xmm1
movsd  0xcec(%rip),%xmm0
subsd  %xmm0,%xmm1
movsd  0xce0(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  0xcd4(%rip),%xmm1
addsd  -0x8(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0xcbe(%rip),%xmm1
subsd  %xmm1,%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0xcad(%rip),%xmm1
subsd  %xmm1,%xmm3
movsd  0xca1(%rip),%xmm1
mulsd  %xmm3,%xmm1
movsd  0xc95(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movsd  0xc84(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x20(%rax)
movsd  0xc7a(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
movsd  0xc55(%rip),%xmm1
addsd  -0x8(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  0xc3f(%rip),%xmm1
subsd  %xmm1,%xmm2
movsd  0xc43(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  0xc26(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movsd  0xc15(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x28(%rax)
movsd  0xbe4(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  -0x8(%rbp),%xmm2
movsd  0xbc5(%rip),%xmm1
subsd  %xmm1,%xmm2
movsd  0xbc1(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  -0x8(%rbp),%xmm3
movsd  0xba7(%rip),%xmm4
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movsd  0xb97(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  0xb8d(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  -0x8(%rbp),%xmm1
movsd  0xb63(%rip),%xmm2
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  0xb53(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm3
movsd  0xb41(%rip),%xmm1
subsd  %xmm1,%xmm3
movsd  0xb45(%rip),%xmm1
mulsd  %xmm3,%xmm1
movsd  0xb29(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movsd  0xb18(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x38(%rax)
movsd  0xae7(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  0xacd(%rip),%xmm2
addsd  -0x8(%rbp),%xmm2
movsd  0xac8(%rip),%xmm1
mulsd  -0x8(%rbp),%xmm1
movsd  0xab3(%rip),%xmm3
addsd  -0x8(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movsd  0xaa2(%rip),%xmm3
addsd  -0x10(%rbp),%xmm3
mulsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
movsd  %xmm0,0x40(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<interpolate_eta_derivative_order2_square>:
movapd %xmm0,%xmm5
unpcklpd %xmm1,%xmm5
mulpd  0xef0(%rip),%xmm5
movapd %xmm0,%xmm2
unpcklpd %xmm0,%xmm2
movapd 0xef0(%rip),%xmm6
addpd  %xmm6,%xmm2
movapd %xmm1,%xmm3
unpcklpd %xmm2,%xmm3
mulpd  %xmm5,%xmm3
movsd  0xee8(%rip),%xmm4
movapd %xmm2,%xmm7
mulsd  %xmm4,%xmm7
mulsd  %xmm4,%xmm0
movapd %xmm2,%xmm4
shufpd $0x1,%xmm0,%xmm4
unpcklpd %xmm5,%xmm0
unpcklpd %xmm7,%xmm5
mulpd  %xmm2,%xmm5
unpcklpd %xmm1,%xmm1
addpd  %xmm6,%xmm1
movapd %xmm1,%xmm8
unpcklpd %xmm1,%xmm8
movapd %xmm5,%xmm7
mulpd  %xmm8,%xmm7
movapd %xmm2,%xmm6
unpckhpd %xmm2,%xmm6
movapd %xmm3,%xmm9
mulsd  %xmm3,%xmm6
mulpd  %xmm2,%xmm3
addpd  %xmm3,%xmm7
movupd %xmm7,(%rdi)
mulpd  %xmm2,%xmm0
movapd %xmm0,%xmm7
shufpd $0x1,%xmm0,%xmm7
mulpd  %xmm1,%xmm7
unpcklpd %xmm0,%xmm9
mulpd  %xmm2,%xmm4
shufpd $0x1,%xmm1,%xmm2
mulpd  %xmm9,%xmm2
addpd  %xmm7,%xmm2
movupd %xmm2,0x10(%rdi)
unpckhpd %xmm1,%xmm1
movapd %xmm4,%xmm2
mulpd  %xmm1,%xmm2
mulpd  %xmm8,%xmm4
addpd  %xmm2,%xmm4
movupd %xmm4,0x20(%rdi)
mulpd  %xmm1,%xmm5
addpd  %xmm3,%xmm5
movupd %xmm5,0x30(%rdi)
unpckhpd %xmm0,%xmm0
mulsd  %xmm1,%xmm0
addsd  %xmm0,%xmm6
movsd  %xmm6,0x40(%rdi)
ret

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

LLVM IR (-O2):
define void @interpolate_eta_derivative_order2_square(double %0, double %1, double* nocapture writeonly %2) {
%4 = insertelement <2 x double> poison, double %0, i64 0
%5 = insertelement <2 x double> %4, double %1, i64 1
%6 = fmul <2 x double> %5, <double 2.500000e-01, double -5.000000e-01>
%7 = shufflevector <2 x double> %4, <2 x double> poison, <2 x i32> zeroinitializer
%8 = fadd <2 x double> %7, <double -1.000000e+00, double 1.000000e+00>
%9 = insertelement <2 x double> poison, double %1, i64 0
%10 = extractelement <2 x double> %8, i64 0
%11 = shufflevector <2 x double> %9, <2 x double> %8, <2 x i32> <i32 0, i32 2>
%12 = fmul <2 x double> %6, %11
%13 = fmul double %10, -5.000000e-01
%14 = insertelement <2 x double> %6, double %13, i64 1
%15 = fmul <2 x double> %14, %8
%16 = shufflevector <2 x double> %9, <2 x double> poison, <2 x i32> zeroinitializer
%17 = fadd <2 x double> %16, <double -1.000000e+00, double 1.000000e+00>
%18 = shufflevector <2 x double> %17, <2 x double> undef, <2 x i32> zeroinitializer
%19 = fmul <2 x double> %15, %18
%20 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %12, <2 x double> %8, <2 x double> %19)
%21 = bitcast double* %2 to <2 x double>*
store <2 x double> %20, <2 x double>* %21
%22 = extractelement <2 x double> %12, i64 0
%23 = extractelement <2 x double> %8, i64 1
%24 = getelementptr inbounds double, double* %2, i64 2
%25 = fmul double %0, -5.000000e-01
%26 = insertelement <2 x double> poison, double %25, i64 0
%27 = shufflevector <2 x double> %26, <2 x double> %6, <2 x i32> <i32 0, i32 2>
%28 = fmul <2 x double> %27, %8
%29 = shufflevector <2 x double> %28, <2 x double> poison, <2 x i32> <i32 1, i32 0>
%30 = fmul <2 x double> %29, %17
%31 = shufflevector <2 x double> %12, <2 x double> %28, <2 x i32> <i32 0, i32 2>
%32 = shufflevector <2 x double> %8, <2 x double> undef, <2 x i32> <i32 1, i32 undef>
%33 = shufflevector <2 x double> %32, <2 x double> %17, <2 x i32> <i32 0, i32 2>
%34 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %31, <2 x double> %33, <2 x double> %30)
%35 = bitcast double* %24 to <2 x double>*
store <2 x double> %34, <2 x double>* %35
%36 = extractelement <2 x double> %17, i64 1
%37 = getelementptr inbounds double, double* %2, i64 4
%38 = insertelement <2 x double> %32, double %25, i64 1
%39 = fmul <2 x double> %38, %8
%40 = shufflevector <2 x double> %17, <2 x double> undef, <2 x i32> <i32 1, i32 1>
%41 = fmul <2 x double> %39, %40
%42 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %39, <2 x double> %18, <2 x double> %41)
%43 = bitcast double* %37 to <2 x double>*
store <2 x double> %42, <2 x double>* %43
%44 = getelementptr inbounds double, double* %2, i64 6
%45 = fmul <2 x double> %40, %15
%46 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %12, <2 x double> %8, <2 x double> %45)
%47 = bitcast double* %44 to <2 x double>*
store <2 x double> %46, <2 x double>* %47
%48 = extractelement <2 x double> %28, i64 1
%49 = fmul double %48, %36
%50 = tail call double @llvm.fmuladd.f64(double %22, double %23, double %49)
%51 = getelementptr inbounds double, double* %2, i64 8
store double %50, double* %51
ret void
}