double fir32(double x0, double a0, double x1, double a1, double x2, double a2,
             double x3, double a3, double x4, double a4, double x5, double a5,
             double x6, double a6, double x7, double a7, double x8, double a8,
             double x9, double a9, double y0, double b0, double y1, double b1,
             double y2, double b2, double y3, double b3, double y4, double b4,
             double y5, double b5, double y6, double b6, double y7, double b7,
             double y8, double b8, double y9, double b9, double z0, double c0,
             double z1, double c1, double z2, double c2, double z3, double c3,
             double z4, double c4, double z5, double c5, double z6, double c6,
             double z7, double c7, double z8, double c8, double z9, double c9,
             double w0, double d0, double w1, double d1, double w2, double d2) {
  return x0 * a0 + x1 * a1 + x2 * a2 + x3 * a3 + x4 * a4 + x5 * a5 + x6 * a6 +
         x7 * a7 + x8 * a8 + x9 * a9 + y0 * b0 + y1 * b1 + y2 * b2 + y3 * b3 +
         y4 * b4 + y5 * b5 + y6 * b6 + y7 * b7 + y8 * b8 + y9 * b9 + z0 * c0 +
         z1 * c1 + z2 * c2 + z3 * c3 + z4 * c4 + z5 * c5 + z6 * c6 + z7 * c7 +
         z8 * c8 + z9 * c9 + w0 * d0 + w1 * d1 + w2 * d2;
}


x86 assembly (clang, -O0):
<fir32>:
push   %rbp
mov    %rsp,%rbp
movsd  0x1d8(%rbp),%xmm8
movsd  0x1d0(%rbp),%xmm8
movsd  0x1c8(%rbp),%xmm8
movsd  0x1c0(%rbp),%xmm8
movsd  0x1b8(%rbp),%xmm8
movsd  0x1b0(%rbp),%xmm8
movsd  0x1a8(%rbp),%xmm8
movsd  0x1a0(%rbp),%xmm8
movsd  0x198(%rbp),%xmm8
movsd  0x190(%rbp),%xmm8
movsd  0x188(%rbp),%xmm8
movsd  0x180(%rbp),%xmm8
movsd  0x178(%rbp),%xmm8
movsd  0x170(%rbp),%xmm8
movsd  0x168(%rbp),%xmm8
movsd  0x160(%rbp),%xmm8
movsd  0x158(%rbp),%xmm8
movsd  0x150(%rbp),%xmm8
movsd  0x148(%rbp),%xmm8
movsd  0x140(%rbp),%xmm8
movsd  0x138(%rbp),%xmm8
movsd  0x130(%rbp),%xmm8
movsd  0x128(%rbp),%xmm8
movsd  0x120(%rbp),%xmm8
movsd  0x118(%rbp),%xmm8
movsd  0x110(%rbp),%xmm8
movsd  0x108(%rbp),%xmm8
movsd  0x100(%rbp),%xmm8
movsd  0xf8(%rbp),%xmm8
movsd  0xf0(%rbp),%xmm8
movsd  0xe8(%rbp),%xmm8
movsd  0xe0(%rbp),%xmm8
movsd  0xd8(%rbp),%xmm8
movsd  0xd0(%rbp),%xmm8
movsd  0xc8(%rbp),%xmm8
movsd  0xc0(%rbp),%xmm8
movsd  0xb8(%rbp),%xmm8
movsd  0xb0(%rbp),%xmm8
movsd  0xa8(%rbp),%xmm8
movsd  0xa0(%rbp),%xmm8
movsd  0x98(%rbp),%xmm8
movsd  0x90(%rbp),%xmm8
movsd  0x88(%rbp),%xmm8
movsd  0x80(%rbp),%xmm8
movsd  0x78(%rbp),%xmm8
movsd  0x70(%rbp),%xmm8
movsd  0x68(%rbp),%xmm8
movsd  0x60(%rbp),%xmm8
movsd  0x58(%rbp),%xmm8
movsd  0x50(%rbp),%xmm8
movsd  0x48(%rbp),%xmm8
movsd  0x40(%rbp),%xmm8
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  -0x8(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm0
mulsd  -0x20(%rbp),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x28(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x38(%rbp),%xmm1
movsd  -0x40(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x10(%rbp),%xmm0
movsd  0x18(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x20(%rbp),%xmm1
movsd  0x28(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x30(%rbp),%xmm0
movsd  0x38(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x40(%rbp),%xmm1
movsd  0x48(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x50(%rbp),%xmm0
movsd  0x58(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x60(%rbp),%xmm1
movsd  0x68(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x70(%rbp),%xmm0
movsd  0x78(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x80(%rbp),%xmm1
movsd  0x88(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x90(%rbp),%xmm0
movsd  0x98(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xa0(%rbp),%xmm1
movsd  0xa8(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0xb0(%rbp),%xmm0
movsd  0xb8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xc0(%rbp),%xmm1
movsd  0xc8(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0xd0(%rbp),%xmm0
movsd  0xd8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xe0(%rbp),%xmm1
movsd  0xe8(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0xf0(%rbp),%xmm0
movsd  0xf8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x100(%rbp),%xmm1
movsd  0x108(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x110(%rbp),%xmm0
movsd  0x118(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x120(%rbp),%xmm1
movsd  0x128(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x130(%rbp),%xmm0
movsd  0x138(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x140(%rbp),%xmm1
movsd  0x148(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x150(%rbp),%xmm0
movsd  0x158(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x160(%rbp),%xmm1
movsd  0x168(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x170(%rbp),%xmm0
movsd  0x178(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x180(%rbp),%xmm1
movsd  0x188(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x190(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1a0(%rbp),%xmm1
movsd  0x1a8(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x1b0(%rbp),%xmm0
movsd  0x1b8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1c0(%rbp),%xmm1
movsd  0x1c8(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x1d0(%rbp),%xmm0
movsd  0x1d8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
pop    %rbp
ret

x86 assembly (clang, -O2):
<fir32>:
mulsd  %xmm3,%xmm2
mulsd  %xmm1,%xmm0
addsd  %xmm2,%xmm0
mulsd  %xmm5,%xmm4
addsd  %xmm4,%xmm0
mulsd  %xmm7,%xmm6
addsd  %xmm6,%xmm0
movsd  0x8(%rsp),%xmm1
mulsd  0x10(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x18(%rsp),%xmm1
mulsd  0x20(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x28(%rsp),%xmm1
mulsd  0x30(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x38(%rsp),%xmm1
mulsd  0x40(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x48(%rsp),%xmm1
mulsd  0x50(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x58(%rsp),%xmm1
mulsd  0x60(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x68(%rsp),%xmm1
mulsd  0x70(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x78(%rsp),%xmm1
mulsd  0x80(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x88(%rsp),%xmm1
mulsd  0x90(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x98(%rsp),%xmm1
mulsd  0xa0(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0xa8(%rsp),%xmm1
mulsd  0xb0(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0xb8(%rsp),%xmm1
mulsd  0xc0(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0xc8(%rsp),%xmm1
mulsd  0xd0(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0xd8(%rsp),%xmm1
mulsd  0xe0(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0xe8(%rsp),%xmm1
mulsd  0xf0(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0xf8(%rsp),%xmm1
mulsd  0x100(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x108(%rsp),%xmm1
mulsd  0x110(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x118(%rsp),%xmm1
mulsd  0x120(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x128(%rsp),%xmm1
mulsd  0x130(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x138(%rsp),%xmm1
mulsd  0x140(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x148(%rsp),%xmm1
mulsd  0x150(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x158(%rsp),%xmm1
mulsd  0x160(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x168(%rsp),%xmm1
mulsd  0x170(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x178(%rsp),%xmm1
mulsd  0x180(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x188(%rsp),%xmm1
mulsd  0x190(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x198(%rsp),%xmm1
mulsd  0x1a0(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x1a8(%rsp),%xmm1
mulsd  0x1b0(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x1b8(%rsp),%xmm1
mulsd  0x1c0(%rsp),%xmm1
addsd  %xmm1,%xmm0
movsd  0x1c8(%rsp),%xmm1
mulsd  0x1d0(%rsp),%xmm1
addsd  %xmm1,%xmm0
ret

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

LLVM IR (-O2):
define double @fir32(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, double %14, double %15, double %16, double %17, double %18, double %19, double %20, double %21, double %22, double %23, double %24, double %25, double %26, double %27, double %28, double %29, double %30, double %31, double %32, double %33, double %34, double %35, double %36, double %37, double %38, double %39, double %40, double %41, double %42, double %43, double %44, double %45, double %46, double %47, double %48, double %49, double %50, double %51, double %52, double %53, double %54, double %55, double %56, double %57, double %58, double %59, double %60, double %61, double %62, double %63, double %64, double %65) {
%67 = fmul double %2, %3
%68 = tail call double @llvm.fmuladd.f64(double %0, double %1, double %67)
%69 = tail call double @llvm.fmuladd.f64(double %4, double %5, double %68)
%70 = tail call double @llvm.fmuladd.f64(double %6, double %7, double %69)
%71 = tail call double @llvm.fmuladd.f64(double %8, double %9, double %70)
%72 = tail call double @llvm.fmuladd.f64(double %10, double %11, double %71)
%73 = tail call double @llvm.fmuladd.f64(double %12, double %13, double %72)
%74 = tail call double @llvm.fmuladd.f64(double %14, double %15, double %73)
%75 = tail call double @llvm.fmuladd.f64(double %16, double %17, double %74)
%76 = tail call double @llvm.fmuladd.f64(double %18, double %19, double %75)
%77 = tail call double @llvm.fmuladd.f64(double %20, double %21, double %76)
%78 = tail call double @llvm.fmuladd.f64(double %22, double %23, double %77)
%79 = tail call double @llvm.fmuladd.f64(double %24, double %25, double %78)
%80 = tail call double @llvm.fmuladd.f64(double %26, double %27, double %79)
%81 = tail call double @llvm.fmuladd.f64(double %28, double %29, double %80)
%82 = tail call double @llvm.fmuladd.f64(double %30, double %31, double %81)
%83 = tail call double @llvm.fmuladd.f64(double %32, double %33, double %82)
%84 = tail call double @llvm.fmuladd.f64(double %34, double %35, double %83)
%85 = tail call double @llvm.fmuladd.f64(double %36, double %37, double %84)
%86 = tail call double @llvm.fmuladd.f64(double %38, double %39, double %85)
%87 = tail call double @llvm.fmuladd.f64(double %40, double %41, double %86)
%88 = tail call double @llvm.fmuladd.f64(double %42, double %43, double %87)
%89 = tail call double @llvm.fmuladd.f64(double %44, double %45, double %88)
%90 = tail call double @llvm.fmuladd.f64(double %46, double %47, double %89)
%91 = tail call double @llvm.fmuladd.f64(double %48, double %49, double %90)
%92 = tail call double @llvm.fmuladd.f64(double %50, double %51, double %91)
%93 = tail call double @llvm.fmuladd.f64(double %52, double %53, double %92)
%94 = tail call double @llvm.fmuladd.f64(double %54, double %55, double %93)
%95 = tail call double @llvm.fmuladd.f64(double %56, double %57, double %94)
%96 = tail call double @llvm.fmuladd.f64(double %58, double %59, double %95)
%97 = tail call double @llvm.fmuladd.f64(double %60, double %61, double %96)
%98 = tail call double @llvm.fmuladd.f64(double %62, double %63, double %97)
%99 = tail call double @llvm.fmuladd.f64(double %64, double %65, double %98)
ret double %99
}