; LLVM IR from romerojosh/zefr :: src (gimmik_cpu)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nounwind uwtable
define dso_local void @gimmik_mm_cpu_16172576605707918248_b0(i32 noundef %0, ptr noalias noundef %1, i32 noundef %2, ptr noalias noundef %3, i32 noundef %4) #2 {
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca double, align 8
  %12 = alloca i32, align 4
  store i32 %0, ptr %6, align 4, !tbaa !5
  store ptr %1, ptr %7, align 8, !tbaa !9
  store i32 %2, ptr %8, align 4, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !9
  store i32 %4, ptr %10, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #3
  store i32 0, ptr %12, align 4, !tbaa !5
  br label %13

13:                                               ; preds = %9199, %5
  %14 = load i32, ptr %12, align 4, !tbaa !5
  %15 = load i32, ptr %6, align 4, !tbaa !5
  %16 = icmp slt i32 %14, %15
  br i1 %16, label %18, label %17

17:                                               ; preds = %13
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #3
  br label %9202

18:                                               ; preds = %13
  %19 = load ptr, ptr %7, align 8, !tbaa !9
  %20 = load i32, ptr %12, align 4, !tbaa !5
  %21 = load i32, ptr %8, align 4, !tbaa !5
  %22 = mul nsw i32 0, %21
  %23 = add nsw i32 %20, %22
  %24 = sext i32 %23 to i64
  %25 = getelementptr inbounds double, ptr %19, i64 %24
  %26 = load double, ptr %25, align 8, !tbaa !11
  %27 = load ptr, ptr %7, align 8, !tbaa !9
  %28 = load i32, ptr %12, align 4, !tbaa !5
  %29 = load i32, ptr %8, align 4, !tbaa !5
  %30 = mul nsw i32 1, %29
  %31 = add nsw i32 %28, %30
  %32 = sext i32 %31 to i64
  %33 = getelementptr inbounds double, ptr %27, i64 %32
  %34 = load double, ptr %33, align 8, !tbaa !11
  %35 = fmul double 0xBF7DFA2300BBB380, %34
  %36 = call double @llvm.fmuladd.f64(double 0x3FF44E3F94172F46, double %26, double %35)
  %37 = load ptr, ptr %7, align 8, !tbaa !9
  %38 = load i32, ptr %12, align 4, !tbaa !5
  %39 = load i32, ptr %8, align 4, !tbaa !5
  %40 = mul nsw i32 2, %39
  %41 = add nsw i32 %38, %40
  %42 = sext i32 %41 to i64
  %43 = getelementptr inbounds double, ptr %37, i64 %42
  %44 = load double, ptr %43, align 8, !tbaa !11
  %45 = call double @llvm.fmuladd.f64(double 0x3FB9ECDD98127879, double %44, double %36)
  %46 = load ptr, ptr %7, align 8, !tbaa !9
  %47 = load i32, ptr %12, align 4, !tbaa !5
  %48 = load i32, ptr %8, align 4, !tbaa !5
  %49 = mul nsw i32 3, %48
  %50 = add nsw i32 %47, %49
  %51 = sext i32 %50 to i64
  %52 = getelementptr inbounds double, ptr %46, i64 %51
  %53 = load double, ptr %52, align 8, !tbaa !11
  %54 = call double @llvm.fmuladd.f64(double 0xBF83952FC55A7054, double %53, double %45)
  %55 = load ptr, ptr %7, align 8, !tbaa !9
  %56 = load i32, ptr %12, align 4, !tbaa !5
  %57 = load i32, ptr %8, align 4, !tbaa !5
  %58 = mul nsw i32 4, %57
  %59 = add nsw i32 %56, %58
  %60 = sext i32 %59 to i64
  %61 = getelementptr inbounds double, ptr %55, i64 %60
  %62 = load double, ptr %61, align 8, !tbaa !11
  %63 = call double @llvm.fmuladd.f64(double 0xBFE4FBED5D8A9668, double %62, double %54)
  %64 = load ptr, ptr %7, align 8, !tbaa !9
  %65 = load i32, ptr %12, align 4, !tbaa !5
  %66 = load i32, ptr %8, align 4, !tbaa !5
  %67 = mul nsw i32 5, %66
  %68 = add nsw i32 %65, %67
  %69 = sext i32 %68 to i64
  %70 = getelementptr inbounds double, ptr %64, i64 %69
  %71 = load double, ptr %70, align 8, !tbaa !11
  %72 = call double @llvm.fmuladd.f64(double 0x3FD50884576D0BB0, double %71, double %63)
  %73 = load ptr, ptr %7, align 8, !tbaa !9
  %74 = load i32, ptr %12, align 4, !tbaa !5
  %75 = load i32, ptr %8, align 4, !tbaa !5
  %76 = mul nsw i32 6, %75
  %77 = add nsw i32 %74, %76
  %78 = sext i32 %77 to i64
  %79 = getelementptr inbounds double, ptr %73, i64 %78
  %80 = load double, ptr %79, align 8, !tbaa !11
  %81 = call double @llvm.fmuladd.f64(double 0xBC928E0E59CA2667, double %80, double %72)
  %82 = load ptr, ptr %7, align 8, !tbaa !9
  %83 = load i32, ptr %12, align 4, !tbaa !5
  %84 = load i32, ptr %8, align 4, !tbaa !5
  %85 = mul nsw i32 7, %84
  %86 = add nsw i32 %83, %85
  %87 = sext i32 %86 to i64
  %88 = getelementptr inbounds double, ptr %82, i64 %87
  %89 = load double, ptr %88, align 8, !tbaa !11
  %90 = call double @llvm.fmuladd.f64(double 0xBC94747CFD612BCE, double %89, double %81)
  %91 = load ptr, ptr %7, align 8, !tbaa !9
  %92 = load i32, ptr %12, align 4, !tbaa !5
  %93 = load i32, ptr %8, align 4, !tbaa !5
  %94 = mul nsw i32 8, %93
  %95 = add nsw i32 %92, %94
  %96 = sext i32 %95 to i64
  %97 = getelementptr inbounds double, ptr %91, i64 %96
  %98 = load double, ptr %97, align 8, !tbaa !11
  %99 = call double @llvm.fmuladd.f64(double 0x3CA061EEC0843748, double %98, double %90)
  %100 = load ptr, ptr %7, align 8, !tbaa !9
  %101 = load i32, ptr %12, align 4, !tbaa !5
  %102 = load i32, ptr %8, align 4, !tbaa !5
  %103 = mul nsw i32 9, %102
  %104 = add nsw i32 %101, %103
  %105 = sext i32 %104 to i64
  %106 = getelementptr inbounds double, ptr %100, i64 %105
  %107 = load double, ptr %106, align 8, !tbaa !11
  %108 = call double @llvm.fmuladd.f64(double 0x3C88AE5D9980C8A2, double %107, double %99)
  %109 = load ptr, ptr %7, align 8, !tbaa !9
  %110 = load i32, ptr %12, align 4, !tbaa !5
  %111 = load i32, ptr %8, align 4, !tbaa !5
  %112 = mul nsw i32 10, %111
  %113 = add nsw i32 %110, %112
  %114 = sext i32 %113 to i64
  %115 = getelementptr inbounds double, ptr %109, i64 %114
  %116 = load double, ptr %115, align 8, !tbaa !11
  %117 = call double @llvm.fmuladd.f64(double 0xBCBBF3FEED1E8544, double %116, double %108)
  %118 = load ptr, ptr %7, align 8, !tbaa !9
  %119 = load i32, ptr %12, align 4, !tbaa !5
  %120 = load i32, ptr %8, align 4, !tbaa !5
  %121 = mul nsw i32 11, %120
  %122 = add nsw i32 %119, %121
  %123 = sext i32 %122 to i64
  %124 = getelementptr inbounds double, ptr %118, i64 %123
  %125 = load double, ptr %124, align 8, !tbaa !11
  %126 = call double @llvm.fmuladd.f64(double 0x3CB80DDFB4F4FB59, double %125, double %117)
  %127 = load ptr, ptr %7, align 8, !tbaa !9
  %128 = load i32, ptr %12, align 4, !tbaa !5
  %129 = load i32, ptr %8, align 4, !tbaa !5
  %130 = mul nsw i32 12, %129
  %131 = add nsw i32 %128, %130
  %132 = sext i32 %131 to i64
  %133 = getelementptr inbounds double, ptr %127, i64 %132
  %134 = load double, ptr %133, align 8, !tbaa !11
  %135 = call double @llvm.fmuladd.f64(double 0xBC974C72B9C7B6B3, double %134, double %126)
  %136 = load ptr, ptr %7, align 8, !tbaa !9
  %137 = load i32, ptr %12, align 4, !tbaa !5
  %138 = load i32, ptr %8, align 4, !tbaa !5
  %139 = mul nsw i32 13, %138
  %140 = add nsw i32 %137, %139
  %141 = sext i32 %140 to i64
  %142 = getelementptr inbounds double, ptr %136, i64 %141
  %143 = load double, ptr %142, align 8, !tbaa !11
  %144 = call double @llvm.fmuladd.f64(double 0x3C9A3DCEE704C7E6, double %143, double %135)
  %145 = load ptr, ptr %7, align 8, !tbaa !9
  %146 = load i32, ptr %12, align 4, !tbaa !5
  %147 = load i32, ptr %8, align 4, !tbaa !5
  %148 = mul nsw i32 14, %147
  %149 = add nsw i32 %146, %148
  %150 = sext i32 %149 to i64
  %151 = getelementptr inbounds double, ptr %145, i64 %150
  %152 = load double, ptr %151, align 8, !tbaa !11
  %153 = call double @llvm.fmuladd.f64(double 0x3C801C657D225E7F, double %152, double %144)
  %154 = load ptr, ptr %7, align 8, !tbaa !9
  %155 = load i32, ptr %12, align 4, !tbaa !5
  %156 = load i32, ptr %8, align 4, !tbaa !5
  %157 = mul nsw i32 15, %156
  %158 = add nsw i32 %155, %157
  %159 = sext i32 %158 to i64
  %160 = getelementptr inbounds double, ptr %154, i64 %159
  %161 = load double, ptr %160, align 8, !tbaa !11
  %162 = call double @llvm.fmuladd.f64(double 0x3CA10B458BF1192C, double %161, double %153)
  %163 = load ptr, ptr %7, align 8, !tbaa !9
  %164 = load i32, ptr %12, align 4, !tbaa !5
  %165 = load i32, ptr %8, align 4, !tbaa !5
  %166 = mul nsw i32 16, %165
  %167 = add nsw i32 %164, %166
  %168 = sext i32 %167 to i64
  %169 = getelementptr inbounds double, ptr %163, i64 %168
  %170 = load double, ptr %169, align 8, !tbaa !11
  %171 = call double @llvm.fmuladd.f64(double 0x3CAFD6935AE0DBC3, double %170, double %162)
  %172 = load ptr, ptr %7, align 8, !tbaa !9
  %173 = load i32, ptr %12, align 4, !tbaa !5
  %174 = load i32, ptr %8, align 4, !tbaa !5
  %175 = mul nsw i32 17, %174
  %176 = add nsw i32 %173, %175
  %177 = sext i32 %176 to i64
  %178 = getelementptr inbounds double, ptr %172, i64 %177
  %179 = load double, ptr %178, align 8, !tbaa !11
  %180 = call double @llvm.fmuladd.f64(double 0x3CB9FC9AB14C2802, double %179, double %171)
  store double %180, ptr %11, align 8, !tbaa !11
  %181 = load double, ptr %11, align 8, !tbaa !11
  %182 = load ptr, ptr %9, align 8, !tbaa !9
  %183 = load i32, ptr %12, align 4, !tbaa !5
  %184 = load i32, ptr %10, align 4, !tbaa !5
  %185 = mul nsw i32 0, %184
  %186 = add nsw i32 %183, %185
  %187 = sext i32 %186 to i64
  %188 = getelementptr inbounds double, ptr %182, i64 %187
  store double %181, ptr %188, align 8, !tbaa !11
  %189 = load ptr, ptr %7, align 8, !tbaa !9
  %190 = load i32, ptr %12, align 4, !tbaa !5
  %191 = load i32, ptr %8, align 4, !tbaa !5
  %192 = mul nsw i32 0, %191
  %193 = add nsw i32 %190, %192
  %194 = sext i32 %193 to i64
  %195 = getelementptr inbounds double, ptr %189, i64 %194
  %196 = load double, ptr %195, align 8, !tbaa !11
  %197 = load ptr, ptr %7, align 8, !tbaa !9
  %198 = load i32, ptr %12, align 4, !tbaa !5
  %199 = load i32, ptr %8, align 4, !tbaa !5
  %200 = mul nsw i32 1, %199
  %201 = add nsw i32 %198, %200
  %202 = sext i32 %201 to i64
  %203 = getelementptr inbounds double, ptr %197, i64 %202
  %204 = load double, ptr %203, align 8, !tbaa !11
  %205 = fmul double 0xBFE8AC73392375C8, %204
  %206 = call double @llvm.fmuladd.f64(double 0x3FE4EDE8EE25610B, double %196, double %205)
  %207 = load ptr, ptr %7, align 8, !tbaa !9
  %208 = load i32, ptr %12, align 4, !tbaa !5
  %209 = load i32, ptr %8, align 4, !tbaa !5
  %210 = mul nsw i32 2, %209
  %211 = add nsw i32 %208, %210
  %212 = sext i32 %211 to i64
  %213 = getelementptr inbounds double, ptr %207, i64 %212
  %214 = load double, ptr %213, align 8, !tbaa !11
  %215 = call double @llvm.fmuladd.f64(double 0x3FEA5488770B26AC, double %214, double %206)
  %216 = load ptr, ptr %7, align 8, !tbaa !9
  %217 = load i32, ptr %12, align 4, !tbaa !5
  %218 = load i32, ptr %8, align 4, !tbaa !5
  %219 = mul nsw i32 3, %218
  %220 = add nsw i32 %217, %219
  %221 = sext i32 %220 to i64
  %222 = getelementptr inbounds double, ptr %216, i64 %221
  %223 = load double, ptr %222, align 8, !tbaa !11
  %224 = call double @llvm.fmuladd.f64(double 0xBFFEF1F8514C97D0, double %223, double %215)
  %225 = load ptr, ptr %7, align 8, !tbaa !9
  %226 = load i32, ptr %12, align 4, !tbaa !5
  %227 = load i32, ptr %8, align 4, !tbaa !5
  %228 = mul nsw i32 4, %227
  %229 = add nsw i32 %226, %228
  %230 = sext i32 %229 to i64
  %231 = getelementptr inbounds double, ptr %225, i64 %230
  %232 = load double, ptr %231, align 8, !tbaa !11
  %233 = call double @llvm.fmuladd.f64(double 0x3FF44CD742FC94DA, double %232, double %224)
  %234 = load ptr, ptr %7, align 8, !tbaa !9
  %235 = load i32, ptr %12, align 4, !tbaa !5
  %236 = load i32, ptr %8, align 4, !tbaa !5
  %237 = mul nsw i32 5, %236
  %238 = add nsw i32 %235, %237
  %239 = sext i32 %238 to i64
  %240 = getelementptr inbounds double, ptr %234, i64 %239
  %241 = load double, ptr %240, align 8, !tbaa !11
  %242 = call double @llvm.fmuladd.f64(double 0xBFF01B2FE70C118E, double %241, double %233)
  %243 = load ptr, ptr %7, align 8, !tbaa !9
  %244 = load i32, ptr %12, align 4, !tbaa !5
  %245 = load i32, ptr %8, align 4, !tbaa !5
  %246 = mul nsw i32 6, %245
  %247 = add nsw i32 %244, %246
  %248 = sext i32 %247 to i64
  %249 = getelementptr inbounds double, ptr %243, i64 %248
  %250 = load double, ptr %249, align 8, !tbaa !11
  %251 = call double @llvm.fmuladd.f64(double 0xBC5AD58CA8FD5A00, double %250, double %242)
  %252 = load ptr, ptr %7, align 8, !tbaa !9
  %253 = load i32, ptr %12, align 4, !tbaa !5
  %254 = load i32, ptr %8, align 4, !tbaa !5
  %255 = mul nsw i32 7, %254
  %256 = add nsw i32 %253, %255
  %257 = sext i32 %256 to i64
  %258 = getelementptr inbounds double, ptr %252, i64 %257
  %259 = load double, ptr %258, align 8, !tbaa !11
  %260 = call double @llvm.fmuladd.f64(double 0x3CBEB0BE4F96FAE1, double %259, double %251)
  %261 = load ptr, ptr %7, align 8, !tbaa !9
  %262 = load i32, ptr %12, align 4, !tbaa !5
  %263 = load i32, ptr %8, align 4, !tbaa !5
  %264 = mul nsw i32 8, %263
  %265 = add nsw i32 %262, %264
  %266 = sext i32 %265 to i64
  %267 = getelementptr inbounds double, ptr %261, i64 %266
  %268 = load double, ptr %267, align 8, !tbaa !11
  %269 = call double @llvm.fmuladd.f64(double 0x3C84693BAEDA743C, double %268, double %260)
  %270 = load ptr, ptr %7, align 8, !tbaa !9
  %271 = load i32, ptr %12, align 4, !tbaa !5
  %272 = load i32, ptr %8, align 4, !tbaa !5
  %273 = mul nsw i32 9, %272
  %274 = add nsw i32 %271, %273
  %275 = sext i32 %274 to i64
  %276 = getelementptr inbounds double, ptr %270, i64 %275
  %277 = load double, ptr %276, align 8, !tbaa !11
  %278 = call double @llvm.fmuladd.f64(double 0xBCB3ACD3D4ADCCB0, double %277, double %269)
  %279 = load ptr, ptr %7, align 8, !tbaa !9
  %280 = load i32, ptr %12, align 4, !tbaa !5
  %281 = load i32, ptr %8, align 4, !tbaa !5
  %282 = mul nsw i32 10, %281
  %283 = add nsw i32 %280, %282
  %284 = sext i32 %283 to i64
  %285 = getelementptr inbounds double, ptr %279, i64 %284
  %286 = load double, ptr %285, align 8, !tbaa !11
  %287 = call double @llvm.fmuladd.f64(double 0x3CBD77D82F675FE0, double %286, double %278)
  %288 = load ptr, ptr %7, align 8, !tbaa !9
  %289 = load i32, ptr %12, align 4, !tbaa !5
  %290 = load i32, ptr %8, align 4, !tbaa !5
  %291 = mul nsw i32 11, %290
  %292 = add nsw i32 %289, %291
  %293 = sext i32 %292 to i64
  %294 = getelementptr inbounds double, ptr %288, i64 %293
  %295 = load double, ptr %294, align 8, !tbaa !11
  %296 = call double @llvm.fmuladd.f64(double 0xBC765C5FD7E7C60F, double %295, double %287)
  %297 = load ptr, ptr %7, align 8, !tbaa !9
  %298 = load i32, ptr %12, align 4, !tbaa !5
  %299 = load i32, ptr %8, align 4, !tbaa !5
  %300 = mul nsw i32 12, %299
  %301 = add nsw i32 %298, %300
  %302 = sext i32 %301 to i64
  %303 = getelementptr inbounds double, ptr %297, i64 %302
  %304 = load double, ptr %303, align 8, !tbaa !11
  %305 = call double @llvm.fmuladd.f64(double 0x3C9FA9BEC7B2612F, double %304, double %296)
  %306 = load ptr, ptr %7, align 8, !tbaa !9
  %307 = load i32, ptr %12, align 4, !tbaa !5
  %308 = load i32, ptr %8, align 4, !tbaa !5
  %309 = mul nsw i32 13, %308
  %310 = add nsw i32 %307, %309
  %311 = sext i32 %310 to i64
  %312 = getelementptr inbounds double, ptr %306, i64 %311
  %313 = load double, ptr %312, align 8, !tbaa !11
  %314 = call double @llvm.fmuladd.f64(double 0xBCBC8E2E7B422DD9, double %313, double %305)
  %315 = load ptr, ptr %7, align 8, !tbaa !9
  %316 = load i32, ptr %12, align 4, !tbaa !5
  %317 = load i32, ptr %8, align 4, !tbaa !5
  %318 = mul nsw i32 14, %317
  %319 = add nsw i32 %316, %318
  %320 = sext i32 %319 to i64
  %321 = getelementptr inbounds double, ptr %315, i64 %320
  %322 = load double, ptr %321, align 8, !tbaa !11
  %323 = call double @llvm.fmuladd.f64(double 0xBCC878EC8B1B786A, double %322, double %314)
  %324 = load ptr, ptr %7, align 8, !tbaa !9
  %325 = load i32, ptr %12, align 4, !tbaa !5
  %326 = load i32, ptr %8, align 4, !tbaa !5
  %327 = mul nsw i32 15, %326
  %328 = add nsw i32 %325, %327
  %329 = sext i32 %328 to i64
  %330 = getelementptr inbounds double, ptr %324, i64 %329
  %331 = load double, ptr %330, align 8, !tbaa !11
  %332 = call double @llvm.fmuladd.f64(double 0x3CC0FC9E0739BB76, double %331, double %323)
  %333 = load ptr, ptr %7, align 8, !tbaa !9
  %334 = load i32, ptr %12, align 4, !tbaa !5
  %335 = load i32, ptr %8, align 4, !tbaa !5
  %336 = mul nsw i32 16, %335
  %337 = add nsw i32 %334, %336
  %338 = sext i32 %337 to i64
  %339 = getelementptr inbounds double, ptr %333, i64 %338
  %340 = load double, ptr %339, align 8, !tbaa !11
  %341 = call double @llvm.fmuladd.f64(double 0x3CA31E7AC172ACDB, double %340, double %332)
  %342 = load ptr, ptr %7, align 8, !tbaa !9
  %343 = load i32, ptr %12, align 4, !tbaa !5
  %344 = load i32, ptr %8, align 4, !tbaa !5
  %345 = mul nsw i32 17, %344
  %346 = add nsw i32 %343, %345
  %347 = sext i32 %346 to i64
  %348 = getelementptr inbounds double, ptr %342, i64 %347
  %349 = load double, ptr %348, align 8, !tbaa !11
  %350 = call double @llvm.fmuladd.f64(double 0x3C51BA2977E19A60, double %349, double %341)
  store double %350, ptr %11, align 8, !tbaa !11
  %351 = load double, ptr %11, align 8, !tbaa !11
  %352 = load ptr, ptr %9, align 8, !tbaa !9
  %353 = load i32, ptr %12, align 4, !tbaa !5
  %354 = load i32, ptr %10, align 4, !tbaa !5
  %355 = mul nsw i32 1, %354
  %356 = add nsw i32 %353, %355
  %357 = sext i32 %356 to i64
  %358 = getelementptr inbounds double, ptr %352, i64 %357
  store double %351, ptr %358, align 8, !tbaa !11
  %359 = load ptr, ptr %7, align 8, !tbaa !9
  %360 = load i32, ptr %12, align 4, !tbaa !5
  %361 = load i32, ptr %8, align 4, !tbaa !5
  %362 = mul nsw i32 0, %361
  %363 = add nsw i32 %360, %362
  %364 = sext i32 %363 to i64
  %365 = getelementptr inbounds double, ptr %359, i64 %364
  %366 = load double, ptr %365, align 8, !tbaa !11
  %367 = load ptr, ptr %7, align 8, !tbaa !9
  %368 = load i32, ptr %12, align 4, !tbaa !5
  %369 = load i32, ptr %8, align 4, !tbaa !5
  %370 = mul nsw i32 1, %369
  %371 = add nsw i32 %368, %370
  %372 = sext i32 %371 to i64
  %373 = getelementptr inbounds double, ptr %367, i64 %372
  %374 = load double, ptr %373, align 8, !tbaa !11
  %375 = fmul double 0xBFDFFE63E2851783, %374
  %376 = call double @llvm.fmuladd.f64(double 0xBFE1EC4181248AE2, double %366, double %375)
  %377 = load ptr, ptr %7, align 8, !tbaa !9
  %378 = load i32, ptr %12, align 4, !tbaa !5
  %379 = load i32, ptr %8, align 4, !tbaa !5
  %380 = mul nsw i32 2, %379
  %381 = add nsw i32 %378, %380
  %382 = sext i32 %381 to i64
  %383 = getelementptr inbounds double, ptr %377, i64 %382
  %384 = load double, ptr %383, align 8, !tbaa !11
  %385 = call double @llvm.fmuladd.f64(double 0x4000E9CE75C2FBF8, double %384, double %376)
  %386 = load ptr, ptr %7, align 8, !tbaa !9
  %387 = load i32, ptr %12, align 4, !tbaa !5
  %388 = load i32, ptr %8, align 4, !tbaa !5
  %389 = mul nsw i32 3, %388
  %390 = add nsw i32 %387, %389
  %391 = sext i32 %390 to i64
  %392 = getelementptr inbounds double, ptr %386, i64 %391
  %393 = load double, ptr %392, align 8, !tbaa !11
  %394 = call double @llvm.fmuladd.f64(double 0x3FF31D88B253B07F, double %393, double %385)
  %395 = load ptr, ptr %7, align 8, !tbaa !9
  %396 = load i32, ptr %12, align 4, !tbaa !5
  %397 = load i32, ptr %8, align 4, !tbaa !5
  %398 = mul nsw i32 4, %397
  %399 = add nsw i32 %396, %398
  %400 = sext i32 %399 to i64
  %401 = getelementptr inbounds double, ptr %395, i64 %400
  %402 = load double, ptr %401, align 8, !tbaa !11
  %403 = call double @llvm.fmuladd.f64(double 0x3FF2343957F3A8A6, double %402, double %394)
  %404 = load ptr, ptr %7, align 8, !tbaa !9
  %405 = load i32, ptr %12, align 4, !tbaa !5
  %406 = load i32, ptr %8, align 4, !tbaa !5
  %407 = mul nsw i32 5, %406
  %408 = add nsw i32 %405, %407
  %409 = sext i32 %408 to i64
  %410 = getelementptr inbounds double, ptr %404, i64 %409
  %411 = load double, ptr %410, align 8, !tbaa !11
  %412 = call double @llvm.fmuladd.f64(double 0xBFEE712F1EF7D892, double %411, double %403)
  %413 = load ptr, ptr %7, align 8, !tbaa !9
  %414 = load i32, ptr %12, align 4, !tbaa !5
  %415 = load i32, ptr %8, align 4, !tbaa !5
  %416 = mul nsw i32 6, %415
  %417 = add nsw i32 %414, %416
  %418 = sext i32 %417 to i64
  %419 = getelementptr inbounds double, ptr %413, i64 %418
  %420 = load double, ptr %419, align 8, !tbaa !11
  %421 = call double @llvm.fmuladd.f64(double 0x3C7BE455D72E2687, double %420, double %412)
  %422 = load ptr, ptr %7, align 8, !tbaa !9
  %423 = load i32, ptr %12, align 4, !tbaa !5
  %424 = load i32, ptr %8, align 4, !tbaa !5
  %425 = mul nsw i32 7, %424
  %426 = add nsw i32 %423, %425
  %427 = sext i32 %426 to i64
  %428 = getelementptr inbounds double, ptr %422, i64 %427
  %429 = load double, ptr %428, align 8, !tbaa !11
  %430 = call double @llvm.fmuladd.f64(double 0xBCA88EEBBA111342, double %429, double %421)
  %431 = load ptr, ptr %7, align 8, !tbaa !9
  %432 = load i32, ptr %12, align 4, !tbaa !5
  %433 = load i32, ptr %8, align 4, !tbaa !5
  %434 = mul nsw i32 8, %433
  %435 = add nsw i32 %432, %434
  %436 = sext i32 %435 to i64
  %437 = getelementptr inbounds double, ptr %431, i64 %436
  %438 = load double, ptr %437, align 8, !tbaa !11
  %439 = call double @llvm.fmuladd.f64(double 0xBCAAA314368C77EA, double %438, double %430)
  %440 = load ptr, ptr %7, align 8, !tbaa !9
  %441 = load i32, ptr %12, align 4, !tbaa !5
  %442 = load i32, ptr %8, align 4, !tbaa !5
  %443 = mul nsw i32 9, %442
  %444 = add nsw i32 %441, %443
  %445 = sext i32 %444 to i64
  %446 = getelementptr inbounds double, ptr %440, i64 %445
  %447 = load double, ptr %446, align 8, !tbaa !11
  %448 = call double @llvm.fmuladd.f64(double 0xBC89A9C06842F0D3, double %447, double %439)
  %449 = load ptr, ptr %7, align 8, !tbaa !9
  %450 = load i32, ptr %12, align 4, !tbaa !5
  %451 = load i32, ptr %8, align 4, !tbaa !5
  %452 = mul nsw i32 10, %451
  %453 = add nsw i32 %450, %452
  %454 = sext i32 %453 to i64
  %455 = getelementptr inbounds double, ptr %449, i64 %454
  %456 = load double, ptr %455, align 8, !tbaa !11
  %457 = call double @llvm.fmuladd.f64(double 0x3CC01B0CEED92744, double %456, double %448)
  %458 = load ptr, ptr %7, align 8, !tbaa !9
  %459 = load i32, ptr %12, align 4, !tbaa !5
  %460 = load i32, ptr %8, align 4, !tbaa !5
  %461 = mul nsw i32 11, %460
  %462 = add nsw i32 %459, %461
  %463 = sext i32 %462 to i64
  %464 = getelementptr inbounds double, ptr %458, i64 %463
  %465 = load double, ptr %464, align 8, !tbaa !11
  %466 = call double @llvm.fmuladd.f64(double 0xBCB179EA74C658F9, double %465, double %457)
  %467 = load ptr, ptr %7, align 8, !tbaa !9
  %468 = load i32, ptr %12, align 4, !tbaa !5
  %469 = load i32, ptr %8, align 4, !tbaa !5
  %470 = mul nsw i32 12, %469
  %471 = add nsw i32 %468, %470
  %472 = sext i32 %471 to i64
  %473 = getelementptr inbounds double, ptr %467, i64 %472
  %474 = load double, ptr %473, align 8, !tbaa !11
  %475 = call double @llvm.fmuladd.f64(double 0xBCA45DF77990844E, double %474, double %466)
  %476 = load ptr, ptr %7, align 8, !tbaa !9
  %477 = load i32, ptr %12, align 4, !tbaa !5
  %478 = load i32, ptr %8, align 4, !tbaa !5
  %479 = mul nsw i32 13, %478
  %480 = add nsw i32 %477, %479
  %481 = sext i32 %480 to i64
  %482 = getelementptr inbounds double, ptr %476, i64 %481
  %483 = load double, ptr %482, align 8, !tbaa !11
  %484 = call double @llvm.fmuladd.f64(double 0x3CAB464CCF9E9E2D, double %483, double %475)
  %485 = load ptr, ptr %7, align 8, !tbaa !9
  %486 = load i32, ptr %12, align 4, !tbaa !5
  %487 = load i32, ptr %8, align 4, !tbaa !5
  %488 = mul nsw i32 14, %487
  %489 = add nsw i32 %486, %488
  %490 = sext i32 %489 to i64
  %491 = getelementptr inbounds double, ptr %485, i64 %490
  %492 = load double, ptr %491, align 8, !tbaa !11
  %493 = call double @llvm.fmuladd.f64(double 0x3CCC9AD4A6D08D95, double %492, double %484)
  %494 = load ptr, ptr %7, align 8, !tbaa !9
  %495 = load i32, ptr %12, align 4, !tbaa !5
  %496 = load i32, ptr %8, align 4, !tbaa !5
  %497 = mul nsw i32 15, %496
  %498 = add nsw i32 %495, %497
  %499 = sext i32 %498 to i64
  %500 = getelementptr inbounds double, ptr %494, i64 %499
  %501 = load double, ptr %500, align 8, !tbaa !11
  %502 = call double @llvm.fmuladd.f64(double 0x3CB10C6838C95A72, double %501, double %493)
  %503 = load ptr, ptr %7, align 8, !tbaa !9
  %504 = load i32, ptr %12, align 4, !tbaa !5
  %505 = load i32, ptr %8, align 4, !tbaa !5
  %506 = mul nsw i32 16, %505
  %507 = add nsw i32 %504, %506
  %508 = sext i32 %507 to i64
  %509 = getelementptr inbounds double, ptr %503, i64 %508
  %510 = load double, ptr %509, align 8, !tbaa !11
  %511 = call double @llvm.fmuladd.f64(double 0x3CD07012D87C038A, double %510, double %502)
  %512 = load ptr, ptr %7, align 8, !tbaa !9
  %513 = load i32, ptr %12, align 4, !tbaa !5
  %514 = load i32, ptr %8, align 4, !tbaa !5
  %515 = mul nsw i32 17, %514
  %516 = add nsw i32 %513, %515
  %517 = sext i32 %516 to i64
  %518 = getelementptr inbounds double, ptr %512, i64 %517
  %519 = load double, ptr %518, align 8, !tbaa !11
  %520 = call double @llvm.fmuladd.f64(double 0x3CCBC273E408F766, double %519, double %511)
  store double %520, ptr %11, align 8, !tbaa !11
  %521 = load double, ptr %11, align 8, !tbaa !11
  %522 = load ptr, ptr %9, align 8, !tbaa !9
  %523 = load i32, ptr %12, align 4, !tbaa !5
  %524 = load i32, ptr %10, align 4, !tbaa !5
  %525 = mul nsw i32 2, %524
  %526 = add nsw i32 %523, %525
  %527 = sext i32 %526 to i64
  %528 = getelementptr inbounds double, ptr %522, i64 %527
  store double %521, ptr %528, align 8, !tbaa !11
  %529 = load ptr, ptr %7, align 8, !tbaa !9
  %530 = load i32, ptr %12, align 4, !tbaa !5
  %531 = load i32, ptr %8, align 4, !tbaa !5
  %532 = mul nsw i32 0, %531
  %533 = add nsw i32 %530, %532
  %534 = sext i32 %533 to i64
  %535 = getelementptr inbounds double, ptr %529, i64 %534
  %536 = load double, ptr %535, align 8, !tbaa !11
  %537 = load ptr, ptr %7, align 8, !tbaa !9
  %538 = load i32, ptr %12, align 4, !tbaa !5
  %539 = load i32, ptr %8, align 4, !tbaa !5
  %540 = mul nsw i32 1, %539
  %541 = add nsw i32 %538, %540
  %542 = sext i32 %541 to i64
  %543 = getelementptr inbounds double, ptr %537, i64 %542
  %544 = load double, ptr %543, align 8, !tbaa !11
  %545 = fmul double 0x3FF21EFA862DF3DA, %544
  %546 = call double @llvm.fmuladd.f64(double 0xBF734721512AF2F5, double %536, double %545)
  %547 = load ptr, ptr %7, align 8, !tbaa !9
  %548 = load i32, ptr %12, align 4, !tbaa !5
  %549 = load i32, ptr %8, align 4, !tbaa !5
  %550 = mul nsw i32 2, %549
  %551 = add nsw i32 %548, %550
  %552 = sext i32 %551 to i64
  %553 = getelementptr inbounds double, ptr %547, i64 %552
  %554 = load double, ptr %553, align 8, !tbaa !11
  %555 = call double @llvm.fmuladd.f64(double 0xBFF7F19EB1BA88FC, double %554, double %546)
  %556 = load ptr, ptr %7, align 8, !tbaa !9
  %557 = load i32, ptr %12, align 4, !tbaa !5
  %558 = load i32, ptr %8, align 4, !tbaa !5
  %559 = mul nsw i32 3, %558
  %560 = add nsw i32 %557, %559
  %561 = sext i32 %560 to i64
  %562 = getelementptr inbounds double, ptr %556, i64 %561
  %563 = load double, ptr %562, align 8, !tbaa !11
  %564 = call double @llvm.fmuladd.f64(double 0x3FC901A35D55DB4C, double %563, double %555)
  %565 = load ptr, ptr %7, align 8, !tbaa !9
  %566 = load i32, ptr %12, align 4, !tbaa !5
  %567 = load i32, ptr %8, align 4, !tbaa !5
  %568 = mul nsw i32 4, %567
  %569 = add nsw i32 %566, %568
  %570 = sext i32 %569 to i64
  %571 = getelementptr inbounds double, ptr %565, i64 %570
  %572 = load double, ptr %571, align 8, !tbaa !11
  %573 = call double @llvm.fmuladd.f64(double 0xBFF48831FA6C7037, double %572, double %564)
  %574 = load ptr, ptr %7, align 8, !tbaa !9
  %575 = load i32, ptr %12, align 4, !tbaa !5
  %576 = load i32, ptr %8, align 4, !tbaa !5
  %577 = mul nsw i32 5, %576
  %578 = add nsw i32 %575, %577
  %579 = sext i32 %578 to i64
  %580 = getelementptr inbounds double, ptr %574, i64 %579
  %581 = load double, ptr %580, align 8, !tbaa !11
  %582 = call double @llvm.fmuladd.f64(double 0x3FF0AF85DD8BD41B, double %581, double %573)
  %583 = load ptr, ptr %7, align 8, !tbaa !9
  %584 = load i32, ptr %12, align 4, !tbaa !5
  %585 = load i32, ptr %8, align 4, !tbaa !5
  %586 = mul nsw i32 6, %585
  %587 = add nsw i32 %584, %586
  %588 = sext i32 %587 to i64
  %589 = getelementptr inbounds double, ptr %583, i64 %588
  %590 = load double, ptr %589, align 8, !tbaa !11
  %591 = call double @llvm.fmuladd.f64(double 0xBC96DF8829202392, double %590, double %582)
  %592 = load ptr, ptr %7, align 8, !tbaa !9
  %593 = load i32, ptr %12, align 4, !tbaa !5
  %594 = load i32, ptr %8, align 4, !tbaa !5
  %595 = mul nsw i32 7, %594
  %596 = add nsw i32 %593, %595
  %597 = sext i32 %596 to i64
  %598 = getelementptr inbounds double, ptr %592, i64 %597
  %599 = load double, ptr %598, align 8, !tbaa !11
  %600 = call double @llvm.fmuladd.f64(double 0x3C92F08ACDCBF794, double %599, double %591)
  %601 = load ptr, ptr %7, align 8, !tbaa !9
  %602 = load i32, ptr %12, align 4, !tbaa !5
  %603 = load i32, ptr %8, align 4, !tbaa !5
  %604 = mul nsw i32 8, %603
  %605 = add nsw i32 %602, %604
  %606 = sext i32 %605 to i64
  %607 = getelementptr inbounds double, ptr %601, i64 %606
  %608 = load double, ptr %607, align 8, !tbaa !11
  %609 = call double @llvm.fmuladd.f64(double 0x3CA6B48868965AE6, double %608, double %600)
  %610 = load ptr, ptr %7, align 8, !tbaa !9
  %611 = load i32, ptr %12, align 4, !tbaa !5
  %612 = load i32, ptr %8, align 4, !tbaa !5
  %613 = mul nsw i32 9, %612
  %614 = add nsw i32 %611, %613
  %615 = sext i32 %614 to i64
  %616 = getelementptr inbounds double, ptr %610, i64 %615
  %617 = load double, ptr %616, align 8, !tbaa !11
  %618 = call double @llvm.fmuladd.f64(double 0x3CAB6CB918309F4B, double %617, double %609)
  %619 = load ptr, ptr %7, align 8, !tbaa !9
  %620 = load i32, ptr %12, align 4, !tbaa !5
  %621 = load i32, ptr %8, align 4, !tbaa !5
  %622 = mul nsw i32 10, %621
  %623 = add nsw i32 %620, %622
  %624 = sext i32 %623 to i64
  %625 = getelementptr inbounds double, ptr %619, i64 %624
  %626 = load double, ptr %625, align 8, !tbaa !11
  %627 = call double @llvm.fmuladd.f64(double 0xBCB24490C3AF2293, double %626, double %618)
  %628 = load ptr, ptr %7, align 8, !tbaa !9
  %629 = load i32, ptr %12, align 4, !tbaa !5
  %630 = load i32, ptr %8, align 4, !tbaa !5
  %631 = mul nsw i32 11, %630
  %632 = add nsw i32 %629, %631
  %633 = sext i32 %632 to i64
  %634 = getelementptr inbounds double, ptr %628, i64 %633
  %635 = load double, ptr %634, align 8, !tbaa !11
  %636 = call double @llvm.fmuladd.f64(double 0x3C823EC0CF8B6DEB, double %635, double %627)
  %637 = load ptr, ptr %7, align 8, !tbaa !9
  %638 = load i32, ptr %12, align 4, !tbaa !5
  %639 = load i32, ptr %8, align 4, !tbaa !5
  %640 = mul nsw i32 12, %639
  %641 = add nsw i32 %638, %640
  %642 = sext i32 %641 to i64
  %643 = getelementptr inbounds double, ptr %637, i64 %642
  %644 = load double, ptr %643, align 8, !tbaa !11
  %645 = call double @llvm.fmuladd.f64(double 0x3CA72B617C3AF637, double %644, double %636)
  %646 = load ptr, ptr %7, align 8, !tbaa !9
  %647 = load i32, ptr %12, align 4, !tbaa !5
  %648 = load i32, ptr %8, align 4, !tbaa !5
  %649 = mul nsw i32 13, %648
  %650 = add nsw i32 %647, %649
  %651 = sext i32 %650 to i64
  %652 = getelementptr inbounds double, ptr %646, i64 %651
  %653 = load double, ptr %652, align 8, !tbaa !11
  %654 = call double @llvm.fmuladd.f64(double 0x3C9A9EB31390F5C1, double %653, double %645)
  %655 = load ptr, ptr %7, align 8, !tbaa !9
  %656 = load i32, ptr %12, align 4, !tbaa !5
  %657 = load i32, ptr %8, align 4, !tbaa !5
  %658 = mul nsw i32 14, %657
  %659 = add nsw i32 %656, %658
  %660 = sext i32 %659 to i64
  %661 = getelementptr inbounds double, ptr %655, i64 %660
  %662 = load double, ptr %661, align 8, !tbaa !11
  %663 = call double @llvm.fmuladd.f64(double 0x3C9AA22A1570E612, double %662, double %654)
  %664 = load ptr, ptr %7, align 8, !tbaa !9
  %665 = load i32, ptr %12, align 4, !tbaa !5
  %666 = load i32, ptr %8, align 4, !tbaa !5
  %667 = mul nsw i32 15, %666
  %668 = add nsw i32 %665, %667
  %669 = sext i32 %668 to i64
  %670 = getelementptr inbounds double, ptr %664, i64 %669
  %671 = load double, ptr %670, align 8, !tbaa !11
  %672 = call double @llvm.fmuladd.f64(double 0xBCAB65BA103D3215, double %671, double %663)
  %673 = load ptr, ptr %7, align 8, !tbaa !9
  %674 = load i32, ptr %12, align 4, !tbaa !5
  %675 = load i32, ptr %8, align 4, !tbaa !5
  %676 = mul nsw i32 16, %675
  %677 = add nsw i32 %674, %676
  %678 = sext i32 %677 to i64
  %679 = getelementptr inbounds double, ptr %673, i64 %678
  %680 = load double, ptr %679, align 8, !tbaa !11
  %681 = call double @llvm.fmuladd.f64(double 0xBCC22813B0173A2F, double %680, double %672)
  %682 = load ptr, ptr %7, align 8, !tbaa !9
  %683 = load i32, ptr %12, align 4, !tbaa !5
  %684 = load i32, ptr %8, align 4, !tbaa !5
  %685 = mul nsw i32 17, %684
  %686 = add nsw i32 %683, %685
  %687 = sext i32 %686 to i64
  %688 = getelementptr inbounds double, ptr %682, i64 %687
  %689 = load double, ptr %688, align 8, !tbaa !11
  %690 = call double @llvm.fmuladd.f64(double 0xBCB32BFD271CB8D7, double %689, double %681)
  store double %690, ptr %11, align 8, !tbaa !11
  %691 = load double, ptr %11, align 8, !tbaa !11
  %692 = load ptr, ptr %9, align 8, !tbaa !9
  %693 = load i32, ptr %12, align 4, !tbaa !5
  %694 = load i32, ptr %10, align 4, !tbaa !5
  %695 = mul nsw i32 3, %694
  %696 = add nsw i32 %693, %695
  %697 = sext i32 %696 to i64
  %698 = getelementptr inbounds double, ptr %692, i64 %697
  store double %691, ptr %698, align 8, !tbaa !11
  %699 = load ptr, ptr %7, align 8, !tbaa !9
  %700 = load i32, ptr %12, align 4, !tbaa !5
  %701 = load i32, ptr %8, align 4, !tbaa !5
  %702 = mul nsw i32 0, %701
  %703 = add nsw i32 %700, %702
  %704 = sext i32 %703 to i64
  %705 = getelementptr inbounds double, ptr %699, i64 %704
  %706 = load double, ptr %705, align 8, !tbaa !11
  %707 = load ptr, ptr %7, align 8, !tbaa !9
  %708 = load i32, ptr %12, align 4, !tbaa !5
  %709 = load i32, ptr %8, align 4, !tbaa !5
  %710 = mul nsw i32 1, %709
  %711 = add nsw i32 %708, %710
  %712 = sext i32 %711 to i64
  %713 = getelementptr inbounds double, ptr %707, i64 %712
  %714 = load double, ptr %713, align 8, !tbaa !11
  %715 = fmul double 0xBFB17C71DD2D5188, %714
  %716 = call double @llvm.fmuladd.f64(double 0x3FF3237A82AF9EC7, double %706, double %715)
  %717 = load ptr, ptr %7, align 8, !tbaa !9
  %718 = load i32, ptr %12, align 4, !tbaa !5
  %719 = load i32, ptr %8, align 4, !tbaa !5
  %720 = mul nsw i32 2, %719
  %721 = add nsw i32 %718, %720
  %722 = sext i32 %721 to i64
  %723 = getelementptr inbounds double, ptr %717, i64 %722
  %724 = load double, ptr %723, align 8, !tbaa !11
  %725 = call double @llvm.fmuladd.f64(double 0xBF76E8A1969E7200, double %724, double %716)
  %726 = load ptr, ptr %7, align 8, !tbaa !9
  %727 = load i32, ptr %12, align 4, !tbaa !5
  %728 = load i32, ptr %8, align 4, !tbaa !5
  %729 = mul nsw i32 3, %728
  %730 = add nsw i32 %727, %729
  %731 = sext i32 %730 to i64
  %732 = getelementptr inbounds double, ptr %726, i64 %731
  %733 = load double, ptr %732, align 8, !tbaa !11
  %734 = call double @llvm.fmuladd.f64(double 0x3FC179BD32D3DC6F, double %733, double %725)
  %735 = load ptr, ptr %7, align 8, !tbaa !9
  %736 = load i32, ptr %12, align 4, !tbaa !5
  %737 = load i32, ptr %8, align 4, !tbaa !5
  %738 = mul nsw i32 4, %737
  %739 = add nsw i32 %736, %738
  %740 = sext i32 %739 to i64
  %741 = getelementptr inbounds double, ptr %735, i64 %740
  %742 = load double, ptr %741, align 8, !tbaa !11
  %743 = call double @llvm.fmuladd.f64(double 0x3FFBC4AD9C53A55A, double %742, double %734)
  %744 = load ptr, ptr %7, align 8, !tbaa !9
  %745 = load i32, ptr %12, align 4, !tbaa !5
  %746 = load i32, ptr %8, align 4, !tbaa !5
  %747 = mul nsw i32 5, %746
  %748 = add nsw i32 %745, %747
  %749 = sext i32 %748 to i64
  %750 = getelementptr inbounds double, ptr %744, i64 %749
  %751 = load double, ptr %750, align 8, !tbaa !11
  %752 = call double @llvm.fmuladd.f64(double 0x3FF1CA3B98F49426, double %751, double %743)
  %753 = load ptr, ptr %7, align 8, !tbaa !9
  %754 = load i32, ptr %12, align 4, !tbaa !5
  %755 = load i32, ptr %8, align 4, !tbaa !5
  %756 = mul nsw i32 6, %755
  %757 = add nsw i32 %754, %756
  %758 = sext i32 %757 to i64
  %759 = getelementptr inbounds double, ptr %753, i64 %758
  %760 = load double, ptr %759, align 8, !tbaa !11
  %761 = call double @llvm.fmuladd.f64(double 0x3C915D0C18F46953, double %760, double %752)
  %762 = load ptr, ptr %7, align 8, !tbaa !9
  %763 = load i32, ptr %12, align 4, !tbaa !5
  %764 = load i32, ptr %8, align 4, !tbaa !5
  %765 = mul nsw i32 7, %764
  %766 = add nsw i32 %763, %765
  %767 = sext i32 %766 to i64
  %768 = getelementptr inbounds double, ptr %762, i64 %767
  %769 = load double, ptr %768, align 8, !tbaa !11
  %770 = call double @llvm.fmuladd.f64(double 0x3C94D6A0DAC57C7E, double %769, double %761)
  %771 = load ptr, ptr %7, align 8, !tbaa !9
  %772 = load i32, ptr %12, align 4, !tbaa !5
  %773 = load i32, ptr %8, align 4, !tbaa !5
  %774 = mul nsw i32 8, %773
  %775 = add nsw i32 %772, %774
  %776 = sext i32 %775 to i64
  %777 = getelementptr inbounds double, ptr %771, i64 %776
  %778 = load double, ptr %777, align 8, !tbaa !11
  %779 = call double @llvm.fmuladd.f64(double 0xBC84E1D5E41DCEB7, double %778, double %770)
  %780 = load ptr, ptr %7, align 8, !tbaa !9
  %781 = load i32, ptr %12, align 4, !tbaa !5
  %782 = load i32, ptr %8, align 4, !tbaa !5
  %783 = mul nsw i32 9, %782
  %784 = add nsw i32 %781, %783
  %785 = sext i32 %784 to i64
  %786 = getelementptr inbounds double, ptr %780, i64 %785
  %787 = load double, ptr %786, align 8, !tbaa !11
  %788 = call double @llvm.fmuladd.f64(double 0xBC92763F594C57BA, double %787, double %779)
  %789 = load ptr, ptr %7, align 8, !tbaa !9
  %790 = load i32, ptr %12, align 4, !tbaa !5
  %791 = load i32, ptr %8, align 4, !tbaa !5
  %792 = mul nsw i32 10, %791
  %793 = add nsw i32 %790, %792
  %794 = sext i32 %793 to i64
  %795 = getelementptr inbounds double, ptr %789, i64 %794
  %796 = load double, ptr %795, align 8, !tbaa !11
  %797 = call double @llvm.fmuladd.f64(double 0x3CB1F86B771BE422, double %796, double %788)
  %798 = load ptr, ptr %7, align 8, !tbaa !9
  %799 = load i32, ptr %12, align 4, !tbaa !5
  %800 = load i32, ptr %8, align 4, !tbaa !5
  %801 = mul nsw i32 11, %800
  %802 = add nsw i32 %799, %801
  %803 = sext i32 %802 to i64
  %804 = getelementptr inbounds double, ptr %798, i64 %803
  %805 = load double, ptr %804, align 8, !tbaa !11
  %806 = call double @llvm.fmuladd.f64(double 0xBCA498ED43D15DB5, double %805, double %797)
  %807 = load ptr, ptr %7, align 8, !tbaa !9
  %808 = load i32, ptr %12, align 4, !tbaa !5
  %809 = load i32, ptr %8, align 4, !tbaa !5
  %810 = mul nsw i32 12, %809
  %811 = add nsw i32 %808, %810
  %812 = sext i32 %811 to i64
  %813 = getelementptr inbounds double, ptr %807, i64 %812
  %814 = load double, ptr %813, align 8, !tbaa !11
  %815 = call double @llvm.fmuladd.f64(double 0x3C9E56370E4AEF9E, double %814, double %806)
  %816 = load ptr, ptr %7, align 8, !tbaa !9
  %817 = load i32, ptr %12, align 4, !tbaa !5
  %818 = load i32, ptr %8, align 4, !tbaa !5
  %819 = mul nsw i32 13, %818
  %820 = add nsw i32 %817, %819
  %821 = sext i32 %820 to i64
  %822 = getelementptr inbounds double, ptr %816, i64 %821
  %823 = load double, ptr %822, align 8, !tbaa !11
  %824 = call double @llvm.fmuladd.f64(double 0x3C805596DD69B814, double %823, double %815)
  %825 = load ptr, ptr %7, align 8, !tbaa !9
  %826 = load i32, ptr %12, align 4, !tbaa !5
  %827 = load i32, ptr %8, align 4, !tbaa !5
  %828 = mul nsw i32 14, %827
  %829 = add nsw i32 %826, %828
  %830 = sext i32 %829 to i64
  %831 = getelementptr inbounds double, ptr %825, i64 %830
  %832 = load double, ptr %831, align 8, !tbaa !11
  %833 = call double @llvm.fmuladd.f64(double 0x3CA8CCCC07FB5ADE, double %832, double %824)
  %834 = load ptr, ptr %7, align 8, !tbaa !9
  %835 = load i32, ptr %12, align 4, !tbaa !5
  %836 = load i32, ptr %8, align 4, !tbaa !5
  %837 = mul nsw i32 15, %836
  %838 = add nsw i32 %835, %837
  %839 = sext i32 %838 to i64
  %840 = getelementptr inbounds double, ptr %834, i64 %839
  %841 = load double, ptr %840, align 8, !tbaa !11
  %842 = call double @llvm.fmuladd.f64(double 0x3C83675E5BCF4774, double %841, double %833)
  %843 = load ptr, ptr %7, align 8, !tbaa !9
  %844 = load i32, ptr %12, align 4, !tbaa !5
  %845 = load i32, ptr %8, align 4, !tbaa !5
  %846 = mul nsw i32 16, %845
  %847 = add nsw i32 %844, %846
  %848 = sext i32 %847 to i64
  %849 = getelementptr inbounds double, ptr %843, i64 %848
  %850 = load double, ptr %849, align 8, !tbaa !11
  %851 = call double @llvm.fmuladd.f64(double 0x3CC9E7942DEDC84B, double %850, double %842)
  %852 = load ptr, ptr %7, align 8, !tbaa !9
  %853 = load i32, ptr %12, align 4, !tbaa !5
  %854 = load i32, ptr %8, align 4, !tbaa !5
  %855 = mul nsw i32 17, %854
  %856 = add nsw i32 %853, %855
  %857 = sext i32 %856 to i64
  %858 = getelementptr inbounds double, ptr %852, i64 %857
  %859 = load double, ptr %858, align 8, !tbaa !11
  %860 = call double @llvm.fmuladd.f64(double 0x3CA46BAC5B65E036, double %859, double %851)
  store double %860, ptr %11, align 8, !tbaa !11
  %861 = load double, ptr %11, align 8, !tbaa !11
  %862 = load ptr, ptr %9, align 8, !tbaa !9
  %863 = load i32, ptr %12, align 4, !tbaa !5
  %864 = load i32, ptr %10, align 4, !tbaa !5
  %865 = mul nsw i32 4, %864
  %866 = add nsw i32 %863, %865
  %867 = sext i32 %866 to i64
  %868 = getelementptr inbounds double, ptr %862, i64 %867
  store double %861, ptr %868, align 8, !tbaa !11
  %869 = load ptr, ptr %7, align 8, !tbaa !9
  %870 = load i32, ptr %12, align 4, !tbaa !5
  %871 = load i32, ptr %8, align 4, !tbaa !5
  %872 = mul nsw i32 0, %871
  %873 = add nsw i32 %870, %872
  %874 = sext i32 %873 to i64
  %875 = getelementptr inbounds double, ptr %869, i64 %874
  %876 = load double, ptr %875, align 8, !tbaa !11
  %877 = load ptr, ptr %7, align 8, !tbaa !9
  %878 = load i32, ptr %12, align 4, !tbaa !5
  %879 = load i32, ptr %8, align 4, !tbaa !5
  %880 = mul nsw i32 1, %879
  %881 = add nsw i32 %878, %880
  %882 = sext i32 %881 to i64
  %883 = getelementptr inbounds double, ptr %877, i64 %882
  %884 = load double, ptr %883, align 8, !tbaa !11
  %885 = fmul double 0x3FB1F3F0B024DC80, %884
  %886 = call double @llvm.fmuladd.f64(double 0xBFF5B6F7089FF1D1, double %876, double %885)
  %887 = load ptr, ptr %7, align 8, !tbaa !9
  %888 = load i32, ptr %12, align 4, !tbaa !5
  %889 = load i32, ptr %8, align 4, !tbaa !5
  %890 = mul nsw i32 2, %889
  %891 = add nsw i32 %888, %890
  %892 = sext i32 %891 to i64
  %893 = getelementptr inbounds double, ptr %887, i64 %892
  %894 = load double, ptr %893, align 8, !tbaa !11
  %895 = call double @llvm.fmuladd.f64(double 0x3FCCBE3CAE6B6284, double %894, double %886)
  %896 = load ptr, ptr %7, align 8, !tbaa !9
  %897 = load i32, ptr %12, align 4, !tbaa !5
  %898 = load i32, ptr %8, align 4, !tbaa !5
  %899 = mul nsw i32 3, %898
  %900 = add nsw i32 %897, %899
  %901 = sext i32 %900 to i64
  %902 = getelementptr inbounds double, ptr %896, i64 %901
  %903 = load double, ptr %902, align 8, !tbaa !11
  %904 = call double @llvm.fmuladd.f64(double 0xBFD81F8F0CEC60FF, double %903, double %895)
  %905 = load ptr, ptr %7, align 8, !tbaa !9
  %906 = load i32, ptr %12, align 4, !tbaa !5
  %907 = load i32, ptr %8, align 4, !tbaa !5
  %908 = mul nsw i32 4, %907
  %909 = add nsw i32 %906, %908
  %910 = sext i32 %909 to i64
  %911 = getelementptr inbounds double, ptr %905, i64 %910
  %912 = load double, ptr %911, align 8, !tbaa !11
  %913 = call double @llvm.fmuladd.f64(double 0xBFFBA497A89943F3, double %912, double %904)
  %914 = load ptr, ptr %7, align 8, !tbaa !9
  %915 = load i32, ptr %12, align 4, !tbaa !5
  %916 = load i32, ptr %8, align 4, !tbaa !5
  %917 = mul nsw i32 5, %916
  %918 = add nsw i32 %915, %917
  %919 = sext i32 %918 to i64
  %920 = getelementptr inbounds double, ptr %914, i64 %919
  %921 = load double, ptr %920, align 8, !tbaa !11
  %922 = call double @llvm.fmuladd.f64(double 0xBFDC5366E211BE90, double %921, double %913)
  %923 = load ptr, ptr %7, align 8, !tbaa !9
  %924 = load i32, ptr %12, align 4, !tbaa !5
  %925 = load i32, ptr %8, align 4, !tbaa !5
  %926 = mul nsw i32 6, %925
  %927 = add nsw i32 %924, %926
  %928 = sext i32 %927 to i64
  %929 = getelementptr inbounds double, ptr %923, i64 %928
  %930 = load double, ptr %929, align 8, !tbaa !11
  %931 = call double @llvm.fmuladd.f64(double 0xBC96C7DC8DD1684E, double %930, double %922)
  %932 = load ptr, ptr %7, align 8, !tbaa !9
  %933 = load i32, ptr %12, align 4, !tbaa !5
  %934 = load i32, ptr %8, align 4, !tbaa !5
  %935 = mul nsw i32 7, %934
  %936 = add nsw i32 %933, %935
  %937 = sext i32 %936 to i64
  %938 = getelementptr inbounds double, ptr %932, i64 %937
  %939 = load double, ptr %938, align 8, !tbaa !11
  %940 = call double @llvm.fmuladd.f64(double 0x3C950AD45332D6FE, double %939, double %931)
  %941 = load ptr, ptr %7, align 8, !tbaa !9
  %942 = load i32, ptr %12, align 4, !tbaa !5
  %943 = load i32, ptr %8, align 4, !tbaa !5
  %944 = mul nsw i32 8, %943
  %945 = add nsw i32 %942, %944
  %946 = sext i32 %945 to i64
  %947 = getelementptr inbounds double, ptr %941, i64 %946
  %948 = load double, ptr %947, align 8, !tbaa !11
  %949 = call double @llvm.fmuladd.f64(double 0x3C9EB6F29C749A96, double %948, double %940)
  %950 = load ptr, ptr %7, align 8, !tbaa !9
  %951 = load i32, ptr %12, align 4, !tbaa !5
  %952 = load i32, ptr %8, align 4, !tbaa !5
  %953 = mul nsw i32 9, %952
  %954 = add nsw i32 %951, %953
  %955 = sext i32 %954 to i64
  %956 = getelementptr inbounds double, ptr %950, i64 %955
  %957 = load double, ptr %956, align 8, !tbaa !11
  %958 = call double @llvm.fmuladd.f64(double 0xBC6D62BACB47689A, double %957, double %949)
  %959 = load ptr, ptr %7, align 8, !tbaa !9
  %960 = load i32, ptr %12, align 4, !tbaa !5
  %961 = load i32, ptr %8, align 4, !tbaa !5
  %962 = mul nsw i32 10, %961
  %963 = add nsw i32 %960, %962
  %964 = sext i32 %963 to i64
  %965 = getelementptr inbounds double, ptr %959, i64 %964
  %966 = load double, ptr %965, align 8, !tbaa !11
  %967 = call double @llvm.fmuladd.f64(double 0x3CB80BBA9C9EA48A, double %966, double %958)
  %968 = load ptr, ptr %7, align 8, !tbaa !9
  %969 = load i32, ptr %12, align 4, !tbaa !5
  %970 = load i32, ptr %8, align 4, !tbaa !5
  %971 = mul nsw i32 11, %970
  %972 = add nsw i32 %969, %971
  %973 = sext i32 %972 to i64
  %974 = getelementptr inbounds double, ptr %968, i64 %973
  %975 = load double, ptr %974, align 8, !tbaa !11
  %976 = call double @llvm.fmuladd.f64(double 0xBCAB001FD1461890, double %975, double %967)
  %977 = load ptr, ptr %7, align 8, !tbaa !9
  %978 = load i32, ptr %12, align 4, !tbaa !5
  %979 = load i32, ptr %8, align 4, !tbaa !5
  %980 = mul nsw i32 12, %979
  %981 = add nsw i32 %978, %980
  %982 = sext i32 %981 to i64
  %983 = getelementptr inbounds double, ptr %977, i64 %982
  %984 = load double, ptr %983, align 8, !tbaa !11
  %985 = call double @llvm.fmuladd.f64(double 0xBC9681DA589F9E72, double %984, double %976)
  %986 = load ptr, ptr %7, align 8, !tbaa !9
  %987 = load i32, ptr %12, align 4, !tbaa !5
  %988 = load i32, ptr %8, align 4, !tbaa !5
  %989 = mul nsw i32 13, %988
  %990 = add nsw i32 %987, %989
  %991 = sext i32 %990 to i64
  %992 = getelementptr inbounds double, ptr %986, i64 %991
  %993 = load double, ptr %992, align 8, !tbaa !11
  %994 = call double @llvm.fmuladd.f64(double 0xBC827123784CF602, double %993, double %985)
  %995 = load ptr, ptr %7, align 8, !tbaa !9
  %996 = load i32, ptr %12, align 4, !tbaa !5
  %997 = load i32, ptr %8, align 4, !tbaa !5
  %998 = mul nsw i32 14, %997
  %999 = add nsw i32 %996, %998
  %1000 = sext i32 %999 to i64
  %1001 = getelementptr inbounds double, ptr %995, i64 %1000
  %1002 = load double, ptr %1001, align 8, !tbaa !11
  %1003 = call double @llvm.fmuladd.f64(double 0xBCAE4BA60AE12274, double %1002, double %994)
  %1004 = load ptr, ptr %7, align 8, !tbaa !9
  %1005 = load i32, ptr %12, align 4, !tbaa !5
  %1006 = load i32, ptr %8, align 4, !tbaa !5
  %1007 = mul nsw i32 15, %1006
  %1008 = add nsw i32 %1005, %1007
  %1009 = sext i32 %1008 to i64
  %1010 = getelementptr inbounds double, ptr %1004, i64 %1009
  %1011 = load double, ptr %1010, align 8, !tbaa !11
  %1012 = call double @llvm.fmuladd.f64(double 0xBC78B38170BB85D3, double %1011, double %1003)
  %1013 = load ptr, ptr %7, align 8, !tbaa !9
  %1014 = load i32, ptr %12, align 4, !tbaa !5
  %1015 = load i32, ptr %8, align 4, !tbaa !5
  %1016 = mul nsw i32 16, %1015
  %1017 = add nsw i32 %1014, %1016
  %1018 = sext i32 %1017 to i64
  %1019 = getelementptr inbounds double, ptr %1013, i64 %1018
  %1020 = load double, ptr %1019, align 8, !tbaa !11
  %1021 = call double @llvm.fmuladd.f64(double 0xBCB30DECEA2D8A5E, double %1020, double %1012)
  %1022 = load ptr, ptr %7, align 8, !tbaa !9
  %1023 = load i32, ptr %12, align 4, !tbaa !5
  %1024 = load i32, ptr %8, align 4, !tbaa !5
  %1025 = mul nsw i32 17, %1024
  %1026 = add nsw i32 %1023, %1025
  %1027 = sext i32 %1026 to i64
  %1028 = getelementptr inbounds double, ptr %1022, i64 %1027
  %1029 = load double, ptr %1028, align 8, !tbaa !11
  %1030 = call double @llvm.fmuladd.f64(double 0xBCB4601E7CBDEFAF, double %1029, double %1021)
  store double %1030, ptr %11, align 8, !tbaa !11
  %1031 = load double, ptr %11, align 8, !tbaa !11
  %1032 = load ptr, ptr %9, align 8, !tbaa !9
  %1033 = load i32, ptr %12, align 4, !tbaa !5
  %1034 = load i32, ptr %10, align 4, !tbaa !5
  %1035 = mul nsw i32 5, %1034
  %1036 = add nsw i32 %1033, %1035
  %1037 = sext i32 %1036 to i64
  %1038 = getelementptr inbounds double, ptr %1032, i64 %1037
  store double %1031, ptr %1038, align 8, !tbaa !11
  %1039 = load ptr, ptr %7, align 8, !tbaa !9
  %1040 = load i32, ptr %12, align 4, !tbaa !5
  %1041 = load i32, ptr %8, align 4, !tbaa !5
  %1042 = mul nsw i32 0, %1041
  %1043 = add nsw i32 %1040, %1042
  %1044 = sext i32 %1043 to i64
  %1045 = getelementptr inbounds double, ptr %1039, i64 %1044
  %1046 = load double, ptr %1045, align 8, !tbaa !11
  %1047 = load ptr, ptr %7, align 8, !tbaa !9
  %1048 = load i32, ptr %12, align 4, !tbaa !5
  %1049 = load i32, ptr %8, align 4, !tbaa !5
  %1050 = mul nsw i32 1, %1049
  %1051 = add nsw i32 %1048, %1050
  %1052 = sext i32 %1051 to i64
  %1053 = getelementptr inbounds double, ptr %1047, i64 %1052
  %1054 = load double, ptr %1053, align 8, !tbaa !11
  %1055 = fmul double 0xBC8AF16F6DD6B170, %1054
  %1056 = call double @llvm.fmuladd.f64(double 0xBCAFA91475A2DE60, double %1046, double %1055)
  %1057 = load ptr, ptr %7, align 8, !tbaa !9
  %1058 = load i32, ptr %12, align 4, !tbaa !5
  %1059 = load i32, ptr %8, align 4, !tbaa !5
  %1060 = mul nsw i32 2, %1059
  %1061 = add nsw i32 %1058, %1060
  %1062 = sext i32 %1061 to i64
  %1063 = getelementptr inbounds double, ptr %1057, i64 %1062
  %1064 = load double, ptr %1063, align 8, !tbaa !11
  %1065 = call double @llvm.fmuladd.f64(double 0xBC97CD2320F06FBC, double %1064, double %1056)
  %1066 = load ptr, ptr %7, align 8, !tbaa !9
  %1067 = load i32, ptr %12, align 4, !tbaa !5
  %1068 = load i32, ptr %8, align 4, !tbaa !5
  %1069 = mul nsw i32 3, %1068
  %1070 = add nsw i32 %1067, %1069
  %1071 = sext i32 %1070 to i64
  %1072 = getelementptr inbounds double, ptr %1066, i64 %1071
  %1073 = load double, ptr %1072, align 8, !tbaa !11
  %1074 = call double @llvm.fmuladd.f64(double 0x3C912517F7A39056, double %1073, double %1065)
  %1075 = load ptr, ptr %7, align 8, !tbaa !9
  %1076 = load i32, ptr %12, align 4, !tbaa !5
  %1077 = load i32, ptr %8, align 4, !tbaa !5
  %1078 = mul nsw i32 4, %1077
  %1079 = add nsw i32 %1076, %1078
  %1080 = sext i32 %1079 to i64
  %1081 = getelementptr inbounds double, ptr %1075, i64 %1080
  %1082 = load double, ptr %1081, align 8, !tbaa !11
  %1083 = call double @llvm.fmuladd.f64(double 0x3CA26D18C495E068, double %1082, double %1074)
  %1084 = load ptr, ptr %7, align 8, !tbaa !9
  %1085 = load i32, ptr %12, align 4, !tbaa !5
  %1086 = load i32, ptr %8, align 4, !tbaa !5
  %1087 = mul nsw i32 5, %1086
  %1088 = add nsw i32 %1085, %1087
  %1089 = sext i32 %1088 to i64
  %1090 = getelementptr inbounds double, ptr %1084, i64 %1089
  %1091 = load double, ptr %1090, align 8, !tbaa !11
  %1092 = call double @llvm.fmuladd.f64(double 0x3C5FA39DC354EAFF, double %1091, double %1083)
  %1093 = load ptr, ptr %7, align 8, !tbaa !9
  %1094 = load i32, ptr %12, align 4, !tbaa !5
  %1095 = load i32, ptr %8, align 4, !tbaa !5
  %1096 = mul nsw i32 6, %1095
  %1097 = add nsw i32 %1094, %1096
  %1098 = sext i32 %1097 to i64
  %1099 = getelementptr inbounds double, ptr %1093, i64 %1098
  %1100 = load double, ptr %1099, align 8, !tbaa !11
  %1101 = call double @llvm.fmuladd.f64(double 0x3FF44E3F94172F46, double %1100, double %1092)
  %1102 = load ptr, ptr %7, align 8, !tbaa !9
  %1103 = load i32, ptr %12, align 4, !tbaa !5
  %1104 = load i32, ptr %8, align 4, !tbaa !5
  %1105 = mul nsw i32 7, %1104
  %1106 = add nsw i32 %1103, %1105
  %1107 = sext i32 %1106 to i64
  %1108 = getelementptr inbounds double, ptr %1102, i64 %1107
  %1109 = load double, ptr %1108, align 8, !tbaa !11
  %1110 = call double @llvm.fmuladd.f64(double 0xBF7DFA2300BBB500, double %1109, double %1101)
  %1111 = load ptr, ptr %7, align 8, !tbaa !9
  %1112 = load i32, ptr %12, align 4, !tbaa !5
  %1113 = load i32, ptr %8, align 4, !tbaa !5
  %1114 = mul nsw i32 8, %1113
  %1115 = add nsw i32 %1112, %1114
  %1116 = sext i32 %1115 to i64
  %1117 = getelementptr inbounds double, ptr %1111, i64 %1116
  %1118 = load double, ptr %1117, align 8, !tbaa !11
  %1119 = call double @llvm.fmuladd.f64(double 0x3FB9ECDD9812789D, double %1118, double %1110)
  %1120 = load ptr, ptr %7, align 8, !tbaa !9
  %1121 = load i32, ptr %12, align 4, !tbaa !5
  %1122 = load i32, ptr %8, align 4, !tbaa !5
  %1123 = mul nsw i32 9, %1122
  %1124 = add nsw i32 %1121, %1123
  %1125 = sext i32 %1124 to i64
  %1126 = getelementptr inbounds double, ptr %1120, i64 %1125
  %1127 = load double, ptr %1126, align 8, !tbaa !11
  %1128 = call double @llvm.fmuladd.f64(double 0xBF83952FC55A7034, double %1127, double %1119)
  %1129 = load ptr, ptr %7, align 8, !tbaa !9
  %1130 = load i32, ptr %12, align 4, !tbaa !5
  %1131 = load i32, ptr %8, align 4, !tbaa !5
  %1132 = mul nsw i32 10, %1131
  %1133 = add nsw i32 %1130, %1132
  %1134 = sext i32 %1133 to i64
  %1135 = getelementptr inbounds double, ptr %1129, i64 %1134
  %1136 = load double, ptr %1135, align 8, !tbaa !11
  %1137 = call double @llvm.fmuladd.f64(double 0xBFE4FBED5D8A9668, double %1136, double %1128)
  %1138 = load ptr, ptr %7, align 8, !tbaa !9
  %1139 = load i32, ptr %12, align 4, !tbaa !5
  %1140 = load i32, ptr %8, align 4, !tbaa !5
  %1141 = mul nsw i32 11, %1140
  %1142 = add nsw i32 %1139, %1141
  %1143 = sext i32 %1142 to i64
  %1144 = getelementptr inbounds double, ptr %1138, i64 %1143
  %1145 = load double, ptr %1144, align 8, !tbaa !11
  %1146 = call double @llvm.fmuladd.f64(double 0x3FD50884576D0BC1, double %1145, double %1137)
  %1147 = load ptr, ptr %7, align 8, !tbaa !9
  %1148 = load i32, ptr %12, align 4, !tbaa !5
  %1149 = load i32, ptr %8, align 4, !tbaa !5
  %1150 = mul nsw i32 12, %1149
  %1151 = add nsw i32 %1148, %1150
  %1152 = sext i32 %1151 to i64
  %1153 = getelementptr inbounds double, ptr %1147, i64 %1152
  %1154 = load double, ptr %1153, align 8, !tbaa !11
  %1155 = call double @llvm.fmuladd.f64(double 0x3CA5CAE36F1C5AB0, double %1154, double %1146)
  %1156 = load ptr, ptr %7, align 8, !tbaa !9
  %1157 = load i32, ptr %12, align 4, !tbaa !5
  %1158 = load i32, ptr %8, align 4, !tbaa !5
  %1159 = mul nsw i32 13, %1158
  %1160 = add nsw i32 %1157, %1159
  %1161 = sext i32 %1160 to i64
  %1162 = getelementptr inbounds double, ptr %1156, i64 %1161
  %1163 = load double, ptr %1162, align 8, !tbaa !11
  %1164 = call double @llvm.fmuladd.f64(double 0x3C7C91DEC9976F2B, double %1163, double %1155)
  %1165 = load ptr, ptr %7, align 8, !tbaa !9
  %1166 = load i32, ptr %12, align 4, !tbaa !5
  %1167 = load i32, ptr %8, align 4, !tbaa !5
  %1168 = mul nsw i32 14, %1167
  %1169 = add nsw i32 %1166, %1168
  %1170 = sext i32 %1169 to i64
  %1171 = getelementptr inbounds double, ptr %1165, i64 %1170
  %1172 = load double, ptr %1171, align 8, !tbaa !11
  %1173 = call double @llvm.fmuladd.f64(double 0x3C9CA3E3D7BB8328, double %1172, double %1164)
  %1174 = load ptr, ptr %7, align 8, !tbaa !9
  %1175 = load i32, ptr %12, align 4, !tbaa !5
  %1176 = load i32, ptr %8, align 4, !tbaa !5
  %1177 = mul nsw i32 15, %1176
  %1178 = add nsw i32 %1175, %1177
  %1179 = sext i32 %1178 to i64
  %1180 = getelementptr inbounds double, ptr %1174, i64 %1179
  %1181 = load double, ptr %1180, align 8, !tbaa !11
  %1182 = call double @llvm.fmuladd.f64(double 0xBC6B4399CAA6ADB0, double %1181, double %1173)
  %1183 = load ptr, ptr %7, align 8, !tbaa !9
  %1184 = load i32, ptr %12, align 4, !tbaa !5
  %1185 = load i32, ptr %8, align 4, !tbaa !5
  %1186 = mul nsw i32 16, %1185
  %1187 = add nsw i32 %1184, %1186
  %1188 = sext i32 %1187 to i64
  %1189 = getelementptr inbounds double, ptr %1183, i64 %1188
  %1190 = load double, ptr %1189, align 8, !tbaa !11
  %1191 = call double @llvm.fmuladd.f64(double 0x3C6E67AB5FEF02FF, double %1190, double %1182)
  %1192 = load ptr, ptr %7, align 8, !tbaa !9
  %1193 = load i32, ptr %12, align 4, !tbaa !5
  %1194 = load i32, ptr %8, align 4, !tbaa !5
  %1195 = mul nsw i32 17, %1194
  %1196 = add nsw i32 %1193, %1195
  %1197 = sext i32 %1196 to i64
  %1198 = getelementptr inbounds double, ptr %1192, i64 %1197
  %1199 = load double, ptr %1198, align 8, !tbaa !11
  %1200 = call double @llvm.fmuladd.f64(double 0x3C9BAD7EA815E448, double %1199, double %1191)
  store double %1200, ptr %11, align 8, !tbaa !11
  %1201 = load double, ptr %11, align 8, !tbaa !11
  %1202 = load ptr, ptr %9, align 8, !tbaa !9
  %1203 = load i32, ptr %12, align 4, !tbaa !5
  %1204 = load i32, ptr %10, align 4, !tbaa !5
  %1205 = mul nsw i32 6, %1204
  %1206 = add nsw i32 %1203, %1205
  %1207 = sext i32 %1206 to i64
  %1208 = getelementptr inbounds double, ptr %1202, i64 %1207
  store double %1201, ptr %1208, align 8, !tbaa !11
  %1209 = load ptr, ptr %7, align 8, !tbaa !9
  %1210 = load i32, ptr %12, align 4, !tbaa !5
  %1211 = load i32, ptr %8, align 4, !tbaa !5
  %1212 = mul nsw i32 0, %1211
  %1213 = add nsw i32 %1210, %1212
  %1214 = sext i32 %1213 to i64
  %1215 = getelementptr inbounds double, ptr %1209, i64 %1214
  %1216 = load double, ptr %1215, align 8, !tbaa !11
  %1217 = load ptr, ptr %7, align 8, !tbaa !9
  %1218 = load i32, ptr %12, align 4, !tbaa !5
  %1219 = load i32, ptr %8, align 4, !tbaa !5
  %1220 = mul nsw i32 1, %1219
  %1221 = add nsw i32 %1218, %1220
  %1222 = sext i32 %1221 to i64
  %1223 = getelementptr inbounds double, ptr %1217, i64 %1222
  %1224 = load double, ptr %1223, align 8, !tbaa !11
  %1225 = fmul double 0x3CB24802BB25DFAC, %1224
  %1226 = call double @llvm.fmuladd.f64(double 0x3CA733637AD25B8E, double %1216, double %1225)
  %1227 = load ptr, ptr %7, align 8, !tbaa !9
  %1228 = load i32, ptr %12, align 4, !tbaa !5
  %1229 = load i32, ptr %8, align 4, !tbaa !5
  %1230 = mul nsw i32 2, %1229
  %1231 = add nsw i32 %1228, %1230
  %1232 = sext i32 %1231 to i64
  %1233 = getelementptr inbounds double, ptr %1227, i64 %1232
  %1234 = load double, ptr %1233, align 8, !tbaa !11
  %1235 = call double @llvm.fmuladd.f64(double 0xBC9FC7EA1CC30EE8, double %1234, double %1226)
  %1236 = load ptr, ptr %7, align 8, !tbaa !9
  %1237 = load i32, ptr %12, align 4, !tbaa !5
  %1238 = load i32, ptr %8, align 4, !tbaa !5
  %1239 = mul nsw i32 3, %1238
  %1240 = add nsw i32 %1237, %1239
  %1241 = sext i32 %1240 to i64
  %1242 = getelementptr inbounds double, ptr %1236, i64 %1241
  %1243 = load double, ptr %1242, align 8, !tbaa !11
  %1244 = call double @llvm.fmuladd.f64(double 0xBCB44A60DE6828AB, double %1243, double %1235)
  %1245 = load ptr, ptr %7, align 8, !tbaa !9
  %1246 = load i32, ptr %12, align 4, !tbaa !5
  %1247 = load i32, ptr %8, align 4, !tbaa !5
  %1248 = mul nsw i32 4, %1247
  %1249 = add nsw i32 %1246, %1248
  %1250 = sext i32 %1249 to i64
  %1251 = getelementptr inbounds double, ptr %1245, i64 %1250
  %1252 = load double, ptr %1251, align 8, !tbaa !11
  %1253 = call double @llvm.fmuladd.f64(double 0xBCB000D696902285, double %1252, double %1244)
  %1254 = load ptr, ptr %7, align 8, !tbaa !9
  %1255 = load i32, ptr %12, align 4, !tbaa !5
  %1256 = load i32, ptr %8, align 4, !tbaa !5
  %1257 = mul nsw i32 5, %1256
  %1258 = add nsw i32 %1255, %1257
  %1259 = sext i32 %1258 to i64
  %1260 = getelementptr inbounds double, ptr %1254, i64 %1259
  %1261 = load double, ptr %1260, align 8, !tbaa !11
  %1262 = call double @llvm.fmuladd.f64(double 0xBCA826233EF25B10, double %1261, double %1253)
  %1263 = load ptr, ptr %7, align 8, !tbaa !9
  %1264 = load i32, ptr %12, align 4, !tbaa !5
  %1265 = load i32, ptr %8, align 4, !tbaa !5
  %1266 = mul nsw i32 6, %1265
  %1267 = add nsw i32 %1264, %1266
  %1268 = sext i32 %1267 to i64
  %1269 = getelementptr inbounds double, ptr %1263, i64 %1268
  %1270 = load double, ptr %1269, align 8, !tbaa !11
  %1271 = call double @llvm.fmuladd.f64(double 0x3FE4EDE8EE25610A, double %1270, double %1262)
  %1272 = load ptr, ptr %7, align 8, !tbaa !9
  %1273 = load i32, ptr %12, align 4, !tbaa !5
  %1274 = load i32, ptr %8, align 4, !tbaa !5
  %1275 = mul nsw i32 7, %1274
  %1276 = add nsw i32 %1273, %1275
  %1277 = sext i32 %1276 to i64
  %1278 = getelementptr inbounds double, ptr %1272, i64 %1277
  %1279 = load double, ptr %1278, align 8, !tbaa !11
  %1280 = call double @llvm.fmuladd.f64(double 0xBFE8AC73392375C0, double %1279, double %1271)
  %1281 = load ptr, ptr %7, align 8, !tbaa !9
  %1282 = load i32, ptr %12, align 4, !tbaa !5
  %1283 = load i32, ptr %8, align 4, !tbaa !5
  %1284 = mul nsw i32 8, %1283
  %1285 = add nsw i32 %1282, %1284
  %1286 = sext i32 %1285 to i64
  %1287 = getelementptr inbounds double, ptr %1281, i64 %1286
  %1288 = load double, ptr %1287, align 8, !tbaa !11
  %1289 = call double @llvm.fmuladd.f64(double 0x3FEA5488770B26A9, double %1288, double %1280)
  %1290 = load ptr, ptr %7, align 8, !tbaa !9
  %1291 = load i32, ptr %12, align 4, !tbaa !5
  %1292 = load i32, ptr %8, align 4, !tbaa !5
  %1293 = mul nsw i32 9, %1292
  %1294 = add nsw i32 %1291, %1293
  %1295 = sext i32 %1294 to i64
  %1296 = getelementptr inbounds double, ptr %1290, i64 %1295
  %1297 = load double, ptr %1296, align 8, !tbaa !11
  %1298 = call double @llvm.fmuladd.f64(double 0xBFFEF1F8514C97D0, double %1297, double %1289)
  %1299 = load ptr, ptr %7, align 8, !tbaa !9
  %1300 = load i32, ptr %12, align 4, !tbaa !5
  %1301 = load i32, ptr %8, align 4, !tbaa !5
  %1302 = mul nsw i32 10, %1301
  %1303 = add nsw i32 %1300, %1302
  %1304 = sext i32 %1303 to i64
  %1305 = getelementptr inbounds double, ptr %1299, i64 %1304
  %1306 = load double, ptr %1305, align 8, !tbaa !11
  %1307 = call double @llvm.fmuladd.f64(double 0x3FF44CD742FC94DF, double %1306, double %1298)
  %1308 = load ptr, ptr %7, align 8, !tbaa !9
  %1309 = load i32, ptr %12, align 4, !tbaa !5
  %1310 = load i32, ptr %8, align 4, !tbaa !5
  %1311 = mul nsw i32 11, %1310
  %1312 = add nsw i32 %1309, %1311
  %1313 = sext i32 %1312 to i64
  %1314 = getelementptr inbounds double, ptr %1308, i64 %1313
  %1315 = load double, ptr %1314, align 8, !tbaa !11
  %1316 = call double @llvm.fmuladd.f64(double 0xBFF01B2FE70C118E, double %1315, double %1307)
  %1317 = load ptr, ptr %7, align 8, !tbaa !9
  %1318 = load i32, ptr %12, align 4, !tbaa !5
  %1319 = load i32, ptr %8, align 4, !tbaa !5
  %1320 = mul nsw i32 12, %1319
  %1321 = add nsw i32 %1318, %1320
  %1322 = sext i32 %1321 to i64
  %1323 = getelementptr inbounds double, ptr %1317, i64 %1322
  %1324 = load double, ptr %1323, align 8, !tbaa !11
  %1325 = call double @llvm.fmuladd.f64(double 0xBCBA0032ABCB100C, double %1324, double %1316)
  %1326 = load ptr, ptr %7, align 8, !tbaa !9
  %1327 = load i32, ptr %12, align 4, !tbaa !5
  %1328 = load i32, ptr %8, align 4, !tbaa !5
  %1329 = mul nsw i32 13, %1328
  %1330 = add nsw i32 %1327, %1329
  %1331 = sext i32 %1330 to i64
  %1332 = getelementptr inbounds double, ptr %1326, i64 %1331
  %1333 = load double, ptr %1332, align 8, !tbaa !11
  %1334 = call double @llvm.fmuladd.f64(double 0x3CBC200ECF3E06E7, double %1333, double %1325)
  %1335 = load ptr, ptr %7, align 8, !tbaa !9
  %1336 = load i32, ptr %12, align 4, !tbaa !5
  %1337 = load i32, ptr %8, align 4, !tbaa !5
  %1338 = mul nsw i32 14, %1337
  %1339 = add nsw i32 %1336, %1338
  %1340 = sext i32 %1339 to i64
  %1341 = getelementptr inbounds double, ptr %1335, i64 %1340
  %1342 = load double, ptr %1341, align 8, !tbaa !11
  %1343 = call double @llvm.fmuladd.f64(double 0xBCBDCFF9DD802CEF, double %1342, double %1334)
  %1344 = load ptr, ptr %7, align 8, !tbaa !9
  %1345 = load i32, ptr %12, align 4, !tbaa !5
  %1346 = load i32, ptr %8, align 4, !tbaa !5
  %1347 = mul nsw i32 15, %1346
  %1348 = add nsw i32 %1345, %1347
  %1349 = sext i32 %1348 to i64
  %1350 = getelementptr inbounds double, ptr %1344, i64 %1349
  %1351 = load double, ptr %1350, align 8, !tbaa !11
  %1352 = call double @llvm.fmuladd.f64(double 0xBC68F31986A4E76E, double %1351, double %1343)
  %1353 = load ptr, ptr %7, align 8, !tbaa !9
  %1354 = load i32, ptr %12, align 4, !tbaa !5
  %1355 = load i32, ptr %8, align 4, !tbaa !5
  %1356 = mul nsw i32 16, %1355
  %1357 = add nsw i32 %1354, %1356
  %1358 = sext i32 %1357 to i64
  %1359 = getelementptr inbounds double, ptr %1353, i64 %1358
  %1360 = load double, ptr %1359, align 8, !tbaa !11
  %1361 = call double @llvm.fmuladd.f64(double 0x3CBB2800A30A8EA4, double %1360, double %1352)
  %1362 = load ptr, ptr %7, align 8, !tbaa !9
  %1363 = load i32, ptr %12, align 4, !tbaa !5
  %1364 = load i32, ptr %8, align 4, !tbaa !5
  %1365 = mul nsw i32 17, %1364
  %1366 = add nsw i32 %1363, %1365
  %1367 = sext i32 %1366 to i64
  %1368 = getelementptr inbounds double, ptr %1362, i64 %1367
  %1369 = load double, ptr %1368, align 8, !tbaa !11
  %1370 = call double @llvm.fmuladd.f64(double 0x3CC423B95478E8B3, double %1369, double %1361)
  store double %1370, ptr %11, align 8, !tbaa !11
  %1371 = load double, ptr %11, align 8, !tbaa !11
  %1372 = load ptr, ptr %9, align 8, !tbaa !9
  %1373 = load i32, ptr %12, align 4, !tbaa !5
  %1374 = load i32, ptr %10, align 4, !tbaa !5
  %1375 = mul nsw i32 7, %1374
  %1376 = add nsw i32 %1373, %1375
  %1377 = sext i32 %1376 to i64
  %1378 = getelementptr inbounds double, ptr %1372, i64 %1377
  store double %1371, ptr %1378, align 8, !tbaa !11
  %1379 = load ptr, ptr %7, align 8, !tbaa !9
  %1380 = load i32, ptr %12, align 4, !tbaa !5
  %1381 = load i32, ptr %8, align 4, !tbaa !5
  %1382 = mul nsw i32 0, %1381
  %1383 = add nsw i32 %1380, %1382
  %1384 = sext i32 %1383 to i64
  %1385 = getelementptr inbounds double, ptr %1379, i64 %1384
  %1386 = load double, ptr %1385, align 8, !tbaa !11
  %1387 = load ptr, ptr %7, align 8, !tbaa !9
  %1388 = load i32, ptr %12, align 4, !tbaa !5
  %1389 = load i32, ptr %8, align 4, !tbaa !5
  %1390 = mul nsw i32 1, %1389
  %1391 = add nsw i32 %1388, %1390
  %1392 = sext i32 %1391 to i64
  %1393 = getelementptr inbounds double, ptr %1387, i64 %1392
  %1394 = load double, ptr %1393, align 8, !tbaa !11
  %1395 = fmul double 0xBCA303E7E9D23CFA, %1394
  %1396 = call double @llvm.fmuladd.f64(double 0x3C8FBBBF8479477C, double %1386, double %1395)
  %1397 = load ptr, ptr %7, align 8, !tbaa !9
  %1398 = load i32, ptr %12, align 4, !tbaa !5
  %1399 = load i32, ptr %8, align 4, !tbaa !5
  %1400 = mul nsw i32 2, %1399
  %1401 = add nsw i32 %1398, %1400
  %1402 = sext i32 %1401 to i64
  %1403 = getelementptr inbounds double, ptr %1397, i64 %1402
  %1404 = load double, ptr %1403, align 8, !tbaa !11
  %1405 = call double @llvm.fmuladd.f64(double 0x3C7502E6070E6BC0, double %1404, double %1396)
  %1406 = load ptr, ptr %7, align 8, !tbaa !9
  %1407 = load i32, ptr %12, align 4, !tbaa !5
  %1408 = load i32, ptr %8, align 4, !tbaa !5
  %1409 = mul nsw i32 3, %1408
  %1410 = add nsw i32 %1407, %1409
  %1411 = sext i32 %1410 to i64
  %1412 = getelementptr inbounds double, ptr %1406, i64 %1411
  %1413 = load double, ptr %1412, align 8, !tbaa !11
  %1414 = call double @llvm.fmuladd.f64(double 0x3CBF2499CB50E496, double %1413, double %1405)
  %1415 = load ptr, ptr %7, align 8, !tbaa !9
  %1416 = load i32, ptr %12, align 4, !tbaa !5
  %1417 = load i32, ptr %8, align 4, !tbaa !5
  %1418 = mul nsw i32 4, %1417
  %1419 = add nsw i32 %1416, %1418
  %1420 = sext i32 %1419 to i64
  %1421 = getelementptr inbounds double, ptr %1415, i64 %1420
  %1422 = load double, ptr %1421, align 8, !tbaa !11
  %1423 = call double @llvm.fmuladd.f64(double 0xBCB18E75707CAEC2, double %1422, double %1414)
  %1424 = load ptr, ptr %7, align 8, !tbaa !9
  %1425 = load i32, ptr %12, align 4, !tbaa !5
  %1426 = load i32, ptr %8, align 4, !tbaa !5
  %1427 = mul nsw i32 5, %1426
  %1428 = add nsw i32 %1425, %1427
  %1429 = sext i32 %1428 to i64
  %1430 = getelementptr inbounds double, ptr %1424, i64 %1429
  %1431 = load double, ptr %1430, align 8, !tbaa !11
  %1432 = call double @llvm.fmuladd.f64(double 0xBC957EB0C0D32A92, double %1431, double %1423)
  %1433 = load ptr, ptr %7, align 8, !tbaa !9
  %1434 = load i32, ptr %12, align 4, !tbaa !5
  %1435 = load i32, ptr %8, align 4, !tbaa !5
  %1436 = mul nsw i32 6, %1435
  %1437 = add nsw i32 %1434, %1436
  %1438 = sext i32 %1437 to i64
  %1439 = getelementptr inbounds double, ptr %1433, i64 %1438
  %1440 = load double, ptr %1439, align 8, !tbaa !11
  %1441 = call double @llvm.fmuladd.f64(double 0xBFE1EC4181248ADF, double %1440, double %1432)
  %1442 = load ptr, ptr %7, align 8, !tbaa !9
  %1443 = load i32, ptr %12, align 4, !tbaa !5
  %1444 = load i32, ptr %8, align 4, !tbaa !5
  %1445 = mul nsw i32 7, %1444
  %1446 = add nsw i32 %1443, %1445
  %1447 = sext i32 %1446 to i64
  %1448 = getelementptr inbounds double, ptr %1442, i64 %1447
  %1449 = load double, ptr %1448, align 8, !tbaa !11
  %1450 = call double @llvm.fmuladd.f64(double 0xBFDFFE63E285177B, double %1449, double %1441)
  %1451 = load ptr, ptr %7, align 8, !tbaa !9
  %1452 = load i32, ptr %12, align 4, !tbaa !5
  %1453 = load i32, ptr %8, align 4, !tbaa !5
  %1454 = mul nsw i32 8, %1453
  %1455 = add nsw i32 %1452, %1454
  %1456 = sext i32 %1455 to i64
  %1457 = getelementptr inbounds double, ptr %1451, i64 %1456
  %1458 = load double, ptr %1457, align 8, !tbaa !11
  %1459 = call double @llvm.fmuladd.f64(double 0x4000E9CE75C2FBF6, double %1458, double %1450)
  %1460 = load ptr, ptr %7, align 8, !tbaa !9
  %1461 = load i32, ptr %12, align 4, !tbaa !5
  %1462 = load i32, ptr %8, align 4, !tbaa !5
  %1463 = mul nsw i32 9, %1462
  %1464 = add nsw i32 %1461, %1463
  %1465 = sext i32 %1464 to i64
  %1466 = getelementptr inbounds double, ptr %1460, i64 %1465
  %1467 = load double, ptr %1466, align 8, !tbaa !11
  %1468 = call double @llvm.fmuladd.f64(double 0x3FF31D88B253B084, double %1467, double %1459)
  %1469 = load ptr, ptr %7, align 8, !tbaa !9
  %1470 = load i32, ptr %12, align 4, !tbaa !5
  %1471 = load i32, ptr %8, align 4, !tbaa !5
  %1472 = mul nsw i32 10, %1471
  %1473 = add nsw i32 %1470, %1472
  %1474 = sext i32 %1473 to i64
  %1475 = getelementptr inbounds double, ptr %1469, i64 %1474
  %1476 = load double, ptr %1475, align 8, !tbaa !11
  %1477 = call double @llvm.fmuladd.f64(double 0x3FF2343957F3A8AA, double %1476, double %1468)
  %1478 = load ptr, ptr %7, align 8, !tbaa !9
  %1479 = load i32, ptr %12, align 4, !tbaa !5
  %1480 = load i32, ptr %8, align 4, !tbaa !5
  %1481 = mul nsw i32 11, %1480
  %1482 = add nsw i32 %1479, %1481
  %1483 = sext i32 %1482 to i64
  %1484 = getelementptr inbounds double, ptr %1478, i64 %1483
  %1485 = load double, ptr %1484, align 8, !tbaa !11
  %1486 = call double @llvm.fmuladd.f64(double 0xBFEE712F1EF7D896, double %1485, double %1477)
  %1487 = load ptr, ptr %7, align 8, !tbaa !9
  %1488 = load i32, ptr %12, align 4, !tbaa !5
  %1489 = load i32, ptr %8, align 4, !tbaa !5
  %1490 = mul nsw i32 12, %1489
  %1491 = add nsw i32 %1488, %1490
  %1492 = sext i32 %1491 to i64
  %1493 = getelementptr inbounds double, ptr %1487, i64 %1492
  %1494 = load double, ptr %1493, align 8, !tbaa !11
  %1495 = call double @llvm.fmuladd.f64(double 0xBCC00C78C6295034, double %1494, double %1486)
  %1496 = load ptr, ptr %7, align 8, !tbaa !9
  %1497 = load i32, ptr %12, align 4, !tbaa !5
  %1498 = load i32, ptr %8, align 4, !tbaa !5
  %1499 = mul nsw i32 13, %1498
  %1500 = add nsw i32 %1497, %1499
  %1501 = sext i32 %1500 to i64
  %1502 = getelementptr inbounds double, ptr %1496, i64 %1501
  %1503 = load double, ptr %1502, align 8, !tbaa !11
  %1504 = call double @llvm.fmuladd.f64(double 0xBCA515E72A62BD71, double %1503, double %1495)
  %1505 = load ptr, ptr %7, align 8, !tbaa !9
  %1506 = load i32, ptr %12, align 4, !tbaa !5
  %1507 = load i32, ptr %8, align 4, !tbaa !5
  %1508 = mul nsw i32 14, %1507
  %1509 = add nsw i32 %1506, %1508
  %1510 = sext i32 %1509 to i64
  %1511 = getelementptr inbounds double, ptr %1505, i64 %1510
  %1512 = load double, ptr %1511, align 8, !tbaa !11
  %1513 = call double @llvm.fmuladd.f64(double 0xBCC440052B0B6591, double %1512, double %1504)
  %1514 = load ptr, ptr %7, align 8, !tbaa !9
  %1515 = load i32, ptr %12, align 4, !tbaa !5
  %1516 = load i32, ptr %8, align 4, !tbaa !5
  %1517 = mul nsw i32 15, %1516
  %1518 = add nsw i32 %1515, %1517
  %1519 = sext i32 %1518 to i64
  %1520 = getelementptr inbounds double, ptr %1514, i64 %1519
  %1521 = load double, ptr %1520, align 8, !tbaa !11
  %1522 = call double @llvm.fmuladd.f64(double 0x3CB5037F708D2B40, double %1521, double %1513)
  %1523 = load ptr, ptr %7, align 8, !tbaa !9
  %1524 = load i32, ptr %12, align 4, !tbaa !5
  %1525 = load i32, ptr %8, align 4, !tbaa !5
  %1526 = mul nsw i32 16, %1525
  %1527 = add nsw i32 %1524, %1526
  %1528 = sext i32 %1527 to i64
  %1529 = getelementptr inbounds double, ptr %1523, i64 %1528
  %1530 = load double, ptr %1529, align 8, !tbaa !11
  %1531 = call double @llvm.fmuladd.f64(double 0x3CC9C5D37CDA2F2D, double %1530, double %1522)
  %1532 = load ptr, ptr %7, align 8, !tbaa !9
  %1533 = load i32, ptr %12, align 4, !tbaa !5
  %1534 = load i32, ptr %8, align 4, !tbaa !5
  %1535 = mul nsw i32 17, %1534
  %1536 = add nsw i32 %1533, %1535
  %1537 = sext i32 %1536 to i64
  %1538 = getelementptr inbounds double, ptr %1532, i64 %1537
  %1539 = load double, ptr %1538, align 8, !tbaa !11
  %1540 = call double @llvm.fmuladd.f64(double 0x3CCF6C49D3A9D98C, double %1539, double %1531)
  store double %1540, ptr %11, align 8, !tbaa !11
  %1541 = load double, ptr %11, align 8, !tbaa !11
  %1542 = load ptr, ptr %9, align 8, !tbaa !9
  %1543 = load i32, ptr %12, align 4, !tbaa !5
  %1544 = load i32, ptr %10, align 4, !tbaa !5
  %1545 = mul nsw i32 8, %1544
  %1546 = add nsw i32 %1543, %1545
  %1547 = sext i32 %1546 to i64
  %1548 = getelementptr inbounds double, ptr %1542, i64 %1547
  store double %1541, ptr %1548, align 8, !tbaa !11
  %1549 = load ptr, ptr %7, align 8, !tbaa !9
  %1550 = load i32, ptr %12, align 4, !tbaa !5
  %1551 = load i32, ptr %8, align 4, !tbaa !5
  %1552 = mul nsw i32 0, %1551
  %1553 = add nsw i32 %1550, %1552
  %1554 = sext i32 %1553 to i64
  %1555 = getelementptr inbounds double, ptr %1549, i64 %1554
  %1556 = load double, ptr %1555, align 8, !tbaa !11
  %1557 = load ptr, ptr %7, align 8, !tbaa !9
  %1558 = load i32, ptr %12, align 4, !tbaa !5
  %1559 = load i32, ptr %8, align 4, !tbaa !5
  %1560 = mul nsw i32 1, %1559
  %1561 = add nsw i32 %1558, %1560
  %1562 = sext i32 %1561 to i64
  %1563 = getelementptr inbounds double, ptr %1557, i64 %1562
  %1564 = load double, ptr %1563, align 8, !tbaa !11
  %1565 = fmul double 0xBC83FC569180EE60, %1564
  %1566 = call double @llvm.fmuladd.f64(double 0xBC8EA5ADFAA929A6, double %1556, double %1565)
  %1567 = load ptr, ptr %7, align 8, !tbaa !9
  %1568 = load i32, ptr %12, align 4, !tbaa !5
  %1569 = load i32, ptr %8, align 4, !tbaa !5
  %1570 = mul nsw i32 2, %1569
  %1571 = add nsw i32 %1568, %1570
  %1572 = sext i32 %1571 to i64
  %1573 = getelementptr inbounds double, ptr %1567, i64 %1572
  %1574 = load double, ptr %1573, align 8, !tbaa !11
  %1575 = call double @llvm.fmuladd.f64(double 0xBC6E3A78632E1596, double %1574, double %1566)
  %1576 = load ptr, ptr %7, align 8, !tbaa !9
  %1577 = load i32, ptr %12, align 4, !tbaa !5
  %1578 = load i32, ptr %8, align 4, !tbaa !5
  %1579 = mul nsw i32 3, %1578
  %1580 = add nsw i32 %1577, %1579
  %1581 = sext i32 %1580 to i64
  %1582 = getelementptr inbounds double, ptr %1576, i64 %1581
  %1583 = load double, ptr %1582, align 8, !tbaa !11
  %1584 = call double @llvm.fmuladd.f64(double 0xBC83A74A36148518, double %1583, double %1575)
  %1585 = load ptr, ptr %7, align 8, !tbaa !9
  %1586 = load i32, ptr %12, align 4, !tbaa !5
  %1587 = load i32, ptr %8, align 4, !tbaa !5
  %1588 = mul nsw i32 4, %1587
  %1589 = add nsw i32 %1586, %1588
  %1590 = sext i32 %1589 to i64
  %1591 = getelementptr inbounds double, ptr %1585, i64 %1590
  %1592 = load double, ptr %1591, align 8, !tbaa !11
  %1593 = call double @llvm.fmuladd.f64(double 0x3CB564D90EDE042E, double %1592, double %1584)
  %1594 = load ptr, ptr %7, align 8, !tbaa !9
  %1595 = load i32, ptr %12, align 4, !tbaa !5
  %1596 = load i32, ptr %8, align 4, !tbaa !5
  %1597 = mul nsw i32 5, %1596
  %1598 = add nsw i32 %1595, %1597
  %1599 = sext i32 %1598 to i64
  %1600 = getelementptr inbounds double, ptr %1594, i64 %1599
  %1601 = load double, ptr %1600, align 8, !tbaa !11
  %1602 = call double @llvm.fmuladd.f64(double 0x3C989B6B8C34D144, double %1601, double %1593)
  %1603 = load ptr, ptr %7, align 8, !tbaa !9
  %1604 = load i32, ptr %12, align 4, !tbaa !5
  %1605 = load i32, ptr %8, align 4, !tbaa !5
  %1606 = mul nsw i32 6, %1605
  %1607 = add nsw i32 %1604, %1606
  %1608 = sext i32 %1607 to i64
  %1609 = getelementptr inbounds double, ptr %1603, i64 %1608
  %1610 = load double, ptr %1609, align 8, !tbaa !11
  %1611 = call double @llvm.fmuladd.f64(double 0xBF734721512AF3A0, double %1610, double %1602)
  %1612 = load ptr, ptr %7, align 8, !tbaa !9
  %1613 = load i32, ptr %12, align 4, !tbaa !5
  %1614 = load i32, ptr %8, align 4, !tbaa !5
  %1615 = mul nsw i32 7, %1614
  %1616 = add nsw i32 %1613, %1615
  %1617 = sext i32 %1616 to i64
  %1618 = getelementptr inbounds double, ptr %1612, i64 %1617
  %1619 = load double, ptr %1618, align 8, !tbaa !11
  %1620 = call double @llvm.fmuladd.f64(double 0x3FF21EFA862DF3DE, double %1619, double %1611)
  %1621 = load ptr, ptr %7, align 8, !tbaa !9
  %1622 = load i32, ptr %12, align 4, !tbaa !5
  %1623 = load i32, ptr %8, align 4, !tbaa !5
  %1624 = mul nsw i32 8, %1623
  %1625 = add nsw i32 %1622, %1624
  %1626 = sext i32 %1625 to i64
  %1627 = getelementptr inbounds double, ptr %1621, i64 %1626
  %1628 = load double, ptr %1627, align 8, !tbaa !11
  %1629 = call double @llvm.fmuladd.f64(double 0xBFF7F19EB1BA88FC, double %1628, double %1620)
  %1630 = load ptr, ptr %7, align 8, !tbaa !9
  %1631 = load i32, ptr %12, align 4, !tbaa !5
  %1632 = load i32, ptr %8, align 4, !tbaa !5
  %1633 = mul nsw i32 9, %1632
  %1634 = add nsw i32 %1631, %1633
  %1635 = sext i32 %1634 to i64
  %1636 = getelementptr inbounds double, ptr %1630, i64 %1635
  %1637 = load double, ptr %1636, align 8, !tbaa !11
  %1638 = call double @llvm.fmuladd.f64(double 0x3FC901A35D55DB50, double %1637, double %1629)
  %1639 = load ptr, ptr %7, align 8, !tbaa !9
  %1640 = load i32, ptr %12, align 4, !tbaa !5
  %1641 = load i32, ptr %8, align 4, !tbaa !5
  %1642 = mul nsw i32 10, %1641
  %1643 = add nsw i32 %1640, %1642
  %1644 = sext i32 %1643 to i64
  %1645 = getelementptr inbounds double, ptr %1639, i64 %1644
  %1646 = load double, ptr %1645, align 8, !tbaa !11
  %1647 = call double @llvm.fmuladd.f64(double 0xBFF48831FA6C703B, double %1646, double %1638)
  %1648 = load ptr, ptr %7, align 8, !tbaa !9
  %1649 = load i32, ptr %12, align 4, !tbaa !5
  %1650 = load i32, ptr %8, align 4, !tbaa !5
  %1651 = mul nsw i32 11, %1650
  %1652 = add nsw i32 %1649, %1651
  %1653 = sext i32 %1652 to i64
  %1654 = getelementptr inbounds double, ptr %1648, i64 %1653
  %1655 = load double, ptr %1654, align 8, !tbaa !11
  %1656 = call double @llvm.fmuladd.f64(double 0x3FF0AF85DD8BD41B, double %1655, double %1647)
  %1657 = load ptr, ptr %7, align 8, !tbaa !9
  %1658 = load i32, ptr %12, align 4, !tbaa !5
  %1659 = load i32, ptr %8, align 4, !tbaa !5
  %1660 = mul nsw i32 12, %1659
  %1661 = add nsw i32 %1658, %1660
  %1662 = sext i32 %1661 to i64
  %1663 = getelementptr inbounds double, ptr %1657, i64 %1662
  %1664 = load double, ptr %1663, align 8, !tbaa !11
  %1665 = call double @llvm.fmuladd.f64(double 0x3CC3E8D573A56FAD, double %1664, double %1656)
  %1666 = load ptr, ptr %7, align 8, !tbaa !9
  %1667 = load i32, ptr %12, align 4, !tbaa !5
  %1668 = load i32, ptr %8, align 4, !tbaa !5
  %1669 = mul nsw i32 13, %1668
  %1670 = add nsw i32 %1667, %1669
  %1671 = sext i32 %1670 to i64
  %1672 = getelementptr inbounds double, ptr %1666, i64 %1671
  %1673 = load double, ptr %1672, align 8, !tbaa !11
  %1674 = call double @llvm.fmuladd.f64(double 0x3C8C4729A9EC58BF, double %1673, double %1665)
  %1675 = load ptr, ptr %7, align 8, !tbaa !9
  %1676 = load i32, ptr %12, align 4, !tbaa !5
  %1677 = load i32, ptr %8, align 4, !tbaa !5
  %1678 = mul nsw i32 14, %1677
  %1679 = add nsw i32 %1676, %1678
  %1680 = sext i32 %1679 to i64
  %1681 = getelementptr inbounds double, ptr %1675, i64 %1680
  %1682 = load double, ptr %1681, align 8, !tbaa !11
  %1683 = call double @llvm.fmuladd.f64(double 0x3CC336335C2A4C90, double %1682, double %1674)
  %1684 = load ptr, ptr %7, align 8, !tbaa !9
  %1685 = load i32, ptr %12, align 4, !tbaa !5
  %1686 = load i32, ptr %8, align 4, !tbaa !5
  %1687 = mul nsw i32 15, %1686
  %1688 = add nsw i32 %1685, %1687
  %1689 = sext i32 %1688 to i64
  %1690 = getelementptr inbounds double, ptr %1684, i64 %1689
  %1691 = load double, ptr %1690, align 8, !tbaa !11
  %1692 = call double @llvm.fmuladd.f64(double 0xBC914F26788AF5CD, double %1691, double %1683)
  %1693 = load ptr, ptr %7, align 8, !tbaa !9
  %1694 = load i32, ptr %12, align 4, !tbaa !5
  %1695 = load i32, ptr %8, align 4, !tbaa !5
  %1696 = mul nsw i32 16, %1695
  %1697 = add nsw i32 %1694, %1696
  %1698 = sext i32 %1697 to i64
  %1699 = getelementptr inbounds double, ptr %1693, i64 %1698
  %1700 = load double, ptr %1699, align 8, !tbaa !11
  %1701 = call double @llvm.fmuladd.f64(double 0xBCC3337EE9A65CF0, double %1700, double %1692)
  %1702 = load ptr, ptr %7, align 8, !tbaa !9
  %1703 = load i32, ptr %12, align 4, !tbaa !5
  %1704 = load i32, ptr %8, align 4, !tbaa !5
  %1705 = mul nsw i32 17, %1704
  %1706 = add nsw i32 %1703, %1705
  %1707 = sext i32 %1706 to i64
  %1708 = getelementptr inbounds double, ptr %1702, i64 %1707
  %1709 = load double, ptr %1708, align 8, !tbaa !11
  %1710 = call double @llvm.fmuladd.f64(double 0xBCCB8879EF13718A, double %1709, double %1701)
  store double %1710, ptr %11, align 8, !tbaa !11
  %1711 = load double, ptr %11, align 8, !tbaa !11
  %1712 = load ptr, ptr %9, align 8, !tbaa !9
  %1713 = load i32, ptr %12, align 4, !tbaa !5
  %1714 = load i32, ptr %10, align 4, !tbaa !5
  %1715 = mul nsw i32 9, %1714
  %1716 = add nsw i32 %1713, %1715
  %1717 = sext i32 %1716 to i64
  %1718 = getelementptr inbounds double, ptr %1712, i64 %1717
  store double %1711, ptr %1718, align 8, !tbaa !11
  %1719 = load ptr, ptr %7, align 8, !tbaa !9
  %1720 = load i32, ptr %12, align 4, !tbaa !5
  %1721 = load i32, ptr %8, align 4, !tbaa !5
  %1722 = mul nsw i32 0, %1721
  %1723 = add nsw i32 %1720, %1722
  %1724 = sext i32 %1723 to i64
  %1725 = getelementptr inbounds double, ptr %1719, i64 %1724
  %1726 = load double, ptr %1725, align 8, !tbaa !11
  %1727 = load ptr, ptr %7, align 8, !tbaa !9
  %1728 = load i32, ptr %12, align 4, !tbaa !5
  %1729 = load i32, ptr %8, align 4, !tbaa !5
  %1730 = mul nsw i32 1, %1729
  %1731 = add nsw i32 %1728, %1730
  %1732 = sext i32 %1731 to i64
  %1733 = getelementptr inbounds double, ptr %1727, i64 %1732
  %1734 = load double, ptr %1733, align 8, !tbaa !11
  %1735 = fmul double 0x3C97B483C42BAB7C, %1734
  %1736 = call double @llvm.fmuladd.f64(double 0xBCC3A93C9AD8BA3A, double %1726, double %1735)
  %1737 = load ptr, ptr %7, align 8, !tbaa !9
  %1738 = load i32, ptr %12, align 4, !tbaa !5
  %1739 = load i32, ptr %8, align 4, !tbaa !5
  %1740 = mul nsw i32 2, %1739
  %1741 = add nsw i32 %1738, %1740
  %1742 = sext i32 %1741 to i64
  %1743 = getelementptr inbounds double, ptr %1737, i64 %1742
  %1744 = load double, ptr %1743, align 8, !tbaa !11
  %1745 = call double @llvm.fmuladd.f64(double 0x3C71B9B8F47F3248, double %1744, double %1736)
  %1746 = load ptr, ptr %7, align 8, !tbaa !9
  %1747 = load i32, ptr %12, align 4, !tbaa !5
  %1748 = load i32, ptr %8, align 4, !tbaa !5
  %1749 = mul nsw i32 3, %1748
  %1750 = add nsw i32 %1747, %1749
  %1751 = sext i32 %1750 to i64
  %1752 = getelementptr inbounds double, ptr %1746, i64 %1751
  %1753 = load double, ptr %1752, align 8, !tbaa !11
  %1754 = call double @llvm.fmuladd.f64(double 0xBC80C8CA734909F4, double %1753, double %1745)
  %1755 = load ptr, ptr %7, align 8, !tbaa !9
  %1756 = load i32, ptr %12, align 4, !tbaa !5
  %1757 = load i32, ptr %8, align 4, !tbaa !5
  %1758 = mul nsw i32 4, %1757
  %1759 = add nsw i32 %1756, %1758
  %1760 = sext i32 %1759 to i64
  %1761 = getelementptr inbounds double, ptr %1755, i64 %1760
  %1762 = load double, ptr %1761, align 8, !tbaa !11
  %1763 = call double @llvm.fmuladd.f64(double 0x3C9558F6282D8B0C, double %1762, double %1754)
  %1764 = load ptr, ptr %7, align 8, !tbaa !9
  %1765 = load i32, ptr %12, align 4, !tbaa !5
  %1766 = load i32, ptr %8, align 4, !tbaa !5
  %1767 = mul nsw i32 5, %1766
  %1768 = add nsw i32 %1765, %1767
  %1769 = sext i32 %1768 to i64
  %1770 = getelementptr inbounds double, ptr %1764, i64 %1769
  %1771 = load double, ptr %1770, align 8, !tbaa !11
  %1772 = call double @llvm.fmuladd.f64(double 0xBCA238E1A865FF56, double %1771, double %1763)
  %1773 = load ptr, ptr %7, align 8, !tbaa !9
  %1774 = load i32, ptr %12, align 4, !tbaa !5
  %1775 = load i32, ptr %8, align 4, !tbaa !5
  %1776 = mul nsw i32 6, %1775
  %1777 = add nsw i32 %1774, %1776
  %1778 = sext i32 %1777 to i64
  %1779 = getelementptr inbounds double, ptr %1773, i64 %1778
  %1780 = load double, ptr %1779, align 8, !tbaa !11
  %1781 = call double @llvm.fmuladd.f64(double 0x3FF3237A82AF9ECC, double %1780, double %1772)
  %1782 = load ptr, ptr %7, align 8, !tbaa !9
  %1783 = load i32, ptr %12, align 4, !tbaa !5
  %1784 = load i32, ptr %8, align 4, !tbaa !5
  %1785 = mul nsw i32 7, %1784
  %1786 = add nsw i32 %1783, %1785
  %1787 = sext i32 %1786 to i64
  %1788 = getelementptr inbounds double, ptr %1782, i64 %1787
  %1789 = load double, ptr %1788, align 8, !tbaa !11
  %1790 = call double @llvm.fmuladd.f64(double 0xBFB17C71DD2D5180, double %1789, double %1781)
  %1791 = load ptr, ptr %7, align 8, !tbaa !9
  %1792 = load i32, ptr %12, align 4, !tbaa !5
  %1793 = load i32, ptr %8, align 4, !tbaa !5
  %1794 = mul nsw i32 8, %1793
  %1795 = add nsw i32 %1792, %1794
  %1796 = sext i32 %1795 to i64
  %1797 = getelementptr inbounds double, ptr %1791, i64 %1796
  %1798 = load double, ptr %1797, align 8, !tbaa !11
  %1799 = call double @llvm.fmuladd.f64(double 0xBF76E8A1969E7200, double %1798, double %1790)
  %1800 = load ptr, ptr %7, align 8, !tbaa !9
  %1801 = load i32, ptr %12, align 4, !tbaa !5
  %1802 = load i32, ptr %8, align 4, !tbaa !5
  %1803 = mul nsw i32 9, %1802
  %1804 = add nsw i32 %1801, %1803
  %1805 = sext i32 %1804 to i64
  %1806 = getelementptr inbounds double, ptr %1800, i64 %1805
  %1807 = load double, ptr %1806, align 8, !tbaa !11
  %1808 = call double @llvm.fmuladd.f64(double 0x3FC179BD32D3DC6F, double %1807, double %1799)
  %1809 = load ptr, ptr %7, align 8, !tbaa !9
  %1810 = load i32, ptr %12, align 4, !tbaa !5
  %1811 = load i32, ptr %8, align 4, !tbaa !5
  %1812 = mul nsw i32 10, %1811
  %1813 = add nsw i32 %1810, %1812
  %1814 = sext i32 %1813 to i64
  %1815 = getelementptr inbounds double, ptr %1809, i64 %1814
  %1816 = load double, ptr %1815, align 8, !tbaa !11
  %1817 = call double @llvm.fmuladd.f64(double 0x3FFBC4AD9C53A563, double %1816, double %1808)
  %1818 = load ptr, ptr %7, align 8, !tbaa !9
  %1819 = load i32, ptr %12, align 4, !tbaa !5
  %1820 = load i32, ptr %8, align 4, !tbaa !5
  %1821 = mul nsw i32 11, %1820
  %1822 = add nsw i32 %1819, %1821
  %1823 = sext i32 %1822 to i64
  %1824 = getelementptr inbounds double, ptr %1818, i64 %1823
  %1825 = load double, ptr %1824, align 8, !tbaa !11
  %1826 = call double @llvm.fmuladd.f64(double 0x3FF1CA3B98F4942B, double %1825, double %1817)
  %1827 = load ptr, ptr %7, align 8, !tbaa !9
  %1828 = load i32, ptr %12, align 4, !tbaa !5
  %1829 = load i32, ptr %8, align 4, !tbaa !5
  %1830 = mul nsw i32 12, %1829
  %1831 = add nsw i32 %1828, %1830
  %1832 = sext i32 %1831 to i64
  %1833 = getelementptr inbounds double, ptr %1827, i64 %1832
  %1834 = load double, ptr %1833, align 8, !tbaa !11
  %1835 = call double @llvm.fmuladd.f64(double 0xBCA6FBE336F71405, double %1834, double %1826)
  %1836 = load ptr, ptr %7, align 8, !tbaa !9
  %1837 = load i32, ptr %12, align 4, !tbaa !5
  %1838 = load i32, ptr %8, align 4, !tbaa !5
  %1839 = mul nsw i32 13, %1838
  %1840 = add nsw i32 %1837, %1839
  %1841 = sext i32 %1840 to i64
  %1842 = getelementptr inbounds double, ptr %1836, i64 %1841
  %1843 = load double, ptr %1842, align 8, !tbaa !11
  %1844 = call double @llvm.fmuladd.f64(double 0x3C80984B1B374A75, double %1843, double %1835)
  %1845 = load ptr, ptr %7, align 8, !tbaa !9
  %1846 = load i32, ptr %12, align 4, !tbaa !5
  %1847 = load i32, ptr %8, align 4, !tbaa !5
  %1848 = mul nsw i32 14, %1847
  %1849 = add nsw i32 %1846, %1848
  %1850 = sext i32 %1849 to i64
  %1851 = getelementptr inbounds double, ptr %1845, i64 %1850
  %1852 = load double, ptr %1851, align 8, !tbaa !11
  %1853 = call double @llvm.fmuladd.f64(double 0x3C4729477968333F, double %1852, double %1844)
  %1854 = load ptr, ptr %7, align 8, !tbaa !9
  %1855 = load i32, ptr %12, align 4, !tbaa !5
  %1856 = load i32, ptr %8, align 4, !tbaa !5
  %1857 = mul nsw i32 15, %1856
  %1858 = add nsw i32 %1855, %1857
  %1859 = sext i32 %1858 to i64
  %1860 = getelementptr inbounds double, ptr %1854, i64 %1859
  %1861 = load double, ptr %1860, align 8, !tbaa !11
  %1862 = call double @llvm.fmuladd.f64(double 0xBC918F2EE7553E84, double %1861, double %1853)
  %1863 = load ptr, ptr %7, align 8, !tbaa !9
  %1864 = load i32, ptr %12, align 4, !tbaa !5
  %1865 = load i32, ptr %8, align 4, !tbaa !5
  %1866 = mul nsw i32 16, %1865
  %1867 = add nsw i32 %1864, %1866
  %1868 = sext i32 %1867 to i64
  %1869 = getelementptr inbounds double, ptr %1863, i64 %1868
  %1870 = load double, ptr %1869, align 8, !tbaa !11
  %1871 = call double @llvm.fmuladd.f64(double 0xBC63BFDB1A7A0940, double %1870, double %1862)
  %1872 = load ptr, ptr %7, align 8, !tbaa !9
  %1873 = load i32, ptr %12, align 4, !tbaa !5
  %1874 = load i32, ptr %8, align 4, !tbaa !5
  %1875 = mul nsw i32 17, %1874
  %1876 = add nsw i32 %1873, %1875
  %1877 = sext i32 %1876 to i64
  %1878 = getelementptr inbounds double, ptr %1872, i64 %1877
  %1879 = load double, ptr %1878, align 8, !tbaa !11
  %1880 = call double @llvm.fmuladd.f64(double 0x3CAA455C00B239E4, double %1879, double %1871)
  store double %1880, ptr %11, align 8, !tbaa !11
  %1881 = load double, ptr %11, align 8, !tbaa !11
  %1882 = load ptr, ptr %9, align 8, !tbaa !9
  %1883 = load i32, ptr %12, align 4, !tbaa !5
  %1884 = load i32, ptr %10, align 4, !tbaa !5
  %1885 = mul nsw i32 10, %1884
  %1886 = add nsw i32 %1883, %1885
  %1887 = sext i32 %1886 to i64
  %1888 = getelementptr inbounds double, ptr %1882, i64 %1887
  store double %1881, ptr %1888, align 8, !tbaa !11
  %1889 = load ptr, ptr %7, align 8, !tbaa !9
  %1890 = load i32, ptr %12, align 4, !tbaa !5
  %1891 = load i32, ptr %8, align 4, !tbaa !5
  %1892 = mul nsw i32 0, %1891
  %1893 = add nsw i32 %1890, %1892
  %1894 = sext i32 %1893 to i64
  %1895 = getelementptr inbounds double, ptr %1889, i64 %1894
  %1896 = load double, ptr %1895, align 8, !tbaa !11
  %1897 = load ptr, ptr %7, align 8, !tbaa !9
  %1898 = load i32, ptr %12, align 4, !tbaa !5
  %1899 = load i32, ptr %8, align 4, !tbaa !5
  %1900 = mul nsw i32 1, %1899
  %1901 = add nsw i32 %1898, %1900
  %1902 = sext i32 %1901 to i64
  %1903 = getelementptr inbounds double, ptr %1897, i64 %1902
  %1904 = load double, ptr %1903, align 8, !tbaa !11
  %1905 = fmul double 0xBC96A2CCF69409BE, %1904
  %1906 = call double @llvm.fmuladd.f64(double 0x3CC142F4E7497170, double %1896, double %1905)
  %1907 = load ptr, ptr %7, align 8, !tbaa !9
  %1908 = load i32, ptr %12, align 4, !tbaa !5
  %1909 = load i32, ptr %8, align 4, !tbaa !5
  %1910 = mul nsw i32 2, %1909
  %1911 = add nsw i32 %1908, %1910
  %1912 = sext i32 %1911 to i64
  %1913 = getelementptr inbounds double, ptr %1907, i64 %1912
  %1914 = load double, ptr %1913, align 8, !tbaa !11
  %1915 = call double @llvm.fmuladd.f64(double 0xBC9AEA168BAD2F82, double %1914, double %1906)
  %1916 = load ptr, ptr %7, align 8, !tbaa !9
  %1917 = load i32, ptr %12, align 4, !tbaa !5
  %1918 = load i32, ptr %8, align 4, !tbaa !5
  %1919 = mul nsw i32 3, %1918
  %1920 = add nsw i32 %1917, %1919
  %1921 = sext i32 %1920 to i64
  %1922 = getelementptr inbounds double, ptr %1916, i64 %1921
  %1923 = load double, ptr %1922, align 8, !tbaa !11
  %1924 = call double @llvm.fmuladd.f64(double 0xBC9B499410BBCC84, double %1923, double %1915)
  %1925 = load ptr, ptr %7, align 8, !tbaa !9
  %1926 = load i32, ptr %12, align 4, !tbaa !5
  %1927 = load i32, ptr %8, align 4, !tbaa !5
  %1928 = mul nsw i32 4, %1927
  %1929 = add nsw i32 %1926, %1928
  %1930 = sext i32 %1929 to i64
  %1931 = getelementptr inbounds double, ptr %1925, i64 %1930
  %1932 = load double, ptr %1931, align 8, !tbaa !11
  %1933 = call double @llvm.fmuladd.f64(double 0xBC9361418ADB00D8, double %1932, double %1924)
  %1934 = load ptr, ptr %7, align 8, !tbaa !9
  %1935 = load i32, ptr %12, align 4, !tbaa !5
  %1936 = load i32, ptr %8, align 4, !tbaa !5
  %1937 = mul nsw i32 5, %1936
  %1938 = add nsw i32 %1935, %1937
  %1939 = sext i32 %1938 to i64
  %1940 = getelementptr inbounds double, ptr %1934, i64 %1939
  %1941 = load double, ptr %1940, align 8, !tbaa !11
  %1942 = call double @llvm.fmuladd.f64(double 0x3CB01F9D52D3749E, double %1941, double %1933)
  %1943 = load ptr, ptr %7, align 8, !tbaa !9
  %1944 = load i32, ptr %12, align 4, !tbaa !5
  %1945 = load i32, ptr %8, align 4, !tbaa !5
  %1946 = mul nsw i32 6, %1945
  %1947 = add nsw i32 %1944, %1946
  %1948 = sext i32 %1947 to i64
  %1949 = getelementptr inbounds double, ptr %1943, i64 %1948
  %1950 = load double, ptr %1949, align 8, !tbaa !11
  %1951 = call double @llvm.fmuladd.f64(double 0xBFF5B6F7089FF1D1, double %1950, double %1942)
  %1952 = load ptr, ptr %7, align 8, !tbaa !9
  %1953 = load i32, ptr %12, align 4, !tbaa !5
  %1954 = load i32, ptr %8, align 4, !tbaa !5
  %1955 = mul nsw i32 7, %1954
  %1956 = add nsw i32 %1953, %1955
  %1957 = sext i32 %1956 to i64
  %1958 = getelementptr inbounds double, ptr %1952, i64 %1957
  %1959 = load double, ptr %1958, align 8, !tbaa !11
  %1960 = call double @llvm.fmuladd.f64(double 0x3FB1F3F0B024DC88, double %1959, double %1951)
  %1961 = load ptr, ptr %7, align 8, !tbaa !9
  %1962 = load i32, ptr %12, align 4, !tbaa !5
  %1963 = load i32, ptr %8, align 4, !tbaa !5
  %1964 = mul nsw i32 8, %1963
  %1965 = add nsw i32 %1962, %1964
  %1966 = sext i32 %1965 to i64
  %1967 = getelementptr inbounds double, ptr %1961, i64 %1966
  %1968 = load double, ptr %1967, align 8, !tbaa !11
  %1969 = call double @llvm.fmuladd.f64(double 0x3FCCBE3CAE6B6280, double %1968, double %1960)
  %1970 = load ptr, ptr %7, align 8, !tbaa !9
  %1971 = load i32, ptr %12, align 4, !tbaa !5
  %1972 = load i32, ptr %8, align 4, !tbaa !5
  %1973 = mul nsw i32 9, %1972
  %1974 = add nsw i32 %1971, %1973
  %1975 = sext i32 %1974 to i64
  %1976 = getelementptr inbounds double, ptr %1970, i64 %1975
  %1977 = load double, ptr %1976, align 8, !tbaa !11
  %1978 = call double @llvm.fmuladd.f64(double 0xBFD81F8F0CEC6101, double %1977, double %1969)
  %1979 = load ptr, ptr %7, align 8, !tbaa !9
  %1980 = load i32, ptr %12, align 4, !tbaa !5
  %1981 = load i32, ptr %8, align 4, !tbaa !5
  %1982 = mul nsw i32 10, %1981
  %1983 = add nsw i32 %1980, %1982
  %1984 = sext i32 %1983 to i64
  %1985 = getelementptr inbounds double, ptr %1979, i64 %1984
  %1986 = load double, ptr %1985, align 8, !tbaa !11
  %1987 = call double @llvm.fmuladd.f64(double 0xBFFBA497A89943F3, double %1986, double %1978)
  %1988 = load ptr, ptr %7, align 8, !tbaa !9
  %1989 = load i32, ptr %12, align 4, !tbaa !5
  %1990 = load i32, ptr %8, align 4, !tbaa !5
  %1991 = mul nsw i32 11, %1990
  %1992 = add nsw i32 %1989, %1991
  %1993 = sext i32 %1992 to i64
  %1994 = getelementptr inbounds double, ptr %1988, i64 %1993
  %1995 = load double, ptr %1994, align 8, !tbaa !11
  %1996 = call double @llvm.fmuladd.f64(double 0xBFDC5366E211BEA9, double %1995, double %1987)
  %1997 = load ptr, ptr %7, align 8, !tbaa !9
  %1998 = load i32, ptr %12, align 4, !tbaa !5
  %1999 = load i32, ptr %8, align 4, !tbaa !5
  %2000 = mul nsw i32 12, %1999
  %2001 = add nsw i32 %1998, %2000
  %2002 = sext i32 %2001 to i64
  %2003 = getelementptr inbounds double, ptr %1997, i64 %2002
  %2004 = load double, ptr %2003, align 8, !tbaa !11
  %2005 = call double @llvm.fmuladd.f64(double 0x3CB1A32FABA58A78, double %2004, double %1996)
  %2006 = load ptr, ptr %7, align 8, !tbaa !9
  %2007 = load i32, ptr %12, align 4, !tbaa !5
  %2008 = load i32, ptr %8, align 4, !tbaa !5
  %2009 = mul nsw i32 13, %2008
  %2010 = add nsw i32 %2007, %2009
  %2011 = sext i32 %2010 to i64
  %2012 = getelementptr inbounds double, ptr %2006, i64 %2011
  %2013 = load double, ptr %2012, align 8, !tbaa !11
  %2014 = call double @llvm.fmuladd.f64(double 0x3C6B240942E84E45, double %2013, double %2005)
  %2015 = load ptr, ptr %7, align 8, !tbaa !9
  %2016 = load i32, ptr %12, align 4, !tbaa !5
  %2017 = load i32, ptr %8, align 4, !tbaa !5
  %2018 = mul nsw i32 14, %2017
  %2019 = add nsw i32 %2016, %2018
  %2020 = sext i32 %2019 to i64
  %2021 = getelementptr inbounds double, ptr %2015, i64 %2020
  %2022 = load double, ptr %2021, align 8, !tbaa !11
  %2023 = call double @llvm.fmuladd.f64(double 0xBC8360FD77DF0E50, double %2022, double %2014)
  %2024 = load ptr, ptr %7, align 8, !tbaa !9
  %2025 = load i32, ptr %12, align 4, !tbaa !5
  %2026 = load i32, ptr %8, align 4, !tbaa !5
  %2027 = mul nsw i32 15, %2026
  %2028 = add nsw i32 %2025, %2027
  %2029 = sext i32 %2028 to i64
  %2030 = getelementptr inbounds double, ptr %2024, i64 %2029
  %2031 = load double, ptr %2030, align 8, !tbaa !11
  %2032 = call double @llvm.fmuladd.f64(double 0x3C78F6BBF1F42F79, double %2031, double %2023)
  %2033 = load ptr, ptr %7, align 8, !tbaa !9
  %2034 = load i32, ptr %12, align 4, !tbaa !5
  %2035 = load i32, ptr %8, align 4, !tbaa !5
  %2036 = mul nsw i32 16, %2035
  %2037 = add nsw i32 %2034, %2036
  %2038 = sext i32 %2037 to i64
  %2039 = getelementptr inbounds double, ptr %2033, i64 %2038
  %2040 = load double, ptr %2039, align 8, !tbaa !11
  %2041 = call double @llvm.fmuladd.f64(double 0xBCBB0F3A92259EB9, double %2040, double %2032)
  %2042 = load ptr, ptr %7, align 8, !tbaa !9
  %2043 = load i32, ptr %12, align 4, !tbaa !5
  %2044 = load i32, ptr %8, align 4, !tbaa !5
  %2045 = mul nsw i32 17, %2044
  %2046 = add nsw i32 %2043, %2045
  %2047 = sext i32 %2046 to i64
  %2048 = getelementptr inbounds double, ptr %2042, i64 %2047
  %2049 = load double, ptr %2048, align 8, !tbaa !11
  %2050 = call double @llvm.fmuladd.f64(double 0xBCB8BFEEB1A1585A, double %2049, double %2041)
  store double %2050, ptr %11, align 8, !tbaa !11
  %2051 = load double, ptr %11, align 8, !tbaa !11
  %2052 = load ptr, ptr %9, align 8, !tbaa !9
  %2053 = load i32, ptr %12, align 4, !tbaa !5
  %2054 = load i32, ptr %10, align 4, !tbaa !5
  %2055 = mul nsw i32 11, %2054
  %2056 = add nsw i32 %2053, %2055
  %2057 = sext i32 %2056 to i64
  %2058 = getelementptr inbounds double, ptr %2052, i64 %2057
  store double %2051, ptr %2058, align 8, !tbaa !11
  %2059 = load ptr, ptr %7, align 8, !tbaa !9
  %2060 = load i32, ptr %12, align 4, !tbaa !5
  %2061 = load i32, ptr %8, align 4, !tbaa !5
  %2062 = mul nsw i32 0, %2061
  %2063 = add nsw i32 %2060, %2062
  %2064 = sext i32 %2063 to i64
  %2065 = getelementptr inbounds double, ptr %2059, i64 %2064
  %2066 = load double, ptr %2065, align 8, !tbaa !11
  %2067 = load ptr, ptr %7, align 8, !tbaa !9
  %2068 = load i32, ptr %12, align 4, !tbaa !5
  %2069 = load i32, ptr %8, align 4, !tbaa !5
  %2070 = mul nsw i32 1, %2069
  %2071 = add nsw i32 %2068, %2070
  %2072 = sext i32 %2071 to i64
  %2073 = getelementptr inbounds double, ptr %2067, i64 %2072
  %2074 = load double, ptr %2073, align 8, !tbaa !11
  %2075 = fmul double 0xBC7F9D13F6DD91D2, %2074
  %2076 = call double @llvm.fmuladd.f64(double 0xBCB03C43C4268C9B, double %2066, double %2075)
  %2077 = load ptr, ptr %7, align 8, !tbaa !9
  %2078 = load i32, ptr %12, align 4, !tbaa !5
  %2079 = load i32, ptr %8, align 4, !tbaa !5
  %2080 = mul nsw i32 2, %2079
  %2081 = add nsw i32 %2078, %2080
  %2082 = sext i32 %2081 to i64
  %2083 = getelementptr inbounds double, ptr %2077, i64 %2082
  %2084 = load double, ptr %2083, align 8, !tbaa !11
  %2085 = call double @llvm.fmuladd.f64(double 0xBCAE0044D82B3E00, double %2084, double %2076)
  %2086 = load ptr, ptr %7, align 8, !tbaa !9
  %2087 = load i32, ptr %12, align 4, !tbaa !5
  %2088 = load i32, ptr %8, align 4, !tbaa !5
  %2089 = mul nsw i32 3, %2088
  %2090 = add nsw i32 %2087, %2089
  %2091 = sext i32 %2090 to i64
  %2092 = getelementptr inbounds double, ptr %2086, i64 %2091
  %2093 = load double, ptr %2092, align 8, !tbaa !11
  %2094 = call double @llvm.fmuladd.f64(double 0x3C9CFE906EE8F2E9, double %2093, double %2085)
  %2095 = load ptr, ptr %7, align 8, !tbaa !9
  %2096 = load i32, ptr %12, align 4, !tbaa !5
  %2097 = load i32, ptr %8, align 4, !tbaa !5
  %2098 = mul nsw i32 4, %2097
  %2099 = add nsw i32 %2096, %2098
  %2100 = sext i32 %2099 to i64
  %2101 = getelementptr inbounds double, ptr %2095, i64 %2100
  %2102 = load double, ptr %2101, align 8, !tbaa !11
  %2103 = call double @llvm.fmuladd.f64(double 0x3CC1A93DAC5952FC, double %2102, double %2094)
  %2104 = load ptr, ptr %7, align 8, !tbaa !9
  %2105 = load i32, ptr %12, align 4, !tbaa !5
  %2106 = load i32, ptr %8, align 4, !tbaa !5
  %2107 = mul nsw i32 5, %2106
  %2108 = add nsw i32 %2105, %2107
  %2109 = sext i32 %2108 to i64
  %2110 = getelementptr inbounds double, ptr %2104, i64 %2109
  %2111 = load double, ptr %2110, align 8, !tbaa !11
  %2112 = call double @llvm.fmuladd.f64(double 0x3CB1B04DFFDDEE42, double %2111, double %2103)
  %2113 = load ptr, ptr %7, align 8, !tbaa !9
  %2114 = load i32, ptr %12, align 4, !tbaa !5
  %2115 = load i32, ptr %8, align 4, !tbaa !5
  %2116 = mul nsw i32 6, %2115
  %2117 = add nsw i32 %2114, %2116
  %2118 = sext i32 %2117 to i64
  %2119 = getelementptr inbounds double, ptr %2113, i64 %2118
  %2120 = load double, ptr %2119, align 8, !tbaa !11
  %2121 = call double @llvm.fmuladd.f64(double 0xBCA11EF521EB7066, double %2120, double %2112)
  %2122 = load ptr, ptr %7, align 8, !tbaa !9
  %2123 = load i32, ptr %12, align 4, !tbaa !5
  %2124 = load i32, ptr %8, align 4, !tbaa !5
  %2125 = mul nsw i32 7, %2124
  %2126 = add nsw i32 %2123, %2125
  %2127 = sext i32 %2126 to i64
  %2128 = getelementptr inbounds double, ptr %2122, i64 %2127
  %2129 = load double, ptr %2128, align 8, !tbaa !11
  %2130 = call double @llvm.fmuladd.f64(double 0xBC94747CFD612BD0, double %2129, double %2121)
  %2131 = load ptr, ptr %7, align 8, !tbaa !9
  %2132 = load i32, ptr %12, align 4, !tbaa !5
  %2133 = load i32, ptr %8, align 4, !tbaa !5
  %2134 = mul nsw i32 8, %2133
  %2135 = add nsw i32 %2132, %2134
  %2136 = sext i32 %2135 to i64
  %2137 = getelementptr inbounds double, ptr %2131, i64 %2136
  %2138 = load double, ptr %2137, align 8, !tbaa !11
  %2139 = call double @llvm.fmuladd.f64(double 0x3CA061EEC0843748, double %2138, double %2130)
  %2140 = load ptr, ptr %7, align 8, !tbaa !9
  %2141 = load i32, ptr %12, align 4, !tbaa !5
  %2142 = load i32, ptr %8, align 4, !tbaa !5
  %2143 = mul nsw i32 9, %2142
  %2144 = add nsw i32 %2141, %2143
  %2145 = sext i32 %2144 to i64
  %2146 = getelementptr inbounds double, ptr %2140, i64 %2145
  %2147 = load double, ptr %2146, align 8, !tbaa !11
  %2148 = call double @llvm.fmuladd.f64(double 0x3C8B21BA101B7AB2, double %2147, double %2139)
  %2149 = load ptr, ptr %7, align 8, !tbaa !9
  %2150 = load i32, ptr %12, align 4, !tbaa !5
  %2151 = load i32, ptr %8, align 4, !tbaa !5
  %2152 = mul nsw i32 10, %2151
  %2153 = add nsw i32 %2150, %2152
  %2154 = sext i32 %2153 to i64
  %2155 = getelementptr inbounds double, ptr %2149, i64 %2154
  %2156 = load double, ptr %2155, align 8, !tbaa !11
  %2157 = call double @llvm.fmuladd.f64(double 0xBCBBF3FEED1E8544, double %2156, double %2148)
  %2158 = load ptr, ptr %7, align 8, !tbaa !9
  %2159 = load i32, ptr %12, align 4, !tbaa !5
  %2160 = load i32, ptr %8, align 4, !tbaa !5
  %2161 = mul nsw i32 11, %2160
  %2162 = add nsw i32 %2159, %2161
  %2163 = sext i32 %2162 to i64
  %2164 = getelementptr inbounds double, ptr %2158, i64 %2163
  %2165 = load double, ptr %2164, align 8, !tbaa !11
  %2166 = call double @llvm.fmuladd.f64(double 0x3CB871266AD31A71, double %2165, double %2157)
  %2167 = load ptr, ptr %7, align 8, !tbaa !9
  %2168 = load i32, ptr %12, align 4, !tbaa !5
  %2169 = load i32, ptr %8, align 4, !tbaa !5
  %2170 = mul nsw i32 12, %2169
  %2171 = add nsw i32 %2168, %2170
  %2172 = sext i32 %2171 to i64
  %2173 = getelementptr inbounds double, ptr %2167, i64 %2172
  %2174 = load double, ptr %2173, align 8, !tbaa !11
  %2175 = call double @llvm.fmuladd.f64(double 0x3FF44E3F94172F46, double %2174, double %2166)
  %2176 = load ptr, ptr %7, align 8, !tbaa !9
  %2177 = load i32, ptr %12, align 4, !tbaa !5
  %2178 = load i32, ptr %8, align 4, !tbaa !5
  %2179 = mul nsw i32 13, %2178
  %2180 = add nsw i32 %2177, %2179
  %2181 = sext i32 %2180 to i64
  %2182 = getelementptr inbounds double, ptr %2176, i64 %2181
  %2183 = load double, ptr %2182, align 8, !tbaa !11
  %2184 = call double @llvm.fmuladd.f64(double 0xBF7DFA2300BBB400, double %2183, double %2175)
  %2185 = load ptr, ptr %7, align 8, !tbaa !9
  %2186 = load i32, ptr %12, align 4, !tbaa !5
  %2187 = load i32, ptr %8, align 4, !tbaa !5
  %2188 = mul nsw i32 14, %2187
  %2189 = add nsw i32 %2186, %2188
  %2190 = sext i32 %2189 to i64
  %2191 = getelementptr inbounds double, ptr %2185, i64 %2190
  %2192 = load double, ptr %2191, align 8, !tbaa !11
  %2193 = call double @llvm.fmuladd.f64(double 0x3FB9ECDD9812788E, double %2192, double %2184)
  %2194 = load ptr, ptr %7, align 8, !tbaa !9
  %2195 = load i32, ptr %12, align 4, !tbaa !5
  %2196 = load i32, ptr %8, align 4, !tbaa !5
  %2197 = mul nsw i32 15, %2196
  %2198 = add nsw i32 %2195, %2197
  %2199 = sext i32 %2198 to i64
  %2200 = getelementptr inbounds double, ptr %2194, i64 %2199
  %2201 = load double, ptr %2200, align 8, !tbaa !11
  %2202 = call double @llvm.fmuladd.f64(double 0xBF83952FC55A702F, double %2201, double %2193)
  %2203 = load ptr, ptr %7, align 8, !tbaa !9
  %2204 = load i32, ptr %12, align 4, !tbaa !5
  %2205 = load i32, ptr %8, align 4, !tbaa !5
  %2206 = mul nsw i32 16, %2205
  %2207 = add nsw i32 %2204, %2206
  %2208 = sext i32 %2207 to i64
  %2209 = getelementptr inbounds double, ptr %2203, i64 %2208
  %2210 = load double, ptr %2209, align 8, !tbaa !11
  %2211 = call double @llvm.fmuladd.f64(double 0xBFE4FBED5D8A9668, double %2210, double %2202)
  %2212 = load ptr, ptr %7, align 8, !tbaa !9
  %2213 = load i32, ptr %12, align 4, !tbaa !5
  %2214 = load i32, ptr %8, align 4, !tbaa !5
  %2215 = mul nsw i32 17, %2214
  %2216 = add nsw i32 %2213, %2215
  %2217 = sext i32 %2216 to i64
  %2218 = getelementptr inbounds double, ptr %2212, i64 %2217
  %2219 = load double, ptr %2218, align 8, !tbaa !11
  %2220 = call double @llvm.fmuladd.f64(double 0x3FD50884576D0BB8, double %2219, double %2211)
  store double %2220, ptr %11, align 8, !tbaa !11
  %2221 = load double, ptr %11, align 8, !tbaa !11
  %2222 = load ptr, ptr %9, align 8, !tbaa !9
  %2223 = load i32, ptr %12, align 4, !tbaa !5
  %2224 = load i32, ptr %10, align 4, !tbaa !5
  %2225 = mul nsw i32 12, %2224
  %2226 = add nsw i32 %2223, %2225
  %2227 = sext i32 %2226 to i64
  %2228 = getelementptr inbounds double, ptr %2222, i64 %2227
  store double %2221, ptr %2228, align 8, !tbaa !11
  %2229 = load ptr, ptr %7, align 8, !tbaa !9
  %2230 = load i32, ptr %12, align 4, !tbaa !5
  %2231 = load i32, ptr %8, align 4, !tbaa !5
  %2232 = mul nsw i32 0, %2231
  %2233 = add nsw i32 %2230, %2232
  %2234 = sext i32 %2233 to i64
  %2235 = getelementptr inbounds double, ptr %2229, i64 %2234
  %2236 = load double, ptr %2235, align 8, !tbaa !11
  %2237 = load ptr, ptr %7, align 8, !tbaa !9
  %2238 = load i32, ptr %12, align 4, !tbaa !5
  %2239 = load i32, ptr %8, align 4, !tbaa !5
  %2240 = mul nsw i32 1, %2239
  %2241 = add nsw i32 %2238, %2240
  %2242 = sext i32 %2241 to i64
  %2243 = getelementptr inbounds double, ptr %2237, i64 %2242
  %2244 = load double, ptr %2243, align 8, !tbaa !11
  %2245 = fmul double 0xBCADA2825B7E90BA, %2244
  %2246 = call double @llvm.fmuladd.f64(double 0x3CBF38A0435C33EF, double %2236, double %2245)
  %2247 = load ptr, ptr %7, align 8, !tbaa !9
  %2248 = load i32, ptr %12, align 4, !tbaa !5
  %2249 = load i32, ptr %8, align 4, !tbaa !5
  %2250 = mul nsw i32 2, %2249
  %2251 = add nsw i32 %2248, %2250
  %2252 = sext i32 %2251 to i64
  %2253 = getelementptr inbounds double, ptr %2247, i64 %2252
  %2254 = load double, ptr %2253, align 8, !tbaa !11
  %2255 = call double @llvm.fmuladd.f64(double 0xBCBCECD5C475FFF5, double %2254, double %2246)
  %2256 = load ptr, ptr %7, align 8, !tbaa !9
  %2257 = load i32, ptr %12, align 4, !tbaa !5
  %2258 = load i32, ptr %8, align 4, !tbaa !5
  %2259 = mul nsw i32 3, %2258
  %2260 = add nsw i32 %2257, %2259
  %2261 = sext i32 %2260 to i64
  %2262 = getelementptr inbounds double, ptr %2256, i64 %2261
  %2263 = load double, ptr %2262, align 8, !tbaa !11
  %2264 = call double @llvm.fmuladd.f64(double 0x3C7C7B20A14EC091, double %2263, double %2255)
  %2265 = load ptr, ptr %7, align 8, !tbaa !9
  %2266 = load i32, ptr %12, align 4, !tbaa !5
  %2267 = load i32, ptr %8, align 4, !tbaa !5
  %2268 = mul nsw i32 4, %2267
  %2269 = add nsw i32 %2266, %2268
  %2270 = sext i32 %2269 to i64
  %2271 = getelementptr inbounds double, ptr %2265, i64 %2270
  %2272 = load double, ptr %2271, align 8, !tbaa !11
  %2273 = call double @llvm.fmuladd.f64(double 0xBCAC7CF2FBE4989E, double %2272, double %2264)
  %2274 = load ptr, ptr %7, align 8, !tbaa !9
  %2275 = load i32, ptr %12, align 4, !tbaa !5
  %2276 = load i32, ptr %8, align 4, !tbaa !5
  %2277 = mul nsw i32 5, %2276
  %2278 = add nsw i32 %2275, %2277
  %2279 = sext i32 %2278 to i64
  %2280 = getelementptr inbounds double, ptr %2274, i64 %2279
  %2281 = load double, ptr %2280, align 8, !tbaa !11
  %2282 = call double @llvm.fmuladd.f64(double 0xBCBCA248A7C7FDDC, double %2281, double %2273)
  %2283 = load ptr, ptr %7, align 8, !tbaa !9
  %2284 = load i32, ptr %12, align 4, !tbaa !5
  %2285 = load i32, ptr %8, align 4, !tbaa !5
  %2286 = mul nsw i32 6, %2285
  %2287 = add nsw i32 %2284, %2286
  %2288 = sext i32 %2287 to i64
  %2289 = getelementptr inbounds double, ptr %2283, i64 %2288
  %2290 = load double, ptr %2289, align 8, !tbaa !11
  %2291 = call double @llvm.fmuladd.f64(double 0xBC96AF31F1A1F8A3, double %2290, double %2282)
  %2292 = load ptr, ptr %7, align 8, !tbaa !9
  %2293 = load i32, ptr %12, align 4, !tbaa !5
  %2294 = load i32, ptr %8, align 4, !tbaa !5
  %2295 = mul nsw i32 7, %2294
  %2296 = add nsw i32 %2293, %2295
  %2297 = sext i32 %2296 to i64
  %2298 = getelementptr inbounds double, ptr %2292, i64 %2297
  %2299 = load double, ptr %2298, align 8, !tbaa !11
  %2300 = call double @llvm.fmuladd.f64(double 0x3CBEB0BE4F96FAE3, double %2299, double %2291)
  %2301 = load ptr, ptr %7, align 8, !tbaa !9
  %2302 = load i32, ptr %12, align 4, !tbaa !5
  %2303 = load i32, ptr %8, align 4, !tbaa !5
  %2304 = mul nsw i32 8, %2303
  %2305 = add nsw i32 %2302, %2304
  %2306 = sext i32 %2305 to i64
  %2307 = getelementptr inbounds double, ptr %2301, i64 %2306
  %2308 = load double, ptr %2307, align 8, !tbaa !11
  %2309 = call double @llvm.fmuladd.f64(double 0x3C84693BAEDA743C, double %2308, double %2300)
  %2310 = load ptr, ptr %7, align 8, !tbaa !9
  %2311 = load i32, ptr %12, align 4, !tbaa !5
  %2312 = load i32, ptr %8, align 4, !tbaa !5
  %2313 = mul nsw i32 9, %2312
  %2314 = add nsw i32 %2311, %2313
  %2315 = sext i32 %2314 to i64
  %2316 = getelementptr inbounds double, ptr %2310, i64 %2315
  %2317 = load double, ptr %2316, align 8, !tbaa !11
  %2318 = call double @llvm.fmuladd.f64(double 0xBCB3ACD3D4ADCCB0, double %2317, double %2309)
  %2319 = load ptr, ptr %7, align 8, !tbaa !9
  %2320 = load i32, ptr %12, align 4, !tbaa !5
  %2321 = load i32, ptr %8, align 4, !tbaa !5
  %2322 = mul nsw i32 10, %2321
  %2323 = add nsw i32 %2320, %2322
  %2324 = sext i32 %2323 to i64
  %2325 = getelementptr inbounds double, ptr %2319, i64 %2324
  %2326 = load double, ptr %2325, align 8, !tbaa !11
  %2327 = call double @llvm.fmuladd.f64(double 0x3CBD77D82F675FE2, double %2326, double %2318)
  %2328 = load ptr, ptr %7, align 8, !tbaa !9
  %2329 = load i32, ptr %12, align 4, !tbaa !5
  %2330 = load i32, ptr %8, align 4, !tbaa !5
  %2331 = mul nsw i32 11, %2330
  %2332 = add nsw i32 %2329, %2331
  %2333 = sext i32 %2332 to i64
  %2334 = getelementptr inbounds double, ptr %2328, i64 %2333
  %2335 = load double, ptr %2334, align 8, !tbaa !11
  %2336 = call double @llvm.fmuladd.f64(double 0xBC87B94EDD358738, double %2335, double %2327)
  %2337 = load ptr, ptr %7, align 8, !tbaa !9
  %2338 = load i32, ptr %12, align 4, !tbaa !5
  %2339 = load i32, ptr %8, align 4, !tbaa !5
  %2340 = mul nsw i32 12, %2339
  %2341 = add nsw i32 %2338, %2340
  %2342 = sext i32 %2341 to i64
  %2343 = getelementptr inbounds double, ptr %2337, i64 %2342
  %2344 = load double, ptr %2343, align 8, !tbaa !11
  %2345 = call double @llvm.fmuladd.f64(double 0x3FE4EDE8EE256108, double %2344, double %2336)
  %2346 = load ptr, ptr %7, align 8, !tbaa !9
  %2347 = load i32, ptr %12, align 4, !tbaa !5
  %2348 = load i32, ptr %8, align 4, !tbaa !5
  %2349 = mul nsw i32 13, %2348
  %2350 = add nsw i32 %2347, %2349
  %2351 = sext i32 %2350 to i64
  %2352 = getelementptr inbounds double, ptr %2346, i64 %2351
  %2353 = load double, ptr %2352, align 8, !tbaa !11
  %2354 = call double @llvm.fmuladd.f64(double 0xBFE8AC73392375C8, double %2353, double %2345)
  %2355 = load ptr, ptr %7, align 8, !tbaa !9
  %2356 = load i32, ptr %12, align 4, !tbaa !5
  %2357 = load i32, ptr %8, align 4, !tbaa !5
  %2358 = mul nsw i32 14, %2357
  %2359 = add nsw i32 %2356, %2358
  %2360 = sext i32 %2359 to i64
  %2361 = getelementptr inbounds double, ptr %2355, i64 %2360
  %2362 = load double, ptr %2361, align 8, !tbaa !11
  %2363 = call double @llvm.fmuladd.f64(double 0x3FEA5488770B26A9, double %2362, double %2354)
  %2364 = load ptr, ptr %7, align 8, !tbaa !9
  %2365 = load i32, ptr %12, align 4, !tbaa !5
  %2366 = load i32, ptr %8, align 4, !tbaa !5
  %2367 = mul nsw i32 15, %2366
  %2368 = add nsw i32 %2365, %2367
  %2369 = sext i32 %2368 to i64
  %2370 = getelementptr inbounds double, ptr %2364, i64 %2369
  %2371 = load double, ptr %2370, align 8, !tbaa !11
  %2372 = call double @llvm.fmuladd.f64(double 0xBFFEF1F8514C97D0, double %2371, double %2363)
  %2373 = load ptr, ptr %7, align 8, !tbaa !9
  %2374 = load i32, ptr %12, align 4, !tbaa !5
  %2375 = load i32, ptr %8, align 4, !tbaa !5
  %2376 = mul nsw i32 16, %2375
  %2377 = add nsw i32 %2374, %2376
  %2378 = sext i32 %2377 to i64
  %2379 = getelementptr inbounds double, ptr %2373, i64 %2378
  %2380 = load double, ptr %2379, align 8, !tbaa !11
  %2381 = call double @llvm.fmuladd.f64(double 0x3FF44CD742FC94DA, double %2380, double %2372)
  %2382 = load ptr, ptr %7, align 8, !tbaa !9
  %2383 = load i32, ptr %12, align 4, !tbaa !5
  %2384 = load i32, ptr %8, align 4, !tbaa !5
  %2385 = mul nsw i32 17, %2384
  %2386 = add nsw i32 %2383, %2385
  %2387 = sext i32 %2386 to i64
  %2388 = getelementptr inbounds double, ptr %2382, i64 %2387
  %2389 = load double, ptr %2388, align 8, !tbaa !11
  %2390 = call double @llvm.fmuladd.f64(double 0xBFF01B2FE70C118E, double %2389, double %2381)
  store double %2390, ptr %11, align 8, !tbaa !11
  %2391 = load double, ptr %11, align 8, !tbaa !11
  %2392 = load ptr, ptr %9, align 8, !tbaa !9
  %2393 = load i32, ptr %12, align 4, !tbaa !5
  %2394 = load i32, ptr %10, align 4, !tbaa !5
  %2395 = mul nsw i32 13, %2394
  %2396 = add nsw i32 %2393, %2395
  %2397 = sext i32 %2396 to i64
  %2398 = getelementptr inbounds double, ptr %2392, i64 %2397
  store double %2391, ptr %2398, align 8, !tbaa !11
  %2399 = load ptr, ptr %7, align 8, !tbaa !9
  %2400 = load i32, ptr %12, align 4, !tbaa !5
  %2401 = load i32, ptr %8, align 4, !tbaa !5
  %2402 = mul nsw i32 0, %2401
  %2403 = add nsw i32 %2400, %2402
  %2404 = sext i32 %2403 to i64
  %2405 = getelementptr inbounds double, ptr %2399, i64 %2404
  %2406 = load double, ptr %2405, align 8, !tbaa !11
  %2407 = load ptr, ptr %7, align 8, !tbaa !9
  %2408 = load i32, ptr %12, align 4, !tbaa !5
  %2409 = load i32, ptr %8, align 4, !tbaa !5
  %2410 = mul nsw i32 1, %2409
  %2411 = add nsw i32 %2408, %2410
  %2412 = sext i32 %2411 to i64
  %2413 = getelementptr inbounds double, ptr %2407, i64 %2412
  %2414 = load double, ptr %2413, align 8, !tbaa !11
  %2415 = fmul double 0x3CC0A43BB8778AD2, %2414
  %2416 = call double @llvm.fmuladd.f64(double 0x3CC1A7951F32AFEE, double %2406, double %2415)
  %2417 = load ptr, ptr %7, align 8, !tbaa !9
  %2418 = load i32, ptr %12, align 4, !tbaa !5
  %2419 = load i32, ptr %8, align 4, !tbaa !5
  %2420 = mul nsw i32 2, %2419
  %2421 = add nsw i32 %2418, %2420
  %2422 = sext i32 %2421 to i64
  %2423 = getelementptr inbounds double, ptr %2417, i64 %2422
  %2424 = load double, ptr %2423, align 8, !tbaa !11
  %2425 = call double @llvm.fmuladd.f64(double 0x3CD8A0EBF8B34D44, double %2424, double %2416)
  %2426 = load ptr, ptr %7, align 8, !tbaa !9
  %2427 = load i32, ptr %12, align 4, !tbaa !5
  %2428 = load i32, ptr %8, align 4, !tbaa !5
  %2429 = mul nsw i32 3, %2428
  %2430 = add nsw i32 %2427, %2429
  %2431 = sext i32 %2430 to i64
  %2432 = getelementptr inbounds double, ptr %2426, i64 %2431
  %2433 = load double, ptr %2432, align 8, !tbaa !11
  %2434 = call double @llvm.fmuladd.f64(double 0x3CBA5323016547EC, double %2433, double %2425)
  %2435 = load ptr, ptr %7, align 8, !tbaa !9
  %2436 = load i32, ptr %12, align 4, !tbaa !5
  %2437 = load i32, ptr %8, align 4, !tbaa !5
  %2438 = mul nsw i32 4, %2437
  %2439 = add nsw i32 %2436, %2438
  %2440 = sext i32 %2439 to i64
  %2441 = getelementptr inbounds double, ptr %2435, i64 %2440
  %2442 = load double, ptr %2441, align 8, !tbaa !11
  %2443 = call double @llvm.fmuladd.f64(double 0x3CA05AC5DCA571DC, double %2442, double %2434)
  %2444 = load ptr, ptr %7, align 8, !tbaa !9
  %2445 = load i32, ptr %12, align 4, !tbaa !5
  %2446 = load i32, ptr %8, align 4, !tbaa !5
  %2447 = mul nsw i32 5, %2446
  %2448 = add nsw i32 %2445, %2447
  %2449 = sext i32 %2448 to i64
  %2450 = getelementptr inbounds double, ptr %2444, i64 %2449
  %2451 = load double, ptr %2450, align 8, !tbaa !11
  %2452 = call double @llvm.fmuladd.f64(double 0xBCB0EC52293F1982, double %2451, double %2443)
  %2453 = load ptr, ptr %7, align 8, !tbaa !9
  %2454 = load i32, ptr %12, align 4, !tbaa !5
  %2455 = load i32, ptr %8, align 4, !tbaa !5
  %2456 = mul nsw i32 6, %2455
  %2457 = add nsw i32 %2454, %2456
  %2458 = sext i32 %2457 to i64
  %2459 = getelementptr inbounds double, ptr %2453, i64 %2458
  %2460 = load double, ptr %2459, align 8, !tbaa !11
  %2461 = call double @llvm.fmuladd.f64(double 0x3C88BB0D274B4D20, double %2460, double %2452)
  %2462 = load ptr, ptr %7, align 8, !tbaa !9
  %2463 = load i32, ptr %12, align 4, !tbaa !5
  %2464 = load i32, ptr %8, align 4, !tbaa !5
  %2465 = mul nsw i32 7, %2464
  %2466 = add nsw i32 %2463, %2465
  %2467 = sext i32 %2466 to i64
  %2468 = getelementptr inbounds double, ptr %2462, i64 %2467
  %2469 = load double, ptr %2468, align 8, !tbaa !11
  %2470 = call double @llvm.fmuladd.f64(double 0xBCA88EEBBA111342, double %2469, double %2461)
  %2471 = load ptr, ptr %7, align 8, !tbaa !9
  %2472 = load i32, ptr %12, align 4, !tbaa !5
  %2473 = load i32, ptr %8, align 4, !tbaa !5
  %2474 = mul nsw i32 8, %2473
  %2475 = add nsw i32 %2472, %2474
  %2476 = sext i32 %2475 to i64
  %2477 = getelementptr inbounds double, ptr %2471, i64 %2476
  %2478 = load double, ptr %2477, align 8, !tbaa !11
  %2479 = call double @llvm.fmuladd.f64(double 0xBCAAA314368C77EA, double %2478, double %2470)
  %2480 = load ptr, ptr %7, align 8, !tbaa !9
  %2481 = load i32, ptr %12, align 4, !tbaa !5
  %2482 = load i32, ptr %8, align 4, !tbaa !5
  %2483 = mul nsw i32 9, %2482
  %2484 = add nsw i32 %2481, %2483
  %2485 = sext i32 %2484 to i64
  %2486 = getelementptr inbounds double, ptr %2480, i64 %2485
  %2487 = load double, ptr %2486, align 8, !tbaa !11
  %2488 = call double @llvm.fmuladd.f64(double 0xBC89A9C06842F0CE, double %2487, double %2479)
  %2489 = load ptr, ptr %7, align 8, !tbaa !9
  %2490 = load i32, ptr %12, align 4, !tbaa !5
  %2491 = load i32, ptr %8, align 4, !tbaa !5
  %2492 = mul nsw i32 10, %2491
  %2493 = add nsw i32 %2490, %2492
  %2494 = sext i32 %2493 to i64
  %2495 = getelementptr inbounds double, ptr %2489, i64 %2494
  %2496 = load double, ptr %2495, align 8, !tbaa !11
  %2497 = call double @llvm.fmuladd.f64(double 0x3CC01B0CEED92744, double %2496, double %2488)
  %2498 = load ptr, ptr %7, align 8, !tbaa !9
  %2499 = load i32, ptr %12, align 4, !tbaa !5
  %2500 = load i32, ptr %8, align 4, !tbaa !5
  %2501 = mul nsw i32 11, %2500
  %2502 = add nsw i32 %2499, %2501
  %2503 = sext i32 %2502 to i64
  %2504 = getelementptr inbounds double, ptr %2498, i64 %2503
  %2505 = load double, ptr %2504, align 8, !tbaa !11
  %2506 = call double @llvm.fmuladd.f64(double 0xBCBAAB90AFB5926D, double %2505, double %2497)
  %2507 = load ptr, ptr %7, align 8, !tbaa !9
  %2508 = load i32, ptr %12, align 4, !tbaa !5
  %2509 = load i32, ptr %8, align 4, !tbaa !5
  %2510 = mul nsw i32 12, %2509
  %2511 = add nsw i32 %2508, %2510
  %2512 = sext i32 %2511 to i64
  %2513 = getelementptr inbounds double, ptr %2507, i64 %2512
  %2514 = load double, ptr %2513, align 8, !tbaa !11
  %2515 = call double @llvm.fmuladd.f64(double 0xBFE1EC4181248AE8, double %2514, double %2506)
  %2516 = load ptr, ptr %7, align 8, !tbaa !9
  %2517 = load i32, ptr %12, align 4, !tbaa !5
  %2518 = load i32, ptr %8, align 4, !tbaa !5
  %2519 = mul nsw i32 13, %2518
  %2520 = add nsw i32 %2517, %2519
  %2521 = sext i32 %2520 to i64
  %2522 = getelementptr inbounds double, ptr %2516, i64 %2521
  %2523 = load double, ptr %2522, align 8, !tbaa !11
  %2524 = call double @llvm.fmuladd.f64(double 0xBFDFFE63E2851784, double %2523, double %2515)
  %2525 = load ptr, ptr %7, align 8, !tbaa !9
  %2526 = load i32, ptr %12, align 4, !tbaa !5
  %2527 = load i32, ptr %8, align 4, !tbaa !5
  %2528 = mul nsw i32 14, %2527
  %2529 = add nsw i32 %2526, %2528
  %2530 = sext i32 %2529 to i64
  %2531 = getelementptr inbounds double, ptr %2525, i64 %2530
  %2532 = load double, ptr %2531, align 8, !tbaa !11
  %2533 = call double @llvm.fmuladd.f64(double 0x4000E9CE75C2FBF8, double %2532, double %2524)
  %2534 = load ptr, ptr %7, align 8, !tbaa !9
  %2535 = load i32, ptr %12, align 4, !tbaa !5
  %2536 = load i32, ptr %8, align 4, !tbaa !5
  %2537 = mul nsw i32 15, %2536
  %2538 = add nsw i32 %2535, %2537
  %2539 = sext i32 %2538 to i64
  %2540 = getelementptr inbounds double, ptr %2534, i64 %2539
  %2541 = load double, ptr %2540, align 8, !tbaa !11
  %2542 = call double @llvm.fmuladd.f64(double 0x3FF31D88B253B07F, double %2541, double %2533)
  %2543 = load ptr, ptr %7, align 8, !tbaa !9
  %2544 = load i32, ptr %12, align 4, !tbaa !5
  %2545 = load i32, ptr %8, align 4, !tbaa !5
  %2546 = mul nsw i32 16, %2545
  %2547 = add nsw i32 %2544, %2546
  %2548 = sext i32 %2547 to i64
  %2549 = getelementptr inbounds double, ptr %2543, i64 %2548
  %2550 = load double, ptr %2549, align 8, !tbaa !11
  %2551 = call double @llvm.fmuladd.f64(double 0x3FF2343957F3A8AA, double %2550, double %2542)
  %2552 = load ptr, ptr %7, align 8, !tbaa !9
  %2553 = load i32, ptr %12, align 4, !tbaa !5
  %2554 = load i32, ptr %8, align 4, !tbaa !5
  %2555 = mul nsw i32 17, %2554
  %2556 = add nsw i32 %2553, %2555
  %2557 = sext i32 %2556 to i64
  %2558 = getelementptr inbounds double, ptr %2552, i64 %2557
  %2559 = load double, ptr %2558, align 8, !tbaa !11
  %2560 = call double @llvm.fmuladd.f64(double 0xBFEE712F1EF7D88A, double %2559, double %2551)
  store double %2560, ptr %11, align 8, !tbaa !11
  %2561 = load double, ptr %11, align 8, !tbaa !11
  %2562 = load ptr, ptr %9, align 8, !tbaa !9
  %2563 = load i32, ptr %12, align 4, !tbaa !5
  %2564 = load i32, ptr %10, align 4, !tbaa !5
  %2565 = mul nsw i32 14, %2564
  %2566 = add nsw i32 %2563, %2565
  %2567 = sext i32 %2566 to i64
  %2568 = getelementptr inbounds double, ptr %2562, i64 %2567
  store double %2561, ptr %2568, align 8, !tbaa !11
  %2569 = load ptr, ptr %7, align 8, !tbaa !9
  %2570 = load i32, ptr %12, align 4, !tbaa !5
  %2571 = load i32, ptr %8, align 4, !tbaa !5
  %2572 = mul nsw i32 0, %2571
  %2573 = add nsw i32 %2570, %2572
  %2574 = sext i32 %2573 to i64
  %2575 = getelementptr inbounds double, ptr %2569, i64 %2574
  %2576 = load double, ptr %2575, align 8, !tbaa !11
  %2577 = load ptr, ptr %7, align 8, !tbaa !9
  %2578 = load i32, ptr %12, align 4, !tbaa !5
  %2579 = load i32, ptr %8, align 4, !tbaa !5
  %2580 = mul nsw i32 1, %2579
  %2581 = add nsw i32 %2578, %2580
  %2582 = sext i32 %2581 to i64
  %2583 = getelementptr inbounds double, ptr %2577, i64 %2582
  %2584 = load double, ptr %2583, align 8, !tbaa !11
  %2585 = fmul double 0xBC9A042DA3AAA0F5, %2584
  %2586 = call double @llvm.fmuladd.f64(double 0xBCBAF68F816ED6D4, double %2576, double %2585)
  %2587 = load ptr, ptr %7, align 8, !tbaa !9
  %2588 = load i32, ptr %12, align 4, !tbaa !5
  %2589 = load i32, ptr %8, align 4, !tbaa !5
  %2590 = mul nsw i32 2, %2589
  %2591 = add nsw i32 %2588, %2590
  %2592 = sext i32 %2591 to i64
  %2593 = getelementptr inbounds double, ptr %2587, i64 %2592
  %2594 = load double, ptr %2593, align 8, !tbaa !11
  %2595 = call double @llvm.fmuladd.f64(double 0xBCBD577C538DDA63, double %2594, double %2586)
  %2596 = load ptr, ptr %7, align 8, !tbaa !9
  %2597 = load i32, ptr %12, align 4, !tbaa !5
  %2598 = load i32, ptr %8, align 4, !tbaa !5
  %2599 = mul nsw i32 3, %2598
  %2600 = add nsw i32 %2597, %2599
  %2601 = sext i32 %2600 to i64
  %2602 = getelementptr inbounds double, ptr %2596, i64 %2601
  %2603 = load double, ptr %2602, align 8, !tbaa !11
  %2604 = call double @llvm.fmuladd.f64(double 0xBC9E271992FB8E50, double %2603, double %2595)
  %2605 = load ptr, ptr %7, align 8, !tbaa !9
  %2606 = load i32, ptr %12, align 4, !tbaa !5
  %2607 = load i32, ptr %8, align 4, !tbaa !5
  %2608 = mul nsw i32 4, %2607
  %2609 = add nsw i32 %2606, %2608
  %2610 = sext i32 %2609 to i64
  %2611 = getelementptr inbounds double, ptr %2605, i64 %2610
  %2612 = load double, ptr %2611, align 8, !tbaa !11
  %2613 = call double @llvm.fmuladd.f64(double 0x3C93D6FC900E3498, double %2612, double %2604)
  %2614 = load ptr, ptr %7, align 8, !tbaa !9
  %2615 = load i32, ptr %12, align 4, !tbaa !5
  %2616 = load i32, ptr %8, align 4, !tbaa !5
  %2617 = mul nsw i32 5, %2616
  %2618 = add nsw i32 %2615, %2617
  %2619 = sext i32 %2618 to i64
  %2620 = getelementptr inbounds double, ptr %2614, i64 %2619
  %2621 = load double, ptr %2620, align 8, !tbaa !11
  %2622 = call double @llvm.fmuladd.f64(double 0x3CC029CF9720BC60, double %2621, double %2613)
  %2623 = load ptr, ptr %7, align 8, !tbaa !9
  %2624 = load i32, ptr %12, align 4, !tbaa !5
  %2625 = load i32, ptr %8, align 4, !tbaa !5
  %2626 = mul nsw i32 6, %2625
  %2627 = add nsw i32 %2624, %2626
  %2628 = sext i32 %2627 to i64
  %2629 = getelementptr inbounds double, ptr %2623, i64 %2628
  %2630 = load double, ptr %2629, align 8, !tbaa !11
  %2631 = call double @llvm.fmuladd.f64(double 0xBC8797292B4C1941, double %2630, double %2622)
  %2632 = load ptr, ptr %7, align 8, !tbaa !9
  %2633 = load i32, ptr %12, align 4, !tbaa !5
  %2634 = load i32, ptr %8, align 4, !tbaa !5
  %2635 = mul nsw i32 7, %2634
  %2636 = add nsw i32 %2633, %2635
  %2637 = sext i32 %2636 to i64
  %2638 = getelementptr inbounds double, ptr %2632, i64 %2637
  %2639 = load double, ptr %2638, align 8, !tbaa !11
  %2640 = call double @llvm.fmuladd.f64(double 0x3C92F08ACDCBF794, double %2639, double %2631)
  %2641 = load ptr, ptr %7, align 8, !tbaa !9
  %2642 = load i32, ptr %12, align 4, !tbaa !5
  %2643 = load i32, ptr %8, align 4, !tbaa !5
  %2644 = mul nsw i32 8, %2643
  %2645 = add nsw i32 %2642, %2644
  %2646 = sext i32 %2645 to i64
  %2647 = getelementptr inbounds double, ptr %2641, i64 %2646
  %2648 = load double, ptr %2647, align 8, !tbaa !11
  %2649 = call double @llvm.fmuladd.f64(double 0x3CA6B48868965AE6, double %2648, double %2640)
  %2650 = load ptr, ptr %7, align 8, !tbaa !9
  %2651 = load i32, ptr %12, align 4, !tbaa !5
  %2652 = load i32, ptr %8, align 4, !tbaa !5
  %2653 = mul nsw i32 9, %2652
  %2654 = add nsw i32 %2651, %2653
  %2655 = sext i32 %2654 to i64
  %2656 = getelementptr inbounds double, ptr %2650, i64 %2655
  %2657 = load double, ptr %2656, align 8, !tbaa !11
  %2658 = call double @llvm.fmuladd.f64(double 0x3CA926ECE93029A9, double %2657, double %2649)
  %2659 = load ptr, ptr %7, align 8, !tbaa !9
  %2660 = load i32, ptr %12, align 4, !tbaa !5
  %2661 = load i32, ptr %8, align 4, !tbaa !5
  %2662 = mul nsw i32 10, %2661
  %2663 = add nsw i32 %2660, %2662
  %2664 = sext i32 %2663 to i64
  %2665 = getelementptr inbounds double, ptr %2659, i64 %2664
  %2666 = load double, ptr %2665, align 8, !tbaa !11
  %2667 = call double @llvm.fmuladd.f64(double 0xBCB24490C3AF2293, double %2666, double %2658)
  %2668 = load ptr, ptr %7, align 8, !tbaa !9
  %2669 = load i32, ptr %12, align 4, !tbaa !5
  %2670 = load i32, ptr %8, align 4, !tbaa !5
  %2671 = mul nsw i32 11, %2670
  %2672 = add nsw i32 %2669, %2671
  %2673 = sext i32 %2672 to i64
  %2674 = getelementptr inbounds double, ptr %2668, i64 %2673
  %2675 = load double, ptr %2674, align 8, !tbaa !11
  %2676 = call double @llvm.fmuladd.f64(double 0x3C94D23BA9623EA9, double %2675, double %2667)
  %2677 = load ptr, ptr %7, align 8, !tbaa !9
  %2678 = load i32, ptr %12, align 4, !tbaa !5
  %2679 = load i32, ptr %8, align 4, !tbaa !5
  %2680 = mul nsw i32 12, %2679
  %2681 = add nsw i32 %2678, %2680
  %2682 = sext i32 %2681 to i64
  %2683 = getelementptr inbounds double, ptr %2677, i64 %2682
  %2684 = load double, ptr %2683, align 8, !tbaa !11
  %2685 = call double @llvm.fmuladd.f64(double 0xBF734721512AF07C, double %2684, double %2676)
  %2686 = load ptr, ptr %7, align 8, !tbaa !9
  %2687 = load i32, ptr %12, align 4, !tbaa !5
  %2688 = load i32, ptr %8, align 4, !tbaa !5
  %2689 = mul nsw i32 13, %2688
  %2690 = add nsw i32 %2687, %2689
  %2691 = sext i32 %2690 to i64
  %2692 = getelementptr inbounds double, ptr %2686, i64 %2691
  %2693 = load double, ptr %2692, align 8, !tbaa !11
  %2694 = call double @llvm.fmuladd.f64(double 0x3FF21EFA862DF3DE, double %2693, double %2685)
  %2695 = load ptr, ptr %7, align 8, !tbaa !9
  %2696 = load i32, ptr %12, align 4, !tbaa !5
  %2697 = load i32, ptr %8, align 4, !tbaa !5
  %2698 = mul nsw i32 14, %2697
  %2699 = add nsw i32 %2696, %2698
  %2700 = sext i32 %2699 to i64
  %2701 = getelementptr inbounds double, ptr %2695, i64 %2700
  %2702 = load double, ptr %2701, align 8, !tbaa !11
  %2703 = call double @llvm.fmuladd.f64(double 0xBFF7F19EB1BA88F8, double %2702, double %2694)
  %2704 = load ptr, ptr %7, align 8, !tbaa !9
  %2705 = load i32, ptr %12, align 4, !tbaa !5
  %2706 = load i32, ptr %8, align 4, !tbaa !5
  %2707 = mul nsw i32 15, %2706
  %2708 = add nsw i32 %2705, %2707
  %2709 = sext i32 %2708 to i64
  %2710 = getelementptr inbounds double, ptr %2704, i64 %2709
  %2711 = load double, ptr %2710, align 8, !tbaa !11
  %2712 = call double @llvm.fmuladd.f64(double 0x3FC901A35D55DB50, double %2711, double %2703)
  %2713 = load ptr, ptr %7, align 8, !tbaa !9
  %2714 = load i32, ptr %12, align 4, !tbaa !5
  %2715 = load i32, ptr %8, align 4, !tbaa !5
  %2716 = mul nsw i32 16, %2715
  %2717 = add nsw i32 %2714, %2716
  %2718 = sext i32 %2717 to i64
  %2719 = getelementptr inbounds double, ptr %2713, i64 %2718
  %2720 = load double, ptr %2719, align 8, !tbaa !11
  %2721 = call double @llvm.fmuladd.f64(double 0xBFF48831FA6C703B, double %2720, double %2712)
  %2722 = load ptr, ptr %7, align 8, !tbaa !9
  %2723 = load i32, ptr %12, align 4, !tbaa !5
  %2724 = load i32, ptr %8, align 4, !tbaa !5
  %2725 = mul nsw i32 17, %2724
  %2726 = add nsw i32 %2723, %2725
  %2727 = sext i32 %2726 to i64
  %2728 = getelementptr inbounds double, ptr %2722, i64 %2727
  %2729 = load double, ptr %2728, align 8, !tbaa !11
  %2730 = call double @llvm.fmuladd.f64(double 0x3FF0AF85DD8BD416, double %2729, double %2721)
  store double %2730, ptr %11, align 8, !tbaa !11
  %2731 = load double, ptr %11, align 8, !tbaa !11
  %2732 = load ptr, ptr %9, align 8, !tbaa !9
  %2733 = load i32, ptr %12, align 4, !tbaa !5
  %2734 = load i32, ptr %10, align 4, !tbaa !5
  %2735 = mul nsw i32 15, %2734
  %2736 = add nsw i32 %2733, %2735
  %2737 = sext i32 %2736 to i64
  %2738 = getelementptr inbounds double, ptr %2732, i64 %2737
  store double %2731, ptr %2738, align 8, !tbaa !11
  %2739 = load ptr, ptr %7, align 8, !tbaa !9
  %2740 = load i32, ptr %12, align 4, !tbaa !5
  %2741 = load i32, ptr %8, align 4, !tbaa !5
  %2742 = mul nsw i32 0, %2741
  %2743 = add nsw i32 %2740, %2742
  %2744 = sext i32 %2743 to i64
  %2745 = getelementptr inbounds double, ptr %2739, i64 %2744
  %2746 = load double, ptr %2745, align 8, !tbaa !11
  %2747 = load ptr, ptr %7, align 8, !tbaa !9
  %2748 = load i32, ptr %12, align 4, !tbaa !5
  %2749 = load i32, ptr %8, align 4, !tbaa !5
  %2750 = mul nsw i32 1, %2749
  %2751 = add nsw i32 %2748, %2750
  %2752 = sext i32 %2751 to i64
  %2753 = getelementptr inbounds double, ptr %2747, i64 %2752
  %2754 = load double, ptr %2753, align 8, !tbaa !11
  %2755 = fmul double 0xBC958B3DCEB03946, %2754
  %2756 = call double @llvm.fmuladd.f64(double 0xBCADB22B9651CF46, double %2746, double %2755)
  %2757 = load ptr, ptr %7, align 8, !tbaa !9
  %2758 = load i32, ptr %12, align 4, !tbaa !5
  %2759 = load i32, ptr %8, align 4, !tbaa !5
  %2760 = mul nsw i32 2, %2759
  %2761 = add nsw i32 %2758, %2760
  %2762 = sext i32 %2761 to i64
  %2763 = getelementptr inbounds double, ptr %2757, i64 %2762
  %2764 = load double, ptr %2763, align 8, !tbaa !11
  %2765 = call double @llvm.fmuladd.f64(double 0x3C9ED9E1BC70CFE6, double %2764, double %2756)
  %2766 = load ptr, ptr %7, align 8, !tbaa !9
  %2767 = load i32, ptr %12, align 4, !tbaa !5
  %2768 = load i32, ptr %8, align 4, !tbaa !5
  %2769 = mul nsw i32 3, %2768
  %2770 = add nsw i32 %2767, %2769
  %2771 = sext i32 %2770 to i64
  %2772 = getelementptr inbounds double, ptr %2766, i64 %2771
  %2773 = load double, ptr %2772, align 8, !tbaa !11
  %2774 = call double @llvm.fmuladd.f64(double 0xBC8826BEE25DF5B0, double %2773, double %2765)
  %2775 = load ptr, ptr %7, align 8, !tbaa !9
  %2776 = load i32, ptr %12, align 4, !tbaa !5
  %2777 = load i32, ptr %8, align 4, !tbaa !5
  %2778 = mul nsw i32 4, %2777
  %2779 = add nsw i32 %2776, %2778
  %2780 = sext i32 %2779 to i64
  %2781 = getelementptr inbounds double, ptr %2775, i64 %2780
  %2782 = load double, ptr %2781, align 8, !tbaa !11
  %2783 = call double @llvm.fmuladd.f64(double 0x3CCBB1D94C3EA191, double %2782, double %2774)
  %2784 = load ptr, ptr %7, align 8, !tbaa !9
  %2785 = load i32, ptr %12, align 4, !tbaa !5
  %2786 = load i32, ptr %8, align 4, !tbaa !5
  %2787 = mul nsw i32 5, %2786
  %2788 = add nsw i32 %2785, %2787
  %2789 = sext i32 %2788 to i64
  %2790 = getelementptr inbounds double, ptr %2784, i64 %2789
  %2791 = load double, ptr %2790, align 8, !tbaa !11
  %2792 = call double @llvm.fmuladd.f64(double 0xBC99F98308323540, double %2791, double %2783)
  %2793 = load ptr, ptr %7, align 8, !tbaa !9
  %2794 = load i32, ptr %12, align 4, !tbaa !5
  %2795 = load i32, ptr %8, align 4, !tbaa !5
  %2796 = mul nsw i32 6, %2795
  %2797 = add nsw i32 %2794, %2796
  %2798 = sext i32 %2797 to i64
  %2799 = getelementptr inbounds double, ptr %2793, i64 %2798
  %2800 = load double, ptr %2799, align 8, !tbaa !11
  %2801 = call double @llvm.fmuladd.f64(double 0xBC81FCE005D2224B, double %2800, double %2792)
  %2802 = load ptr, ptr %7, align 8, !tbaa !9
  %2803 = load i32, ptr %12, align 4, !tbaa !5
  %2804 = load i32, ptr %8, align 4, !tbaa !5
  %2805 = mul nsw i32 7, %2804
  %2806 = add nsw i32 %2803, %2805
  %2807 = sext i32 %2806 to i64
  %2808 = getelementptr inbounds double, ptr %2802, i64 %2807
  %2809 = load double, ptr %2808, align 8, !tbaa !11
  %2810 = call double @llvm.fmuladd.f64(double 0x3C94D6A0DAC57C7D, double %2809, double %2801)
  %2811 = load ptr, ptr %7, align 8, !tbaa !9
  %2812 = load i32, ptr %12, align 4, !tbaa !5
  %2813 = load i32, ptr %8, align 4, !tbaa !5
  %2814 = mul nsw i32 8, %2813
  %2815 = add nsw i32 %2812, %2814
  %2816 = sext i32 %2815 to i64
  %2817 = getelementptr inbounds double, ptr %2811, i64 %2816
  %2818 = load double, ptr %2817, align 8, !tbaa !11
  %2819 = call double @llvm.fmuladd.f64(double 0xBC84E1D5E41DCEB7, double %2818, double %2810)
  %2820 = load ptr, ptr %7, align 8, !tbaa !9
  %2821 = load i32, ptr %12, align 4, !tbaa !5
  %2822 = load i32, ptr %8, align 4, !tbaa !5
  %2823 = mul nsw i32 9, %2822
  %2824 = add nsw i32 %2821, %2823
  %2825 = sext i32 %2824 to i64
  %2826 = getelementptr inbounds double, ptr %2820, i64 %2825
  %2827 = load double, ptr %2826, align 8, !tbaa !11
  %2828 = call double @llvm.fmuladd.f64(double 0xBC92763F594C57B8, double %2827, double %2819)
  %2829 = load ptr, ptr %7, align 8, !tbaa !9
  %2830 = load i32, ptr %12, align 4, !tbaa !5
  %2831 = load i32, ptr %8, align 4, !tbaa !5
  %2832 = mul nsw i32 10, %2831
  %2833 = add nsw i32 %2830, %2832
  %2834 = sext i32 %2833 to i64
  %2835 = getelementptr inbounds double, ptr %2829, i64 %2834
  %2836 = load double, ptr %2835, align 8, !tbaa !11
  %2837 = call double @llvm.fmuladd.f64(double 0x3CB1F86B771BE422, double %2836, double %2828)
  %2838 = load ptr, ptr %7, align 8, !tbaa !9
  %2839 = load i32, ptr %12, align 4, !tbaa !5
  %2840 = load i32, ptr %8, align 4, !tbaa !5
  %2841 = mul nsw i32 11, %2840
  %2842 = add nsw i32 %2839, %2841
  %2843 = sext i32 %2842 to i64
  %2844 = getelementptr inbounds double, ptr %2838, i64 %2843
  %2845 = load double, ptr %2844, align 8, !tbaa !11
  %2846 = call double @llvm.fmuladd.f64(double 0xBCA63320C046EFE5, double %2845, double %2837)
  %2847 = load ptr, ptr %7, align 8, !tbaa !9
  %2848 = load i32, ptr %12, align 4, !tbaa !5
  %2849 = load i32, ptr %8, align 4, !tbaa !5
  %2850 = mul nsw i32 12, %2849
  %2851 = add nsw i32 %2848, %2850
  %2852 = sext i32 %2851 to i64
  %2853 = getelementptr inbounds double, ptr %2847, i64 %2852
  %2854 = load double, ptr %2853, align 8, !tbaa !11
  %2855 = call double @llvm.fmuladd.f64(double 0x3FF3237A82AF9ECC, double %2854, double %2846)
  %2856 = load ptr, ptr %7, align 8, !tbaa !9
  %2857 = load i32, ptr %12, align 4, !tbaa !5
  %2858 = load i32, ptr %8, align 4, !tbaa !5
  %2859 = mul nsw i32 13, %2858
  %2860 = add nsw i32 %2857, %2859
  %2861 = sext i32 %2860 to i64
  %2862 = getelementptr inbounds double, ptr %2856, i64 %2861
  %2863 = load double, ptr %2862, align 8, !tbaa !11
  %2864 = call double @llvm.fmuladd.f64(double 0xBFB17C71DD2D5180, double %2863, double %2855)
  %2865 = load ptr, ptr %7, align 8, !tbaa !9
  %2866 = load i32, ptr %12, align 4, !tbaa !5
  %2867 = load i32, ptr %8, align 4, !tbaa !5
  %2868 = mul nsw i32 14, %2867
  %2869 = add nsw i32 %2866, %2868
  %2870 = sext i32 %2869 to i64
  %2871 = getelementptr inbounds double, ptr %2865, i64 %2870
  %2872 = load double, ptr %2871, align 8, !tbaa !11
  %2873 = call double @llvm.fmuladd.f64(double 0xBF76E8A1969E7200, double %2872, double %2864)
  %2874 = load ptr, ptr %7, align 8, !tbaa !9
  %2875 = load i32, ptr %12, align 4, !tbaa !5
  %2876 = load i32, ptr %8, align 4, !tbaa !5
  %2877 = mul nsw i32 15, %2876
  %2878 = add nsw i32 %2875, %2877
  %2879 = sext i32 %2878 to i64
  %2880 = getelementptr inbounds double, ptr %2874, i64 %2879
  %2881 = load double, ptr %2880, align 8, !tbaa !11
  %2882 = call double @llvm.fmuladd.f64(double 0x3FC179BD32D3DC6F, double %2881, double %2873)
  %2883 = load ptr, ptr %7, align 8, !tbaa !9
  %2884 = load i32, ptr %12, align 4, !tbaa !5
  %2885 = load i32, ptr %8, align 4, !tbaa !5
  %2886 = mul nsw i32 16, %2885
  %2887 = add nsw i32 %2884, %2886
  %2888 = sext i32 %2887 to i64
  %2889 = getelementptr inbounds double, ptr %2883, i64 %2888
  %2890 = load double, ptr %2889, align 8, !tbaa !11
  %2891 = call double @llvm.fmuladd.f64(double 0x3FFBC4AD9C53A55A, double %2890, double %2882)
  %2892 = load ptr, ptr %7, align 8, !tbaa !9
  %2893 = load i32, ptr %12, align 4, !tbaa !5
  %2894 = load i32, ptr %8, align 4, !tbaa !5
  %2895 = mul nsw i32 17, %2894
  %2896 = add nsw i32 %2893, %2895
  %2897 = sext i32 %2896 to i64
  %2898 = getelementptr inbounds double, ptr %2892, i64 %2897
  %2899 = load double, ptr %2898, align 8, !tbaa !11
  %2900 = call double @llvm.fmuladd.f64(double 0x3FF1CA3B98F4942B, double %2899, double %2891)
  store double %2900, ptr %11, align 8, !tbaa !11
  %2901 = load double, ptr %11, align 8, !tbaa !11
  %2902 = load ptr, ptr %9, align 8, !tbaa !9
  %2903 = load i32, ptr %12, align 4, !tbaa !5
  %2904 = load i32, ptr %10, align 4, !tbaa !5
  %2905 = mul nsw i32 16, %2904
  %2906 = add nsw i32 %2903, %2905
  %2907 = sext i32 %2906 to i64
  %2908 = getelementptr inbounds double, ptr %2902, i64 %2907
  store double %2901, ptr %2908, align 8, !tbaa !11
  %2909 = load ptr, ptr %7, align 8, !tbaa !9
  %2910 = load i32, ptr %12, align 4, !tbaa !5
  %2911 = load i32, ptr %8, align 4, !tbaa !5
  %2912 = mul nsw i32 0, %2911
  %2913 = add nsw i32 %2910, %2912
  %2914 = sext i32 %2913 to i64
  %2915 = getelementptr inbounds double, ptr %2909, i64 %2914
  %2916 = load double, ptr %2915, align 8, !tbaa !11
  %2917 = load ptr, ptr %7, align 8, !tbaa !9
  %2918 = load i32, ptr %12, align 4, !tbaa !5
  %2919 = load i32, ptr %8, align 4, !tbaa !5
  %2920 = mul nsw i32 1, %2919
  %2921 = add nsw i32 %2918, %2920
  %2922 = sext i32 %2921 to i64
  %2923 = getelementptr inbounds double, ptr %2917, i64 %2922
  %2924 = load double, ptr %2923, align 8, !tbaa !11
  %2925 = fmul double 0xBC90195309BD1B6C, %2924
  %2926 = call double @llvm.fmuladd.f64(double 0x3C91420C4C2992C8, double %2916, double %2925)
  %2927 = load ptr, ptr %7, align 8, !tbaa !9
  %2928 = load i32, ptr %12, align 4, !tbaa !5
  %2929 = load i32, ptr %8, align 4, !tbaa !5
  %2930 = mul nsw i32 2, %2929
  %2931 = add nsw i32 %2928, %2930
  %2932 = sext i32 %2931 to i64
  %2933 = getelementptr inbounds double, ptr %2927, i64 %2932
  %2934 = load double, ptr %2933, align 8, !tbaa !11
  %2935 = call double @llvm.fmuladd.f64(double 0xBCB1596887C79338, double %2934, double %2926)
  %2936 = load ptr, ptr %7, align 8, !tbaa !9
  %2937 = load i32, ptr %12, align 4, !tbaa !5
  %2938 = load i32, ptr %8, align 4, !tbaa !5
  %2939 = mul nsw i32 3, %2938
  %2940 = add nsw i32 %2937, %2939
  %2941 = sext i32 %2940 to i64
  %2942 = getelementptr inbounds double, ptr %2936, i64 %2941
  %2943 = load double, ptr %2942, align 8, !tbaa !11
  %2944 = call double @llvm.fmuladd.f64(double 0xBC95A4C76FC77AC0, double %2943, double %2935)
  %2945 = load ptr, ptr %7, align 8, !tbaa !9
  %2946 = load i32, ptr %12, align 4, !tbaa !5
  %2947 = load i32, ptr %8, align 4, !tbaa !5
  %2948 = mul nsw i32 4, %2947
  %2949 = add nsw i32 %2946, %2948
  %2950 = sext i32 %2949 to i64
  %2951 = getelementptr inbounds double, ptr %2945, i64 %2950
  %2952 = load double, ptr %2951, align 8, !tbaa !11
  %2953 = call double @llvm.fmuladd.f64(double 0xBCA0A9E2E329FCA7, double %2952, double %2944)
  %2954 = load ptr, ptr %7, align 8, !tbaa !9
  %2955 = load i32, ptr %12, align 4, !tbaa !5
  %2956 = load i32, ptr %8, align 4, !tbaa !5
  %2957 = mul nsw i32 5, %2956
  %2958 = add nsw i32 %2955, %2957
  %2959 = sext i32 %2958 to i64
  %2960 = getelementptr inbounds double, ptr %2954, i64 %2959
  %2961 = load double, ptr %2960, align 8, !tbaa !11
  %2962 = call double @llvm.fmuladd.f64(double 0xBC80C6561C6CD610, double %2961, double %2953)
  %2963 = load ptr, ptr %7, align 8, !tbaa !9
  %2964 = load i32, ptr %12, align 4, !tbaa !5
  %2965 = load i32, ptr %8, align 4, !tbaa !5
  %2966 = mul nsw i32 6, %2965
  %2967 = add nsw i32 %2964, %2966
  %2968 = sext i32 %2967 to i64
  %2969 = getelementptr inbounds double, ptr %2963, i64 %2968
  %2970 = load double, ptr %2969, align 8, !tbaa !11
  %2971 = call double @llvm.fmuladd.f64(double 0xBC89201DA4BD28AE, double %2970, double %2962)
  %2972 = load ptr, ptr %7, align 8, !tbaa !9
  %2973 = load i32, ptr %12, align 4, !tbaa !5
  %2974 = load i32, ptr %8, align 4, !tbaa !5
  %2975 = mul nsw i32 7, %2974
  %2976 = add nsw i32 %2973, %2975
  %2977 = sext i32 %2976 to i64
  %2978 = getelementptr inbounds double, ptr %2972, i64 %2977
  %2979 = load double, ptr %2978, align 8, !tbaa !11
  %2980 = call double @llvm.fmuladd.f64(double 0x3C950AD45332D6FF, double %2979, double %2971)
  %2981 = load ptr, ptr %7, align 8, !tbaa !9
  %2982 = load i32, ptr %12, align 4, !tbaa !5
  %2983 = load i32, ptr %8, align 4, !tbaa !5
  %2984 = mul nsw i32 8, %2983
  %2985 = add nsw i32 %2982, %2984
  %2986 = sext i32 %2985 to i64
  %2987 = getelementptr inbounds double, ptr %2981, i64 %2986
  %2988 = load double, ptr %2987, align 8, !tbaa !11
  %2989 = call double @llvm.fmuladd.f64(double 0x3C9EB6F29C749A8E, double %2988, double %2980)
  %2990 = load ptr, ptr %7, align 8, !tbaa !9
  %2991 = load i32, ptr %12, align 4, !tbaa !5
  %2992 = load i32, ptr %8, align 4, !tbaa !5
  %2993 = mul nsw i32 9, %2992
  %2994 = add nsw i32 %2991, %2993
  %2995 = sext i32 %2994 to i64
  %2996 = getelementptr inbounds double, ptr %2990, i64 %2995
  %2997 = load double, ptr %2996, align 8, !tbaa !11
  %2998 = call double @llvm.fmuladd.f64(double 0xBC6D62BACB4768A0, double %2997, double %2989)
  %2999 = load ptr, ptr %7, align 8, !tbaa !9
  %3000 = load i32, ptr %12, align 4, !tbaa !5
  %3001 = load i32, ptr %8, align 4, !tbaa !5
  %3002 = mul nsw i32 10, %3001
  %3003 = add nsw i32 %3000, %3002
  %3004 = sext i32 %3003 to i64
  %3005 = getelementptr inbounds double, ptr %2999, i64 %3004
  %3006 = load double, ptr %3005, align 8, !tbaa !11
  %3007 = call double @llvm.fmuladd.f64(double 0x3CB80BBA9C9EA48C, double %3006, double %2998)
  %3008 = load ptr, ptr %7, align 8, !tbaa !9
  %3009 = load i32, ptr %12, align 4, !tbaa !5
  %3010 = load i32, ptr %8, align 4, !tbaa !5
  %3011 = mul nsw i32 11, %3010
  %3012 = add nsw i32 %3009, %3011
  %3013 = sext i32 %3012 to i64
  %3014 = getelementptr inbounds double, ptr %3008, i64 %3013
  %3015 = load double, ptr %3014, align 8, !tbaa !11
  %3016 = call double @llvm.fmuladd.f64(double 0xBCAB0B98A91B6678, double %3015, double %3007)
  %3017 = load ptr, ptr %7, align 8, !tbaa !9
  %3018 = load i32, ptr %12, align 4, !tbaa !5
  %3019 = load i32, ptr %8, align 4, !tbaa !5
  %3020 = mul nsw i32 12, %3019
  %3021 = add nsw i32 %3018, %3020
  %3022 = sext i32 %3021 to i64
  %3023 = getelementptr inbounds double, ptr %3017, i64 %3022
  %3024 = load double, ptr %3023, align 8, !tbaa !11
  %3025 = call double @llvm.fmuladd.f64(double 0xBFF5B6F7089FF1D1, double %3024, double %3016)
  %3026 = load ptr, ptr %7, align 8, !tbaa !9
  %3027 = load i32, ptr %12, align 4, !tbaa !5
  %3028 = load i32, ptr %8, align 4, !tbaa !5
  %3029 = mul nsw i32 13, %3028
  %3030 = add nsw i32 %3027, %3029
  %3031 = sext i32 %3030 to i64
  %3032 = getelementptr inbounds double, ptr %3026, i64 %3031
  %3033 = load double, ptr %3032, align 8, !tbaa !11
  %3034 = call double @llvm.fmuladd.f64(double 0x3FB1F3F0B024DC80, double %3033, double %3025)
  %3035 = load ptr, ptr %7, align 8, !tbaa !9
  %3036 = load i32, ptr %12, align 4, !tbaa !5
  %3037 = load i32, ptr %8, align 4, !tbaa !5
  %3038 = mul nsw i32 14, %3037
  %3039 = add nsw i32 %3036, %3038
  %3040 = sext i32 %3039 to i64
  %3041 = getelementptr inbounds double, ptr %3035, i64 %3040
  %3042 = load double, ptr %3041, align 8, !tbaa !11
  %3043 = call double @llvm.fmuladd.f64(double 0x3FCCBE3CAE6B6284, double %3042, double %3034)
  %3044 = load ptr, ptr %7, align 8, !tbaa !9
  %3045 = load i32, ptr %12, align 4, !tbaa !5
  %3046 = load i32, ptr %8, align 4, !tbaa !5
  %3047 = mul nsw i32 15, %3046
  %3048 = add nsw i32 %3045, %3047
  %3049 = sext i32 %3048 to i64
  %3050 = getelementptr inbounds double, ptr %3044, i64 %3049
  %3051 = load double, ptr %3050, align 8, !tbaa !11
  %3052 = call double @llvm.fmuladd.f64(double 0xBFD81F8F0CEC6102, double %3051, double %3043)
  %3053 = load ptr, ptr %7, align 8, !tbaa !9
  %3054 = load i32, ptr %12, align 4, !tbaa !5
  %3055 = load i32, ptr %8, align 4, !tbaa !5
  %3056 = mul nsw i32 16, %3055
  %3057 = add nsw i32 %3054, %3056
  %3058 = sext i32 %3057 to i64
  %3059 = getelementptr inbounds double, ptr %3053, i64 %3058
  %3060 = load double, ptr %3059, align 8, !tbaa !11
  %3061 = call double @llvm.fmuladd.f64(double 0xBFFBA497A89943F3, double %3060, double %3052)
  %3062 = load ptr, ptr %7, align 8, !tbaa !9
  %3063 = load i32, ptr %12, align 4, !tbaa !5
  %3064 = load i32, ptr %8, align 4, !tbaa !5
  %3065 = mul nsw i32 17, %3064
  %3066 = add nsw i32 %3063, %3065
  %3067 = sext i32 %3066 to i64
  %3068 = getelementptr inbounds double, ptr %3062, i64 %3067
  %3069 = load double, ptr %3068, align 8, !tbaa !11
  %3070 = call double @llvm.fmuladd.f64(double 0xBFDC5366E211BEA3, double %3069, double %3061)
  store double %3070, ptr %11, align 8, !tbaa !11
  %3071 = load double, ptr %11, align 8, !tbaa !11
  %3072 = load ptr, ptr %9, align 8, !tbaa !9
  %3073 = load i32, ptr %12, align 4, !tbaa !5
  %3074 = load i32, ptr %10, align 4, !tbaa !5
  %3075 = mul nsw i32 17, %3074
  %3076 = add nsw i32 %3073, %3075
  %3077 = sext i32 %3076 to i64
  %3078 = getelementptr inbounds double, ptr %3072, i64 %3077
  store double %3071, ptr %3078, align 8, !tbaa !11
  %3079 = load ptr, ptr %7, align 8, !tbaa !9
  %3080 = load i32, ptr %12, align 4, !tbaa !5
  %3081 = load i32, ptr %8, align 4, !tbaa !5
  %3082 = mul nsw i32 0, %3081
  %3083 = add nsw i32 %3080, %3082
  %3084 = sext i32 %3083 to i64
  %3085 = getelementptr inbounds double, ptr %3079, i64 %3084
  %3086 = load double, ptr %3085, align 8, !tbaa !11
  %3087 = load ptr, ptr %7, align 8, !tbaa !9
  %3088 = load i32, ptr %12, align 4, !tbaa !5
  %3089 = load i32, ptr %8, align 4, !tbaa !5
  %3090 = mul nsw i32 1, %3089
  %3091 = add nsw i32 %3088, %3090
  %3092 = sext i32 %3091 to i64
  %3093 = getelementptr inbounds double, ptr %3087, i64 %3092
  %3094 = load double, ptr %3093, align 8, !tbaa !11
  %3095 = fmul double 0x3FE4EDE8EE256114, %3094
  %3096 = call double @llvm.fmuladd.f64(double 0xBFE8AC73392375CC, double %3086, double %3095)
  %3097 = load ptr, ptr %7, align 8, !tbaa !9
  %3098 = load i32, ptr %12, align 4, !tbaa !5
  %3099 = load i32, ptr %8, align 4, !tbaa !5
  %3100 = mul nsw i32 2, %3099
  %3101 = add nsw i32 %3098, %3100
  %3102 = sext i32 %3101 to i64
  %3103 = getelementptr inbounds double, ptr %3097, i64 %3102
  %3104 = load double, ptr %3103, align 8, !tbaa !11
  %3105 = call double @llvm.fmuladd.f64(double 0x3FEA5488770B26BE, double %3104, double %3096)
  %3106 = load ptr, ptr %7, align 8, !tbaa !9
  %3107 = load i32, ptr %12, align 4, !tbaa !5
  %3108 = load i32, ptr %8, align 4, !tbaa !5
  %3109 = mul nsw i32 3, %3108
  %3110 = add nsw i32 %3107, %3109
  %3111 = sext i32 %3110 to i64
  %3112 = getelementptr inbounds double, ptr %3106, i64 %3111
  %3113 = load double, ptr %3112, align 8, !tbaa !11
  %3114 = call double @llvm.fmuladd.f64(double 0x3FF44CD742FC94E8, double %3113, double %3105)
  %3115 = load ptr, ptr %7, align 8, !tbaa !9
  %3116 = load i32, ptr %12, align 4, !tbaa !5
  %3117 = load i32, ptr %8, align 4, !tbaa !5
  %3118 = mul nsw i32 4, %3117
  %3119 = add nsw i32 %3116, %3118
  %3120 = sext i32 %3119 to i64
  %3121 = getelementptr inbounds double, ptr %3115, i64 %3120
  %3122 = load double, ptr %3121, align 8, !tbaa !11
  %3123 = call double @llvm.fmuladd.f64(double 0xBFFEF1F8514C97DD, double %3122, double %3114)
  %3124 = load ptr, ptr %7, align 8, !tbaa !9
  %3125 = load i32, ptr %12, align 4, !tbaa !5
  %3126 = load i32, ptr %8, align 4, !tbaa !5
  %3127 = mul nsw i32 5, %3126
  %3128 = add nsw i32 %3125, %3127
  %3129 = sext i32 %3128 to i64
  %3130 = getelementptr inbounds double, ptr %3124, i64 %3129
  %3131 = load double, ptr %3130, align 8, !tbaa !11
  %3132 = call double @llvm.fmuladd.f64(double 0xBFF01B2FE70C1193, double %3131, double %3123)
  %3133 = load ptr, ptr %7, align 8, !tbaa !9
  %3134 = load i32, ptr %12, align 4, !tbaa !5
  %3135 = load i32, ptr %8, align 4, !tbaa !5
  %3136 = mul nsw i32 6, %3135
  %3137 = add nsw i32 %3134, %3136
  %3138 = sext i32 %3137 to i64
  %3139 = getelementptr inbounds double, ptr %3133, i64 %3138
  %3140 = load double, ptr %3139, align 8, !tbaa !11
  %3141 = call double @llvm.fmuladd.f64(double 0x3CA4DBB49723188B, double %3140, double %3132)
  %3142 = load ptr, ptr %7, align 8, !tbaa !9
  %3143 = load i32, ptr %12, align 4, !tbaa !5
  %3144 = load i32, ptr %8, align 4, !tbaa !5
  %3145 = mul nsw i32 7, %3144
  %3146 = add nsw i32 %3143, %3145
  %3147 = sext i32 %3146 to i64
  %3148 = getelementptr inbounds double, ptr %3142, i64 %3147
  %3149 = load double, ptr %3148, align 8, !tbaa !11
  %3150 = call double @llvm.fmuladd.f64(double 0xBCA07423258E8785, double %3149, double %3141)
  %3151 = load ptr, ptr %7, align 8, !tbaa !9
  %3152 = load i32, ptr %12, align 4, !tbaa !5
  %3153 = load i32, ptr %8, align 4, !tbaa !5
  %3154 = mul nsw i32 8, %3153
  %3155 = add nsw i32 %3152, %3154
  %3156 = sext i32 %3155 to i64
  %3157 = getelementptr inbounds double, ptr %3151, i64 %3156
  %3158 = load double, ptr %3157, align 8, !tbaa !11
  %3159 = call double @llvm.fmuladd.f64(double 0xBC8CF1A7605B6ED6, double %3158, double %3150)
  %3160 = load ptr, ptr %7, align 8, !tbaa !9
  %3161 = load i32, ptr %12, align 4, !tbaa !5
  %3162 = load i32, ptr %8, align 4, !tbaa !5
  %3163 = mul nsw i32 9, %3162
  %3164 = add nsw i32 %3161, %3163
  %3165 = sext i32 %3164 to i64
  %3166 = getelementptr inbounds double, ptr %3160, i64 %3165
  %3167 = load double, ptr %3166, align 8, !tbaa !11
  %3168 = call double @llvm.fmuladd.f64(double 0xBC87A5CD2646DADD, double %3167, double %3159)
  %3169 = load ptr, ptr %7, align 8, !tbaa !9
  %3170 = load i32, ptr %12, align 4, !tbaa !5
  %3171 = load i32, ptr %8, align 4, !tbaa !5
  %3172 = mul nsw i32 10, %3171
  %3173 = add nsw i32 %3170, %3172
  %3174 = sext i32 %3173 to i64
  %3175 = getelementptr inbounds double, ptr %3169, i64 %3174
  %3176 = load double, ptr %3175, align 8, !tbaa !11
  %3177 = call double @llvm.fmuladd.f64(double 0x3C756728FD5B044F, double %3176, double %3168)
  %3178 = load ptr, ptr %7, align 8, !tbaa !9
  %3179 = load i32, ptr %12, align 4, !tbaa !5
  %3180 = load i32, ptr %8, align 4, !tbaa !5
  %3181 = mul nsw i32 11, %3180
  %3182 = add nsw i32 %3179, %3181
  %3183 = sext i32 %3182 to i64
  %3184 = getelementptr inbounds double, ptr %3178, i64 %3183
  %3185 = load double, ptr %3184, align 8, !tbaa !11
  %3186 = call double @llvm.fmuladd.f64(double 0xBC8B1A3C6A1C6E73, double %3185, double %3177)
  %3187 = load ptr, ptr %7, align 8, !tbaa !9
  %3188 = load i32, ptr %12, align 4, !tbaa !5
  %3189 = load i32, ptr %8, align 4, !tbaa !5
  %3190 = mul nsw i32 12, %3189
  %3191 = add nsw i32 %3188, %3190
  %3192 = sext i32 %3191 to i64
  %3193 = getelementptr inbounds double, ptr %3187, i64 %3192
  %3194 = load double, ptr %3193, align 8, !tbaa !11
  %3195 = call double @llvm.fmuladd.f64(double 0xBCB366C66C9C20EC, double %3194, double %3186)
  %3196 = load ptr, ptr %7, align 8, !tbaa !9
  %3197 = load i32, ptr %12, align 4, !tbaa !5
  %3198 = load i32, ptr %8, align 4, !tbaa !5
  %3199 = mul nsw i32 13, %3198
  %3200 = add nsw i32 %3197, %3199
  %3201 = sext i32 %3200 to i64
  %3202 = getelementptr inbounds double, ptr %3196, i64 %3201
  %3203 = load double, ptr %3202, align 8, !tbaa !11
  %3204 = call double @llvm.fmuladd.f64(double 0xBC7758351226A631, double %3203, double %3195)
  %3205 = load ptr, ptr %7, align 8, !tbaa !9
  %3206 = load i32, ptr %12, align 4, !tbaa !5
  %3207 = load i32, ptr %8, align 4, !tbaa !5
  %3208 = mul nsw i32 14, %3207
  %3209 = add nsw i32 %3206, %3208
  %3210 = sext i32 %3209 to i64
  %3211 = getelementptr inbounds double, ptr %3205, i64 %3210
  %3212 = load double, ptr %3211, align 8, !tbaa !11
  %3213 = call double @llvm.fmuladd.f64(double 0xBCB6C6F6878DD3A7, double %3212, double %3204)
  %3214 = load ptr, ptr %7, align 8, !tbaa !9
  %3215 = load i32, ptr %12, align 4, !tbaa !5
  %3216 = load i32, ptr %8, align 4, !tbaa !5
  %3217 = mul nsw i32 15, %3216
  %3218 = add nsw i32 %3215, %3217
  %3219 = sext i32 %3218 to i64
  %3220 = getelementptr inbounds double, ptr %3214, i64 %3219
  %3221 = load double, ptr %3220, align 8, !tbaa !11
  %3222 = call double @llvm.fmuladd.f64(double 0x3CA4C6639E24044F, double %3221, double %3213)
  %3223 = load ptr, ptr %7, align 8, !tbaa !9
  %3224 = load i32, ptr %12, align 4, !tbaa !5
  %3225 = load i32, ptr %8, align 4, !tbaa !5
  %3226 = mul nsw i32 16, %3225
  %3227 = add nsw i32 %3224, %3226
  %3228 = sext i32 %3227 to i64
  %3229 = getelementptr inbounds double, ptr %3223, i64 %3228
  %3230 = load double, ptr %3229, align 8, !tbaa !11
  %3231 = call double @llvm.fmuladd.f64(double 0x3CB88B2192416394, double %3230, double %3222)
  %3232 = load ptr, ptr %7, align 8, !tbaa !9
  %3233 = load i32, ptr %12, align 4, !tbaa !5
  %3234 = load i32, ptr %8, align 4, !tbaa !5
  %3235 = mul nsw i32 17, %3234
  %3236 = add nsw i32 %3233, %3235
  %3237 = sext i32 %3236 to i64
  %3238 = getelementptr inbounds double, ptr %3232, i64 %3237
  %3239 = load double, ptr %3238, align 8, !tbaa !11
  %3240 = call double @llvm.fmuladd.f64(double 0xBC4417177B9D447F, double %3239, double %3231)
  store double %3240, ptr %11, align 8, !tbaa !11
  %3241 = load double, ptr %11, align 8, !tbaa !11
  %3242 = load ptr, ptr %9, align 8, !tbaa !9
  %3243 = load i32, ptr %12, align 4, !tbaa !5
  %3244 = load i32, ptr %10, align 4, !tbaa !5
  %3245 = mul nsw i32 18, %3244
  %3246 = add nsw i32 %3243, %3245
  %3247 = sext i32 %3246 to i64
  %3248 = getelementptr inbounds double, ptr %3242, i64 %3247
  store double %3241, ptr %3248, align 8, !tbaa !11
  %3249 = load ptr, ptr %7, align 8, !tbaa !9
  %3250 = load i32, ptr %12, align 4, !tbaa !5
  %3251 = load i32, ptr %8, align 4, !tbaa !5
  %3252 = mul nsw i32 0, %3251
  %3253 = add nsw i32 %3250, %3252
  %3254 = sext i32 %3253 to i64
  %3255 = getelementptr inbounds double, ptr %3249, i64 %3254
  %3256 = load double, ptr %3255, align 8, !tbaa !11
  %3257 = load ptr, ptr %7, align 8, !tbaa !9
  %3258 = load i32, ptr %12, align 4, !tbaa !5
  %3259 = load i32, ptr %8, align 4, !tbaa !5
  %3260 = mul nsw i32 1, %3259
  %3261 = add nsw i32 %3258, %3260
  %3262 = sext i32 %3261 to i64
  %3263 = getelementptr inbounds double, ptr %3257, i64 %3262
  %3264 = load double, ptr %3263, align 8, !tbaa !11
  %3265 = fmul double 0x3FF44E3F94172F4B, %3264
  %3266 = call double @llvm.fmuladd.f64(double 0xBF7DFA2300BBB280, double %3256, double %3265)
  %3267 = load ptr, ptr %7, align 8, !tbaa !9
  %3268 = load i32, ptr %12, align 4, !tbaa !5
  %3269 = load i32, ptr %8, align 4, !tbaa !5
  %3270 = mul nsw i32 2, %3269
  %3271 = add nsw i32 %3268, %3270
  %3272 = sext i32 %3271 to i64
  %3273 = getelementptr inbounds double, ptr %3267, i64 %3272
  %3274 = load double, ptr %3273, align 8, !tbaa !11
  %3275 = call double @llvm.fmuladd.f64(double 0x3FB9ECDD981278F3, double %3274, double %3266)
  %3276 = load ptr, ptr %7, align 8, !tbaa !9
  %3277 = load i32, ptr %12, align 4, !tbaa !5
  %3278 = load i32, ptr %8, align 4, !tbaa !5
  %3279 = mul nsw i32 3, %3278
  %3280 = add nsw i32 %3277, %3279
  %3281 = sext i32 %3280 to i64
  %3282 = getelementptr inbounds double, ptr %3276, i64 %3281
  %3283 = load double, ptr %3282, align 8, !tbaa !11
  %3284 = call double @llvm.fmuladd.f64(double 0xBFE4FBED5D8A964C, double %3283, double %3275)
  %3285 = load ptr, ptr %7, align 8, !tbaa !9
  %3286 = load i32, ptr %12, align 4, !tbaa !5
  %3287 = load i32, ptr %8, align 4, !tbaa !5
  %3288 = mul nsw i32 4, %3287
  %3289 = add nsw i32 %3286, %3288
  %3290 = sext i32 %3289 to i64
  %3291 = getelementptr inbounds double, ptr %3285, i64 %3290
  %3292 = load double, ptr %3291, align 8, !tbaa !11
  %3293 = call double @llvm.fmuladd.f64(double 0xBF83952FC55A7310, double %3292, double %3284)
  %3294 = load ptr, ptr %7, align 8, !tbaa !9
  %3295 = load i32, ptr %12, align 4, !tbaa !5
  %3296 = load i32, ptr %8, align 4, !tbaa !5
  %3297 = mul nsw i32 5, %3296
  %3298 = add nsw i32 %3295, %3297
  %3299 = sext i32 %3298 to i64
  %3300 = getelementptr inbounds double, ptr %3294, i64 %3299
  %3301 = load double, ptr %3300, align 8, !tbaa !11
  %3302 = call double @llvm.fmuladd.f64(double 0x3FD50884576D0BB8, double %3301, double %3293)
  %3303 = load ptr, ptr %7, align 8, !tbaa !9
  %3304 = load i32, ptr %12, align 4, !tbaa !5
  %3305 = load i32, ptr %8, align 4, !tbaa !5
  %3306 = mul nsw i32 6, %3305
  %3307 = add nsw i32 %3304, %3306
  %3308 = sext i32 %3307 to i64
  %3309 = getelementptr inbounds double, ptr %3303, i64 %3308
  %3310 = load double, ptr %3309, align 8, !tbaa !11
  %3311 = call double @llvm.fmuladd.f64(double 0xBC62256990361280, double %3310, double %3302)
  %3312 = load ptr, ptr %7, align 8, !tbaa !9
  %3313 = load i32, ptr %12, align 4, !tbaa !5
  %3314 = load i32, ptr %8, align 4, !tbaa !5
  %3315 = mul nsw i32 7, %3314
  %3316 = add nsw i32 %3313, %3315
  %3317 = sext i32 %3316 to i64
  %3318 = getelementptr inbounds double, ptr %3312, i64 %3317
  %3319 = load double, ptr %3318, align 8, !tbaa !11
  %3320 = call double @llvm.fmuladd.f64(double 0x3CC20413F90F2947, double %3319, double %3311)
  %3321 = load ptr, ptr %7, align 8, !tbaa !9
  %3322 = load i32, ptr %12, align 4, !tbaa !5
  %3323 = load i32, ptr %8, align 4, !tbaa !5
  %3324 = mul nsw i32 8, %3323
  %3325 = add nsw i32 %3322, %3324
  %3326 = sext i32 %3325 to i64
  %3327 = getelementptr inbounds double, ptr %3321, i64 %3326
  %3328 = load double, ptr %3327, align 8, !tbaa !11
  %3329 = call double @llvm.fmuladd.f64(double 0x3CA8FA36F9E410BC, double %3328, double %3320)
  %3330 = load ptr, ptr %7, align 8, !tbaa !9
  %3331 = load i32, ptr %12, align 4, !tbaa !5
  %3332 = load i32, ptr %8, align 4, !tbaa !5
  %3333 = mul nsw i32 9, %3332
  %3334 = add nsw i32 %3331, %3333
  %3335 = sext i32 %3334 to i64
  %3336 = getelementptr inbounds double, ptr %3330, i64 %3335
  %3337 = load double, ptr %3336, align 8, !tbaa !11
  %3338 = call double @llvm.fmuladd.f64(double 0x3C9F209CBEE6547E, double %3337, double %3329)
  %3339 = load ptr, ptr %7, align 8, !tbaa !9
  %3340 = load i32, ptr %12, align 4, !tbaa !5
  %3341 = load i32, ptr %8, align 4, !tbaa !5
  %3342 = mul nsw i32 10, %3341
  %3343 = add nsw i32 %3340, %3342
  %3344 = sext i32 %3343 to i64
  %3345 = getelementptr inbounds double, ptr %3339, i64 %3344
  %3346 = load double, ptr %3345, align 8, !tbaa !11
  %3347 = call double @llvm.fmuladd.f64(double 0x3CA97C0FDD5CC331, double %3346, double %3338)
  %3348 = load ptr, ptr %7, align 8, !tbaa !9
  %3349 = load i32, ptr %12, align 4, !tbaa !5
  %3350 = load i32, ptr %8, align 4, !tbaa !5
  %3351 = mul nsw i32 11, %3350
  %3352 = add nsw i32 %3349, %3351
  %3353 = sext i32 %3352 to i64
  %3354 = getelementptr inbounds double, ptr %3348, i64 %3353
  %3355 = load double, ptr %3354, align 8, !tbaa !11
  %3356 = call double @llvm.fmuladd.f64(double 0x3C839062B03D9625, double %3355, double %3347)
  %3357 = load ptr, ptr %7, align 8, !tbaa !9
  %3358 = load i32, ptr %12, align 4, !tbaa !5
  %3359 = load i32, ptr %8, align 4, !tbaa !5
  %3360 = mul nsw i32 12, %3359
  %3361 = add nsw i32 %3358, %3360
  %3362 = sext i32 %3361 to i64
  %3363 = getelementptr inbounds double, ptr %3357, i64 %3362
  %3364 = load double, ptr %3363, align 8, !tbaa !11
  %3365 = call double @llvm.fmuladd.f64(double 0x3C8F162AB3E24558, double %3364, double %3356)
  %3366 = load ptr, ptr %7, align 8, !tbaa !9
  %3367 = load i32, ptr %12, align 4, !tbaa !5
  %3368 = load i32, ptr %8, align 4, !tbaa !5
  %3369 = mul nsw i32 13, %3368
  %3370 = add nsw i32 %3367, %3369
  %3371 = sext i32 %3370 to i64
  %3372 = getelementptr inbounds double, ptr %3366, i64 %3371
  %3373 = load double, ptr %3372, align 8, !tbaa !11
  %3374 = call double @llvm.fmuladd.f64(double 0x3CC24822224DBC78, double %3373, double %3365)
  %3375 = load ptr, ptr %7, align 8, !tbaa !9
  %3376 = load i32, ptr %12, align 4, !tbaa !5
  %3377 = load i32, ptr %8, align 4, !tbaa !5
  %3378 = mul nsw i32 14, %3377
  %3379 = add nsw i32 %3376, %3378
  %3380 = sext i32 %3379 to i64
  %3381 = getelementptr inbounds double, ptr %3375, i64 %3380
  %3382 = load double, ptr %3381, align 8, !tbaa !11
  %3383 = call double @llvm.fmuladd.f64(double 0xBCB88407823ABCF7, double %3382, double %3374)
  %3384 = load ptr, ptr %7, align 8, !tbaa !9
  %3385 = load i32, ptr %12, align 4, !tbaa !5
  %3386 = load i32, ptr %8, align 4, !tbaa !5
  %3387 = mul nsw i32 15, %3386
  %3388 = add nsw i32 %3385, %3387
  %3389 = sext i32 %3388 to i64
  %3390 = getelementptr inbounds double, ptr %3384, i64 %3389
  %3391 = load double, ptr %3390, align 8, !tbaa !11
  %3392 = call double @llvm.fmuladd.f64(double 0x3CB067CE2C74889D, double %3391, double %3383)
  %3393 = load ptr, ptr %7, align 8, !tbaa !9
  %3394 = load i32, ptr %12, align 4, !tbaa !5
  %3395 = load i32, ptr %8, align 4, !tbaa !5
  %3396 = mul nsw i32 16, %3395
  %3397 = add nsw i32 %3394, %3396
  %3398 = sext i32 %3397 to i64
  %3399 = getelementptr inbounds double, ptr %3393, i64 %3398
  %3400 = load double, ptr %3399, align 8, !tbaa !11
  %3401 = call double @llvm.fmuladd.f64(double 0x3CA71D150152D3DA, double %3400, double %3392)
  %3402 = load ptr, ptr %7, align 8, !tbaa !9
  %3403 = load i32, ptr %12, align 4, !tbaa !5
  %3404 = load i32, ptr %8, align 4, !tbaa !5
  %3405 = mul nsw i32 17, %3404
  %3406 = add nsw i32 %3403, %3405
  %3407 = sext i32 %3406 to i64
  %3408 = getelementptr inbounds double, ptr %3402, i64 %3407
  %3409 = load double, ptr %3408, align 8, !tbaa !11
  %3410 = call double @llvm.fmuladd.f64(double 0xBCC8C466774B0520, double %3409, double %3401)
  store double %3410, ptr %11, align 8, !tbaa !11
  %3411 = load double, ptr %11, align 8, !tbaa !11
  %3412 = load ptr, ptr %9, align 8, !tbaa !9
  %3413 = load i32, ptr %12, align 4, !tbaa !5
  %3414 = load i32, ptr %10, align 4, !tbaa !5
  %3415 = mul nsw i32 19, %3414
  %3416 = add nsw i32 %3413, %3415
  %3417 = sext i32 %3416 to i64
  %3418 = getelementptr inbounds double, ptr %3412, i64 %3417
  store double %3411, ptr %3418, align 8, !tbaa !11
  %3419 = load ptr, ptr %7, align 8, !tbaa !9
  %3420 = load i32, ptr %12, align 4, !tbaa !5
  %3421 = load i32, ptr %8, align 4, !tbaa !5
  %3422 = mul nsw i32 0, %3421
  %3423 = add nsw i32 %3420, %3422
  %3424 = sext i32 %3423 to i64
  %3425 = getelementptr inbounds double, ptr %3419, i64 %3424
  %3426 = load double, ptr %3425, align 8, !tbaa !11
  %3427 = load ptr, ptr %7, align 8, !tbaa !9
  %3428 = load i32, ptr %12, align 4, !tbaa !5
  %3429 = load i32, ptr %8, align 4, !tbaa !5
  %3430 = mul nsw i32 1, %3429
  %3431 = add nsw i32 %3428, %3430
  %3432 = sext i32 %3431 to i64
  %3433 = getelementptr inbounds double, ptr %3427, i64 %3432
  %3434 = load double, ptr %3433, align 8, !tbaa !11
  %3435 = fmul double 0xBFE1EC4181248AE2, %3434
  %3436 = call double @llvm.fmuladd.f64(double 0xBFDFFE63E285175F, double %3426, double %3435)
  %3437 = load ptr, ptr %7, align 8, !tbaa !9
  %3438 = load i32, ptr %12, align 4, !tbaa !5
  %3439 = load i32, ptr %8, align 4, !tbaa !5
  %3440 = mul nsw i32 2, %3439
  %3441 = add nsw i32 %3438, %3440
  %3442 = sext i32 %3441 to i64
  %3443 = getelementptr inbounds double, ptr %3437, i64 %3442
  %3444 = load double, ptr %3443, align 8, !tbaa !11
  %3445 = call double @llvm.fmuladd.f64(double 0x4000E9CE75C2FBF8, double %3444, double %3436)
  %3446 = load ptr, ptr %7, align 8, !tbaa !9
  %3447 = load i32, ptr %12, align 4, !tbaa !5
  %3448 = load i32, ptr %8, align 4, !tbaa !5
  %3449 = mul nsw i32 3, %3448
  %3450 = add nsw i32 %3447, %3449
  %3451 = sext i32 %3450 to i64
  %3452 = getelementptr inbounds double, ptr %3446, i64 %3451
  %3453 = load double, ptr %3452, align 8, !tbaa !11
  %3454 = call double @llvm.fmuladd.f64(double 0x3FF2343957F3A8AF, double %3453, double %3445)
  %3455 = load ptr, ptr %7, align 8, !tbaa !9
  %3456 = load i32, ptr %12, align 4, !tbaa !5
  %3457 = load i32, ptr %8, align 4, !tbaa !5
  %3458 = mul nsw i32 4, %3457
  %3459 = add nsw i32 %3456, %3458
  %3460 = sext i32 %3459 to i64
  %3461 = getelementptr inbounds double, ptr %3455, i64 %3460
  %3462 = load double, ptr %3461, align 8, !tbaa !11
  %3463 = call double @llvm.fmuladd.f64(double 0x3FF31D88B253B07B, double %3462, double %3454)
  %3464 = load ptr, ptr %7, align 8, !tbaa !9
  %3465 = load i32, ptr %12, align 4, !tbaa !5
  %3466 = load i32, ptr %8, align 4, !tbaa !5
  %3467 = mul nsw i32 5, %3466
  %3468 = add nsw i32 %3465, %3467
  %3469 = sext i32 %3468 to i64
  %3470 = getelementptr inbounds double, ptr %3464, i64 %3469
  %3471 = load double, ptr %3470, align 8, !tbaa !11
  %3472 = call double @llvm.fmuladd.f64(double 0xBFEE712F1EF7D89C, double %3471, double %3463)
  %3473 = load ptr, ptr %7, align 8, !tbaa !9
  %3474 = load i32, ptr %12, align 4, !tbaa !5
  %3475 = load i32, ptr %8, align 4, !tbaa !5
  %3476 = mul nsw i32 6, %3475
  %3477 = add nsw i32 %3474, %3476
  %3478 = sext i32 %3477 to i64
  %3479 = getelementptr inbounds double, ptr %3473, i64 %3478
  %3480 = load double, ptr %3479, align 8, !tbaa !11
  %3481 = call double @llvm.fmuladd.f64(double 0x3C850293B3FCA0E3, double %3480, double %3472)
  %3482 = load ptr, ptr %7, align 8, !tbaa !9
  %3483 = load i32, ptr %12, align 4, !tbaa !5
  %3484 = load i32, ptr %8, align 4, !tbaa !5
  %3485 = mul nsw i32 7, %3484
  %3486 = add nsw i32 %3483, %3485
  %3487 = sext i32 %3486 to i64
  %3488 = getelementptr inbounds double, ptr %3482, i64 %3487
  %3489 = load double, ptr %3488, align 8, !tbaa !11
  %3490 = call double @llvm.fmuladd.f64(double 0xBC70D2CDDD720E22, double %3489, double %3481)
  %3491 = load ptr, ptr %7, align 8, !tbaa !9
  %3492 = load i32, ptr %12, align 4, !tbaa !5
  %3493 = load i32, ptr %8, align 4, !tbaa !5
  %3494 = mul nsw i32 8, %3493
  %3495 = add nsw i32 %3492, %3494
  %3496 = sext i32 %3495 to i64
  %3497 = getelementptr inbounds double, ptr %3491, i64 %3496
  %3498 = load double, ptr %3497, align 8, !tbaa !11
  %3499 = call double @llvm.fmuladd.f64(double 0xBCA9795185F3DCEB, double %3498, double %3490)
  %3500 = load ptr, ptr %7, align 8, !tbaa !9
  %3501 = load i32, ptr %12, align 4, !tbaa !5
  %3502 = load i32, ptr %8, align 4, !tbaa !5
  %3503 = mul nsw i32 9, %3502
  %3504 = add nsw i32 %3501, %3503
  %3505 = sext i32 %3504 to i64
  %3506 = getelementptr inbounds double, ptr %3500, i64 %3505
  %3507 = load double, ptr %3506, align 8, !tbaa !11
  %3508 = call double @llvm.fmuladd.f64(double 0x3C9FEBD8FA5C50DD, double %3507, double %3499)
  %3509 = load ptr, ptr %7, align 8, !tbaa !9
  %3510 = load i32, ptr %12, align 4, !tbaa !5
  %3511 = load i32, ptr %8, align 4, !tbaa !5
  %3512 = mul nsw i32 10, %3511
  %3513 = add nsw i32 %3510, %3512
  %3514 = sext i32 %3513 to i64
  %3515 = getelementptr inbounds double, ptr %3509, i64 %3514
  %3516 = load double, ptr %3515, align 8, !tbaa !11
  %3517 = call double @llvm.fmuladd.f64(double 0x3CCE35BEEAC7EA45, double %3516, double %3508)
  %3518 = load ptr, ptr %7, align 8, !tbaa !9
  %3519 = load i32, ptr %12, align 4, !tbaa !5
  %3520 = load i32, ptr %8, align 4, !tbaa !5
  %3521 = mul nsw i32 11, %3520
  %3522 = add nsw i32 %3519, %3521
  %3523 = sext i32 %3522 to i64
  %3524 = getelementptr inbounds double, ptr %3518, i64 %3523
  %3525 = load double, ptr %3524, align 8, !tbaa !11
  %3526 = call double @llvm.fmuladd.f64(double 0xBCBC38460D0EF925, double %3525, double %3517)
  %3527 = load ptr, ptr %7, align 8, !tbaa !9
  %3528 = load i32, ptr %12, align 4, !tbaa !5
  %3529 = load i32, ptr %8, align 4, !tbaa !5
  %3530 = mul nsw i32 12, %3529
  %3531 = add nsw i32 %3528, %3530
  %3532 = sext i32 %3531 to i64
  %3533 = getelementptr inbounds double, ptr %3527, i64 %3532
  %3534 = load double, ptr %3533, align 8, !tbaa !11
  %3535 = call double @llvm.fmuladd.f64(double 0xBCB4A05EBC88835E, double %3534, double %3526)
  %3536 = load ptr, ptr %7, align 8, !tbaa !9
  %3537 = load i32, ptr %12, align 4, !tbaa !5
  %3538 = load i32, ptr %8, align 4, !tbaa !5
  %3539 = mul nsw i32 13, %3538
  %3540 = add nsw i32 %3537, %3539
  %3541 = sext i32 %3540 to i64
  %3542 = getelementptr inbounds double, ptr %3536, i64 %3541
  %3543 = load double, ptr %3542, align 8, !tbaa !11
  %3544 = call double @llvm.fmuladd.f64(double 0xBCB8D3AFF5676101, double %3543, double %3535)
  %3545 = load ptr, ptr %7, align 8, !tbaa !9
  %3546 = load i32, ptr %12, align 4, !tbaa !5
  %3547 = load i32, ptr %8, align 4, !tbaa !5
  %3548 = mul nsw i32 14, %3547
  %3549 = add nsw i32 %3546, %3548
  %3550 = sext i32 %3549 to i64
  %3551 = getelementptr inbounds double, ptr %3545, i64 %3550
  %3552 = load double, ptr %3551, align 8, !tbaa !11
  %3553 = call double @llvm.fmuladd.f64(double 0x3CBDC6E1E1019EC2, double %3552, double %3544)
  %3554 = load ptr, ptr %7, align 8, !tbaa !9
  %3555 = load i32, ptr %12, align 4, !tbaa !5
  %3556 = load i32, ptr %8, align 4, !tbaa !5
  %3557 = mul nsw i32 15, %3556
  %3558 = add nsw i32 %3555, %3557
  %3559 = sext i32 %3558 to i64
  %3560 = getelementptr inbounds double, ptr %3554, i64 %3559
  %3561 = load double, ptr %3560, align 8, !tbaa !11
  %3562 = call double @llvm.fmuladd.f64(double 0xBC82BE6C478E3228, double %3561, double %3553)
  %3563 = load ptr, ptr %7, align 8, !tbaa !9
  %3564 = load i32, ptr %12, align 4, !tbaa !5
  %3565 = load i32, ptr %8, align 4, !tbaa !5
  %3566 = mul nsw i32 16, %3565
  %3567 = add nsw i32 %3564, %3566
  %3568 = sext i32 %3567 to i64
  %3569 = getelementptr inbounds double, ptr %3563, i64 %3568
  %3570 = load double, ptr %3569, align 8, !tbaa !11
  %3571 = call double @llvm.fmuladd.f64(double 0x3C86CA03EF7109C0, double %3570, double %3562)
  %3572 = load ptr, ptr %7, align 8, !tbaa !9
  %3573 = load i32, ptr %12, align 4, !tbaa !5
  %3574 = load i32, ptr %8, align 4, !tbaa !5
  %3575 = mul nsw i32 17, %3574
  %3576 = add nsw i32 %3573, %3575
  %3577 = sext i32 %3576 to i64
  %3578 = getelementptr inbounds double, ptr %3572, i64 %3577
  %3579 = load double, ptr %3578, align 8, !tbaa !11
  %3580 = call double @llvm.fmuladd.f64(double 0x3CD3FC268C3751F5, double %3579, double %3571)
  store double %3580, ptr %11, align 8, !tbaa !11
  %3581 = load double, ptr %11, align 8, !tbaa !11
  %3582 = load ptr, ptr %9, align 8, !tbaa !9
  %3583 = load i32, ptr %12, align 4, !tbaa !5
  %3584 = load i32, ptr %10, align 4, !tbaa !5
  %3585 = mul nsw i32 20, %3584
  %3586 = add nsw i32 %3583, %3585
  %3587 = sext i32 %3586 to i64
  %3588 = getelementptr inbounds double, ptr %3582, i64 %3587
  store double %3581, ptr %3588, align 8, !tbaa !11
  %3589 = load ptr, ptr %7, align 8, !tbaa !9
  %3590 = load i32, ptr %12, align 4, !tbaa !5
  %3591 = load i32, ptr %8, align 4, !tbaa !5
  %3592 = mul nsw i32 0, %3591
  %3593 = add nsw i32 %3590, %3592
  %3594 = sext i32 %3593 to i64
  %3595 = getelementptr inbounds double, ptr %3589, i64 %3594
  %3596 = load double, ptr %3595, align 8, !tbaa !11
  %3597 = load ptr, ptr %7, align 8, !tbaa !9
  %3598 = load i32, ptr %12, align 4, !tbaa !5
  %3599 = load i32, ptr %8, align 4, !tbaa !5
  %3600 = mul nsw i32 1, %3599
  %3601 = add nsw i32 %3598, %3600
  %3602 = sext i32 %3601 to i64
  %3603 = getelementptr inbounds double, ptr %3597, i64 %3602
  %3604 = load double, ptr %3603, align 8, !tbaa !11
  %3605 = fmul double 0x3FF3237A82AF9ED0, %3604
  %3606 = call double @llvm.fmuladd.f64(double 0xBFB17C71DD2D5170, double %3596, double %3605)
  %3607 = load ptr, ptr %7, align 8, !tbaa !9
  %3608 = load i32, ptr %12, align 4, !tbaa !5
  %3609 = load i32, ptr %8, align 4, !tbaa !5
  %3610 = mul nsw i32 2, %3609
  %3611 = add nsw i32 %3608, %3610
  %3612 = sext i32 %3611 to i64
  %3613 = getelementptr inbounds double, ptr %3607, i64 %3612
  %3614 = load double, ptr %3613, align 8, !tbaa !11
  %3615 = call double @llvm.fmuladd.f64(double 0xBF76E8A1969E6C80, double %3614, double %3606)
  %3616 = load ptr, ptr %7, align 8, !tbaa !9
  %3617 = load i32, ptr %12, align 4, !tbaa !5
  %3618 = load i32, ptr %8, align 4, !tbaa !5
  %3619 = mul nsw i32 3, %3618
  %3620 = add nsw i32 %3617, %3619
  %3621 = sext i32 %3620 to i64
  %3622 = getelementptr inbounds double, ptr %3616, i64 %3621
  %3623 = load double, ptr %3622, align 8, !tbaa !11
  %3624 = call double @llvm.fmuladd.f64(double 0x3FFBC4AD9C53A55A, double %3623, double %3615)
  %3625 = load ptr, ptr %7, align 8, !tbaa !9
  %3626 = load i32, ptr %12, align 4, !tbaa !5
  %3627 = load i32, ptr %8, align 4, !tbaa !5
  %3628 = mul nsw i32 4, %3627
  %3629 = add nsw i32 %3626, %3628
  %3630 = sext i32 %3629 to i64
  %3631 = getelementptr inbounds double, ptr %3625, i64 %3630
  %3632 = load double, ptr %3631, align 8, !tbaa !11
  %3633 = call double @llvm.fmuladd.f64(double 0x3FC179BD32D3DC59, double %3632, double %3624)
  %3634 = load ptr, ptr %7, align 8, !tbaa !9
  %3635 = load i32, ptr %12, align 4, !tbaa !5
  %3636 = load i32, ptr %8, align 4, !tbaa !5
  %3637 = mul nsw i32 5, %3636
  %3638 = add nsw i32 %3635, %3637
  %3639 = sext i32 %3638 to i64
  %3640 = getelementptr inbounds double, ptr %3634, i64 %3639
  %3641 = load double, ptr %3640, align 8, !tbaa !11
  %3642 = call double @llvm.fmuladd.f64(double 0x3FF1CA3B98F4942B, double %3641, double %3633)
  %3643 = load ptr, ptr %7, align 8, !tbaa !9
  %3644 = load i32, ptr %12, align 4, !tbaa !5
  %3645 = load i32, ptr %8, align 4, !tbaa !5
  %3646 = mul nsw i32 6, %3645
  %3647 = add nsw i32 %3644, %3646
  %3648 = sext i32 %3647 to i64
  %3649 = getelementptr inbounds double, ptr %3643, i64 %3648
  %3650 = load double, ptr %3649, align 8, !tbaa !11
  %3651 = call double @llvm.fmuladd.f64(double 0xBC9E515AA144063C, double %3650, double %3642)
  %3652 = load ptr, ptr %7, align 8, !tbaa !9
  %3653 = load i32, ptr %12, align 4, !tbaa !5
  %3654 = load i32, ptr %8, align 4, !tbaa !5
  %3655 = mul nsw i32 7, %3654
  %3656 = add nsw i32 %3653, %3655
  %3657 = sext i32 %3656 to i64
  %3658 = getelementptr inbounds double, ptr %3652, i64 %3657
  %3659 = load double, ptr %3658, align 8, !tbaa !11
  %3660 = call double @llvm.fmuladd.f64(double 0x3C8A4389306A2E0D, double %3659, double %3651)
  %3661 = load ptr, ptr %7, align 8, !tbaa !9
  %3662 = load i32, ptr %12, align 4, !tbaa !5
  %3663 = load i32, ptr %8, align 4, !tbaa !5
  %3664 = mul nsw i32 8, %3663
  %3665 = add nsw i32 %3662, %3664
  %3666 = sext i32 %3665 to i64
  %3667 = getelementptr inbounds double, ptr %3661, i64 %3666
  %3668 = load double, ptr %3667, align 8, !tbaa !11
  %3669 = call double @llvm.fmuladd.f64(double 0xBC9F8C0C369EC038, double %3668, double %3660)
  %3670 = load ptr, ptr %7, align 8, !tbaa !9
  %3671 = load i32, ptr %12, align 4, !tbaa !5
  %3672 = load i32, ptr %8, align 4, !tbaa !5
  %3673 = mul nsw i32 9, %3672
  %3674 = add nsw i32 %3671, %3673
  %3675 = sext i32 %3674 to i64
  %3676 = getelementptr inbounds double, ptr %3670, i64 %3675
  %3677 = load double, ptr %3676, align 8, !tbaa !11
  %3678 = call double @llvm.fmuladd.f64(double 0x3CA068AD707D034A, double %3677, double %3669)
  %3679 = load ptr, ptr %7, align 8, !tbaa !9
  %3680 = load i32, ptr %12, align 4, !tbaa !5
  %3681 = load i32, ptr %8, align 4, !tbaa !5
  %3682 = mul nsw i32 10, %3681
  %3683 = add nsw i32 %3680, %3682
  %3684 = sext i32 %3683 to i64
  %3685 = getelementptr inbounds double, ptr %3679, i64 %3684
  %3686 = load double, ptr %3685, align 8, !tbaa !11
  %3687 = call double @llvm.fmuladd.f64(double 0xBC9CD786A1AD8F1F, double %3686, double %3678)
  %3688 = load ptr, ptr %7, align 8, !tbaa !9
  %3689 = load i32, ptr %12, align 4, !tbaa !5
  %3690 = load i32, ptr %8, align 4, !tbaa !5
  %3691 = mul nsw i32 11, %3690
  %3692 = add nsw i32 %3689, %3691
  %3693 = sext i32 %3692 to i64
  %3694 = getelementptr inbounds double, ptr %3688, i64 %3693
  %3695 = load double, ptr %3694, align 8, !tbaa !11
  %3696 = call double @llvm.fmuladd.f64(double 0xBC7C542BFA7534C1, double %3695, double %3687)
  %3697 = load ptr, ptr %7, align 8, !tbaa !9
  %3698 = load i32, ptr %12, align 4, !tbaa !5
  %3699 = load i32, ptr %8, align 4, !tbaa !5
  %3700 = mul nsw i32 12, %3699
  %3701 = add nsw i32 %3698, %3700
  %3702 = sext i32 %3701 to i64
  %3703 = getelementptr inbounds double, ptr %3697, i64 %3702
  %3704 = load double, ptr %3703, align 8, !tbaa !11
  %3705 = call double @llvm.fmuladd.f64(double 0xBCA291E4DC85F746, double %3704, double %3696)
  %3706 = load ptr, ptr %7, align 8, !tbaa !9
  %3707 = load i32, ptr %12, align 4, !tbaa !5
  %3708 = load i32, ptr %8, align 4, !tbaa !5
  %3709 = mul nsw i32 13, %3708
  %3710 = add nsw i32 %3707, %3709
  %3711 = sext i32 %3710 to i64
  %3712 = getelementptr inbounds double, ptr %3706, i64 %3711
  %3713 = load double, ptr %3712, align 8, !tbaa !11
  %3714 = call double @llvm.fmuladd.f64(double 0xBC318568500D29B4, double %3713, double %3705)
  %3715 = load ptr, ptr %7, align 8, !tbaa !9
  %3716 = load i32, ptr %12, align 4, !tbaa !5
  %3717 = load i32, ptr %8, align 4, !tbaa !5
  %3718 = mul nsw i32 14, %3717
  %3719 = add nsw i32 %3716, %3718
  %3720 = sext i32 %3719 to i64
  %3721 = getelementptr inbounds double, ptr %3715, i64 %3720
  %3722 = load double, ptr %3721, align 8, !tbaa !11
  %3723 = call double @llvm.fmuladd.f64(double 0x3CB8B7EF57E025B8, double %3722, double %3714)
  %3724 = load ptr, ptr %7, align 8, !tbaa !9
  %3725 = load i32, ptr %12, align 4, !tbaa !5
  %3726 = load i32, ptr %8, align 4, !tbaa !5
  %3727 = mul nsw i32 15, %3726
  %3728 = add nsw i32 %3725, %3727
  %3729 = sext i32 %3728 to i64
  %3730 = getelementptr inbounds double, ptr %3724, i64 %3729
  %3731 = load double, ptr %3730, align 8, !tbaa !11
  %3732 = call double @llvm.fmuladd.f64(double 0x3CC368C8E05648F6, double %3731, double %3723)
  %3733 = load ptr, ptr %7, align 8, !tbaa !9
  %3734 = load i32, ptr %12, align 4, !tbaa !5
  %3735 = load i32, ptr %8, align 4, !tbaa !5
  %3736 = mul nsw i32 16, %3735
  %3737 = add nsw i32 %3734, %3736
  %3738 = sext i32 %3737 to i64
  %3739 = getelementptr inbounds double, ptr %3733, i64 %3738
  %3740 = load double, ptr %3739, align 8, !tbaa !11
  %3741 = call double @llvm.fmuladd.f64(double 0x3C93BF528ACED502, double %3740, double %3732)
  %3742 = load ptr, ptr %7, align 8, !tbaa !9
  %3743 = load i32, ptr %12, align 4, !tbaa !5
  %3744 = load i32, ptr %8, align 4, !tbaa !5
  %3745 = mul nsw i32 17, %3744
  %3746 = add nsw i32 %3743, %3745
  %3747 = sext i32 %3746 to i64
  %3748 = getelementptr inbounds double, ptr %3742, i64 %3747
  %3749 = load double, ptr %3748, align 8, !tbaa !11
  %3750 = call double @llvm.fmuladd.f64(double 0x3C99794FD5FFFA78, double %3749, double %3741)
  store double %3750, ptr %11, align 8, !tbaa !11
  %3751 = load double, ptr %11, align 8, !tbaa !11
  %3752 = load ptr, ptr %9, align 8, !tbaa !9
  %3753 = load i32, ptr %12, align 4, !tbaa !5
  %3754 = load i32, ptr %10, align 4, !tbaa !5
  %3755 = mul nsw i32 21, %3754
  %3756 = add nsw i32 %3753, %3755
  %3757 = sext i32 %3756 to i64
  %3758 = getelementptr inbounds double, ptr %3752, i64 %3757
  store double %3751, ptr %3758, align 8, !tbaa !11
  %3759 = load ptr, ptr %7, align 8, !tbaa !9
  %3760 = load i32, ptr %12, align 4, !tbaa !5
  %3761 = load i32, ptr %8, align 4, !tbaa !5
  %3762 = mul nsw i32 0, %3761
  %3763 = add nsw i32 %3760, %3762
  %3764 = sext i32 %3763 to i64
  %3765 = getelementptr inbounds double, ptr %3759, i64 %3764
  %3766 = load double, ptr %3765, align 8, !tbaa !11
  %3767 = load ptr, ptr %7, align 8, !tbaa !9
  %3768 = load i32, ptr %12, align 4, !tbaa !5
  %3769 = load i32, ptr %8, align 4, !tbaa !5
  %3770 = mul nsw i32 1, %3769
  %3771 = add nsw i32 %3768, %3770
  %3772 = sext i32 %3771 to i64
  %3773 = getelementptr inbounds double, ptr %3767, i64 %3772
  %3774 = load double, ptr %3773, align 8, !tbaa !11
  %3775 = fmul double 0xBF734721512AF544, %3774
  %3776 = call double @llvm.fmuladd.f64(double 0x3FF21EFA862DF3D5, double %3766, double %3775)
  %3777 = load ptr, ptr %7, align 8, !tbaa !9
  %3778 = load i32, ptr %12, align 4, !tbaa !5
  %3779 = load i32, ptr %8, align 4, !tbaa !5
  %3780 = mul nsw i32 2, %3779
  %3781 = add nsw i32 %3778, %3780
  %3782 = sext i32 %3781 to i64
  %3783 = getelementptr inbounds double, ptr %3777, i64 %3782
  %3784 = load double, ptr %3783, align 8, !tbaa !11
  %3785 = call double @llvm.fmuladd.f64(double 0xBFF7F19EB1BA88FC, double %3784, double %3776)
  %3786 = load ptr, ptr %7, align 8, !tbaa !9
  %3787 = load i32, ptr %12, align 4, !tbaa !5
  %3788 = load i32, ptr %8, align 4, !tbaa !5
  %3789 = mul nsw i32 3, %3788
  %3790 = add nsw i32 %3787, %3789
  %3791 = sext i32 %3790 to i64
  %3792 = getelementptr inbounds double, ptr %3786, i64 %3791
  %3793 = load double, ptr %3792, align 8, !tbaa !11
  %3794 = call double @llvm.fmuladd.f64(double 0xBFF48831FA6C7040, double %3793, double %3785)
  %3795 = load ptr, ptr %7, align 8, !tbaa !9
  %3796 = load i32, ptr %12, align 4, !tbaa !5
  %3797 = load i32, ptr %8, align 4, !tbaa !5
  %3798 = mul nsw i32 4, %3797
  %3799 = add nsw i32 %3796, %3798
  %3800 = sext i32 %3799 to i64
  %3801 = getelementptr inbounds double, ptr %3795, i64 %3800
  %3802 = load double, ptr %3801, align 8, !tbaa !11
  %3803 = call double @llvm.fmuladd.f64(double 0x3FC901A35D55DB9B, double %3802, double %3794)
  %3804 = load ptr, ptr %7, align 8, !tbaa !9
  %3805 = load i32, ptr %12, align 4, !tbaa !5
  %3806 = load i32, ptr %8, align 4, !tbaa !5
  %3807 = mul nsw i32 5, %3806
  %3808 = add nsw i32 %3805, %3807
  %3809 = sext i32 %3808 to i64
  %3810 = getelementptr inbounds double, ptr %3804, i64 %3809
  %3811 = load double, ptr %3810, align 8, !tbaa !11
  %3812 = call double @llvm.fmuladd.f64(double 0x3FF0AF85DD8BD416, double %3811, double %3803)
  %3813 = load ptr, ptr %7, align 8, !tbaa !9
  %3814 = load i32, ptr %12, align 4, !tbaa !5
  %3815 = load i32, ptr %8, align 4, !tbaa !5
  %3816 = mul nsw i32 6, %3815
  %3817 = add nsw i32 %3814, %3816
  %3818 = sext i32 %3817 to i64
  %3819 = getelementptr inbounds double, ptr %3813, i64 %3818
  %3820 = load double, ptr %3819, align 8, !tbaa !11
  %3821 = call double @llvm.fmuladd.f64(double 0x3C8212A222BDF02D, double %3820, double %3812)
  %3822 = load ptr, ptr %7, align 8, !tbaa !9
  %3823 = load i32, ptr %12, align 4, !tbaa !5
  %3824 = load i32, ptr %8, align 4, !tbaa !5
  %3825 = mul nsw i32 7, %3824
  %3826 = add nsw i32 %3823, %3825
  %3827 = sext i32 %3826 to i64
  %3828 = getelementptr inbounds double, ptr %3822, i64 %3827
  %3829 = load double, ptr %3828, align 8, !tbaa !11
  %3830 = call double @llvm.fmuladd.f64(double 0x3C9C3612467E6F25, double %3829, double %3821)
  %3831 = load ptr, ptr %7, align 8, !tbaa !9
  %3832 = load i32, ptr %12, align 4, !tbaa !5
  %3833 = load i32, ptr %8, align 4, !tbaa !5
  %3834 = mul nsw i32 8, %3833
  %3835 = add nsw i32 %3832, %3834
  %3836 = sext i32 %3835 to i64
  %3837 = getelementptr inbounds double, ptr %3831, i64 %3836
  %3838 = load double, ptr %3837, align 8, !tbaa !11
  %3839 = call double @llvm.fmuladd.f64(double 0x3C60D44D9CE30D34, double %3838, double %3830)
  %3840 = load ptr, ptr %7, align 8, !tbaa !9
  %3841 = load i32, ptr %12, align 4, !tbaa !5
  %3842 = load i32, ptr %8, align 4, !tbaa !5
  %3843 = mul nsw i32 9, %3842
  %3844 = add nsw i32 %3841, %3843
  %3845 = sext i32 %3844 to i64
  %3846 = getelementptr inbounds double, ptr %3840, i64 %3845
  %3847 = load double, ptr %3846, align 8, !tbaa !11
  %3848 = call double @llvm.fmuladd.f64(double 0x3CB4286CB40F2925, double %3847, double %3839)
  %3849 = load ptr, ptr %7, align 8, !tbaa !9
  %3850 = load i32, ptr %12, align 4, !tbaa !5
  %3851 = load i32, ptr %8, align 4, !tbaa !5
  %3852 = mul nsw i32 10, %3851
  %3853 = add nsw i32 %3850, %3852
  %3854 = sext i32 %3853 to i64
  %3855 = getelementptr inbounds double, ptr %3849, i64 %3854
  %3856 = load double, ptr %3855, align 8, !tbaa !11
  %3857 = call double @llvm.fmuladd.f64(double 0xBCA8159E3B5248DD, double %3856, double %3848)
  %3858 = load ptr, ptr %7, align 8, !tbaa !9
  %3859 = load i32, ptr %12, align 4, !tbaa !5
  %3860 = load i32, ptr %8, align 4, !tbaa !5
  %3861 = mul nsw i32 11, %3860
  %3862 = add nsw i32 %3859, %3861
  %3863 = sext i32 %3862 to i64
  %3864 = getelementptr inbounds double, ptr %3858, i64 %3863
  %3865 = load double, ptr %3864, align 8, !tbaa !11
  %3866 = call double @llvm.fmuladd.f64(double 0xBC8CCF58EB146D34, double %3865, double %3857)
  %3867 = load ptr, ptr %7, align 8, !tbaa !9
  %3868 = load i32, ptr %12, align 4, !tbaa !5
  %3869 = load i32, ptr %8, align 4, !tbaa !5
  %3870 = mul nsw i32 12, %3869
  %3871 = add nsw i32 %3868, %3870
  %3872 = sext i32 %3871 to i64
  %3873 = getelementptr inbounds double, ptr %3867, i64 %3872
  %3874 = load double, ptr %3873, align 8, !tbaa !11
  %3875 = call double @llvm.fmuladd.f64(double 0x3C8CDC3A40C0C286, double %3874, double %3866)
  %3876 = load ptr, ptr %7, align 8, !tbaa !9
  %3877 = load i32, ptr %12, align 4, !tbaa !5
  %3878 = load i32, ptr %8, align 4, !tbaa !5
  %3879 = mul nsw i32 13, %3878
  %3880 = add nsw i32 %3877, %3879
  %3881 = sext i32 %3880 to i64
  %3882 = getelementptr inbounds double, ptr %3876, i64 %3881
  %3883 = load double, ptr %3882, align 8, !tbaa !11
  %3884 = call double @llvm.fmuladd.f64(double 0x3C9145618281F15F, double %3883, double %3875)
  %3885 = load ptr, ptr %7, align 8, !tbaa !9
  %3886 = load i32, ptr %12, align 4, !tbaa !5
  %3887 = load i32, ptr %8, align 4, !tbaa !5
  %3888 = mul nsw i32 14, %3887
  %3889 = add nsw i32 %3886, %3888
  %3890 = sext i32 %3889 to i64
  %3891 = getelementptr inbounds double, ptr %3885, i64 %3890
  %3892 = load double, ptr %3891, align 8, !tbaa !11
  %3893 = call double @llvm.fmuladd.f64(double 0x3C9DA0ED86977DDB, double %3892, double %3884)
  %3894 = load ptr, ptr %7, align 8, !tbaa !9
  %3895 = load i32, ptr %12, align 4, !tbaa !5
  %3896 = load i32, ptr %8, align 4, !tbaa !5
  %3897 = mul nsw i32 15, %3896
  %3898 = add nsw i32 %3895, %3897
  %3899 = sext i32 %3898 to i64
  %3900 = getelementptr inbounds double, ptr %3894, i64 %3899
  %3901 = load double, ptr %3900, align 8, !tbaa !11
  %3902 = call double @llvm.fmuladd.f64(double 0xBCB96CB68C8806CB, double %3901, double %3893)
  %3903 = load ptr, ptr %7, align 8, !tbaa !9
  %3904 = load i32, ptr %12, align 4, !tbaa !5
  %3905 = load i32, ptr %8, align 4, !tbaa !5
  %3906 = mul nsw i32 16, %3905
  %3907 = add nsw i32 %3904, %3906
  %3908 = sext i32 %3907 to i64
  %3909 = getelementptr inbounds double, ptr %3903, i64 %3908
  %3910 = load double, ptr %3909, align 8, !tbaa !11
  %3911 = call double @llvm.fmuladd.f64(double 0xBCA627EA67753954, double %3910, double %3902)
  %3912 = load ptr, ptr %7, align 8, !tbaa !9
  %3913 = load i32, ptr %12, align 4, !tbaa !5
  %3914 = load i32, ptr %8, align 4, !tbaa !5
  %3915 = mul nsw i32 17, %3914
  %3916 = add nsw i32 %3913, %3915
  %3917 = sext i32 %3916 to i64
  %3918 = getelementptr inbounds double, ptr %3912, i64 %3917
  %3919 = load double, ptr %3918, align 8, !tbaa !11
  %3920 = call double @llvm.fmuladd.f64(double 0xBCB38E4A7495701A, double %3919, double %3911)
  store double %3920, ptr %11, align 8, !tbaa !11
  %3921 = load double, ptr %11, align 8, !tbaa !11
  %3922 = load ptr, ptr %9, align 8, !tbaa !9
  %3923 = load i32, ptr %12, align 4, !tbaa !5
  %3924 = load i32, ptr %10, align 4, !tbaa !5
  %3925 = mul nsw i32 22, %3924
  %3926 = add nsw i32 %3923, %3925
  %3927 = sext i32 %3926 to i64
  %3928 = getelementptr inbounds double, ptr %3922, i64 %3927
  store double %3921, ptr %3928, align 8, !tbaa !11
  %3929 = load ptr, ptr %7, align 8, !tbaa !9
  %3930 = load i32, ptr %12, align 4, !tbaa !5
  %3931 = load i32, ptr %8, align 4, !tbaa !5
  %3932 = mul nsw i32 0, %3931
  %3933 = add nsw i32 %3930, %3932
  %3934 = sext i32 %3933 to i64
  %3935 = getelementptr inbounds double, ptr %3929, i64 %3934
  %3936 = load double, ptr %3935, align 8, !tbaa !11
  %3937 = load ptr, ptr %7, align 8, !tbaa !9
  %3938 = load i32, ptr %12, align 4, !tbaa !5
  %3939 = load i32, ptr %8, align 4, !tbaa !5
  %3940 = mul nsw i32 1, %3939
  %3941 = add nsw i32 %3938, %3940
  %3942 = sext i32 %3941 to i64
  %3943 = getelementptr inbounds double, ptr %3937, i64 %3942
  %3944 = load double, ptr %3943, align 8, !tbaa !11
  %3945 = fmul double 0xBFF5B6F7089FF1D6, %3944
  %3946 = call double @llvm.fmuladd.f64(double 0x3FB1F3F0B024DC78, double %3936, double %3945)
  %3947 = load ptr, ptr %7, align 8, !tbaa !9
  %3948 = load i32, ptr %12, align 4, !tbaa !5
  %3949 = load i32, ptr %8, align 4, !tbaa !5
  %3950 = mul nsw i32 2, %3949
  %3951 = add nsw i32 %3948, %3950
  %3952 = sext i32 %3951 to i64
  %3953 = getelementptr inbounds double, ptr %3947, i64 %3952
  %3954 = load double, ptr %3953, align 8, !tbaa !11
  %3955 = call double @llvm.fmuladd.f64(double 0x3FCCBE3CAE6B6264, double %3954, double %3946)
  %3956 = load ptr, ptr %7, align 8, !tbaa !9
  %3957 = load i32, ptr %12, align 4, !tbaa !5
  %3958 = load i32, ptr %8, align 4, !tbaa !5
  %3959 = mul nsw i32 3, %3958
  %3960 = add nsw i32 %3957, %3959
  %3961 = sext i32 %3960 to i64
  %3962 = getelementptr inbounds double, ptr %3956, i64 %3961
  %3963 = load double, ptr %3962, align 8, !tbaa !11
  %3964 = call double @llvm.fmuladd.f64(double 0xBFFBA497A89943F8, double %3963, double %3955)
  %3965 = load ptr, ptr %7, align 8, !tbaa !9
  %3966 = load i32, ptr %12, align 4, !tbaa !5
  %3967 = load i32, ptr %8, align 4, !tbaa !5
  %3968 = mul nsw i32 4, %3967
  %3969 = add nsw i32 %3966, %3968
  %3970 = sext i32 %3969 to i64
  %3971 = getelementptr inbounds double, ptr %3965, i64 %3970
  %3972 = load double, ptr %3971, align 8, !tbaa !11
  %3973 = call double @llvm.fmuladd.f64(double 0xBFD81F8F0CEC6104, double %3972, double %3964)
  %3974 = load ptr, ptr %7, align 8, !tbaa !9
  %3975 = load i32, ptr %12, align 4, !tbaa !5
  %3976 = load i32, ptr %8, align 4, !tbaa !5
  %3977 = mul nsw i32 5, %3976
  %3978 = add nsw i32 %3975, %3977
  %3979 = sext i32 %3978 to i64
  %3980 = getelementptr inbounds double, ptr %3974, i64 %3979
  %3981 = load double, ptr %3980, align 8, !tbaa !11
  %3982 = call double @llvm.fmuladd.f64(double 0xBFDC5366E211BE88, double %3981, double %3973)
  %3983 = load ptr, ptr %7, align 8, !tbaa !9
  %3984 = load i32, ptr %12, align 4, !tbaa !5
  %3985 = load i32, ptr %8, align 4, !tbaa !5
  %3986 = mul nsw i32 6, %3985
  %3987 = add nsw i32 %3984, %3986
  %3988 = sext i32 %3987 to i64
  %3989 = getelementptr inbounds double, ptr %3983, i64 %3988
  %3990 = load double, ptr %3989, align 8, !tbaa !11
  %3991 = call double @llvm.fmuladd.f64(double 0x3C3B48F2BDFBC8FE, double %3990, double %3982)
  %3992 = load ptr, ptr %7, align 8, !tbaa !9
  %3993 = load i32, ptr %12, align 4, !tbaa !5
  %3994 = load i32, ptr %8, align 4, !tbaa !5
  %3995 = mul nsw i32 7, %3994
  %3996 = add nsw i32 %3993, %3995
  %3997 = sext i32 %3996 to i64
  %3998 = getelementptr inbounds double, ptr %3992, i64 %3997
  %3999 = load double, ptr %3998, align 8, !tbaa !11
  %4000 = call double @llvm.fmuladd.f64(double 0xBCABF8CFD447EB3A, double %3999, double %3991)
  %4001 = load ptr, ptr %7, align 8, !tbaa !9
  %4002 = load i32, ptr %12, align 4, !tbaa !5
  %4003 = load i32, ptr %8, align 4, !tbaa !5
  %4004 = mul nsw i32 8, %4003
  %4005 = add nsw i32 %4002, %4004
  %4006 = sext i32 %4005 to i64
  %4007 = getelementptr inbounds double, ptr %4001, i64 %4006
  %4008 = load double, ptr %4007, align 8, !tbaa !11
  %4009 = call double @llvm.fmuladd.f64(double 0x3CAAFAB790AFF8A1, double %4008, double %4000)
  %4010 = load ptr, ptr %7, align 8, !tbaa !9
  %4011 = load i32, ptr %12, align 4, !tbaa !5
  %4012 = load i32, ptr %8, align 4, !tbaa !5
  %4013 = mul nsw i32 9, %4012
  %4014 = add nsw i32 %4011, %4013
  %4015 = sext i32 %4014 to i64
  %4016 = getelementptr inbounds double, ptr %4010, i64 %4015
  %4017 = load double, ptr %4016, align 8, !tbaa !11
  %4018 = call double @llvm.fmuladd.f64(double 0x3C95C63DC7475F76, double %4017, double %4009)
  %4019 = load ptr, ptr %7, align 8, !tbaa !9
  %4020 = load i32, ptr %12, align 4, !tbaa !5
  %4021 = load i32, ptr %8, align 4, !tbaa !5
  %4022 = mul nsw i32 10, %4021
  %4023 = add nsw i32 %4020, %4022
  %4024 = sext i32 %4023 to i64
  %4025 = getelementptr inbounds double, ptr %4019, i64 %4024
  %4026 = load double, ptr %4025, align 8, !tbaa !11
  %4027 = call double @llvm.fmuladd.f64(double 0x3CB246F6B715BA99, double %4026, double %4018)
  %4028 = load ptr, ptr %7, align 8, !tbaa !9
  %4029 = load i32, ptr %12, align 4, !tbaa !5
  %4030 = load i32, ptr %8, align 4, !tbaa !5
  %4031 = mul nsw i32 11, %4030
  %4032 = add nsw i32 %4029, %4031
  %4033 = sext i32 %4032 to i64
  %4034 = getelementptr inbounds double, ptr %4028, i64 %4033
  %4035 = load double, ptr %4034, align 8, !tbaa !11
  %4036 = call double @llvm.fmuladd.f64(double 0xBCAFEB692A4A65D9, double %4035, double %4027)
  %4037 = load ptr, ptr %7, align 8, !tbaa !9
  %4038 = load i32, ptr %12, align 4, !tbaa !5
  %4039 = load i32, ptr %8, align 4, !tbaa !5
  %4040 = mul nsw i32 12, %4039
  %4041 = add nsw i32 %4038, %4040
  %4042 = sext i32 %4041 to i64
  %4043 = getelementptr inbounds double, ptr %4037, i64 %4042
  %4044 = load double, ptr %4043, align 8, !tbaa !11
  %4045 = call double @llvm.fmuladd.f64(double 0xBCB0527DE73323C6, double %4044, double %4036)
  %4046 = load ptr, ptr %7, align 8, !tbaa !9
  %4047 = load i32, ptr %12, align 4, !tbaa !5
  %4048 = load i32, ptr %8, align 4, !tbaa !5
  %4049 = mul nsw i32 13, %4048
  %4050 = add nsw i32 %4047, %4049
  %4051 = sext i32 %4050 to i64
  %4052 = getelementptr inbounds double, ptr %4046, i64 %4051
  %4053 = load double, ptr %4052, align 8, !tbaa !11
  %4054 = call double @llvm.fmuladd.f64(double 0xBC851E1EB70E35B8, double %4053, double %4045)
  %4055 = load ptr, ptr %7, align 8, !tbaa !9
  %4056 = load i32, ptr %12, align 4, !tbaa !5
  %4057 = load i32, ptr %8, align 4, !tbaa !5
  %4058 = mul nsw i32 14, %4057
  %4059 = add nsw i32 %4056, %4058
  %4060 = sext i32 %4059 to i64
  %4061 = getelementptr inbounds double, ptr %4055, i64 %4060
  %4062 = load double, ptr %4061, align 8, !tbaa !11
  %4063 = call double @llvm.fmuladd.f64(double 0xBCB91F7B4DA061B9, double %4062, double %4054)
  %4064 = load ptr, ptr %7, align 8, !tbaa !9
  %4065 = load i32, ptr %12, align 4, !tbaa !5
  %4066 = load i32, ptr %8, align 4, !tbaa !5
  %4067 = mul nsw i32 15, %4066
  %4068 = add nsw i32 %4065, %4067
  %4069 = sext i32 %4068 to i64
  %4070 = getelementptr inbounds double, ptr %4064, i64 %4069
  %4071 = load double, ptr %4070, align 8, !tbaa !11
  %4072 = call double @llvm.fmuladd.f64(double 0xBCA20AB4BF61ADD9, double %4071, double %4063)
  %4073 = load ptr, ptr %7, align 8, !tbaa !9
  %4074 = load i32, ptr %12, align 4, !tbaa !5
  %4075 = load i32, ptr %8, align 4, !tbaa !5
  %4076 = mul nsw i32 16, %4075
  %4077 = add nsw i32 %4074, %4076
  %4078 = sext i32 %4077 to i64
  %4079 = getelementptr inbounds double, ptr %4073, i64 %4078
  %4080 = load double, ptr %4079, align 8, !tbaa !11
  %4081 = call double @llvm.fmuladd.f64(double 0xBC92F85550CD85E6, double %4080, double %4072)
  %4082 = load ptr, ptr %7, align 8, !tbaa !9
  %4083 = load i32, ptr %12, align 4, !tbaa !5
  %4084 = load i32, ptr %8, align 4, !tbaa !5
  %4085 = mul nsw i32 17, %4084
  %4086 = add nsw i32 %4083, %4085
  %4087 = sext i32 %4086 to i64
  %4088 = getelementptr inbounds double, ptr %4082, i64 %4087
  %4089 = load double, ptr %4088, align 8, !tbaa !11
  %4090 = call double @llvm.fmuladd.f64(double 0xBCB0508DC7392C6F, double %4089, double %4081)
  store double %4090, ptr %11, align 8, !tbaa !11
  %4091 = load double, ptr %11, align 8, !tbaa !11
  %4092 = load ptr, ptr %9, align 8, !tbaa !9
  %4093 = load i32, ptr %12, align 4, !tbaa !5
  %4094 = load i32, ptr %10, align 4, !tbaa !5
  %4095 = mul nsw i32 23, %4094
  %4096 = add nsw i32 %4093, %4095
  %4097 = sext i32 %4096 to i64
  %4098 = getelementptr inbounds double, ptr %4092, i64 %4097
  store double %4091, ptr %4098, align 8, !tbaa !11
  %4099 = load ptr, ptr %7, align 8, !tbaa !9
  %4100 = load i32, ptr %12, align 4, !tbaa !5
  %4101 = load i32, ptr %8, align 4, !tbaa !5
  %4102 = mul nsw i32 0, %4101
  %4103 = add nsw i32 %4100, %4102
  %4104 = sext i32 %4103 to i64
  %4105 = getelementptr inbounds double, ptr %4099, i64 %4104
  %4106 = load double, ptr %4105, align 8, !tbaa !11
  %4107 = load ptr, ptr %7, align 8, !tbaa !9
  %4108 = load i32, ptr %12, align 4, !tbaa !5
  %4109 = load i32, ptr %8, align 4, !tbaa !5
  %4110 = mul nsw i32 1, %4109
  %4111 = add nsw i32 %4108, %4110
  %4112 = sext i32 %4111 to i64
  %4113 = getelementptr inbounds double, ptr %4107, i64 %4112
  %4114 = load double, ptr %4113, align 8, !tbaa !11
  %4115 = fmul double 0xBCB1B63B8880A915, %4114
  %4116 = call double @llvm.fmuladd.f64(double 0x3CC6C71214C31C21, double %4106, double %4115)
  %4117 = load ptr, ptr %7, align 8, !tbaa !9
  %4118 = load i32, ptr %12, align 4, !tbaa !5
  %4119 = load i32, ptr %8, align 4, !tbaa !5
  %4120 = mul nsw i32 2, %4119
  %4121 = add nsw i32 %4118, %4120
  %4122 = sext i32 %4121 to i64
  %4123 = getelementptr inbounds double, ptr %4117, i64 %4122
  %4124 = load double, ptr %4123, align 8, !tbaa !11
  %4125 = call double @llvm.fmuladd.f64(double 0xBCB4FEFC467C74C1, double %4124, double %4116)
  %4126 = load ptr, ptr %7, align 8, !tbaa !9
  %4127 = load i32, ptr %12, align 4, !tbaa !5
  %4128 = load i32, ptr %8, align 4, !tbaa !5
  %4129 = mul nsw i32 3, %4128
  %4130 = add nsw i32 %4127, %4129
  %4131 = sext i32 %4130 to i64
  %4132 = getelementptr inbounds double, ptr %4126, i64 %4131
  %4133 = load double, ptr %4132, align 8, !tbaa !11
  %4134 = call double @llvm.fmuladd.f64(double 0x3CA5EC7F118106ED, double %4133, double %4125)
  %4135 = load ptr, ptr %7, align 8, !tbaa !9
  %4136 = load i32, ptr %12, align 4, !tbaa !5
  %4137 = load i32, ptr %8, align 4, !tbaa !5
  %4138 = mul nsw i32 4, %4137
  %4139 = add nsw i32 %4136, %4138
  %4140 = sext i32 %4139 to i64
  %4141 = getelementptr inbounds double, ptr %4135, i64 %4140
  %4142 = load double, ptr %4141, align 8, !tbaa !11
  %4143 = call double @llvm.fmuladd.f64(double 0x3C97A76C7821BE84, double %4142, double %4134)
  %4144 = load ptr, ptr %7, align 8, !tbaa !9
  %4145 = load i32, ptr %12, align 4, !tbaa !5
  %4146 = load i32, ptr %8, align 4, !tbaa !5
  %4147 = mul nsw i32 5, %4146
  %4148 = add nsw i32 %4145, %4147
  %4149 = sext i32 %4148 to i64
  %4150 = getelementptr inbounds double, ptr %4144, i64 %4149
  %4151 = load double, ptr %4150, align 8, !tbaa !11
  %4152 = call double @llvm.fmuladd.f64(double 0x3CAB7AA05D79C461, double %4151, double %4143)
  %4153 = load ptr, ptr %7, align 8, !tbaa !9
  %4154 = load i32, ptr %12, align 4, !tbaa !5
  %4155 = load i32, ptr %8, align 4, !tbaa !5
  %4156 = mul nsw i32 6, %4155
  %4157 = add nsw i32 %4154, %4156
  %4158 = sext i32 %4157 to i64
  %4159 = getelementptr inbounds double, ptr %4153, i64 %4158
  %4160 = load double, ptr %4159, align 8, !tbaa !11
  %4161 = call double @llvm.fmuladd.f64(double 0xBFE8AC73392375D0, double %4160, double %4152)
  %4162 = load ptr, ptr %7, align 8, !tbaa !9
  %4163 = load i32, ptr %12, align 4, !tbaa !5
  %4164 = load i32, ptr %8, align 4, !tbaa !5
  %4165 = mul nsw i32 7, %4164
  %4166 = add nsw i32 %4163, %4165
  %4167 = sext i32 %4166 to i64
  %4168 = getelementptr inbounds double, ptr %4162, i64 %4167
  %4169 = load double, ptr %4168, align 8, !tbaa !11
  %4170 = call double @llvm.fmuladd.f64(double 0x3FE4EDE8EE256116, double %4169, double %4161)
  %4171 = load ptr, ptr %7, align 8, !tbaa !9
  %4172 = load i32, ptr %12, align 4, !tbaa !5
  %4173 = load i32, ptr %8, align 4, !tbaa !5
  %4174 = mul nsw i32 8, %4173
  %4175 = add nsw i32 %4172, %4174
  %4176 = sext i32 %4175 to i64
  %4177 = getelementptr inbounds double, ptr %4171, i64 %4176
  %4178 = load double, ptr %4177, align 8, !tbaa !11
  %4179 = call double @llvm.fmuladd.f64(double 0x3FEA5488770B26C2, double %4178, double %4170)
  %4180 = load ptr, ptr %7, align 8, !tbaa !9
  %4181 = load i32, ptr %12, align 4, !tbaa !5
  %4182 = load i32, ptr %8, align 4, !tbaa !5
  %4183 = mul nsw i32 9, %4182
  %4184 = add nsw i32 %4181, %4183
  %4185 = sext i32 %4184 to i64
  %4186 = getelementptr inbounds double, ptr %4180, i64 %4185
  %4187 = load double, ptr %4186, align 8, !tbaa !11
  %4188 = call double @llvm.fmuladd.f64(double 0x3FF44CD742FC94EC, double %4187, double %4179)
  %4189 = load ptr, ptr %7, align 8, !tbaa !9
  %4190 = load i32, ptr %12, align 4, !tbaa !5
  %4191 = load i32, ptr %8, align 4, !tbaa !5
  %4192 = mul nsw i32 10, %4191
  %4193 = add nsw i32 %4190, %4192
  %4194 = sext i32 %4193 to i64
  %4195 = getelementptr inbounds double, ptr %4189, i64 %4194
  %4196 = load double, ptr %4195, align 8, !tbaa !11
  %4197 = call double @llvm.fmuladd.f64(double 0xBFFEF1F8514C97E2, double %4196, double %4188)
  %4198 = load ptr, ptr %7, align 8, !tbaa !9
  %4199 = load i32, ptr %12, align 4, !tbaa !5
  %4200 = load i32, ptr %8, align 4, !tbaa !5
  %4201 = mul nsw i32 11, %4200
  %4202 = add nsw i32 %4199, %4201
  %4203 = sext i32 %4202 to i64
  %4204 = getelementptr inbounds double, ptr %4198, i64 %4203
  %4205 = load double, ptr %4204, align 8, !tbaa !11
  %4206 = call double @llvm.fmuladd.f64(double 0xBFF01B2FE70C1193, double %4205, double %4197)
  %4207 = load ptr, ptr %7, align 8, !tbaa !9
  %4208 = load i32, ptr %12, align 4, !tbaa !5
  %4209 = load i32, ptr %8, align 4, !tbaa !5
  %4210 = mul nsw i32 12, %4209
  %4211 = add nsw i32 %4208, %4210
  %4212 = sext i32 %4211 to i64
  %4213 = getelementptr inbounds double, ptr %4207, i64 %4212
  %4214 = load double, ptr %4213, align 8, !tbaa !11
  %4215 = call double @llvm.fmuladd.f64(double 0x3CC10619A0D49B2C, double %4214, double %4206)
  %4216 = load ptr, ptr %7, align 8, !tbaa !9
  %4217 = load i32, ptr %12, align 4, !tbaa !5
  %4218 = load i32, ptr %8, align 4, !tbaa !5
  %4219 = mul nsw i32 13, %4218
  %4220 = add nsw i32 %4217, %4219
  %4221 = sext i32 %4220 to i64
  %4222 = getelementptr inbounds double, ptr %4216, i64 %4221
  %4223 = load double, ptr %4222, align 8, !tbaa !11
  %4224 = call double @llvm.fmuladd.f64(double 0xBCB2BE959D8DCC83, double %4223, double %4215)
  %4225 = load ptr, ptr %7, align 8, !tbaa !9
  %4226 = load i32, ptr %12, align 4, !tbaa !5
  %4227 = load i32, ptr %8, align 4, !tbaa !5
  %4228 = mul nsw i32 14, %4227
  %4229 = add nsw i32 %4226, %4228
  %4230 = sext i32 %4229 to i64
  %4231 = getelementptr inbounds double, ptr %4225, i64 %4230
  %4232 = load double, ptr %4231, align 8, !tbaa !11
  %4233 = call double @llvm.fmuladd.f64(double 0xBCB6827D4F596C3D, double %4232, double %4224)
  %4234 = load ptr, ptr %7, align 8, !tbaa !9
  %4235 = load i32, ptr %12, align 4, !tbaa !5
  %4236 = load i32, ptr %8, align 4, !tbaa !5
  %4237 = mul nsw i32 15, %4236
  %4238 = add nsw i32 %4235, %4237
  %4239 = sext i32 %4238 to i64
  %4240 = getelementptr inbounds double, ptr %4234, i64 %4239
  %4241 = load double, ptr %4240, align 8, !tbaa !11
  %4242 = call double @llvm.fmuladd.f64(double 0xBC79847A24C5FC38, double %4241, double %4233)
  %4243 = load ptr, ptr %7, align 8, !tbaa !9
  %4244 = load i32, ptr %12, align 4, !tbaa !5
  %4245 = load i32, ptr %8, align 4, !tbaa !5
  %4246 = mul nsw i32 16, %4245
  %4247 = add nsw i32 %4244, %4246
  %4248 = sext i32 %4247 to i64
  %4249 = getelementptr inbounds double, ptr %4243, i64 %4248
  %4250 = load double, ptr %4249, align 8, !tbaa !11
  %4251 = call double @llvm.fmuladd.f64(double 0x3CA5781E7AFEC464, double %4250, double %4242)
  %4252 = load ptr, ptr %7, align 8, !tbaa !9
  %4253 = load i32, ptr %12, align 4, !tbaa !5
  %4254 = load i32, ptr %8, align 4, !tbaa !5
  %4255 = mul nsw i32 17, %4254
  %4256 = add nsw i32 %4253, %4255
  %4257 = sext i32 %4256 to i64
  %4258 = getelementptr inbounds double, ptr %4252, i64 %4257
  %4259 = load double, ptr %4258, align 8, !tbaa !11
  %4260 = call double @llvm.fmuladd.f64(double 0xBC69B640D81F5A20, double %4259, double %4251)
  store double %4260, ptr %11, align 8, !tbaa !11
  %4261 = load double, ptr %11, align 8, !tbaa !11
  %4262 = load ptr, ptr %9, align 8, !tbaa !9
  %4263 = load i32, ptr %12, align 4, !tbaa !5
  %4264 = load i32, ptr %10, align 4, !tbaa !5
  %4265 = mul nsw i32 24, %4264
  %4266 = add nsw i32 %4263, %4265
  %4267 = sext i32 %4266 to i64
  %4268 = getelementptr inbounds double, ptr %4262, i64 %4267
  store double %4261, ptr %4268, align 8, !tbaa !11
  %4269 = load ptr, ptr %7, align 8, !tbaa !9
  %4270 = load i32, ptr %12, align 4, !tbaa !5
  %4271 = load i32, ptr %8, align 4, !tbaa !5
  %4272 = mul nsw i32 0, %4271
  %4273 = add nsw i32 %4270, %4272
  %4274 = sext i32 %4273 to i64
  %4275 = getelementptr inbounds double, ptr %4269, i64 %4274
  %4276 = load double, ptr %4275, align 8, !tbaa !11
  %4277 = load ptr, ptr %7, align 8, !tbaa !9
  %4278 = load i32, ptr %12, align 4, !tbaa !5
  %4279 = load i32, ptr %8, align 4, !tbaa !5
  %4280 = mul nsw i32 1, %4279
  %4281 = add nsw i32 %4278, %4280
  %4282 = sext i32 %4281 to i64
  %4283 = getelementptr inbounds double, ptr %4277, i64 %4282
  %4284 = load double, ptr %4283, align 8, !tbaa !11
  %4285 = fmul double 0x3CB1CF7DDE1AEFDC, %4284
  %4286 = call double @llvm.fmuladd.f64(double 0x3CA347C4C70D6B05, double %4276, double %4285)
  %4287 = load ptr, ptr %7, align 8, !tbaa !9
  %4288 = load i32, ptr %12, align 4, !tbaa !5
  %4289 = load i32, ptr %8, align 4, !tbaa !5
  %4290 = mul nsw i32 2, %4289
  %4291 = add nsw i32 %4288, %4290
  %4292 = sext i32 %4291 to i64
  %4293 = getelementptr inbounds double, ptr %4287, i64 %4292
  %4294 = load double, ptr %4293, align 8, !tbaa !11
  %4295 = call double @llvm.fmuladd.f64(double 0x3C97D656A637D540, double %4294, double %4286)
  %4296 = load ptr, ptr %7, align 8, !tbaa !9
  %4297 = load i32, ptr %12, align 4, !tbaa !5
  %4298 = load i32, ptr %8, align 4, !tbaa !5
  %4299 = mul nsw i32 3, %4298
  %4300 = add nsw i32 %4297, %4299
  %4301 = sext i32 %4300 to i64
  %4302 = getelementptr inbounds double, ptr %4296, i64 %4301
  %4303 = load double, ptr %4302, align 8, !tbaa !11
  %4304 = call double @llvm.fmuladd.f64(double 0xBCAA48CC66C79E07, double %4303, double %4295)
  %4305 = load ptr, ptr %7, align 8, !tbaa !9
  %4306 = load i32, ptr %12, align 4, !tbaa !5
  %4307 = load i32, ptr %8, align 4, !tbaa !5
  %4308 = mul nsw i32 4, %4307
  %4309 = add nsw i32 %4306, %4308
  %4310 = sext i32 %4309 to i64
  %4311 = getelementptr inbounds double, ptr %4305, i64 %4310
  %4312 = load double, ptr %4311, align 8, !tbaa !11
  %4313 = call double @llvm.fmuladd.f64(double 0x3C9D261528C7077F, double %4312, double %4304)
  %4314 = load ptr, ptr %7, align 8, !tbaa !9
  %4315 = load i32, ptr %12, align 4, !tbaa !5
  %4316 = load i32, ptr %8, align 4, !tbaa !5
  %4317 = mul nsw i32 5, %4316
  %4318 = add nsw i32 %4315, %4317
  %4319 = sext i32 %4318 to i64
  %4320 = getelementptr inbounds double, ptr %4314, i64 %4319
  %4321 = load double, ptr %4320, align 8, !tbaa !11
  %4322 = call double @llvm.fmuladd.f64(double 0x3CA99E4A7A608F94, double %4321, double %4313)
  %4323 = load ptr, ptr %7, align 8, !tbaa !9
  %4324 = load i32, ptr %12, align 4, !tbaa !5
  %4325 = load i32, ptr %8, align 4, !tbaa !5
  %4326 = mul nsw i32 6, %4325
  %4327 = add nsw i32 %4324, %4326
  %4328 = sext i32 %4327 to i64
  %4329 = getelementptr inbounds double, ptr %4323, i64 %4328
  %4330 = load double, ptr %4329, align 8, !tbaa !11
  %4331 = call double @llvm.fmuladd.f64(double 0xBF7DFA2300BBB500, double %4330, double %4322)
  %4332 = load ptr, ptr %7, align 8, !tbaa !9
  %4333 = load i32, ptr %12, align 4, !tbaa !5
  %4334 = load i32, ptr %8, align 4, !tbaa !5
  %4335 = mul nsw i32 7, %4334
  %4336 = add nsw i32 %4333, %4335
  %4337 = sext i32 %4336 to i64
  %4338 = getelementptr inbounds double, ptr %4332, i64 %4337
  %4339 = load double, ptr %4338, align 8, !tbaa !11
  %4340 = call double @llvm.fmuladd.f64(double 0x3FF44E3F94172F4B, double %4339, double %4331)
  %4341 = load ptr, ptr %7, align 8, !tbaa !9
  %4342 = load i32, ptr %12, align 4, !tbaa !5
  %4343 = load i32, ptr %8, align 4, !tbaa !5
  %4344 = mul nsw i32 8, %4343
  %4345 = add nsw i32 %4342, %4344
  %4346 = sext i32 %4345 to i64
  %4347 = getelementptr inbounds double, ptr %4341, i64 %4346
  %4348 = load double, ptr %4347, align 8, !tbaa !11
  %4349 = call double @llvm.fmuladd.f64(double 0x3FB9ECDD981278D6, double %4348, double %4340)
  %4350 = load ptr, ptr %7, align 8, !tbaa !9
  %4351 = load i32, ptr %12, align 4, !tbaa !5
  %4352 = load i32, ptr %8, align 4, !tbaa !5
  %4353 = mul nsw i32 9, %4352
  %4354 = add nsw i32 %4351, %4353
  %4355 = sext i32 %4354 to i64
  %4356 = getelementptr inbounds double, ptr %4350, i64 %4355
  %4357 = load double, ptr %4356, align 8, !tbaa !11
  %4358 = call double @llvm.fmuladd.f64(double 0xBFE4FBED5D8A9650, double %4357, double %4349)
  %4359 = load ptr, ptr %7, align 8, !tbaa !9
  %4360 = load i32, ptr %12, align 4, !tbaa !5
  %4361 = load i32, ptr %8, align 4, !tbaa !5
  %4362 = mul nsw i32 10, %4361
  %4363 = add nsw i32 %4360, %4362
  %4364 = sext i32 %4363 to i64
  %4365 = getelementptr inbounds double, ptr %4359, i64 %4364
  %4366 = load double, ptr %4365, align 8, !tbaa !11
  %4367 = call double @llvm.fmuladd.f64(double 0xBF83952FC55A72B4, double %4366, double %4358)
  %4368 = load ptr, ptr %7, align 8, !tbaa !9
  %4369 = load i32, ptr %12, align 4, !tbaa !5
  %4370 = load i32, ptr %8, align 4, !tbaa !5
  %4371 = mul nsw i32 11, %4370
  %4372 = add nsw i32 %4369, %4371
  %4373 = sext i32 %4372 to i64
  %4374 = getelementptr inbounds double, ptr %4368, i64 %4373
  %4375 = load double, ptr %4374, align 8, !tbaa !11
  %4376 = call double @llvm.fmuladd.f64(double 0x3FD50884576D0BC1, double %4375, double %4367)
  %4377 = load ptr, ptr %7, align 8, !tbaa !9
  %4378 = load i32, ptr %12, align 4, !tbaa !5
  %4379 = load i32, ptr %8, align 4, !tbaa !5
  %4380 = mul nsw i32 12, %4379
  %4381 = add nsw i32 %4378, %4380
  %4382 = sext i32 %4381 to i64
  %4383 = getelementptr inbounds double, ptr %4377, i64 %4382
  %4384 = load double, ptr %4383, align 8, !tbaa !11
  %4385 = call double @llvm.fmuladd.f64(double 0x3CB6140A413681D4, double %4384, double %4376)
  %4386 = load ptr, ptr %7, align 8, !tbaa !9
  %4387 = load i32, ptr %12, align 4, !tbaa !5
  %4388 = load i32, ptr %8, align 4, !tbaa !5
  %4389 = mul nsw i32 13, %4388
  %4390 = add nsw i32 %4387, %4389
  %4391 = sext i32 %4390 to i64
  %4392 = getelementptr inbounds double, ptr %4386, i64 %4391
  %4393 = load double, ptr %4392, align 8, !tbaa !11
  %4394 = call double @llvm.fmuladd.f64(double 0x3CA8FA1231330DC7, double %4393, double %4385)
  %4395 = load ptr, ptr %7, align 8, !tbaa !9
  %4396 = load i32, ptr %12, align 4, !tbaa !5
  %4397 = load i32, ptr %8, align 4, !tbaa !5
  %4398 = mul nsw i32 14, %4397
  %4399 = add nsw i32 %4396, %4398
  %4400 = sext i32 %4399 to i64
  %4401 = getelementptr inbounds double, ptr %4395, i64 %4400
  %4402 = load double, ptr %4401, align 8, !tbaa !11
  %4403 = call double @llvm.fmuladd.f64(double 0x3CBBE2C07F50FCE2, double %4402, double %4394)
  %4404 = load ptr, ptr %7, align 8, !tbaa !9
  %4405 = load i32, ptr %12, align 4, !tbaa !5
  %4406 = load i32, ptr %8, align 4, !tbaa !5
  %4407 = mul nsw i32 15, %4406
  %4408 = add nsw i32 %4405, %4407
  %4409 = sext i32 %4408 to i64
  %4410 = getelementptr inbounds double, ptr %4404, i64 %4409
  %4411 = load double, ptr %4410, align 8, !tbaa !11
  %4412 = call double @llvm.fmuladd.f64(double 0xBCB7024A69B57E27, double %4411, double %4403)
  %4413 = load ptr, ptr %7, align 8, !tbaa !9
  %4414 = load i32, ptr %12, align 4, !tbaa !5
  %4415 = load i32, ptr %8, align 4, !tbaa !5
  %4416 = mul nsw i32 16, %4415
  %4417 = add nsw i32 %4414, %4416
  %4418 = sext i32 %4417 to i64
  %4419 = getelementptr inbounds double, ptr %4413, i64 %4418
  %4420 = load double, ptr %4419, align 8, !tbaa !11
  %4421 = call double @llvm.fmuladd.f64(double 0xBC87FD97AF08C2A0, double %4420, double %4412)
  %4422 = load ptr, ptr %7, align 8, !tbaa !9
  %4423 = load i32, ptr %12, align 4, !tbaa !5
  %4424 = load i32, ptr %8, align 4, !tbaa !5
  %4425 = mul nsw i32 17, %4424
  %4426 = add nsw i32 %4423, %4425
  %4427 = sext i32 %4426 to i64
  %4428 = getelementptr inbounds double, ptr %4422, i64 %4427
  %4429 = load double, ptr %4428, align 8, !tbaa !11
  %4430 = call double @llvm.fmuladd.f64(double 0xBCB0527F7EB21B3D, double %4429, double %4421)
  store double %4430, ptr %11, align 8, !tbaa !11
  %4431 = load double, ptr %11, align 8, !tbaa !11
  %4432 = load ptr, ptr %9, align 8, !tbaa !9
  %4433 = load i32, ptr %12, align 4, !tbaa !5
  %4434 = load i32, ptr %10, align 4, !tbaa !5
  %4435 = mul nsw i32 25, %4434
  %4436 = add nsw i32 %4433, %4435
  %4437 = sext i32 %4436 to i64
  %4438 = getelementptr inbounds double, ptr %4432, i64 %4437
  store double %4431, ptr %4438, align 8, !tbaa !11
  %4439 = load ptr, ptr %7, align 8, !tbaa !9
  %4440 = load i32, ptr %12, align 4, !tbaa !5
  %4441 = load i32, ptr %8, align 4, !tbaa !5
  %4442 = mul nsw i32 0, %4441
  %4443 = add nsw i32 %4440, %4442
  %4444 = sext i32 %4443 to i64
  %4445 = getelementptr inbounds double, ptr %4439, i64 %4444
  %4446 = load double, ptr %4445, align 8, !tbaa !11
  %4447 = load ptr, ptr %7, align 8, !tbaa !9
  %4448 = load i32, ptr %12, align 4, !tbaa !5
  %4449 = load i32, ptr %8, align 4, !tbaa !5
  %4450 = mul nsw i32 1, %4449
  %4451 = add nsw i32 %4448, %4450
  %4452 = sext i32 %4451 to i64
  %4453 = getelementptr inbounds double, ptr %4447, i64 %4452
  %4454 = load double, ptr %4453, align 8, !tbaa !11
  %4455 = fmul double 0x3C8A879ECD0AD1E9, %4454
  %4456 = call double @llvm.fmuladd.f64(double 0x3CAC37DE4880EADE, double %4446, double %4455)
  %4457 = load ptr, ptr %7, align 8, !tbaa !9
  %4458 = load i32, ptr %12, align 4, !tbaa !5
  %4459 = load i32, ptr %8, align 4, !tbaa !5
  %4460 = mul nsw i32 2, %4459
  %4461 = add nsw i32 %4458, %4460
  %4462 = sext i32 %4461 to i64
  %4463 = getelementptr inbounds double, ptr %4457, i64 %4462
  %4464 = load double, ptr %4463, align 8, !tbaa !11
  %4465 = call double @llvm.fmuladd.f64(double 0xBC59ACE05CE0B300, double %4464, double %4456)
  %4466 = load ptr, ptr %7, align 8, !tbaa !9
  %4467 = load i32, ptr %12, align 4, !tbaa !5
  %4468 = load i32, ptr %8, align 4, !tbaa !5
  %4469 = mul nsw i32 3, %4468
  %4470 = add nsw i32 %4467, %4469
  %4471 = sext i32 %4470 to i64
  %4472 = getelementptr inbounds double, ptr %4466, i64 %4471
  %4473 = load double, ptr %4472, align 8, !tbaa !11
  %4474 = call double @llvm.fmuladd.f64(double 0x3CB3FD64226E0B00, double %4473, double %4465)
  %4475 = load ptr, ptr %7, align 8, !tbaa !9
  %4476 = load i32, ptr %12, align 4, !tbaa !5
  %4477 = load i32, ptr %8, align 4, !tbaa !5
  %4478 = mul nsw i32 4, %4477
  %4479 = add nsw i32 %4476, %4478
  %4480 = sext i32 %4479 to i64
  %4481 = getelementptr inbounds double, ptr %4475, i64 %4480
  %4482 = load double, ptr %4481, align 8, !tbaa !11
  %4483 = call double @llvm.fmuladd.f64(double 0xBCA6BB73EC8236F2, double %4482, double %4474)
  %4484 = load ptr, ptr %7, align 8, !tbaa !9
  %4485 = load i32, ptr %12, align 4, !tbaa !5
  %4486 = load i32, ptr %8, align 4, !tbaa !5
  %4487 = mul nsw i32 5, %4486
  %4488 = add nsw i32 %4485, %4487
  %4489 = sext i32 %4488 to i64
  %4490 = getelementptr inbounds double, ptr %4484, i64 %4489
  %4491 = load double, ptr %4490, align 8, !tbaa !11
  %4492 = call double @llvm.fmuladd.f64(double 0xBCA83336C71F9743, double %4491, double %4483)
  %4493 = load ptr, ptr %7, align 8, !tbaa !9
  %4494 = load i32, ptr %12, align 4, !tbaa !5
  %4495 = load i32, ptr %8, align 4, !tbaa !5
  %4496 = mul nsw i32 6, %4495
  %4497 = add nsw i32 %4494, %4496
  %4498 = sext i32 %4497 to i64
  %4499 = getelementptr inbounds double, ptr %4493, i64 %4498
  %4500 = load double, ptr %4499, align 8, !tbaa !11
  %4501 = call double @llvm.fmuladd.f64(double 0xBFDFFE63E2851764, double %4500, double %4492)
  %4502 = load ptr, ptr %7, align 8, !tbaa !9
  %4503 = load i32, ptr %12, align 4, !tbaa !5
  %4504 = load i32, ptr %8, align 4, !tbaa !5
  %4505 = mul nsw i32 7, %4504
  %4506 = add nsw i32 %4503, %4505
  %4507 = sext i32 %4506 to i64
  %4508 = getelementptr inbounds double, ptr %4502, i64 %4507
  %4509 = load double, ptr %4508, align 8, !tbaa !11
  %4510 = call double @llvm.fmuladd.f64(double 0xBFE1EC4181248AE3, double %4509, double %4501)
  %4511 = load ptr, ptr %7, align 8, !tbaa !9
  %4512 = load i32, ptr %12, align 4, !tbaa !5
  %4513 = load i32, ptr %8, align 4, !tbaa !5
  %4514 = mul nsw i32 8, %4513
  %4515 = add nsw i32 %4512, %4514
  %4516 = sext i32 %4515 to i64
  %4517 = getelementptr inbounds double, ptr %4511, i64 %4516
  %4518 = load double, ptr %4517, align 8, !tbaa !11
  %4519 = call double @llvm.fmuladd.f64(double 0x4000E9CE75C2FBF6, double %4518, double %4510)
  %4520 = load ptr, ptr %7, align 8, !tbaa !9
  %4521 = load i32, ptr %12, align 4, !tbaa !5
  %4522 = load i32, ptr %8, align 4, !tbaa !5
  %4523 = mul nsw i32 9, %4522
  %4524 = add nsw i32 %4521, %4523
  %4525 = sext i32 %4524 to i64
  %4526 = getelementptr inbounds double, ptr %4520, i64 %4525
  %4527 = load double, ptr %4526, align 8, !tbaa !11
  %4528 = call double @llvm.fmuladd.f64(double 0x3FF2343957F3A8AF, double %4527, double %4519)
  %4529 = load ptr, ptr %7, align 8, !tbaa !9
  %4530 = load i32, ptr %12, align 4, !tbaa !5
  %4531 = load i32, ptr %8, align 4, !tbaa !5
  %4532 = mul nsw i32 10, %4531
  %4533 = add nsw i32 %4530, %4532
  %4534 = sext i32 %4533 to i64
  %4535 = getelementptr inbounds double, ptr %4529, i64 %4534
  %4536 = load double, ptr %4535, align 8, !tbaa !11
  %4537 = call double @llvm.fmuladd.f64(double 0x3FF31D88B253B07F, double %4536, double %4528)
  %4538 = load ptr, ptr %7, align 8, !tbaa !9
  %4539 = load i32, ptr %12, align 4, !tbaa !5
  %4540 = load i32, ptr %8, align 4, !tbaa !5
  %4541 = mul nsw i32 11, %4540
  %4542 = add nsw i32 %4539, %4541
  %4543 = sext i32 %4542 to i64
  %4544 = getelementptr inbounds double, ptr %4538, i64 %4543
  %4545 = load double, ptr %4544, align 8, !tbaa !11
  %4546 = call double @llvm.fmuladd.f64(double 0xBFEE712F1EF7D8A1, double %4545, double %4537)
  %4547 = load ptr, ptr %7, align 8, !tbaa !9
  %4548 = load i32, ptr %12, align 4, !tbaa !5
  %4549 = load i32, ptr %8, align 4, !tbaa !5
  %4550 = mul nsw i32 12, %4549
  %4551 = add nsw i32 %4548, %4550
  %4552 = sext i32 %4551 to i64
  %4553 = getelementptr inbounds double, ptr %4547, i64 %4552
  %4554 = load double, ptr %4553, align 8, !tbaa !11
  %4555 = call double @llvm.fmuladd.f64(double 0xBCC19561BA4C976A, double %4554, double %4546)
  %4556 = load ptr, ptr %7, align 8, !tbaa !9
  %4557 = load i32, ptr %12, align 4, !tbaa !5
  %4558 = load i32, ptr %8, align 4, !tbaa !5
  %4559 = mul nsw i32 13, %4558
  %4560 = add nsw i32 %4557, %4559
  %4561 = sext i32 %4560 to i64
  %4562 = getelementptr inbounds double, ptr %4556, i64 %4561
  %4563 = load double, ptr %4562, align 8, !tbaa !11
  %4564 = call double @llvm.fmuladd.f64(double 0x3C8561CA2243E962, double %4563, double %4555)
  %4565 = load ptr, ptr %7, align 8, !tbaa !9
  %4566 = load i32, ptr %12, align 4, !tbaa !5
  %4567 = load i32, ptr %8, align 4, !tbaa !5
  %4568 = mul nsw i32 14, %4567
  %4569 = add nsw i32 %4566, %4568
  %4570 = sext i32 %4569 to i64
  %4571 = getelementptr inbounds double, ptr %4565, i64 %4570
  %4572 = load double, ptr %4571, align 8, !tbaa !11
  %4573 = call double @llvm.fmuladd.f64(double 0xBCCBC809825B5E43, double %4572, double %4564)
  %4574 = load ptr, ptr %7, align 8, !tbaa !9
  %4575 = load i32, ptr %12, align 4, !tbaa !5
  %4576 = load i32, ptr %8, align 4, !tbaa !5
  %4577 = mul nsw i32 15, %4576
  %4578 = add nsw i32 %4575, %4577
  %4579 = sext i32 %4578 to i64
  %4580 = getelementptr inbounds double, ptr %4574, i64 %4579
  %4581 = load double, ptr %4580, align 8, !tbaa !11
  %4582 = call double @llvm.fmuladd.f64(double 0xBC98B3084FB90D1C, double %4581, double %4573)
  %4583 = load ptr, ptr %7, align 8, !tbaa !9
  %4584 = load i32, ptr %12, align 4, !tbaa !5
  %4585 = load i32, ptr %8, align 4, !tbaa !5
  %4586 = mul nsw i32 16, %4585
  %4587 = add nsw i32 %4584, %4586
  %4588 = sext i32 %4587 to i64
  %4589 = getelementptr inbounds double, ptr %4583, i64 %4588
  %4590 = load double, ptr %4589, align 8, !tbaa !11
  %4591 = call double @llvm.fmuladd.f64(double 0x3CD0052A8CC0F683, double %4590, double %4582)
  %4592 = load ptr, ptr %7, align 8, !tbaa !9
  %4593 = load i32, ptr %12, align 4, !tbaa !5
  %4594 = load i32, ptr %8, align 4, !tbaa !5
  %4595 = mul nsw i32 17, %4594
  %4596 = add nsw i32 %4593, %4595
  %4597 = sext i32 %4596 to i64
  %4598 = getelementptr inbounds double, ptr %4592, i64 %4597
  %4599 = load double, ptr %4598, align 8, !tbaa !11
  %4600 = call double @llvm.fmuladd.f64(double 0x3CD01543965B219E, double %4599, double %4591)
  store double %4600, ptr %11, align 8, !tbaa !11
  %4601 = load double, ptr %11, align 8, !tbaa !11
  %4602 = load ptr, ptr %9, align 8, !tbaa !9
  %4603 = load i32, ptr %12, align 4, !tbaa !5
  %4604 = load i32, ptr %10, align 4, !tbaa !5
  %4605 = mul nsw i32 26, %4604
  %4606 = add nsw i32 %4603, %4605
  %4607 = sext i32 %4606 to i64
  %4608 = getelementptr inbounds double, ptr %4602, i64 %4607
  store double %4601, ptr %4608, align 8, !tbaa !11
  %4609 = load ptr, ptr %7, align 8, !tbaa !9
  %4610 = load i32, ptr %12, align 4, !tbaa !5
  %4611 = load i32, ptr %8, align 4, !tbaa !5
  %4612 = mul nsw i32 0, %4611
  %4613 = add nsw i32 %4610, %4612
  %4614 = sext i32 %4613 to i64
  %4615 = getelementptr inbounds double, ptr %4609, i64 %4614
  %4616 = load double, ptr %4615, align 8, !tbaa !11
  %4617 = load ptr, ptr %7, align 8, !tbaa !9
  %4618 = load i32, ptr %12, align 4, !tbaa !5
  %4619 = load i32, ptr %8, align 4, !tbaa !5
  %4620 = mul nsw i32 1, %4619
  %4621 = add nsw i32 %4618, %4620
  %4622 = sext i32 %4621 to i64
  %4623 = getelementptr inbounds double, ptr %4617, i64 %4622
  %4624 = load double, ptr %4623, align 8, !tbaa !11
  %4625 = fmul double 0x3C5F5BA8ADFE37A4, %4624
  %4626 = call double @llvm.fmuladd.f64(double 0xBCB17D0146688F6C, double %4616, double %4625)
  %4627 = load ptr, ptr %7, align 8, !tbaa !9
  %4628 = load i32, ptr %12, align 4, !tbaa !5
  %4629 = load i32, ptr %8, align 4, !tbaa !5
  %4630 = mul nsw i32 2, %4629
  %4631 = add nsw i32 %4628, %4630
  %4632 = sext i32 %4631 to i64
  %4633 = getelementptr inbounds double, ptr %4627, i64 %4632
  %4634 = load double, ptr %4633, align 8, !tbaa !11
  %4635 = call double @llvm.fmuladd.f64(double 0xBC95A97F00B4BD20, double %4634, double %4626)
  %4636 = load ptr, ptr %7, align 8, !tbaa !9
  %4637 = load i32, ptr %12, align 4, !tbaa !5
  %4638 = load i32, ptr %8, align 4, !tbaa !5
  %4639 = mul nsw i32 3, %4638
  %4640 = add nsw i32 %4637, %4639
  %4641 = sext i32 %4640 to i64
  %4642 = getelementptr inbounds double, ptr %4636, i64 %4641
  %4643 = load double, ptr %4642, align 8, !tbaa !11
  %4644 = call double @llvm.fmuladd.f64(double 0x3CB310B8F73ED9E1, double %4643, double %4635)
  %4645 = load ptr, ptr %7, align 8, !tbaa !9
  %4646 = load i32, ptr %12, align 4, !tbaa !5
  %4647 = load i32, ptr %8, align 4, !tbaa !5
  %4648 = mul nsw i32 4, %4647
  %4649 = add nsw i32 %4646, %4648
  %4650 = sext i32 %4649 to i64
  %4651 = getelementptr inbounds double, ptr %4645, i64 %4650
  %4652 = load double, ptr %4651, align 8, !tbaa !11
  %4653 = call double @llvm.fmuladd.f64(double 0x3CB8D84083674869, double %4652, double %4644)
  %4654 = load ptr, ptr %7, align 8, !tbaa !9
  %4655 = load i32, ptr %12, align 4, !tbaa !5
  %4656 = load i32, ptr %8, align 4, !tbaa !5
  %4657 = mul nsw i32 5, %4656
  %4658 = add nsw i32 %4655, %4657
  %4659 = sext i32 %4658 to i64
  %4660 = getelementptr inbounds double, ptr %4654, i64 %4659
  %4661 = load double, ptr %4660, align 8, !tbaa !11
  %4662 = call double @llvm.fmuladd.f64(double 0x3C908864603A2D22, double %4661, double %4653)
  %4663 = load ptr, ptr %7, align 8, !tbaa !9
  %4664 = load i32, ptr %12, align 4, !tbaa !5
  %4665 = load i32, ptr %8, align 4, !tbaa !5
  %4666 = mul nsw i32 6, %4665
  %4667 = add nsw i32 %4664, %4666
  %4668 = sext i32 %4667 to i64
  %4669 = getelementptr inbounds double, ptr %4663, i64 %4668
  %4670 = load double, ptr %4669, align 8, !tbaa !11
  %4671 = call double @llvm.fmuladd.f64(double 0xBFB17C71DD2D5188, double %4670, double %4662)
  %4672 = load ptr, ptr %7, align 8, !tbaa !9
  %4673 = load i32, ptr %12, align 4, !tbaa !5
  %4674 = load i32, ptr %8, align 4, !tbaa !5
  %4675 = mul nsw i32 7, %4674
  %4676 = add nsw i32 %4673, %4675
  %4677 = sext i32 %4676 to i64
  %4678 = getelementptr inbounds double, ptr %4672, i64 %4677
  %4679 = load double, ptr %4678, align 8, !tbaa !11
  %4680 = call double @llvm.fmuladd.f64(double 0x3FF3237A82AF9ED0, double %4679, double %4671)
  %4681 = load ptr, ptr %7, align 8, !tbaa !9
  %4682 = load i32, ptr %12, align 4, !tbaa !5
  %4683 = load i32, ptr %8, align 4, !tbaa !5
  %4684 = mul nsw i32 8, %4683
  %4685 = add nsw i32 %4682, %4684
  %4686 = sext i32 %4685 to i64
  %4687 = getelementptr inbounds double, ptr %4681, i64 %4686
  %4688 = load double, ptr %4687, align 8, !tbaa !11
  %4689 = call double @llvm.fmuladd.f64(double 0xBF76E8A1969E6E00, double %4688, double %4680)
  %4690 = load ptr, ptr %7, align 8, !tbaa !9
  %4691 = load i32, ptr %12, align 4, !tbaa !5
  %4692 = load i32, ptr %8, align 4, !tbaa !5
  %4693 = mul nsw i32 9, %4692
  %4694 = add nsw i32 %4691, %4693
  %4695 = sext i32 %4694 to i64
  %4696 = getelementptr inbounds double, ptr %4690, i64 %4695
  %4697 = load double, ptr %4696, align 8, !tbaa !11
  %4698 = call double @llvm.fmuladd.f64(double 0x3FFBC4AD9C53A55A, double %4697, double %4689)
  %4699 = load ptr, ptr %7, align 8, !tbaa !9
  %4700 = load i32, ptr %12, align 4, !tbaa !5
  %4701 = load i32, ptr %8, align 4, !tbaa !5
  %4702 = mul nsw i32 10, %4701
  %4703 = add nsw i32 %4700, %4702
  %4704 = sext i32 %4703 to i64
  %4705 = getelementptr inbounds double, ptr %4699, i64 %4704
  %4706 = load double, ptr %4705, align 8, !tbaa !11
  %4707 = call double @llvm.fmuladd.f64(double 0x3FC179BD32D3DC59, double %4706, double %4698)
  %4708 = load ptr, ptr %7, align 8, !tbaa !9
  %4709 = load i32, ptr %12, align 4, !tbaa !5
  %4710 = load i32, ptr %8, align 4, !tbaa !5
  %4711 = mul nsw i32 11, %4710
  %4712 = add nsw i32 %4709, %4711
  %4713 = sext i32 %4712 to i64
  %4714 = getelementptr inbounds double, ptr %4708, i64 %4713
  %4715 = load double, ptr %4714, align 8, !tbaa !11
  %4716 = call double @llvm.fmuladd.f64(double 0x3FF1CA3B98F4942B, double %4715, double %4707)
  %4717 = load ptr, ptr %7, align 8, !tbaa !9
  %4718 = load i32, ptr %12, align 4, !tbaa !5
  %4719 = load i32, ptr %8, align 4, !tbaa !5
  %4720 = mul nsw i32 12, %4719
  %4721 = add nsw i32 %4718, %4720
  %4722 = sext i32 %4721 to i64
  %4723 = getelementptr inbounds double, ptr %4717, i64 %4722
  %4724 = load double, ptr %4723, align 8, !tbaa !11
  %4725 = call double @llvm.fmuladd.f64(double 0x3CB0F5FB97E3D134, double %4724, double %4716)
  %4726 = load ptr, ptr %7, align 8, !tbaa !9
  %4727 = load i32, ptr %12, align 4, !tbaa !5
  %4728 = load i32, ptr %8, align 4, !tbaa !5
  %4729 = mul nsw i32 13, %4728
  %4730 = add nsw i32 %4727, %4729
  %4731 = sext i32 %4730 to i64
  %4732 = getelementptr inbounds double, ptr %4726, i64 %4731
  %4733 = load double, ptr %4732, align 8, !tbaa !11
  %4734 = call double @llvm.fmuladd.f64(double 0xBCAEF548FD7930BA, double %4733, double %4725)
  %4735 = load ptr, ptr %7, align 8, !tbaa !9
  %4736 = load i32, ptr %12, align 4, !tbaa !5
  %4737 = load i32, ptr %8, align 4, !tbaa !5
  %4738 = mul nsw i32 14, %4737
  %4739 = add nsw i32 %4736, %4738
  %4740 = sext i32 %4739 to i64
  %4741 = getelementptr inbounds double, ptr %4735, i64 %4740
  %4742 = load double, ptr %4741, align 8, !tbaa !11
  %4743 = call double @llvm.fmuladd.f64(double 0x3CB0EB672BAF686C, double %4742, double %4734)
  %4744 = load ptr, ptr %7, align 8, !tbaa !9
  %4745 = load i32, ptr %12, align 4, !tbaa !5
  %4746 = load i32, ptr %8, align 4, !tbaa !5
  %4747 = mul nsw i32 15, %4746
  %4748 = add nsw i32 %4745, %4747
  %4749 = sext i32 %4748 to i64
  %4750 = getelementptr inbounds double, ptr %4744, i64 %4749
  %4751 = load double, ptr %4750, align 8, !tbaa !11
  %4752 = call double @llvm.fmuladd.f64(double 0xBC978105A5E561C1, double %4751, double %4743)
  %4753 = load ptr, ptr %7, align 8, !tbaa !9
  %4754 = load i32, ptr %12, align 4, !tbaa !5
  %4755 = load i32, ptr %8, align 4, !tbaa !5
  %4756 = mul nsw i32 16, %4755
  %4757 = add nsw i32 %4754, %4756
  %4758 = sext i32 %4757 to i64
  %4759 = getelementptr inbounds double, ptr %4753, i64 %4758
  %4760 = load double, ptr %4759, align 8, !tbaa !11
  %4761 = call double @llvm.fmuladd.f64(double 0x3CA3390DEFF9A3C5, double %4760, double %4752)
  %4762 = load ptr, ptr %7, align 8, !tbaa !9
  %4763 = load i32, ptr %12, align 4, !tbaa !5
  %4764 = load i32, ptr %8, align 4, !tbaa !5
  %4765 = mul nsw i32 17, %4764
  %4766 = add nsw i32 %4763, %4765
  %4767 = sext i32 %4766 to i64
  %4768 = getelementptr inbounds double, ptr %4762, i64 %4767
  %4769 = load double, ptr %4768, align 8, !tbaa !11
  %4770 = call double @llvm.fmuladd.f64(double 0xBCA5931C5A970C57, double %4769, double %4761)
  store double %4770, ptr %11, align 8, !tbaa !11
  %4771 = load double, ptr %11, align 8, !tbaa !11
  %4772 = load ptr, ptr %9, align 8, !tbaa !9
  %4773 = load i32, ptr %12, align 4, !tbaa !5
  %4774 = load i32, ptr %10, align 4, !tbaa !5
  %4775 = mul nsw i32 27, %4774
  %4776 = add nsw i32 %4773, %4775
  %4777 = sext i32 %4776 to i64
  %4778 = getelementptr inbounds double, ptr %4772, i64 %4777
  store double %4771, ptr %4778, align 8, !tbaa !11
  %4779 = load ptr, ptr %7, align 8, !tbaa !9
  %4780 = load i32, ptr %12, align 4, !tbaa !5
  %4781 = load i32, ptr %8, align 4, !tbaa !5
  %4782 = mul nsw i32 0, %4781
  %4783 = add nsw i32 %4780, %4782
  %4784 = sext i32 %4783 to i64
  %4785 = getelementptr inbounds double, ptr %4779, i64 %4784
  %4786 = load double, ptr %4785, align 8, !tbaa !11
  %4787 = load ptr, ptr %7, align 8, !tbaa !9
  %4788 = load i32, ptr %12, align 4, !tbaa !5
  %4789 = load i32, ptr %8, align 4, !tbaa !5
  %4790 = mul nsw i32 1, %4789
  %4791 = add nsw i32 %4788, %4790
  %4792 = sext i32 %4791 to i64
  %4793 = getelementptr inbounds double, ptr %4787, i64 %4792
  %4794 = load double, ptr %4793, align 8, !tbaa !11
  %4795 = fmul double 0xBC8C55566D867E4D, %4794
  %4796 = call double @llvm.fmuladd.f64(double 0xBCB979BA7B87021B, double %4786, double %4795)
  %4797 = load ptr, ptr %7, align 8, !tbaa !9
  %4798 = load i32, ptr %12, align 4, !tbaa !5
  %4799 = load i32, ptr %8, align 4, !tbaa !5
  %4800 = mul nsw i32 2, %4799
  %4801 = add nsw i32 %4798, %4800
  %4802 = sext i32 %4801 to i64
  %4803 = getelementptr inbounds double, ptr %4797, i64 %4802
  %4804 = load double, ptr %4803, align 8, !tbaa !11
  %4805 = call double @llvm.fmuladd.f64(double 0x3CAD8296DD370BB5, double %4804, double %4796)
  %4806 = load ptr, ptr %7, align 8, !tbaa !9
  %4807 = load i32, ptr %12, align 4, !tbaa !5
  %4808 = load i32, ptr %8, align 4, !tbaa !5
  %4809 = mul nsw i32 3, %4808
  %4810 = add nsw i32 %4807, %4809
  %4811 = sext i32 %4810 to i64
  %4812 = getelementptr inbounds double, ptr %4806, i64 %4811
  %4813 = load double, ptr %4812, align 8, !tbaa !11
  %4814 = call double @llvm.fmuladd.f64(double 0xBCB6E42765918C02, double %4813, double %4805)
  %4815 = load ptr, ptr %7, align 8, !tbaa !9
  %4816 = load i32, ptr %12, align 4, !tbaa !5
  %4817 = load i32, ptr %8, align 4, !tbaa !5
  %4818 = mul nsw i32 4, %4817
  %4819 = add nsw i32 %4816, %4818
  %4820 = sext i32 %4819 to i64
  %4821 = getelementptr inbounds double, ptr %4815, i64 %4820
  %4822 = load double, ptr %4821, align 8, !tbaa !11
  %4823 = call double @llvm.fmuladd.f64(double 0x3CA25C9DE1FA7E55, double %4822, double %4814)
  %4824 = load ptr, ptr %7, align 8, !tbaa !9
  %4825 = load i32, ptr %12, align 4, !tbaa !5
  %4826 = load i32, ptr %8, align 4, !tbaa !5
  %4827 = mul nsw i32 5, %4826
  %4828 = add nsw i32 %4825, %4827
  %4829 = sext i32 %4828 to i64
  %4830 = getelementptr inbounds double, ptr %4824, i64 %4829
  %4831 = load double, ptr %4830, align 8, !tbaa !11
  %4832 = call double @llvm.fmuladd.f64(double 0x3CA501A6E8F3273C, double %4831, double %4823)
  %4833 = load ptr, ptr %7, align 8, !tbaa !9
  %4834 = load i32, ptr %12, align 4, !tbaa !5
  %4835 = load i32, ptr %8, align 4, !tbaa !5
  %4836 = mul nsw i32 6, %4835
  %4837 = add nsw i32 %4834, %4836
  %4838 = sext i32 %4837 to i64
  %4839 = getelementptr inbounds double, ptr %4833, i64 %4838
  %4840 = load double, ptr %4839, align 8, !tbaa !11
  %4841 = call double @llvm.fmuladd.f64(double 0x3FF21EFA862DF3DA, double %4840, double %4832)
  %4842 = load ptr, ptr %7, align 8, !tbaa !9
  %4843 = load i32, ptr %12, align 4, !tbaa !5
  %4844 = load i32, ptr %8, align 4, !tbaa !5
  %4845 = mul nsw i32 7, %4844
  %4846 = add nsw i32 %4843, %4845
  %4847 = sext i32 %4846 to i64
  %4848 = getelementptr inbounds double, ptr %4842, i64 %4847
  %4849 = load double, ptr %4848, align 8, !tbaa !11
  %4850 = call double @llvm.fmuladd.f64(double 0xBF734721512AF5C4, double %4849, double %4841)
  %4851 = load ptr, ptr %7, align 8, !tbaa !9
  %4852 = load i32, ptr %12, align 4, !tbaa !5
  %4853 = load i32, ptr %8, align 4, !tbaa !5
  %4854 = mul nsw i32 8, %4853
  %4855 = add nsw i32 %4852, %4854
  %4856 = sext i32 %4855 to i64
  %4857 = getelementptr inbounds double, ptr %4851, i64 %4856
  %4858 = load double, ptr %4857, align 8, !tbaa !11
  %4859 = call double @llvm.fmuladd.f64(double 0xBFF7F19EB1BA88FC, double %4858, double %4850)
  %4860 = load ptr, ptr %7, align 8, !tbaa !9
  %4861 = load i32, ptr %12, align 4, !tbaa !5
  %4862 = load i32, ptr %8, align 4, !tbaa !5
  %4863 = mul nsw i32 9, %4862
  %4864 = add nsw i32 %4861, %4863
  %4865 = sext i32 %4864 to i64
  %4866 = getelementptr inbounds double, ptr %4860, i64 %4865
  %4867 = load double, ptr %4866, align 8, !tbaa !11
  %4868 = call double @llvm.fmuladd.f64(double 0xBFF48831FA6C7040, double %4867, double %4859)
  %4869 = load ptr, ptr %7, align 8, !tbaa !9
  %4870 = load i32, ptr %12, align 4, !tbaa !5
  %4871 = load i32, ptr %8, align 4, !tbaa !5
  %4872 = mul nsw i32 10, %4871
  %4873 = add nsw i32 %4870, %4872
  %4874 = sext i32 %4873 to i64
  %4875 = getelementptr inbounds double, ptr %4869, i64 %4874
  %4876 = load double, ptr %4875, align 8, !tbaa !11
  %4877 = call double @llvm.fmuladd.f64(double 0x3FC901A35D55DB91, double %4876, double %4868)
  %4878 = load ptr, ptr %7, align 8, !tbaa !9
  %4879 = load i32, ptr %12, align 4, !tbaa !5
  %4880 = load i32, ptr %8, align 4, !tbaa !5
  %4881 = mul nsw i32 11, %4880
  %4882 = add nsw i32 %4879, %4881
  %4883 = sext i32 %4882 to i64
  %4884 = getelementptr inbounds double, ptr %4878, i64 %4883
  %4885 = load double, ptr %4884, align 8, !tbaa !11
  %4886 = call double @llvm.fmuladd.f64(double 0x3FF0AF85DD8BD41B, double %4885, double %4877)
  %4887 = load ptr, ptr %7, align 8, !tbaa !9
  %4888 = load i32, ptr %12, align 4, !tbaa !5
  %4889 = load i32, ptr %8, align 4, !tbaa !5
  %4890 = mul nsw i32 12, %4889
  %4891 = add nsw i32 %4888, %4890
  %4892 = sext i32 %4891 to i64
  %4893 = getelementptr inbounds double, ptr %4887, i64 %4892
  %4894 = load double, ptr %4893, align 8, !tbaa !11
  %4895 = call double @llvm.fmuladd.f64(double 0x3C818885A14EAAF3, double %4894, double %4886)
  %4896 = load ptr, ptr %7, align 8, !tbaa !9
  %4897 = load i32, ptr %12, align 4, !tbaa !5
  %4898 = load i32, ptr %8, align 4, !tbaa !5
  %4899 = mul nsw i32 13, %4898
  %4900 = add nsw i32 %4897, %4899
  %4901 = sext i32 %4900 to i64
  %4902 = getelementptr inbounds double, ptr %4896, i64 %4901
  %4903 = load double, ptr %4902, align 8, !tbaa !11
  %4904 = call double @llvm.fmuladd.f64(double 0x3CA1FE8D3E4F0FDA, double %4903, double %4895)
  %4905 = load ptr, ptr %7, align 8, !tbaa !9
  %4906 = load i32, ptr %12, align 4, !tbaa !5
  %4907 = load i32, ptr %8, align 4, !tbaa !5
  %4908 = mul nsw i32 14, %4907
  %4909 = add nsw i32 %4906, %4908
  %4910 = sext i32 %4909 to i64
  %4911 = getelementptr inbounds double, ptr %4905, i64 %4910
  %4912 = load double, ptr %4911, align 8, !tbaa !11
  %4913 = call double @llvm.fmuladd.f64(double 0x3CC2430B423E38F7, double %4912, double %4904)
  %4914 = load ptr, ptr %7, align 8, !tbaa !9
  %4915 = load i32, ptr %12, align 4, !tbaa !5
  %4916 = load i32, ptr %8, align 4, !tbaa !5
  %4917 = mul nsw i32 15, %4916
  %4918 = add nsw i32 %4915, %4917
  %4919 = sext i32 %4918 to i64
  %4920 = getelementptr inbounds double, ptr %4914, i64 %4919
  %4921 = load double, ptr %4920, align 8, !tbaa !11
  %4922 = call double @llvm.fmuladd.f64(double 0xBCA2669FC3A56863, double %4921, double %4913)
  %4923 = load ptr, ptr %7, align 8, !tbaa !9
  %4924 = load i32, ptr %12, align 4, !tbaa !5
  %4925 = load i32, ptr %8, align 4, !tbaa !5
  %4926 = mul nsw i32 16, %4925
  %4927 = add nsw i32 %4924, %4926
  %4928 = sext i32 %4927 to i64
  %4929 = getelementptr inbounds double, ptr %4923, i64 %4928
  %4930 = load double, ptr %4929, align 8, !tbaa !11
  %4931 = call double @llvm.fmuladd.f64(double 0xBCBED2A4B49E79D0, double %4930, double %4922)
  %4932 = load ptr, ptr %7, align 8, !tbaa !9
  %4933 = load i32, ptr %12, align 4, !tbaa !5
  %4934 = load i32, ptr %8, align 4, !tbaa !5
  %4935 = mul nsw i32 17, %4934
  %4936 = add nsw i32 %4933, %4935
  %4937 = sext i32 %4936 to i64
  %4938 = getelementptr inbounds double, ptr %4932, i64 %4937
  %4939 = load double, ptr %4938, align 8, !tbaa !11
  %4940 = call double @llvm.fmuladd.f64(double 0xBCB8150AF40905ED, double %4939, double %4931)
  store double %4940, ptr %11, align 8, !tbaa !11
  %4941 = load double, ptr %11, align 8, !tbaa !11
  %4942 = load ptr, ptr %9, align 8, !tbaa !9
  %4943 = load i32, ptr %12, align 4, !tbaa !5
  %4944 = load i32, ptr %10, align 4, !tbaa !5
  %4945 = mul nsw i32 28, %4944
  %4946 = add nsw i32 %4943, %4945
  %4947 = sext i32 %4946 to i64
  %4948 = getelementptr inbounds double, ptr %4942, i64 %4947
  store double %4941, ptr %4948, align 8, !tbaa !11
  %4949 = load ptr, ptr %7, align 8, !tbaa !9
  %4950 = load i32, ptr %12, align 4, !tbaa !5
  %4951 = load i32, ptr %8, align 4, !tbaa !5
  %4952 = mul nsw i32 0, %4951
  %4953 = add nsw i32 %4950, %4952
  %4954 = sext i32 %4953 to i64
  %4955 = getelementptr inbounds double, ptr %4949, i64 %4954
  %4956 = load double, ptr %4955, align 8, !tbaa !11
  %4957 = load ptr, ptr %7, align 8, !tbaa !9
  %4958 = load i32, ptr %12, align 4, !tbaa !5
  %4959 = load i32, ptr %8, align 4, !tbaa !5
  %4960 = mul nsw i32 1, %4959
  %4961 = add nsw i32 %4958, %4960
  %4962 = sext i32 %4961 to i64
  %4963 = getelementptr inbounds double, ptr %4957, i64 %4962
  %4964 = load double, ptr %4963, align 8, !tbaa !11
  %4965 = fmul double 0xBC6ACDF6528B4733, %4964
  %4966 = call double @llvm.fmuladd.f64(double 0x3CA01AC45D3C9864, double %4956, double %4965)
  %4967 = load ptr, ptr %7, align 8, !tbaa !9
  %4968 = load i32, ptr %12, align 4, !tbaa !5
  %4969 = load i32, ptr %8, align 4, !tbaa !5
  %4970 = mul nsw i32 2, %4969
  %4971 = add nsw i32 %4968, %4970
  %4972 = sext i32 %4971 to i64
  %4973 = getelementptr inbounds double, ptr %4967, i64 %4972
  %4974 = load double, ptr %4973, align 8, !tbaa !11
  %4975 = call double @llvm.fmuladd.f64(double 0xBC7F9F89179EC460, double %4974, double %4966)
  %4976 = load ptr, ptr %7, align 8, !tbaa !9
  %4977 = load i32, ptr %12, align 4, !tbaa !5
  %4978 = load i32, ptr %8, align 4, !tbaa !5
  %4979 = mul nsw i32 3, %4978
  %4980 = add nsw i32 %4977, %4979
  %4981 = sext i32 %4980 to i64
  %4982 = getelementptr inbounds double, ptr %4976, i64 %4981
  %4983 = load double, ptr %4982, align 8, !tbaa !11
  %4984 = call double @llvm.fmuladd.f64(double 0xBCB6B022413F9937, double %4983, double %4975)
  %4985 = load ptr, ptr %7, align 8, !tbaa !9
  %4986 = load i32, ptr %12, align 4, !tbaa !5
  %4987 = load i32, ptr %8, align 4, !tbaa !5
  %4988 = mul nsw i32 4, %4987
  %4989 = add nsw i32 %4986, %4988
  %4990 = sext i32 %4989 to i64
  %4991 = getelementptr inbounds double, ptr %4985, i64 %4990
  %4992 = load double, ptr %4991, align 8, !tbaa !11
  %4993 = call double @llvm.fmuladd.f64(double 0xBCB0BCDE936FEEC2, double %4992, double %4984)
  %4994 = load ptr, ptr %7, align 8, !tbaa !9
  %4995 = load i32, ptr %12, align 4, !tbaa !5
  %4996 = load i32, ptr %8, align 4, !tbaa !5
  %4997 = mul nsw i32 5, %4996
  %4998 = add nsw i32 %4995, %4997
  %4999 = sext i32 %4998 to i64
  %5000 = getelementptr inbounds double, ptr %4994, i64 %4999
  %5001 = load double, ptr %5000, align 8, !tbaa !11
  %5002 = call double @llvm.fmuladd.f64(double 0x3CB1A9F3F895A70E, double %5001, double %4993)
  %5003 = load ptr, ptr %7, align 8, !tbaa !9
  %5004 = load i32, ptr %12, align 4, !tbaa !5
  %5005 = load i32, ptr %8, align 4, !tbaa !5
  %5006 = mul nsw i32 6, %5005
  %5007 = add nsw i32 %5004, %5006
  %5008 = sext i32 %5007 to i64
  %5009 = getelementptr inbounds double, ptr %5003, i64 %5008
  %5010 = load double, ptr %5009, align 8, !tbaa !11
  %5011 = call double @llvm.fmuladd.f64(double 0x3FB1F3F0B024DC78, double %5010, double %5002)
  %5012 = load ptr, ptr %7, align 8, !tbaa !9
  %5013 = load i32, ptr %12, align 4, !tbaa !5
  %5014 = load i32, ptr %8, align 4, !tbaa !5
  %5015 = mul nsw i32 7, %5014
  %5016 = add nsw i32 %5013, %5015
  %5017 = sext i32 %5016 to i64
  %5018 = getelementptr inbounds double, ptr %5012, i64 %5017
  %5019 = load double, ptr %5018, align 8, !tbaa !11
  %5020 = call double @llvm.fmuladd.f64(double 0xBFF5B6F7089FF1D6, double %5019, double %5011)
  %5021 = load ptr, ptr %7, align 8, !tbaa !9
  %5022 = load i32, ptr %12, align 4, !tbaa !5
  %5023 = load i32, ptr %8, align 4, !tbaa !5
  %5024 = mul nsw i32 8, %5023
  %5025 = add nsw i32 %5022, %5024
  %5026 = sext i32 %5025 to i64
  %5027 = getelementptr inbounds double, ptr %5021, i64 %5026
  %5028 = load double, ptr %5027, align 8, !tbaa !11
  %5029 = call double @llvm.fmuladd.f64(double 0x3FCCBE3CAE6B6264, double %5028, double %5020)
  %5030 = load ptr, ptr %7, align 8, !tbaa !9
  %5031 = load i32, ptr %12, align 4, !tbaa !5
  %5032 = load i32, ptr %8, align 4, !tbaa !5
  %5033 = mul nsw i32 9, %5032
  %5034 = add nsw i32 %5031, %5033
  %5035 = sext i32 %5034 to i64
  %5036 = getelementptr inbounds double, ptr %5030, i64 %5035
  %5037 = load double, ptr %5036, align 8, !tbaa !11
  %5038 = call double @llvm.fmuladd.f64(double 0xBFFBA497A89943F8, double %5037, double %5029)
  %5039 = load ptr, ptr %7, align 8, !tbaa !9
  %5040 = load i32, ptr %12, align 4, !tbaa !5
  %5041 = load i32, ptr %8, align 4, !tbaa !5
  %5042 = mul nsw i32 10, %5041
  %5043 = add nsw i32 %5040, %5042
  %5044 = sext i32 %5043 to i64
  %5045 = getelementptr inbounds double, ptr %5039, i64 %5044
  %5046 = load double, ptr %5045, align 8, !tbaa !11
  %5047 = call double @llvm.fmuladd.f64(double 0xBFD81F8F0CEC6101, double %5046, double %5038)
  %5048 = load ptr, ptr %7, align 8, !tbaa !9
  %5049 = load i32, ptr %12, align 4, !tbaa !5
  %5050 = load i32, ptr %8, align 4, !tbaa !5
  %5051 = mul nsw i32 11, %5050
  %5052 = add nsw i32 %5049, %5051
  %5053 = sext i32 %5052 to i64
  %5054 = getelementptr inbounds double, ptr %5048, i64 %5053
  %5055 = load double, ptr %5054, align 8, !tbaa !11
  %5056 = call double @llvm.fmuladd.f64(double 0xBFDC5366E211BEA0, double %5055, double %5047)
  %5057 = load ptr, ptr %7, align 8, !tbaa !9
  %5058 = load i32, ptr %12, align 4, !tbaa !5
  %5059 = load i32, ptr %8, align 4, !tbaa !5
  %5060 = mul nsw i32 12, %5059
  %5061 = add nsw i32 %5058, %5060
  %5062 = sext i32 %5061 to i64
  %5063 = getelementptr inbounds double, ptr %5057, i64 %5062
  %5064 = load double, ptr %5063, align 8, !tbaa !11
  %5065 = call double @llvm.fmuladd.f64(double 0xBCB87AF4AD8F6C4D, double %5064, double %5056)
  %5066 = load ptr, ptr %7, align 8, !tbaa !9
  %5067 = load i32, ptr %12, align 4, !tbaa !5
  %5068 = load i32, ptr %8, align 4, !tbaa !5
  %5069 = mul nsw i32 13, %5068
  %5070 = add nsw i32 %5067, %5069
  %5071 = sext i32 %5070 to i64
  %5072 = getelementptr inbounds double, ptr %5066, i64 %5071
  %5073 = load double, ptr %5072, align 8, !tbaa !11
  %5074 = call double @llvm.fmuladd.f64(double 0x3CB12455A0EA2ADF, double %5073, double %5065)
  %5075 = load ptr, ptr %7, align 8, !tbaa !9
  %5076 = load i32, ptr %12, align 4, !tbaa !5
  %5077 = load i32, ptr %8, align 4, !tbaa !5
  %5078 = mul nsw i32 14, %5077
  %5079 = add nsw i32 %5076, %5078
  %5080 = sext i32 %5079 to i64
  %5081 = getelementptr inbounds double, ptr %5075, i64 %5080
  %5082 = load double, ptr %5081, align 8, !tbaa !11
  %5083 = call double @llvm.fmuladd.f64(double 0xBCB257D19C776B7D, double %5082, double %5074)
  %5084 = load ptr, ptr %7, align 8, !tbaa !9
  %5085 = load i32, ptr %12, align 4, !tbaa !5
  %5086 = load i32, ptr %8, align 4, !tbaa !5
  %5087 = mul nsw i32 15, %5086
  %5088 = add nsw i32 %5085, %5087
  %5089 = sext i32 %5088 to i64
  %5090 = getelementptr inbounds double, ptr %5084, i64 %5089
  %5091 = load double, ptr %5090, align 8, !tbaa !11
  %5092 = call double @llvm.fmuladd.f64(double 0x3C87C5793620E509, double %5091, double %5083)
  %5093 = load ptr, ptr %7, align 8, !tbaa !9
  %5094 = load i32, ptr %12, align 4, !tbaa !5
  %5095 = load i32, ptr %8, align 4, !tbaa !5
  %5096 = mul nsw i32 16, %5095
  %5097 = add nsw i32 %5094, %5096
  %5098 = sext i32 %5097 to i64
  %5099 = getelementptr inbounds double, ptr %5093, i64 %5098
  %5100 = load double, ptr %5099, align 8, !tbaa !11
  %5101 = call double @llvm.fmuladd.f64(double 0xBCAEB022802087A0, double %5100, double %5092)
  %5102 = load ptr, ptr %7, align 8, !tbaa !9
  %5103 = load i32, ptr %12, align 4, !tbaa !5
  %5104 = load i32, ptr %8, align 4, !tbaa !5
  %5105 = mul nsw i32 17, %5104
  %5106 = add nsw i32 %5103, %5105
  %5107 = sext i32 %5106 to i64
  %5108 = getelementptr inbounds double, ptr %5102, i64 %5107
  %5109 = load double, ptr %5108, align 8, !tbaa !11
  %5110 = call double @llvm.fmuladd.f64(double 0x3CB19E5F3488CFDD, double %5109, double %5101)
  store double %5110, ptr %11, align 8, !tbaa !11
  %5111 = load double, ptr %11, align 8, !tbaa !11
  %5112 = load ptr, ptr %9, align 8, !tbaa !9
  %5113 = load i32, ptr %12, align 4, !tbaa !5
  %5114 = load i32, ptr %10, align 4, !tbaa !5
  %5115 = mul nsw i32 29, %5114
  %5116 = add nsw i32 %5113, %5115
  %5117 = sext i32 %5116 to i64
  %5118 = getelementptr inbounds double, ptr %5112, i64 %5117
  store double %5111, ptr %5118, align 8, !tbaa !11
  %5119 = load ptr, ptr %7, align 8, !tbaa !9
  %5120 = load i32, ptr %12, align 4, !tbaa !5
  %5121 = load i32, ptr %8, align 4, !tbaa !5
  %5122 = mul nsw i32 0, %5121
  %5123 = add nsw i32 %5120, %5122
  %5124 = sext i32 %5123 to i64
  %5125 = getelementptr inbounds double, ptr %5119, i64 %5124
  %5126 = load double, ptr %5125, align 8, !tbaa !11
  %5127 = load ptr, ptr %7, align 8, !tbaa !9
  %5128 = load i32, ptr %12, align 4, !tbaa !5
  %5129 = load i32, ptr %8, align 4, !tbaa !5
  %5130 = mul nsw i32 1, %5129
  %5131 = add nsw i32 %5128, %5130
  %5132 = sext i32 %5131 to i64
  %5133 = getelementptr inbounds double, ptr %5127, i64 %5132
  %5134 = load double, ptr %5133, align 8, !tbaa !11
  %5135 = fmul double 0x3C93A7C0E4AC7A60, %5134
  %5136 = call double @llvm.fmuladd.f64(double 0x3CA77C1E26AD07FB, double %5126, double %5135)
  %5137 = load ptr, ptr %7, align 8, !tbaa !9
  %5138 = load i32, ptr %12, align 4, !tbaa !5
  %5139 = load i32, ptr %8, align 4, !tbaa !5
  %5140 = mul nsw i32 2, %5139
  %5141 = add nsw i32 %5138, %5140
  %5142 = sext i32 %5141 to i64
  %5143 = getelementptr inbounds double, ptr %5137, i64 %5142
  %5144 = load double, ptr %5143, align 8, !tbaa !11
  %5145 = call double @llvm.fmuladd.f64(double 0xBCB48923F82EA691, double %5144, double %5136)
  %5146 = load ptr, ptr %7, align 8, !tbaa !9
  %5147 = load i32, ptr %12, align 4, !tbaa !5
  %5148 = load i32, ptr %8, align 4, !tbaa !5
  %5149 = mul nsw i32 3, %5148
  %5150 = add nsw i32 %5147, %5149
  %5151 = sext i32 %5150 to i64
  %5152 = getelementptr inbounds double, ptr %5146, i64 %5151
  %5153 = load double, ptr %5152, align 8, !tbaa !11
  %5154 = call double @llvm.fmuladd.f64(double 0x3CB2EF2E61697A4B, double %5153, double %5145)
  %5155 = load ptr, ptr %7, align 8, !tbaa !9
  %5156 = load i32, ptr %12, align 4, !tbaa !5
  %5157 = load i32, ptr %8, align 4, !tbaa !5
  %5158 = mul nsw i32 4, %5157
  %5159 = add nsw i32 %5156, %5158
  %5160 = sext i32 %5159 to i64
  %5161 = getelementptr inbounds double, ptr %5155, i64 %5160
  %5162 = load double, ptr %5161, align 8, !tbaa !11
  %5163 = call double @llvm.fmuladd.f64(double 0xBC799BC4C2A33F70, double %5162, double %5154)
  %5164 = load ptr, ptr %7, align 8, !tbaa !9
  %5165 = load i32, ptr %12, align 4, !tbaa !5
  %5166 = load i32, ptr %8, align 4, !tbaa !5
  %5167 = mul nsw i32 5, %5166
  %5168 = add nsw i32 %5165, %5167
  %5169 = sext i32 %5168 to i64
  %5170 = getelementptr inbounds double, ptr %5164, i64 %5169
  %5171 = load double, ptr %5170, align 8, !tbaa !11
  %5172 = call double @llvm.fmuladd.f64(double 0xBC7C5EE298468647, double %5171, double %5163)
  %5173 = load ptr, ptr %7, align 8, !tbaa !9
  %5174 = load i32, ptr %12, align 4, !tbaa !5
  %5175 = load i32, ptr %8, align 4, !tbaa !5
  %5176 = mul nsw i32 6, %5175
  %5177 = add nsw i32 %5174, %5176
  %5178 = sext i32 %5177 to i64
  %5179 = getelementptr inbounds double, ptr %5173, i64 %5178
  %5180 = load double, ptr %5179, align 8, !tbaa !11
  %5181 = call double @llvm.fmuladd.f64(double 0x3CB0F9118CF9AD5E, double %5180, double %5172)
  %5182 = load ptr, ptr %7, align 8, !tbaa !9
  %5183 = load i32, ptr %12, align 4, !tbaa !5
  %5184 = load i32, ptr %8, align 4, !tbaa !5
  %5185 = mul nsw i32 7, %5184
  %5186 = add nsw i32 %5183, %5185
  %5187 = sext i32 %5186 to i64
  %5188 = getelementptr inbounds double, ptr %5182, i64 %5187
  %5189 = load double, ptr %5188, align 8, !tbaa !11
  %5190 = call double @llvm.fmuladd.f64(double 0xBC9C6D9C52EC041A, double %5189, double %5181)
  %5191 = load ptr, ptr %7, align 8, !tbaa !9
  %5192 = load i32, ptr %12, align 4, !tbaa !5
  %5193 = load i32, ptr %8, align 4, !tbaa !5
  %5194 = mul nsw i32 8, %5193
  %5195 = add nsw i32 %5192, %5194
  %5196 = sext i32 %5195 to i64
  %5197 = getelementptr inbounds double, ptr %5191, i64 %5196
  %5198 = load double, ptr %5197, align 8, !tbaa !11
  %5199 = call double @llvm.fmuladd.f64(double 0xBC814C8EF8381536, double %5198, double %5190)
  %5200 = load ptr, ptr %7, align 8, !tbaa !9
  %5201 = load i32, ptr %12, align 4, !tbaa !5
  %5202 = load i32, ptr %8, align 4, !tbaa !5
  %5203 = mul nsw i32 9, %5202
  %5204 = add nsw i32 %5201, %5203
  %5205 = sext i32 %5204 to i64
  %5206 = getelementptr inbounds double, ptr %5200, i64 %5205
  %5207 = load double, ptr %5206, align 8, !tbaa !11
  %5208 = call double @llvm.fmuladd.f64(double 0xBC76355C6A0A6D53, double %5207, double %5199)
  %5209 = load ptr, ptr %7, align 8, !tbaa !9
  %5210 = load i32, ptr %12, align 4, !tbaa !5
  %5211 = load i32, ptr %8, align 4, !tbaa !5
  %5212 = mul nsw i32 10, %5211
  %5213 = add nsw i32 %5210, %5212
  %5214 = sext i32 %5213 to i64
  %5215 = getelementptr inbounds double, ptr %5209, i64 %5214
  %5216 = load double, ptr %5215, align 8, !tbaa !11
  %5217 = call double @llvm.fmuladd.f64(double 0x3C61B8141832C03E, double %5216, double %5208)
  %5218 = load ptr, ptr %7, align 8, !tbaa !9
  %5219 = load i32, ptr %12, align 4, !tbaa !5
  %5220 = load i32, ptr %8, align 4, !tbaa !5
  %5221 = mul nsw i32 11, %5220
  %5222 = add nsw i32 %5219, %5221
  %5223 = sext i32 %5222 to i64
  %5224 = getelementptr inbounds double, ptr %5218, i64 %5223
  %5225 = load double, ptr %5224, align 8, !tbaa !11
  %5226 = call double @llvm.fmuladd.f64(double 0xBC8B1A3C6A1C6E73, double %5225, double %5217)
  %5227 = load ptr, ptr %7, align 8, !tbaa !9
  %5228 = load i32, ptr %12, align 4, !tbaa !5
  %5229 = load i32, ptr %8, align 4, !tbaa !5
  %5230 = mul nsw i32 12, %5229
  %5231 = add nsw i32 %5228, %5230
  %5232 = sext i32 %5231 to i64
  %5233 = getelementptr inbounds double, ptr %5227, i64 %5232
  %5234 = load double, ptr %5233, align 8, !tbaa !11
  %5235 = call double @llvm.fmuladd.f64(double 0xBFE8AC73392375D0, double %5234, double %5226)
  %5236 = load ptr, ptr %7, align 8, !tbaa !9
  %5237 = load i32, ptr %12, align 4, !tbaa !5
  %5238 = load i32, ptr %8, align 4, !tbaa !5
  %5239 = mul nsw i32 13, %5238
  %5240 = add nsw i32 %5237, %5239
  %5241 = sext i32 %5240 to i64
  %5242 = getelementptr inbounds double, ptr %5236, i64 %5241
  %5243 = load double, ptr %5242, align 8, !tbaa !11
  %5244 = call double @llvm.fmuladd.f64(double 0x3FE4EDE8EE256113, double %5243, double %5235)
  %5245 = load ptr, ptr %7, align 8, !tbaa !9
  %5246 = load i32, ptr %12, align 4, !tbaa !5
  %5247 = load i32, ptr %8, align 4, !tbaa !5
  %5248 = mul nsw i32 14, %5247
  %5249 = add nsw i32 %5246, %5248
  %5250 = sext i32 %5249 to i64
  %5251 = getelementptr inbounds double, ptr %5245, i64 %5250
  %5252 = load double, ptr %5251, align 8, !tbaa !11
  %5253 = call double @llvm.fmuladd.f64(double 0x3FEA5488770B26BE, double %5252, double %5244)
  %5254 = load ptr, ptr %7, align 8, !tbaa !9
  %5255 = load i32, ptr %12, align 4, !tbaa !5
  %5256 = load i32, ptr %8, align 4, !tbaa !5
  %5257 = mul nsw i32 15, %5256
  %5258 = add nsw i32 %5255, %5257
  %5259 = sext i32 %5258 to i64
  %5260 = getelementptr inbounds double, ptr %5254, i64 %5259
  %5261 = load double, ptr %5260, align 8, !tbaa !11
  %5262 = call double @llvm.fmuladd.f64(double 0x3FF44CD742FC94E8, double %5261, double %5253)
  %5263 = load ptr, ptr %7, align 8, !tbaa !9
  %5264 = load i32, ptr %12, align 4, !tbaa !5
  %5265 = load i32, ptr %8, align 4, !tbaa !5
  %5266 = mul nsw i32 16, %5265
  %5267 = add nsw i32 %5264, %5266
  %5268 = sext i32 %5267 to i64
  %5269 = getelementptr inbounds double, ptr %5263, i64 %5268
  %5270 = load double, ptr %5269, align 8, !tbaa !11
  %5271 = call double @llvm.fmuladd.f64(double 0xBFFEF1F8514C97DD, double %5270, double %5262)
  %5272 = load ptr, ptr %7, align 8, !tbaa !9
  %5273 = load i32, ptr %12, align 4, !tbaa !5
  %5274 = load i32, ptr %8, align 4, !tbaa !5
  %5275 = mul nsw i32 17, %5274
  %5276 = add nsw i32 %5273, %5275
  %5277 = sext i32 %5276 to i64
  %5278 = getelementptr inbounds double, ptr %5272, i64 %5277
  %5279 = load double, ptr %5278, align 8, !tbaa !11
  %5280 = call double @llvm.fmuladd.f64(double 0xBFF01B2FE70C1193, double %5279, double %5271)
  store double %5280, ptr %11, align 8, !tbaa !11
  %5281 = load double, ptr %11, align 8, !tbaa !11
  %5282 = load ptr, ptr %9, align 8, !tbaa !9
  %5283 = load i32, ptr %12, align 4, !tbaa !5
  %5284 = load i32, ptr %10, align 4, !tbaa !5
  %5285 = mul nsw i32 30, %5284
  %5286 = add nsw i32 %5283, %5285
  %5287 = sext i32 %5286 to i64
  %5288 = getelementptr inbounds double, ptr %5282, i64 %5287
  store double %5281, ptr %5288, align 8, !tbaa !11
  %5289 = load ptr, ptr %7, align 8, !tbaa !9
  %5290 = load i32, ptr %12, align 4, !tbaa !5
  %5291 = load i32, ptr %8, align 4, !tbaa !5
  %5292 = mul nsw i32 0, %5291
  %5293 = add nsw i32 %5290, %5292
  %5294 = sext i32 %5293 to i64
  %5295 = getelementptr inbounds double, ptr %5289, i64 %5294
  %5296 = load double, ptr %5295, align 8, !tbaa !11
  %5297 = load ptr, ptr %7, align 8, !tbaa !9
  %5298 = load i32, ptr %12, align 4, !tbaa !5
  %5299 = load i32, ptr %8, align 4, !tbaa !5
  %5300 = mul nsw i32 1, %5299
  %5301 = add nsw i32 %5298, %5300
  %5302 = sext i32 %5301 to i64
  %5303 = getelementptr inbounds double, ptr %5297, i64 %5302
  %5304 = load double, ptr %5303, align 8, !tbaa !11
  %5305 = fmul double 0x3CC7A90CBDB122D2, %5304
  %5306 = call double @llvm.fmuladd.f64(double 0x3C8C175CC3AC3DA0, double %5296, double %5305)
  %5307 = load ptr, ptr %7, align 8, !tbaa !9
  %5308 = load i32, ptr %12, align 4, !tbaa !5
  %5309 = load i32, ptr %8, align 4, !tbaa !5
  %5310 = mul nsw i32 2, %5309
  %5311 = add nsw i32 %5308, %5310
  %5312 = sext i32 %5311 to i64
  %5313 = getelementptr inbounds double, ptr %5307, i64 %5312
  %5314 = load double, ptr %5313, align 8, !tbaa !11
  %5315 = call double @llvm.fmuladd.f64(double 0xBCC511D8384A1A55, double %5314, double %5306)
  %5316 = load ptr, ptr %7, align 8, !tbaa !9
  %5317 = load i32, ptr %12, align 4, !tbaa !5
  %5318 = load i32, ptr %8, align 4, !tbaa !5
  %5319 = mul nsw i32 3, %5318
  %5320 = add nsw i32 %5317, %5319
  %5321 = sext i32 %5320 to i64
  %5322 = getelementptr inbounds double, ptr %5316, i64 %5321
  %5323 = load double, ptr %5322, align 8, !tbaa !11
  %5324 = call double @llvm.fmuladd.f64(double 0x3CAADBF51C371479, double %5323, double %5315)
  %5325 = load ptr, ptr %7, align 8, !tbaa !9
  %5326 = load i32, ptr %12, align 4, !tbaa !5
  %5327 = load i32, ptr %8, align 4, !tbaa !5
  %5328 = mul nsw i32 4, %5327
  %5329 = add nsw i32 %5326, %5328
  %5330 = sext i32 %5329 to i64
  %5331 = getelementptr inbounds double, ptr %5325, i64 %5330
  %5332 = load double, ptr %5331, align 8, !tbaa !11
  %5333 = call double @llvm.fmuladd.f64(double 0x3CA4D75F1529F75A, double %5332, double %5324)
  %5334 = load ptr, ptr %7, align 8, !tbaa !9
  %5335 = load i32, ptr %12, align 4, !tbaa !5
  %5336 = load i32, ptr %8, align 4, !tbaa !5
  %5337 = mul nsw i32 5, %5336
  %5338 = add nsw i32 %5335, %5337
  %5339 = sext i32 %5338 to i64
  %5340 = getelementptr inbounds double, ptr %5334, i64 %5339
  %5341 = load double, ptr %5340, align 8, !tbaa !11
  %5342 = call double @llvm.fmuladd.f64(double 0xBCB8F2F00581C5B3, double %5341, double %5333)
  %5343 = load ptr, ptr %7, align 8, !tbaa !9
  %5344 = load i32, ptr %12, align 4, !tbaa !5
  %5345 = load i32, ptr %8, align 4, !tbaa !5
  %5346 = mul nsw i32 6, %5345
  %5347 = add nsw i32 %5344, %5346
  %5348 = sext i32 %5347 to i64
  %5349 = getelementptr inbounds double, ptr %5343, i64 %5348
  %5350 = load double, ptr %5349, align 8, !tbaa !11
  %5351 = call double @llvm.fmuladd.f64(double 0x3CB256380966451A, double %5350, double %5342)
  %5352 = load ptr, ptr %7, align 8, !tbaa !9
  %5353 = load i32, ptr %12, align 4, !tbaa !5
  %5354 = load i32, ptr %8, align 4, !tbaa !5
  %5355 = mul nsw i32 7, %5354
  %5356 = add nsw i32 %5353, %5355
  %5357 = sext i32 %5356 to i64
  %5358 = getelementptr inbounds double, ptr %5352, i64 %5357
  %5359 = load double, ptr %5358, align 8, !tbaa !11
  %5360 = call double @llvm.fmuladd.f64(double 0x3CC01E6C16082D54, double %5359, double %5351)
  %5361 = load ptr, ptr %7, align 8, !tbaa !9
  %5362 = load i32, ptr %12, align 4, !tbaa !5
  %5363 = load i32, ptr %8, align 4, !tbaa !5
  %5364 = mul nsw i32 8, %5363
  %5365 = add nsw i32 %5362, %5364
  %5366 = sext i32 %5365 to i64
  %5367 = getelementptr inbounds double, ptr %5361, i64 %5366
  %5368 = load double, ptr %5367, align 8, !tbaa !11
  %5369 = call double @llvm.fmuladd.f64(double 0x3CAA303E978A5038, double %5368, double %5360)
  %5370 = load ptr, ptr %7, align 8, !tbaa !9
  %5371 = load i32, ptr %12, align 4, !tbaa !5
  %5372 = load i32, ptr %8, align 4, !tbaa !5
  %5373 = mul nsw i32 9, %5372
  %5374 = add nsw i32 %5371, %5373
  %5375 = sext i32 %5374 to i64
  %5376 = getelementptr inbounds double, ptr %5370, i64 %5375
  %5377 = load double, ptr %5376, align 8, !tbaa !11
  %5378 = call double @llvm.fmuladd.f64(double 0x3CAC5EADE484449F, double %5377, double %5369)
  %5379 = load ptr, ptr %7, align 8, !tbaa !9
  %5380 = load i32, ptr %12, align 4, !tbaa !5
  %5381 = load i32, ptr %8, align 4, !tbaa !5
  %5382 = mul nsw i32 10, %5381
  %5383 = add nsw i32 %5380, %5382
  %5384 = sext i32 %5383 to i64
  %5385 = getelementptr inbounds double, ptr %5379, i64 %5384
  %5386 = load double, ptr %5385, align 8, !tbaa !11
  %5387 = call double @llvm.fmuladd.f64(double 0x3CAC4A69A26D89C3, double %5386, double %5378)
  %5388 = load ptr, ptr %7, align 8, !tbaa !9
  %5389 = load i32, ptr %12, align 4, !tbaa !5
  %5390 = load i32, ptr %8, align 4, !tbaa !5
  %5391 = mul nsw i32 11, %5390
  %5392 = add nsw i32 %5389, %5391
  %5393 = sext i32 %5392 to i64
  %5394 = getelementptr inbounds double, ptr %5388, i64 %5393
  %5395 = load double, ptr %5394, align 8, !tbaa !11
  %5396 = call double @llvm.fmuladd.f64(double 0x3C839062B03D962B, double %5395, double %5387)
  %5397 = load ptr, ptr %7, align 8, !tbaa !9
  %5398 = load i32, ptr %12, align 4, !tbaa !5
  %5399 = load i32, ptr %8, align 4, !tbaa !5
  %5400 = mul nsw i32 12, %5399
  %5401 = add nsw i32 %5398, %5400
  %5402 = sext i32 %5401 to i64
  %5403 = getelementptr inbounds double, ptr %5397, i64 %5402
  %5404 = load double, ptr %5403, align 8, !tbaa !11
  %5405 = call double @llvm.fmuladd.f64(double 0xBF7DFA2300BBB200, double %5404, double %5396)
  %5406 = load ptr, ptr %7, align 8, !tbaa !9
  %5407 = load i32, ptr %12, align 4, !tbaa !5
  %5408 = load i32, ptr %8, align 4, !tbaa !5
  %5409 = mul nsw i32 13, %5408
  %5410 = add nsw i32 %5407, %5409
  %5411 = sext i32 %5410 to i64
  %5412 = getelementptr inbounds double, ptr %5406, i64 %5411
  %5413 = load double, ptr %5412, align 8, !tbaa !11
  %5414 = call double @llvm.fmuladd.f64(double 0x3FF44E3F94172F46, double %5413, double %5405)
  %5415 = load ptr, ptr %7, align 8, !tbaa !9
  %5416 = load i32, ptr %12, align 4, !tbaa !5
  %5417 = load i32, ptr %8, align 4, !tbaa !5
  %5418 = mul nsw i32 14, %5417
  %5419 = add nsw i32 %5416, %5418
  %5420 = sext i32 %5419 to i64
  %5421 = getelementptr inbounds double, ptr %5415, i64 %5420
  %5422 = load double, ptr %5421, align 8, !tbaa !11
  %5423 = call double @llvm.fmuladd.f64(double 0x3FB9ECDD981278FA, double %5422, double %5414)
  %5424 = load ptr, ptr %7, align 8, !tbaa !9
  %5425 = load i32, ptr %12, align 4, !tbaa !5
  %5426 = load i32, ptr %8, align 4, !tbaa !5
  %5427 = mul nsw i32 15, %5426
  %5428 = add nsw i32 %5425, %5427
  %5429 = sext i32 %5428 to i64
  %5430 = getelementptr inbounds double, ptr %5424, i64 %5429
  %5431 = load double, ptr %5430, align 8, !tbaa !11
  %5432 = call double @llvm.fmuladd.f64(double 0xBFE4FBED5D8A964C, double %5431, double %5423)
  %5433 = load ptr, ptr %7, align 8, !tbaa !9
  %5434 = load i32, ptr %12, align 4, !tbaa !5
  %5435 = load i32, ptr %8, align 4, !tbaa !5
  %5436 = mul nsw i32 16, %5435
  %5437 = add nsw i32 %5434, %5436
  %5438 = sext i32 %5437 to i64
  %5439 = getelementptr inbounds double, ptr %5433, i64 %5438
  %5440 = load double, ptr %5439, align 8, !tbaa !11
  %5441 = call double @llvm.fmuladd.f64(double 0xBF83952FC55A7394, double %5440, double %5432)
  %5442 = load ptr, ptr %7, align 8, !tbaa !9
  %5443 = load i32, ptr %12, align 4, !tbaa !5
  %5444 = load i32, ptr %8, align 4, !tbaa !5
  %5445 = mul nsw i32 17, %5444
  %5446 = add nsw i32 %5443, %5445
  %5447 = sext i32 %5446 to i64
  %5448 = getelementptr inbounds double, ptr %5442, i64 %5447
  %5449 = load double, ptr %5448, align 8, !tbaa !11
  %5450 = call double @llvm.fmuladd.f64(double 0x3FD50884576D0BB0, double %5449, double %5441)
  store double %5450, ptr %11, align 8, !tbaa !11
  %5451 = load double, ptr %11, align 8, !tbaa !11
  %5452 = load ptr, ptr %9, align 8, !tbaa !9
  %5453 = load i32, ptr %12, align 4, !tbaa !5
  %5454 = load i32, ptr %10, align 4, !tbaa !5
  %5455 = mul nsw i32 31, %5454
  %5456 = add nsw i32 %5453, %5455
  %5457 = sext i32 %5456 to i64
  %5458 = getelementptr inbounds double, ptr %5452, i64 %5457
  store double %5451, ptr %5458, align 8, !tbaa !11
  %5459 = load ptr, ptr %7, align 8, !tbaa !9
  %5460 = load i32, ptr %12, align 4, !tbaa !5
  %5461 = load i32, ptr %8, align 4, !tbaa !5
  %5462 = mul nsw i32 0, %5461
  %5463 = add nsw i32 %5460, %5462
  %5464 = sext i32 %5463 to i64
  %5465 = getelementptr inbounds double, ptr %5459, i64 %5464
  %5466 = load double, ptr %5465, align 8, !tbaa !11
  %5467 = load ptr, ptr %7, align 8, !tbaa !9
  %5468 = load i32, ptr %12, align 4, !tbaa !5
  %5469 = load i32, ptr %8, align 4, !tbaa !5
  %5470 = mul nsw i32 1, %5469
  %5471 = add nsw i32 %5468, %5470
  %5472 = sext i32 %5471 to i64
  %5473 = getelementptr inbounds double, ptr %5467, i64 %5472
  %5474 = load double, ptr %5473, align 8, !tbaa !11
  %5475 = fmul double 0xBCA27EC017855878, %5474
  %5476 = call double @llvm.fmuladd.f64(double 0x3CC3A3AFB95FF4E5, double %5466, double %5475)
  %5477 = load ptr, ptr %7, align 8, !tbaa !9
  %5478 = load i32, ptr %12, align 4, !tbaa !5
  %5479 = load i32, ptr %8, align 4, !tbaa !5
  %5480 = mul nsw i32 2, %5479
  %5481 = add nsw i32 %5478, %5480
  %5482 = sext i32 %5481 to i64
  %5483 = getelementptr inbounds double, ptr %5477, i64 %5482
  %5484 = load double, ptr %5483, align 8, !tbaa !11
  %5485 = call double @llvm.fmuladd.f64(double 0x3CD54F70D2EB9A18, double %5484, double %5476)
  %5486 = load ptr, ptr %7, align 8, !tbaa !9
  %5487 = load i32, ptr %12, align 4, !tbaa !5
  %5488 = load i32, ptr %8, align 4, !tbaa !5
  %5489 = mul nsw i32 3, %5488
  %5490 = add nsw i32 %5487, %5489
  %5491 = sext i32 %5490 to i64
  %5492 = getelementptr inbounds double, ptr %5486, i64 %5491
  %5493 = load double, ptr %5492, align 8, !tbaa !11
  %5494 = call double @llvm.fmuladd.f64(double 0x3CABF738548B48D5, double %5493, double %5485)
  %5495 = load ptr, ptr %7, align 8, !tbaa !9
  %5496 = load i32, ptr %12, align 4, !tbaa !5
  %5497 = load i32, ptr %8, align 4, !tbaa !5
  %5498 = mul nsw i32 4, %5497
  %5499 = add nsw i32 %5496, %5498
  %5500 = sext i32 %5499 to i64
  %5501 = getelementptr inbounds double, ptr %5495, i64 %5500
  %5502 = load double, ptr %5501, align 8, !tbaa !11
  %5503 = call double @llvm.fmuladd.f64(double 0xBCCFEC3A2A4C4C78, double %5502, double %5494)
  %5504 = load ptr, ptr %7, align 8, !tbaa !9
  %5505 = load i32, ptr %12, align 4, !tbaa !5
  %5506 = load i32, ptr %8, align 4, !tbaa !5
  %5507 = mul nsw i32 5, %5506
  %5508 = add nsw i32 %5505, %5507
  %5509 = sext i32 %5508 to i64
  %5510 = getelementptr inbounds double, ptr %5504, i64 %5509
  %5511 = load double, ptr %5510, align 8, !tbaa !11
  %5512 = call double @llvm.fmuladd.f64(double 0x3C932E31FBD492BC, double %5511, double %5503)
  %5513 = load ptr, ptr %7, align 8, !tbaa !9
  %5514 = load i32, ptr %12, align 4, !tbaa !5
  %5515 = load i32, ptr %8, align 4, !tbaa !5
  %5516 = mul nsw i32 6, %5515
  %5517 = add nsw i32 %5514, %5516
  %5518 = sext i32 %5517 to i64
  %5519 = getelementptr inbounds double, ptr %5513, i64 %5518
  %5520 = load double, ptr %5519, align 8, !tbaa !11
  %5521 = call double @llvm.fmuladd.f64(double 0x3CA535998BAB6E00, double %5520, double %5512)
  %5522 = load ptr, ptr %7, align 8, !tbaa !9
  %5523 = load i32, ptr %12, align 4, !tbaa !5
  %5524 = load i32, ptr %8, align 4, !tbaa !5
  %5525 = mul nsw i32 7, %5524
  %5526 = add nsw i32 %5523, %5525
  %5527 = sext i32 %5526 to i64
  %5528 = getelementptr inbounds double, ptr %5522, i64 %5527
  %5529 = load double, ptr %5528, align 8, !tbaa !11
  %5530 = call double @llvm.fmuladd.f64(double 0x3C6197D309C7AB34, double %5529, double %5521)
  %5531 = load ptr, ptr %7, align 8, !tbaa !9
  %5532 = load i32, ptr %12, align 4, !tbaa !5
  %5533 = load i32, ptr %8, align 4, !tbaa !5
  %5534 = mul nsw i32 8, %5533
  %5535 = add nsw i32 %5532, %5534
  %5536 = sext i32 %5535 to i64
  %5537 = getelementptr inbounds double, ptr %5531, i64 %5536
  %5538 = load double, ptr %5537, align 8, !tbaa !11
  %5539 = call double @llvm.fmuladd.f64(double 0xBCA84349E84D9D73, double %5538, double %5530)
  %5540 = load ptr, ptr %7, align 8, !tbaa !9
  %5541 = load i32, ptr %12, align 4, !tbaa !5
  %5542 = load i32, ptr %8, align 4, !tbaa !5
  %5543 = mul nsw i32 9, %5542
  %5544 = add nsw i32 %5541, %5543
  %5545 = sext i32 %5544 to i64
  %5546 = getelementptr inbounds double, ptr %5540, i64 %5545
  %5547 = load double, ptr %5546, align 8, !tbaa !11
  %5548 = call double @llvm.fmuladd.f64(double 0x3CA4C44C023F42CC, double %5547, double %5539)
  %5549 = load ptr, ptr %7, align 8, !tbaa !9
  %5550 = load i32, ptr %12, align 4, !tbaa !5
  %5551 = load i32, ptr %8, align 4, !tbaa !5
  %5552 = mul nsw i32 10, %5551
  %5553 = add nsw i32 %5550, %5552
  %5554 = sext i32 %5553 to i64
  %5555 = getelementptr inbounds double, ptr %5549, i64 %5554
  %5556 = load double, ptr %5555, align 8, !tbaa !11
  %5557 = call double @llvm.fmuladd.f64(double 0x3CCE4E90983F720B, double %5556, double %5548)
  %5558 = load ptr, ptr %7, align 8, !tbaa !9
  %5559 = load i32, ptr %12, align 4, !tbaa !5
  %5560 = load i32, ptr %8, align 4, !tbaa !5
  %5561 = mul nsw i32 11, %5560
  %5562 = add nsw i32 %5559, %5561
  %5563 = sext i32 %5562 to i64
  %5564 = getelementptr inbounds double, ptr %5558, i64 %5563
  %5565 = load double, ptr %5564, align 8, !tbaa !11
  %5566 = call double @llvm.fmuladd.f64(double 0xBCBC38460D0EF925, double %5565, double %5557)
  %5567 = load ptr, ptr %7, align 8, !tbaa !9
  %5568 = load i32, ptr %12, align 4, !tbaa !5
  %5569 = load i32, ptr %8, align 4, !tbaa !5
  %5570 = mul nsw i32 12, %5569
  %5571 = add nsw i32 %5568, %5570
  %5572 = sext i32 %5571 to i64
  %5573 = getelementptr inbounds double, ptr %5567, i64 %5572
  %5574 = load double, ptr %5573, align 8, !tbaa !11
  %5575 = call double @llvm.fmuladd.f64(double 0xBFDFFE63E285176B, double %5574, double %5566)
  %5576 = load ptr, ptr %7, align 8, !tbaa !9
  %5577 = load i32, ptr %12, align 4, !tbaa !5
  %5578 = load i32, ptr %8, align 4, !tbaa !5
  %5579 = mul nsw i32 13, %5578
  %5580 = add nsw i32 %5577, %5579
  %5581 = sext i32 %5580 to i64
  %5582 = getelementptr inbounds double, ptr %5576, i64 %5581
  %5583 = load double, ptr %5582, align 8, !tbaa !11
  %5584 = call double @llvm.fmuladd.f64(double 0xBFE1EC4181248AE3, double %5583, double %5575)
  %5585 = load ptr, ptr %7, align 8, !tbaa !9
  %5586 = load i32, ptr %12, align 4, !tbaa !5
  %5587 = load i32, ptr %8, align 4, !tbaa !5
  %5588 = mul nsw i32 14, %5587
  %5589 = add nsw i32 %5586, %5588
  %5590 = sext i32 %5589 to i64
  %5591 = getelementptr inbounds double, ptr %5585, i64 %5590
  %5592 = load double, ptr %5591, align 8, !tbaa !11
  %5593 = call double @llvm.fmuladd.f64(double 0x4000E9CE75C2FBF6, double %5592, double %5584)
  %5594 = load ptr, ptr %7, align 8, !tbaa !9
  %5595 = load i32, ptr %12, align 4, !tbaa !5
  %5596 = load i32, ptr %8, align 4, !tbaa !5
  %5597 = mul nsw i32 15, %5596
  %5598 = add nsw i32 %5595, %5597
  %5599 = sext i32 %5598 to i64
  %5600 = getelementptr inbounds double, ptr %5594, i64 %5599
  %5601 = load double, ptr %5600, align 8, !tbaa !11
  %5602 = call double @llvm.fmuladd.f64(double 0x3FF2343957F3A8AF, double %5601, double %5593)
  %5603 = load ptr, ptr %7, align 8, !tbaa !9
  %5604 = load i32, ptr %12, align 4, !tbaa !5
  %5605 = load i32, ptr %8, align 4, !tbaa !5
  %5606 = mul nsw i32 16, %5605
  %5607 = add nsw i32 %5604, %5606
  %5608 = sext i32 %5607 to i64
  %5609 = getelementptr inbounds double, ptr %5603, i64 %5608
  %5610 = load double, ptr %5609, align 8, !tbaa !11
  %5611 = call double @llvm.fmuladd.f64(double 0x3FF31D88B253B07F, double %5610, double %5602)
  %5612 = load ptr, ptr %7, align 8, !tbaa !9
  %5613 = load i32, ptr %12, align 4, !tbaa !5
  %5614 = load i32, ptr %8, align 4, !tbaa !5
  %5615 = mul nsw i32 17, %5614
  %5616 = add nsw i32 %5613, %5615
  %5617 = sext i32 %5616 to i64
  %5618 = getelementptr inbounds double, ptr %5612, i64 %5617
  %5619 = load double, ptr %5618, align 8, !tbaa !11
  %5620 = call double @llvm.fmuladd.f64(double 0xBFEE712F1EF7D894, double %5619, double %5611)
  store double %5620, ptr %11, align 8, !tbaa !11
  %5621 = load double, ptr %11, align 8, !tbaa !11
  %5622 = load ptr, ptr %9, align 8, !tbaa !9
  %5623 = load i32, ptr %12, align 4, !tbaa !5
  %5624 = load i32, ptr %10, align 4, !tbaa !5
  %5625 = mul nsw i32 32, %5624
  %5626 = add nsw i32 %5623, %5625
  %5627 = sext i32 %5626 to i64
  %5628 = getelementptr inbounds double, ptr %5622, i64 %5627
  store double %5621, ptr %5628, align 8, !tbaa !11
  %5629 = load ptr, ptr %7, align 8, !tbaa !9
  %5630 = load i32, ptr %12, align 4, !tbaa !5
  %5631 = load i32, ptr %8, align 4, !tbaa !5
  %5632 = mul nsw i32 0, %5631
  %5633 = add nsw i32 %5630, %5632
  %5634 = sext i32 %5633 to i64
  %5635 = getelementptr inbounds double, ptr %5629, i64 %5634
  %5636 = load double, ptr %5635, align 8, !tbaa !11
  %5637 = load ptr, ptr %7, align 8, !tbaa !9
  %5638 = load i32, ptr %12, align 4, !tbaa !5
  %5639 = load i32, ptr %8, align 4, !tbaa !5
  %5640 = mul nsw i32 1, %5639
  %5641 = add nsw i32 %5638, %5640
  %5642 = sext i32 %5641 to i64
  %5643 = getelementptr inbounds double, ptr %5637, i64 %5642
  %5644 = load double, ptr %5643, align 8, !tbaa !11
  %5645 = fmul double 0xBC7865999DB92F51, %5644
  %5646 = call double @llvm.fmuladd.f64(double 0xBCB2A04E51D66FCE, double %5636, double %5645)
  %5647 = load ptr, ptr %7, align 8, !tbaa !9
  %5648 = load i32, ptr %12, align 4, !tbaa !5
  %5649 = load i32, ptr %8, align 4, !tbaa !5
  %5650 = mul nsw i32 2, %5649
  %5651 = add nsw i32 %5648, %5650
  %5652 = sext i32 %5651 to i64
  %5653 = getelementptr inbounds double, ptr %5647, i64 %5652
  %5654 = load double, ptr %5653, align 8, !tbaa !11
  %5655 = call double @llvm.fmuladd.f64(double 0x3C88B903F6BC17F0, double %5654, double %5646)
  %5656 = load ptr, ptr %7, align 8, !tbaa !9
  %5657 = load i32, ptr %12, align 4, !tbaa !5
  %5658 = load i32, ptr %8, align 4, !tbaa !5
  %5659 = mul nsw i32 3, %5658
  %5660 = add nsw i32 %5657, %5659
  %5661 = sext i32 %5660 to i64
  %5662 = getelementptr inbounds double, ptr %5656, i64 %5661
  %5663 = load double, ptr %5662, align 8, !tbaa !11
  %5664 = call double @llvm.fmuladd.f64(double 0x3CC55C346E604B2A, double %5663, double %5655)
  %5665 = load ptr, ptr %7, align 8, !tbaa !9
  %5666 = load i32, ptr %12, align 4, !tbaa !5
  %5667 = load i32, ptr %8, align 4, !tbaa !5
  %5668 = mul nsw i32 4, %5667
  %5669 = add nsw i32 %5666, %5668
  %5670 = sext i32 %5669 to i64
  %5671 = getelementptr inbounds double, ptr %5665, i64 %5670
  %5672 = load double, ptr %5671, align 8, !tbaa !11
  %5673 = call double @llvm.fmuladd.f64(double 0xBC997FE57E87E294, double %5672, double %5664)
  %5674 = load ptr, ptr %7, align 8, !tbaa !9
  %5675 = load i32, ptr %12, align 4, !tbaa !5
  %5676 = load i32, ptr %8, align 4, !tbaa !5
  %5677 = mul nsw i32 5, %5676
  %5678 = add nsw i32 %5675, %5677
  %5679 = sext i32 %5678 to i64
  %5680 = getelementptr inbounds double, ptr %5674, i64 %5679
  %5681 = load double, ptr %5680, align 8, !tbaa !11
  %5682 = call double @llvm.fmuladd.f64(double 0xBC892C4067E5CCE7, double %5681, double %5673)
  %5683 = load ptr, ptr %7, align 8, !tbaa !9
  %5684 = load i32, ptr %12, align 4, !tbaa !5
  %5685 = load i32, ptr %8, align 4, !tbaa !5
  %5686 = mul nsw i32 6, %5685
  %5687 = add nsw i32 %5684, %5686
  %5688 = sext i32 %5687 to i64
  %5689 = getelementptr inbounds double, ptr %5683, i64 %5688
  %5690 = load double, ptr %5689, align 8, !tbaa !11
  %5691 = call double @llvm.fmuladd.f64(double 0x3C9195CCC6FDDC34, double %5690, double %5682)
  %5692 = load ptr, ptr %7, align 8, !tbaa !9
  %5693 = load i32, ptr %12, align 4, !tbaa !5
  %5694 = load i32, ptr %8, align 4, !tbaa !5
  %5695 = mul nsw i32 7, %5694
  %5696 = add nsw i32 %5693, %5695
  %5697 = sext i32 %5696 to i64
  %5698 = getelementptr inbounds double, ptr %5692, i64 %5697
  %5699 = load double, ptr %5698, align 8, !tbaa !11
  %5700 = call double @llvm.fmuladd.f64(double 0x3C90C2BEA1BFB3F8, double %5699, double %5691)
  %5701 = load ptr, ptr %7, align 8, !tbaa !9
  %5702 = load i32, ptr %12, align 4, !tbaa !5
  %5703 = load i32, ptr %8, align 4, !tbaa !5
  %5704 = mul nsw i32 8, %5703
  %5705 = add nsw i32 %5702, %5704
  %5706 = sext i32 %5705 to i64
  %5707 = getelementptr inbounds double, ptr %5701, i64 %5706
  %5708 = load double, ptr %5707, align 8, !tbaa !11
  %5709 = call double @llvm.fmuladd.f64(double 0xBC83C8973FFE3109, double %5708, double %5700)
  %5710 = load ptr, ptr %7, align 8, !tbaa !9
  %5711 = load i32, ptr %12, align 4, !tbaa !5
  %5712 = load i32, ptr %8, align 4, !tbaa !5
  %5713 = mul nsw i32 9, %5712
  %5714 = add nsw i32 %5711, %5713
  %5715 = sext i32 %5714 to i64
  %5716 = getelementptr inbounds double, ptr %5710, i64 %5715
  %5717 = load double, ptr %5716, align 8, !tbaa !11
  %5718 = call double @llvm.fmuladd.f64(double 0x3CA202E0ECF2957E, double %5717, double %5709)
  %5719 = load ptr, ptr %7, align 8, !tbaa !9
  %5720 = load i32, ptr %12, align 4, !tbaa !5
  %5721 = load i32, ptr %8, align 4, !tbaa !5
  %5722 = mul nsw i32 10, %5721
  %5723 = add nsw i32 %5720, %5722
  %5724 = sext i32 %5723 to i64
  %5725 = getelementptr inbounds double, ptr %5719, i64 %5724
  %5726 = load double, ptr %5725, align 8, !tbaa !11
  %5727 = call double @llvm.fmuladd.f64(double 0xBC9E71BA1E232157, double %5726, double %5718)
  %5728 = load ptr, ptr %7, align 8, !tbaa !9
  %5729 = load i32, ptr %12, align 4, !tbaa !5
  %5730 = load i32, ptr %8, align 4, !tbaa !5
  %5731 = mul nsw i32 11, %5730
  %5732 = add nsw i32 %5729, %5731
  %5733 = sext i32 %5732 to i64
  %5734 = getelementptr inbounds double, ptr %5728, i64 %5733
  %5735 = load double, ptr %5734, align 8, !tbaa !11
  %5736 = call double @llvm.fmuladd.f64(double 0xBC7C542BFA7534B8, double %5735, double %5727)
  %5737 = load ptr, ptr %7, align 8, !tbaa !9
  %5738 = load i32, ptr %12, align 4, !tbaa !5
  %5739 = load i32, ptr %8, align 4, !tbaa !5
  %5740 = mul nsw i32 12, %5739
  %5741 = add nsw i32 %5738, %5740
  %5742 = sext i32 %5741 to i64
  %5743 = getelementptr inbounds double, ptr %5737, i64 %5742
  %5744 = load double, ptr %5743, align 8, !tbaa !11
  %5745 = call double @llvm.fmuladd.f64(double 0xBFB17C71DD2D5160, double %5744, double %5736)
  %5746 = load ptr, ptr %7, align 8, !tbaa !9
  %5747 = load i32, ptr %12, align 4, !tbaa !5
  %5748 = load i32, ptr %8, align 4, !tbaa !5
  %5749 = mul nsw i32 13, %5748
  %5750 = add nsw i32 %5747, %5749
  %5751 = sext i32 %5750 to i64
  %5752 = getelementptr inbounds double, ptr %5746, i64 %5751
  %5753 = load double, ptr %5752, align 8, !tbaa !11
  %5754 = call double @llvm.fmuladd.f64(double 0x3FF3237A82AF9ED0, double %5753, double %5745)
  %5755 = load ptr, ptr %7, align 8, !tbaa !9
  %5756 = load i32, ptr %12, align 4, !tbaa !5
  %5757 = load i32, ptr %8, align 4, !tbaa !5
  %5758 = mul nsw i32 14, %5757
  %5759 = add nsw i32 %5756, %5758
  %5760 = sext i32 %5759 to i64
  %5761 = getelementptr inbounds double, ptr %5755, i64 %5760
  %5762 = load double, ptr %5761, align 8, !tbaa !11
  %5763 = call double @llvm.fmuladd.f64(double 0xBF76E8A1969E6B00, double %5762, double %5754)
  %5764 = load ptr, ptr %7, align 8, !tbaa !9
  %5765 = load i32, ptr %12, align 4, !tbaa !5
  %5766 = load i32, ptr %8, align 4, !tbaa !5
  %5767 = mul nsw i32 15, %5766
  %5768 = add nsw i32 %5765, %5767
  %5769 = sext i32 %5768 to i64
  %5770 = getelementptr inbounds double, ptr %5764, i64 %5769
  %5771 = load double, ptr %5770, align 8, !tbaa !11
  %5772 = call double @llvm.fmuladd.f64(double 0x3FFBC4AD9C53A55A, double %5771, double %5763)
  %5773 = load ptr, ptr %7, align 8, !tbaa !9
  %5774 = load i32, ptr %12, align 4, !tbaa !5
  %5775 = load i32, ptr %8, align 4, !tbaa !5
  %5776 = mul nsw i32 16, %5775
  %5777 = add nsw i32 %5774, %5776
  %5778 = sext i32 %5777 to i64
  %5779 = getelementptr inbounds double, ptr %5773, i64 %5778
  %5780 = load double, ptr %5779, align 8, !tbaa !11
  %5781 = call double @llvm.fmuladd.f64(double 0x3FC179BD32D3DC68, double %5780, double %5772)
  %5782 = load ptr, ptr %7, align 8, !tbaa !9
  %5783 = load i32, ptr %12, align 4, !tbaa !5
  %5784 = load i32, ptr %8, align 4, !tbaa !5
  %5785 = mul nsw i32 17, %5784
  %5786 = add nsw i32 %5783, %5785
  %5787 = sext i32 %5786 to i64
  %5788 = getelementptr inbounds double, ptr %5782, i64 %5787
  %5789 = load double, ptr %5788, align 8, !tbaa !11
  %5790 = call double @llvm.fmuladd.f64(double 0x3FF1CA3B98F4942B, double %5789, double %5781)
  store double %5790, ptr %11, align 8, !tbaa !11
  %5791 = load double, ptr %11, align 8, !tbaa !11
  %5792 = load ptr, ptr %9, align 8, !tbaa !9
  %5793 = load i32, ptr %12, align 4, !tbaa !5
  %5794 = load i32, ptr %10, align 4, !tbaa !5
  %5795 = mul nsw i32 33, %5794
  %5796 = add nsw i32 %5793, %5795
  %5797 = sext i32 %5796 to i64
  %5798 = getelementptr inbounds double, ptr %5792, i64 %5797
  store double %5791, ptr %5798, align 8, !tbaa !11
  %5799 = load ptr, ptr %7, align 8, !tbaa !9
  %5800 = load i32, ptr %12, align 4, !tbaa !5
  %5801 = load i32, ptr %8, align 4, !tbaa !5
  %5802 = mul nsw i32 0, %5801
  %5803 = add nsw i32 %5800, %5802
  %5804 = sext i32 %5803 to i64
  %5805 = getelementptr inbounds double, ptr %5799, i64 %5804
  %5806 = load double, ptr %5805, align 8, !tbaa !11
  %5807 = load ptr, ptr %7, align 8, !tbaa !9
  %5808 = load i32, ptr %12, align 4, !tbaa !5
  %5809 = load i32, ptr %8, align 4, !tbaa !5
  %5810 = mul nsw i32 1, %5809
  %5811 = add nsw i32 %5808, %5810
  %5812 = sext i32 %5811 to i64
  %5813 = getelementptr inbounds double, ptr %5807, i64 %5812
  %5814 = load double, ptr %5813, align 8, !tbaa !11
  %5815 = fmul double 0xBCA57F1A1B03E36B, %5814
  %5816 = call double @llvm.fmuladd.f64(double 0xBCC1297A2A184282, double %5806, double %5815)
  %5817 = load ptr, ptr %7, align 8, !tbaa !9
  %5818 = load i32, ptr %12, align 4, !tbaa !5
  %5819 = load i32, ptr %8, align 4, !tbaa !5
  %5820 = mul nsw i32 2, %5819
  %5821 = add nsw i32 %5818, %5820
  %5822 = sext i32 %5821 to i64
  %5823 = getelementptr inbounds double, ptr %5817, i64 %5822
  %5824 = load double, ptr %5823, align 8, !tbaa !11
  %5825 = call double @llvm.fmuladd.f64(double 0xBCB10C6112FA5C6E, double %5824, double %5816)
  %5826 = load ptr, ptr %7, align 8, !tbaa !9
  %5827 = load i32, ptr %12, align 4, !tbaa !5
  %5828 = load i32, ptr %8, align 4, !tbaa !5
  %5829 = mul nsw i32 3, %5828
  %5830 = add nsw i32 %5827, %5829
  %5831 = sext i32 %5830 to i64
  %5832 = getelementptr inbounds double, ptr %5826, i64 %5831
  %5833 = load double, ptr %5832, align 8, !tbaa !11
  %5834 = call double @llvm.fmuladd.f64(double 0xBCBF0D117BE35C9F, double %5833, double %5825)
  %5835 = load ptr, ptr %7, align 8, !tbaa !9
  %5836 = load i32, ptr %12, align 4, !tbaa !5
  %5837 = load i32, ptr %8, align 4, !tbaa !5
  %5838 = mul nsw i32 4, %5837
  %5839 = add nsw i32 %5836, %5838
  %5840 = sext i32 %5839 to i64
  %5841 = getelementptr inbounds double, ptr %5835, i64 %5840
  %5842 = load double, ptr %5841, align 8, !tbaa !11
  %5843 = call double @llvm.fmuladd.f64(double 0x3CBC248A09C9692D, double %5842, double %5834)
  %5844 = load ptr, ptr %7, align 8, !tbaa !9
  %5845 = load i32, ptr %12, align 4, !tbaa !5
  %5846 = load i32, ptr %8, align 4, !tbaa !5
  %5847 = mul nsw i32 5, %5846
  %5848 = add nsw i32 %5845, %5847
  %5849 = sext i32 %5848 to i64
  %5850 = getelementptr inbounds double, ptr %5844, i64 %5849
  %5851 = load double, ptr %5850, align 8, !tbaa !11
  %5852 = call double @llvm.fmuladd.f64(double 0x3CBF98C60EE20B5A, double %5851, double %5843)
  %5853 = load ptr, ptr %7, align 8, !tbaa !9
  %5854 = load i32, ptr %12, align 4, !tbaa !5
  %5855 = load i32, ptr %8, align 4, !tbaa !5
  %5856 = mul nsw i32 6, %5855
  %5857 = add nsw i32 %5854, %5856
  %5858 = sext i32 %5857 to i64
  %5859 = getelementptr inbounds double, ptr %5853, i64 %5858
  %5860 = load double, ptr %5859, align 8, !tbaa !11
  %5861 = call double @llvm.fmuladd.f64(double 0xBC8722D375CED18B, double %5860, double %5852)
  %5862 = load ptr, ptr %7, align 8, !tbaa !9
  %5863 = load i32, ptr %12, align 4, !tbaa !5
  %5864 = load i32, ptr %8, align 4, !tbaa !5
  %5865 = mul nsw i32 7, %5864
  %5866 = add nsw i32 %5863, %5865
  %5867 = sext i32 %5866 to i64
  %5868 = getelementptr inbounds double, ptr %5862, i64 %5867
  %5869 = load double, ptr %5868, align 8, !tbaa !11
  %5870 = call double @llvm.fmuladd.f64(double 0x3C928A15FB1A0DF3, double %5869, double %5861)
  %5871 = load ptr, ptr %7, align 8, !tbaa !9
  %5872 = load i32, ptr %12, align 4, !tbaa !5
  %5873 = load i32, ptr %8, align 4, !tbaa !5
  %5874 = mul nsw i32 8, %5873
  %5875 = add nsw i32 %5872, %5874
  %5876 = sext i32 %5875 to i64
  %5877 = getelementptr inbounds double, ptr %5871, i64 %5876
  %5878 = load double, ptr %5877, align 8, !tbaa !11
  %5879 = call double @llvm.fmuladd.f64(double 0xBC6B200A12F0E6FE, double %5878, double %5870)
  %5880 = load ptr, ptr %7, align 8, !tbaa !9
  %5881 = load i32, ptr %12, align 4, !tbaa !5
  %5882 = load i32, ptr %8, align 4, !tbaa !5
  %5883 = mul nsw i32 9, %5882
  %5884 = add nsw i32 %5881, %5883
  %5885 = sext i32 %5884 to i64
  %5886 = getelementptr inbounds double, ptr %5880, i64 %5885
  %5887 = load double, ptr %5886, align 8, !tbaa !11
  %5888 = call double @llvm.fmuladd.f64(double 0x3CB0B4EF81D0EBA9, double %5887, double %5879)
  %5889 = load ptr, ptr %7, align 8, !tbaa !9
  %5890 = load i32, ptr %12, align 4, !tbaa !5
  %5891 = load i32, ptr %8, align 4, !tbaa !5
  %5892 = mul nsw i32 10, %5891
  %5893 = add nsw i32 %5890, %5892
  %5894 = sext i32 %5893 to i64
  %5895 = getelementptr inbounds double, ptr %5889, i64 %5894
  %5896 = load double, ptr %5895, align 8, !tbaa !11
  %5897 = call double @llvm.fmuladd.f64(double 0xBCA81B5AA73CEFCF, double %5896, double %5888)
  %5898 = load ptr, ptr %7, align 8, !tbaa !9
  %5899 = load i32, ptr %12, align 4, !tbaa !5
  %5900 = load i32, ptr %8, align 4, !tbaa !5
  %5901 = mul nsw i32 11, %5900
  %5902 = add nsw i32 %5899, %5901
  %5903 = sext i32 %5902 to i64
  %5904 = getelementptr inbounds double, ptr %5898, i64 %5903
  %5905 = load double, ptr %5904, align 8, !tbaa !11
  %5906 = call double @llvm.fmuladd.f64(double 0xBC8CCF58EB146D34, double %5905, double %5897)
  %5907 = load ptr, ptr %7, align 8, !tbaa !9
  %5908 = load i32, ptr %12, align 4, !tbaa !5
  %5909 = load i32, ptr %8, align 4, !tbaa !5
  %5910 = mul nsw i32 12, %5909
  %5911 = add nsw i32 %5908, %5910
  %5912 = sext i32 %5911 to i64
  %5913 = getelementptr inbounds double, ptr %5907, i64 %5912
  %5914 = load double, ptr %5913, align 8, !tbaa !11
  %5915 = call double @llvm.fmuladd.f64(double 0x3FF21EFA862DF3DA, double %5914, double %5906)
  %5916 = load ptr, ptr %7, align 8, !tbaa !9
  %5917 = load i32, ptr %12, align 4, !tbaa !5
  %5918 = load i32, ptr %8, align 4, !tbaa !5
  %5919 = mul nsw i32 13, %5918
  %5920 = add nsw i32 %5917, %5919
  %5921 = sext i32 %5920 to i64
  %5922 = getelementptr inbounds double, ptr %5916, i64 %5921
  %5923 = load double, ptr %5922, align 8, !tbaa !11
  %5924 = call double @llvm.fmuladd.f64(double 0xBF734721512AF472, double %5923, double %5915)
  %5925 = load ptr, ptr %7, align 8, !tbaa !9
  %5926 = load i32, ptr %12, align 4, !tbaa !5
  %5927 = load i32, ptr %8, align 4, !tbaa !5
  %5928 = mul nsw i32 14, %5927
  %5929 = add nsw i32 %5926, %5928
  %5930 = sext i32 %5929 to i64
  %5931 = getelementptr inbounds double, ptr %5925, i64 %5930
  %5932 = load double, ptr %5931, align 8, !tbaa !11
  %5933 = call double @llvm.fmuladd.f64(double 0xBFF7F19EB1BA88FC, double %5932, double %5924)
  %5934 = load ptr, ptr %7, align 8, !tbaa !9
  %5935 = load i32, ptr %12, align 4, !tbaa !5
  %5936 = load i32, ptr %8, align 4, !tbaa !5
  %5937 = mul nsw i32 15, %5936
  %5938 = add nsw i32 %5935, %5937
  %5939 = sext i32 %5938 to i64
  %5940 = getelementptr inbounds double, ptr %5934, i64 %5939
  %5941 = load double, ptr %5940, align 8, !tbaa !11
  %5942 = call double @llvm.fmuladd.f64(double 0xBFF48831FA6C7040, double %5941, double %5933)
  %5943 = load ptr, ptr %7, align 8, !tbaa !9
  %5944 = load i32, ptr %12, align 4, !tbaa !5
  %5945 = load i32, ptr %8, align 4, !tbaa !5
  %5946 = mul nsw i32 16, %5945
  %5947 = add nsw i32 %5944, %5946
  %5948 = sext i32 %5947 to i64
  %5949 = getelementptr inbounds double, ptr %5943, i64 %5948
  %5950 = load double, ptr %5949, align 8, !tbaa !11
  %5951 = call double @llvm.fmuladd.f64(double 0x3FC901A35D55DB89, double %5950, double %5942)
  %5952 = load ptr, ptr %7, align 8, !tbaa !9
  %5953 = load i32, ptr %12, align 4, !tbaa !5
  %5954 = load i32, ptr %8, align 4, !tbaa !5
  %5955 = mul nsw i32 17, %5954
  %5956 = add nsw i32 %5953, %5955
  %5957 = sext i32 %5956 to i64
  %5958 = getelementptr inbounds double, ptr %5952, i64 %5957
  %5959 = load double, ptr %5958, align 8, !tbaa !11
  %5960 = call double @llvm.fmuladd.f64(double 0x3FF0AF85DD8BD416, double %5959, double %5951)
  store double %5960, ptr %11, align 8, !tbaa !11
  %5961 = load double, ptr %11, align 8, !tbaa !11
  %5962 = load ptr, ptr %9, align 8, !tbaa !9
  %5963 = load i32, ptr %12, align 4, !tbaa !5
  %5964 = load i32, ptr %10, align 4, !tbaa !5
  %5965 = mul nsw i32 34, %5964
  %5966 = add nsw i32 %5963, %5965
  %5967 = sext i32 %5966 to i64
  %5968 = getelementptr inbounds double, ptr %5962, i64 %5967
  store double %5961, ptr %5968, align 8, !tbaa !11
  %5969 = load ptr, ptr %7, align 8, !tbaa !9
  %5970 = load i32, ptr %12, align 4, !tbaa !5
  %5971 = load i32, ptr %8, align 4, !tbaa !5
  %5972 = mul nsw i32 0, %5971
  %5973 = add nsw i32 %5970, %5972
  %5974 = sext i32 %5973 to i64
  %5975 = getelementptr inbounds double, ptr %5969, i64 %5974
  %5976 = load double, ptr %5975, align 8, !tbaa !11
  %5977 = load ptr, ptr %7, align 8, !tbaa !9
  %5978 = load i32, ptr %12, align 4, !tbaa !5
  %5979 = load i32, ptr %8, align 4, !tbaa !5
  %5980 = mul nsw i32 1, %5979
  %5981 = add nsw i32 %5978, %5980
  %5982 = sext i32 %5981 to i64
  %5983 = getelementptr inbounds double, ptr %5977, i64 %5982
  %5984 = load double, ptr %5983, align 8, !tbaa !11
  %5985 = fmul double 0xBCA44D48F8869957, %5984
  %5986 = call double @llvm.fmuladd.f64(double 0xBC8E7761343A95A0, double %5976, double %5985)
  %5987 = load ptr, ptr %7, align 8, !tbaa !9
  %5988 = load i32, ptr %12, align 4, !tbaa !5
  %5989 = load i32, ptr %8, align 4, !tbaa !5
  %5990 = mul nsw i32 2, %5989
  %5991 = add nsw i32 %5988, %5990
  %5992 = sext i32 %5991 to i64
  %5993 = getelementptr inbounds double, ptr %5987, i64 %5992
  %5994 = load double, ptr %5993, align 8, !tbaa !11
  %5995 = call double @llvm.fmuladd.f64(double 0xBC95C5CE8588C948, double %5994, double %5986)
  %5996 = load ptr, ptr %7, align 8, !tbaa !9
  %5997 = load i32, ptr %12, align 4, !tbaa !5
  %5998 = load i32, ptr %8, align 4, !tbaa !5
  %5999 = mul nsw i32 3, %5998
  %6000 = add nsw i32 %5997, %5999
  %6001 = sext i32 %6000 to i64
  %6002 = getelementptr inbounds double, ptr %5996, i64 %6001
  %6003 = load double, ptr %6002, align 8, !tbaa !11
  %6004 = call double @llvm.fmuladd.f64(double 0xBCB82536F63F33EE, double %6003, double %5995)
  %6005 = load ptr, ptr %7, align 8, !tbaa !9
  %6006 = load i32, ptr %12, align 4, !tbaa !5
  %6007 = load i32, ptr %8, align 4, !tbaa !5
  %6008 = mul nsw i32 4, %6007
  %6009 = add nsw i32 %6006, %6008
  %6010 = sext i32 %6009 to i64
  %6011 = getelementptr inbounds double, ptr %6005, i64 %6010
  %6012 = load double, ptr %6011, align 8, !tbaa !11
  %6013 = call double @llvm.fmuladd.f64(double 0x3CA6D94B54150D6E, double %6012, double %6004)
  %6014 = load ptr, ptr %7, align 8, !tbaa !9
  %6015 = load i32, ptr %12, align 4, !tbaa !5
  %6016 = load i32, ptr %8, align 4, !tbaa !5
  %6017 = mul nsw i32 5, %6016
  %6018 = add nsw i32 %6015, %6017
  %6019 = sext i32 %6018 to i64
  %6020 = getelementptr inbounds double, ptr %6014, i64 %6019
  %6021 = load double, ptr %6020, align 8, !tbaa !11
  %6022 = call double @llvm.fmuladd.f64(double 0xBC86CA5E2A13EA01, double %6021, double %6013)
  %6023 = load ptr, ptr %7, align 8, !tbaa !9
  %6024 = load i32, ptr %12, align 4, !tbaa !5
  %6025 = load i32, ptr %8, align 4, !tbaa !5
  %6026 = mul nsw i32 6, %6025
  %6027 = add nsw i32 %6024, %6026
  %6028 = sext i32 %6027 to i64
  %6029 = getelementptr inbounds double, ptr %6023, i64 %6028
  %6030 = load double, ptr %6029, align 8, !tbaa !11
  %6031 = call double @llvm.fmuladd.f64(double 0xBC8AA385F45F1E4E, double %6030, double %6022)
  %6032 = load ptr, ptr %7, align 8, !tbaa !9
  %6033 = load i32, ptr %12, align 4, !tbaa !5
  %6034 = load i32, ptr %8, align 4, !tbaa !5
  %6035 = mul nsw i32 7, %6034
  %6036 = add nsw i32 %6033, %6035
  %6037 = sext i32 %6036 to i64
  %6038 = getelementptr inbounds double, ptr %6032, i64 %6037
  %6039 = load double, ptr %6038, align 8, !tbaa !11
  %6040 = call double @llvm.fmuladd.f64(double 0xBCB2AACA2DE89BB0, double %6039, double %6031)
  %6041 = load ptr, ptr %7, align 8, !tbaa !9
  %6042 = load i32, ptr %12, align 4, !tbaa !5
  %6043 = load i32, ptr %8, align 4, !tbaa !5
  %6044 = mul nsw i32 8, %6043
  %6045 = add nsw i32 %6042, %6044
  %6046 = sext i32 %6045 to i64
  %6047 = getelementptr inbounds double, ptr %6041, i64 %6046
  %6048 = load double, ptr %6047, align 8, !tbaa !11
  %6049 = call double @llvm.fmuladd.f64(double 0x3CA83B7215B2B95C, double %6048, double %6040)
  %6050 = load ptr, ptr %7, align 8, !tbaa !9
  %6051 = load i32, ptr %12, align 4, !tbaa !5
  %6052 = load i32, ptr %8, align 4, !tbaa !5
  %6053 = mul nsw i32 9, %6052
  %6054 = add nsw i32 %6051, %6053
  %6055 = sext i32 %6054 to i64
  %6056 = getelementptr inbounds double, ptr %6050, i64 %6055
  %6057 = load double, ptr %6056, align 8, !tbaa !11
  %6058 = call double @llvm.fmuladd.f64(double 0x3C8FF091FC9CD302, double %6057, double %6049)
  %6059 = load ptr, ptr %7, align 8, !tbaa !9
  %6060 = load i32, ptr %12, align 4, !tbaa !5
  %6061 = load i32, ptr %8, align 4, !tbaa !5
  %6062 = mul nsw i32 10, %6061
  %6063 = add nsw i32 %6060, %6062
  %6064 = sext i32 %6063 to i64
  %6065 = getelementptr inbounds double, ptr %6059, i64 %6064
  %6066 = load double, ptr %6065, align 8, !tbaa !11
  %6067 = call double @llvm.fmuladd.f64(double 0x3CB3BD521F494B8F, double %6066, double %6058)
  %6068 = load ptr, ptr %7, align 8, !tbaa !9
  %6069 = load i32, ptr %12, align 4, !tbaa !5
  %6070 = load i32, ptr %8, align 4, !tbaa !5
  %6071 = mul nsw i32 11, %6070
  %6072 = add nsw i32 %6069, %6071
  %6073 = sext i32 %6072 to i64
  %6074 = getelementptr inbounds double, ptr %6068, i64 %6073
  %6075 = load double, ptr %6074, align 8, !tbaa !11
  %6076 = call double @llvm.fmuladd.f64(double 0xBCAFEB692A4A65D9, double %6075, double %6067)
  %6077 = load ptr, ptr %7, align 8, !tbaa !9
  %6078 = load i32, ptr %12, align 4, !tbaa !5
  %6079 = load i32, ptr %8, align 4, !tbaa !5
  %6080 = mul nsw i32 12, %6079
  %6081 = add nsw i32 %6078, %6080
  %6082 = sext i32 %6081 to i64
  %6083 = getelementptr inbounds double, ptr %6077, i64 %6082
  %6084 = load double, ptr %6083, align 8, !tbaa !11
  %6085 = call double @llvm.fmuladd.f64(double 0x3FB1F3F0B024DC70, double %6084, double %6076)
  %6086 = load ptr, ptr %7, align 8, !tbaa !9
  %6087 = load i32, ptr %12, align 4, !tbaa !5
  %6088 = load i32, ptr %8, align 4, !tbaa !5
  %6089 = mul nsw i32 13, %6088
  %6090 = add nsw i32 %6087, %6089
  %6091 = sext i32 %6090 to i64
  %6092 = getelementptr inbounds double, ptr %6086, i64 %6091
  %6093 = load double, ptr %6092, align 8, !tbaa !11
  %6094 = call double @llvm.fmuladd.f64(double 0xBFF5B6F7089FF1D6, double %6093, double %6085)
  %6095 = load ptr, ptr %7, align 8, !tbaa !9
  %6096 = load i32, ptr %12, align 4, !tbaa !5
  %6097 = load i32, ptr %8, align 4, !tbaa !5
  %6098 = mul nsw i32 14, %6097
  %6099 = add nsw i32 %6096, %6098
  %6100 = sext i32 %6099 to i64
  %6101 = getelementptr inbounds double, ptr %6095, i64 %6100
  %6102 = load double, ptr %6101, align 8, !tbaa !11
  %6103 = call double @llvm.fmuladd.f64(double 0x3FCCBE3CAE6B6255, double %6102, double %6094)
  %6104 = load ptr, ptr %7, align 8, !tbaa !9
  %6105 = load i32, ptr %12, align 4, !tbaa !5
  %6106 = load i32, ptr %8, align 4, !tbaa !5
  %6107 = mul nsw i32 15, %6106
  %6108 = add nsw i32 %6105, %6107
  %6109 = sext i32 %6108 to i64
  %6110 = getelementptr inbounds double, ptr %6104, i64 %6109
  %6111 = load double, ptr %6110, align 8, !tbaa !11
  %6112 = call double @llvm.fmuladd.f64(double 0xBFFBA497A89943F8, double %6111, double %6103)
  %6113 = load ptr, ptr %7, align 8, !tbaa !9
  %6114 = load i32, ptr %12, align 4, !tbaa !5
  %6115 = load i32, ptr %8, align 4, !tbaa !5
  %6116 = mul nsw i32 16, %6115
  %6117 = add nsw i32 %6114, %6116
  %6118 = sext i32 %6117 to i64
  %6119 = getelementptr inbounds double, ptr %6113, i64 %6118
  %6120 = load double, ptr %6119, align 8, !tbaa !11
  %6121 = call double @llvm.fmuladd.f64(double 0xBFD81F8F0CEC6108, double %6120, double %6112)
  %6122 = load ptr, ptr %7, align 8, !tbaa !9
  %6123 = load i32, ptr %12, align 4, !tbaa !5
  %6124 = load i32, ptr %8, align 4, !tbaa !5
  %6125 = mul nsw i32 17, %6124
  %6126 = add nsw i32 %6123, %6125
  %6127 = sext i32 %6126 to i64
  %6128 = getelementptr inbounds double, ptr %6122, i64 %6127
  %6129 = load double, ptr %6128, align 8, !tbaa !11
  %6130 = call double @llvm.fmuladd.f64(double 0xBFDC5366E211BE88, double %6129, double %6121)
  store double %6130, ptr %11, align 8, !tbaa !11
  %6131 = load double, ptr %11, align 8, !tbaa !11
  %6132 = load ptr, ptr %9, align 8, !tbaa !9
  %6133 = load i32, ptr %12, align 4, !tbaa !5
  %6134 = load i32, ptr %10, align 4, !tbaa !5
  %6135 = mul nsw i32 35, %6134
  %6136 = add nsw i32 %6133, %6135
  %6137 = sext i32 %6136 to i64
  %6138 = getelementptr inbounds double, ptr %6132, i64 %6137
  store double %6131, ptr %6138, align 8, !tbaa !11
  %6139 = load ptr, ptr %7, align 8, !tbaa !9
  %6140 = load i32, ptr %12, align 4, !tbaa !5
  %6141 = load i32, ptr %8, align 4, !tbaa !5
  %6142 = mul nsw i32 0, %6141
  %6143 = add nsw i32 %6140, %6142
  %6144 = sext i32 %6143 to i64
  %6145 = getelementptr inbounds double, ptr %6139, i64 %6144
  %6146 = load double, ptr %6145, align 8, !tbaa !11
  %6147 = load ptr, ptr %7, align 8, !tbaa !9
  %6148 = load i32, ptr %12, align 4, !tbaa !5
  %6149 = load i32, ptr %8, align 4, !tbaa !5
  %6150 = mul nsw i32 1, %6149
  %6151 = add nsw i32 %6148, %6150
  %6152 = sext i32 %6151 to i64
  %6153 = getelementptr inbounds double, ptr %6147, i64 %6152
  %6154 = load double, ptr %6153, align 8, !tbaa !11
  %6155 = fmul double 0xBD09D98BFF4CB0E5, %6154
  %6156 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4DAA, double %6146, double %6155)
  %6157 = load ptr, ptr %7, align 8, !tbaa !9
  %6158 = load i32, ptr %12, align 4, !tbaa !5
  %6159 = load i32, ptr %8, align 4, !tbaa !5
  %6160 = mul nsw i32 2, %6159
  %6161 = add nsw i32 %6158, %6160
  %6162 = sext i32 %6161 to i64
  %6163 = getelementptr inbounds double, ptr %6157, i64 %6162
  %6164 = load double, ptr %6163, align 8, !tbaa !11
  %6165 = call double @llvm.fmuladd.f64(double 0xBD08F6EC581E880F, double %6164, double %6156)
  %6166 = load ptr, ptr %7, align 8, !tbaa !9
  %6167 = load i32, ptr %12, align 4, !tbaa !5
  %6168 = load i32, ptr %8, align 4, !tbaa !5
  %6169 = mul nsw i32 3, %6168
  %6170 = add nsw i32 %6167, %6169
  %6171 = sext i32 %6170 to i64
  %6172 = getelementptr inbounds double, ptr %6166, i64 %6171
  %6173 = load double, ptr %6172, align 8, !tbaa !11
  %6174 = call double @llvm.fmuladd.f64(double 0xBCFDF4EDB2DE7F56, double %6173, double %6165)
  %6175 = load ptr, ptr %7, align 8, !tbaa !9
  %6176 = load i32, ptr %12, align 4, !tbaa !5
  %6177 = load i32, ptr %8, align 4, !tbaa !5
  %6178 = mul nsw i32 4, %6177
  %6179 = add nsw i32 %6176, %6178
  %6180 = sext i32 %6179 to i64
  %6181 = getelementptr inbounds double, ptr %6175, i64 %6180
  %6182 = load double, ptr %6181, align 8, !tbaa !11
  %6183 = call double @llvm.fmuladd.f64(double 0x3D19E21ADBE67F1B, double %6182, double %6174)
  %6184 = load ptr, ptr %7, align 8, !tbaa !9
  %6185 = load i32, ptr %12, align 4, !tbaa !5
  %6186 = load i32, ptr %8, align 4, !tbaa !5
  %6187 = mul nsw i32 5, %6186
  %6188 = add nsw i32 %6185, %6187
  %6189 = sext i32 %6188 to i64
  %6190 = getelementptr inbounds double, ptr %6184, i64 %6189
  %6191 = load double, ptr %6190, align 8, !tbaa !11
  %6192 = call double @llvm.fmuladd.f64(double 0x3D193EE154A2063B, double %6191, double %6183)
  %6193 = load ptr, ptr %7, align 8, !tbaa !9
  %6194 = load i32, ptr %12, align 4, !tbaa !5
  %6195 = load i32, ptr %8, align 4, !tbaa !5
  %6196 = mul nsw i32 6, %6195
  %6197 = add nsw i32 %6194, %6196
  %6198 = sext i32 %6197 to i64
  %6199 = getelementptr inbounds double, ptr %6193, i64 %6198
  %6200 = load double, ptr %6199, align 8, !tbaa !11
  %6201 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F756, double %6200, double %6192)
  %6202 = load ptr, ptr %7, align 8, !tbaa !9
  %6203 = load i32, ptr %12, align 4, !tbaa !5
  %6204 = load i32, ptr %8, align 4, !tbaa !5
  %6205 = mul nsw i32 7, %6204
  %6206 = add nsw i32 %6203, %6205
  %6207 = sext i32 %6206 to i64
  %6208 = getelementptr inbounds double, ptr %6202, i64 %6207
  %6209 = load double, ptr %6208, align 8, !tbaa !11
  %6210 = call double @llvm.fmuladd.f64(double 0x3CF4E04E2DCDEC57, double %6209, double %6201)
  %6211 = load ptr, ptr %7, align 8, !tbaa !9
  %6212 = load i32, ptr %12, align 4, !tbaa !5
  %6213 = load i32, ptr %8, align 4, !tbaa !5
  %6214 = mul nsw i32 8, %6213
  %6215 = add nsw i32 %6212, %6214
  %6216 = sext i32 %6215 to i64
  %6217 = getelementptr inbounds double, ptr %6211, i64 %6216
  %6218 = load double, ptr %6217, align 8, !tbaa !11
  %6219 = call double @llvm.fmuladd.f64(double 0x3CF3AAAAAAAAAAAB, double %6218, double %6210)
  %6220 = load ptr, ptr %7, align 8, !tbaa !9
  %6221 = load i32, ptr %12, align 4, !tbaa !5
  %6222 = load i32, ptr %8, align 4, !tbaa !5
  %6223 = mul nsw i32 9, %6222
  %6224 = add nsw i32 %6221, %6223
  %6225 = sext i32 %6224 to i64
  %6226 = getelementptr inbounds double, ptr %6220, i64 %6225
  %6227 = load double, ptr %6226, align 8, !tbaa !11
  %6228 = call double @llvm.fmuladd.f64(double 0x3CE72AAAAAAAAAA8, double %6227, double %6219)
  %6229 = load ptr, ptr %7, align 8, !tbaa !9
  %6230 = load i32, ptr %12, align 4, !tbaa !5
  %6231 = load i32, ptr %8, align 4, !tbaa !5
  %6232 = mul nsw i32 10, %6231
  %6233 = add nsw i32 %6230, %6232
  %6234 = sext i32 %6233 to i64
  %6235 = getelementptr inbounds double, ptr %6229, i64 %6234
  %6236 = load double, ptr %6235, align 8, !tbaa !11
  %6237 = call double @llvm.fmuladd.f64(double 0xBD043F63A4642756, double %6236, double %6228)
  %6238 = load ptr, ptr %7, align 8, !tbaa !9
  %6239 = load i32, ptr %12, align 4, !tbaa !5
  %6240 = load i32, ptr %8, align 4, !tbaa !5
  %6241 = mul nsw i32 11, %6240
  %6242 = add nsw i32 %6239, %6241
  %6243 = sext i32 %6242 to i64
  %6244 = getelementptr inbounds double, ptr %6238, i64 %6243
  %6245 = load double, ptr %6244, align 8, !tbaa !11
  %6246 = call double @llvm.fmuladd.f64(double 0xBD0394B8F9B97CA9, double %6245, double %6237)
  %6247 = load ptr, ptr %7, align 8, !tbaa !9
  %6248 = load i32, ptr %12, align 4, !tbaa !5
  %6249 = load i32, ptr %8, align 4, !tbaa !5
  %6250 = mul nsw i32 12, %6249
  %6251 = add nsw i32 %6248, %6250
  %6252 = sext i32 %6251 to i64
  %6253 = getelementptr inbounds double, ptr %6247, i64 %6252
  %6254 = load double, ptr %6253, align 8, !tbaa !11
  %6255 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3493, double %6254, double %6246)
  %6256 = load ptr, ptr %7, align 8, !tbaa !9
  %6257 = load i32, ptr %12, align 4, !tbaa !5
  %6258 = load i32, ptr %8, align 4, !tbaa !5
  %6259 = mul nsw i32 13, %6258
  %6260 = add nsw i32 %6257, %6259
  %6261 = sext i32 %6260 to i64
  %6262 = getelementptr inbounds double, ptr %6256, i64 %6261
  %6263 = load double, ptr %6262, align 8, !tbaa !11
  %6264 = call double @llvm.fmuladd.f64(double 0xBC8BC95608A46E63, double %6263, double %6255)
  %6265 = load ptr, ptr %7, align 8, !tbaa !9
  %6266 = load i32, ptr %12, align 4, !tbaa !5
  %6267 = load i32, ptr %8, align 4, !tbaa !5
  %6268 = mul nsw i32 14, %6267
  %6269 = add nsw i32 %6266, %6268
  %6270 = sext i32 %6269 to i64
  %6271 = getelementptr inbounds double, ptr %6265, i64 %6270
  %6272 = load double, ptr %6271, align 8, !tbaa !11
  %6273 = call double @llvm.fmuladd.f64(double 0x3CA865C0B24CAFB5, double %6272, double %6264)
  %6274 = load ptr, ptr %7, align 8, !tbaa !9
  %6275 = load i32, ptr %12, align 4, !tbaa !5
  %6276 = load i32, ptr %8, align 4, !tbaa !5
  %6277 = mul nsw i32 15, %6276
  %6278 = add nsw i32 %6275, %6277
  %6279 = sext i32 %6278 to i64
  %6280 = getelementptr inbounds double, ptr %6274, i64 %6279
  %6281 = load double, ptr %6280, align 8, !tbaa !11
  %6282 = call double @llvm.fmuladd.f64(double 0x3CB09F4DA65E855E, double %6281, double %6273)
  %6283 = load ptr, ptr %7, align 8, !tbaa !9
  %6284 = load i32, ptr %12, align 4, !tbaa !5
  %6285 = load i32, ptr %8, align 4, !tbaa !5
  %6286 = mul nsw i32 16, %6285
  %6287 = add nsw i32 %6284, %6286
  %6288 = sext i32 %6287 to i64
  %6289 = getelementptr inbounds double, ptr %6283, i64 %6288
  %6290 = load double, ptr %6289, align 8, !tbaa !11
  %6291 = call double @llvm.fmuladd.f64(double 0xBCA3E8F53E9DEC6B, double %6290, double %6282)
  %6292 = load ptr, ptr %7, align 8, !tbaa !9
  %6293 = load i32, ptr %12, align 4, !tbaa !5
  %6294 = load i32, ptr %8, align 4, !tbaa !5
  %6295 = mul nsw i32 17, %6294
  %6296 = add nsw i32 %6293, %6295
  %6297 = sext i32 %6296 to i64
  %6298 = getelementptr inbounds double, ptr %6292, i64 %6297
  %6299 = load double, ptr %6298, align 8, !tbaa !11
  %6300 = call double @llvm.fmuladd.f64(double 0xBCB32135F151F960, double %6299, double %6291)
  store double %6300, ptr %11, align 8, !tbaa !11
  %6301 = load double, ptr %11, align 8, !tbaa !11
  %6302 = load ptr, ptr %9, align 8, !tbaa !9
  %6303 = load i32, ptr %12, align 4, !tbaa !5
  %6304 = load i32, ptr %10, align 4, !tbaa !5
  %6305 = mul nsw i32 36, %6304
  %6306 = add nsw i32 %6303, %6305
  %6307 = sext i32 %6306 to i64
  %6308 = getelementptr inbounds double, ptr %6302, i64 %6307
  store double %6301, ptr %6308, align 8, !tbaa !11
  %6309 = load ptr, ptr %7, align 8, !tbaa !9
  %6310 = load i32, ptr %12, align 4, !tbaa !5
  %6311 = load i32, ptr %8, align 4, !tbaa !5
  %6312 = mul nsw i32 0, %6311
  %6313 = add nsw i32 %6310, %6312
  %6314 = sext i32 %6313 to i64
  %6315 = getelementptr inbounds double, ptr %6309, i64 %6314
  %6316 = load double, ptr %6315, align 8, !tbaa !11
  %6317 = load ptr, ptr %7, align 8, !tbaa !9
  %6318 = load i32, ptr %12, align 4, !tbaa !5
  %6319 = load i32, ptr %8, align 4, !tbaa !5
  %6320 = mul nsw i32 1, %6319
  %6321 = add nsw i32 %6318, %6320
  %6322 = sext i32 %6321 to i64
  %6323 = getelementptr inbounds double, ptr %6317, i64 %6322
  %6324 = load double, ptr %6323, align 8, !tbaa !11
  %6325 = fmul double 0x3FFEFBDEB14F4D9C, %6324
  %6326 = call double @llvm.fmuladd.f64(double 0xBD07B67C0A74B6D2, double %6316, double %6325)
  %6327 = load ptr, ptr %7, align 8, !tbaa !9
  %6328 = load i32, ptr %12, align 4, !tbaa !5
  %6329 = load i32, ptr %8, align 4, !tbaa !5
  %6330 = mul nsw i32 2, %6329
  %6331 = add nsw i32 %6328, %6330
  %6332 = sext i32 %6331 to i64
  %6333 = getelementptr inbounds double, ptr %6327, i64 %6332
  %6334 = load double, ptr %6333, align 8, !tbaa !11
  %6335 = call double @llvm.fmuladd.f64(double 0xBD08B86D08565032, double %6334, double %6326)
  %6336 = load ptr, ptr %7, align 8, !tbaa !9
  %6337 = load i32, ptr %12, align 4, !tbaa !5
  %6338 = load i32, ptr %8, align 4, !tbaa !5
  %6339 = mul nsw i32 3, %6338
  %6340 = add nsw i32 %6337, %6339
  %6341 = sext i32 %6340 to i64
  %6342 = getelementptr inbounds double, ptr %6336, i64 %6341
  %6343 = load double, ptr %6342, align 8, !tbaa !11
  %6344 = call double @llvm.fmuladd.f64(double 0x3D1BE5E867FB3CCC, double %6343, double %6335)
  %6345 = load ptr, ptr %7, align 8, !tbaa !9
  %6346 = load i32, ptr %12, align 4, !tbaa !5
  %6347 = load i32, ptr %8, align 4, !tbaa !5
  %6348 = mul nsw i32 4, %6347
  %6349 = add nsw i32 %6346, %6348
  %6350 = sext i32 %6349 to i64
  %6351 = getelementptr inbounds double, ptr %6345, i64 %6350
  %6352 = load double, ptr %6351, align 8, !tbaa !11
  %6353 = call double @llvm.fmuladd.f64(double 0xBCFD7E2C7687A148, double %6352, double %6344)
  %6354 = load ptr, ptr %7, align 8, !tbaa !9
  %6355 = load i32, ptr %12, align 4, !tbaa !5
  %6356 = load i32, ptr %8, align 4, !tbaa !5
  %6357 = mul nsw i32 5, %6356
  %6358 = add nsw i32 %6355, %6357
  %6359 = sext i32 %6358 to i64
  %6360 = getelementptr inbounds double, ptr %6354, i64 %6359
  %6361 = load double, ptr %6360, align 8, !tbaa !11
  %6362 = call double @llvm.fmuladd.f64(double 0x3D19AB84FA7213D2, double %6361, double %6353)
  %6363 = load ptr, ptr %7, align 8, !tbaa !9
  %6364 = load i32, ptr %12, align 4, !tbaa !5
  %6365 = load i32, ptr %8, align 4, !tbaa !5
  %6366 = mul nsw i32 6, %6365
  %6367 = add nsw i32 %6364, %6366
  %6368 = sext i32 %6367 to i64
  %6369 = getelementptr inbounds double, ptr %6363, i64 %6368
  %6370 = load double, ptr %6369, align 8, !tbaa !11
  %6371 = call double @llvm.fmuladd.f64(double 0x3CF414B8F9B97CAA, double %6370, double %6362)
  %6372 = load ptr, ptr %7, align 8, !tbaa !9
  %6373 = load i32, ptr %12, align 4, !tbaa !5
  %6374 = load i32, ptr %8, align 4, !tbaa !5
  %6375 = mul nsw i32 7, %6374
  %6376 = add nsw i32 %6373, %6375
  %6377 = sext i32 %6376 to i64
  %6378 = getelementptr inbounds double, ptr %6372, i64 %6377
  %6379 = load double, ptr %6378, align 8, !tbaa !11
  %6380 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F75B, double %6379, double %6371)
  %6381 = load ptr, ptr %7, align 8, !tbaa !9
  %6382 = load i32, ptr %12, align 4, !tbaa !5
  %6383 = load i32, ptr %8, align 4, !tbaa !5
  %6384 = mul nsw i32 8, %6383
  %6385 = add nsw i32 %6382, %6384
  %6386 = sext i32 %6385 to i64
  %6387 = getelementptr inbounds double, ptr %6381, i64 %6386
  %6388 = load double, ptr %6387, align 8, !tbaa !11
  %6389 = call double @llvm.fmuladd.f64(double 0x3CF39AF8D87896FD, double %6388, double %6380)
  %6390 = load ptr, ptr %7, align 8, !tbaa !9
  %6391 = load i32, ptr %12, align 4, !tbaa !5
  %6392 = load i32, ptr %8, align 4, !tbaa !5
  %6393 = mul nsw i32 9, %6392
  %6394 = add nsw i32 %6391, %6393
  %6395 = sext i32 %6394 to i64
  %6396 = getelementptr inbounds double, ptr %6390, i64 %6395
  %6397 = load double, ptr %6396, align 8, !tbaa !11
  %6398 = call double @llvm.fmuladd.f64(double 0xBD05A83AA25A713E, double %6397, double %6389)
  %6399 = load ptr, ptr %7, align 8, !tbaa !9
  %6400 = load i32, ptr %12, align 4, !tbaa !5
  %6401 = load i32, ptr %8, align 4, !tbaa !5
  %6402 = mul nsw i32 10, %6401
  %6403 = add nsw i32 %6400, %6402
  %6404 = sext i32 %6403 to i64
  %6405 = getelementptr inbounds double, ptr %6399, i64 %6404
  %6406 = load double, ptr %6405, align 8, !tbaa !11
  %6407 = call double @llvm.fmuladd.f64(double 0x3CE7EC7FBD7E34A3, double %6406, double %6398)
  %6408 = load ptr, ptr %7, align 8, !tbaa !9
  %6409 = load i32, ptr %12, align 4, !tbaa !5
  %6410 = load i32, ptr %8, align 4, !tbaa !5
  %6411 = mul nsw i32 11, %6410
  %6412 = add nsw i32 %6409, %6411
  %6413 = sext i32 %6412 to i64
  %6414 = getelementptr inbounds double, ptr %6408, i64 %6413
  %6415 = load double, ptr %6414, align 8, !tbaa !11
  %6416 = call double @llvm.fmuladd.f64(double 0xBD055F1576963AFE, double %6415, double %6407)
  %6417 = load ptr, ptr %7, align 8, !tbaa !9
  %6418 = load i32, ptr %12, align 4, !tbaa !5
  %6419 = load i32, ptr %8, align 4, !tbaa !5
  %6420 = mul nsw i32 12, %6419
  %6421 = add nsw i32 %6418, %6420
  %6422 = sext i32 %6421 to i64
  %6423 = getelementptr inbounds double, ptr %6417, i64 %6422
  %6424 = load double, ptr %6423, align 8, !tbaa !11
  %6425 = call double @llvm.fmuladd.f64(double 0x3C970362DFEA2854, double %6424, double %6416)
  %6426 = load ptr, ptr %7, align 8, !tbaa !9
  %6427 = load i32, ptr %12, align 4, !tbaa !5
  %6428 = load i32, ptr %8, align 4, !tbaa !5
  %6429 = mul nsw i32 13, %6428
  %6430 = add nsw i32 %6427, %6429
  %6431 = sext i32 %6430 to i64
  %6432 = getelementptr inbounds double, ptr %6426, i64 %6431
  %6433 = load double, ptr %6432, align 8, !tbaa !11
  %6434 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A349A, double %6433, double %6425)
  %6435 = load ptr, ptr %7, align 8, !tbaa !9
  %6436 = load i32, ptr %12, align 4, !tbaa !5
  %6437 = load i32, ptr %8, align 4, !tbaa !5
  %6438 = mul nsw i32 14, %6437
  %6439 = add nsw i32 %6436, %6438
  %6440 = sext i32 %6439 to i64
  %6441 = getelementptr inbounds double, ptr %6435, i64 %6440
  %6442 = load double, ptr %6441, align 8, !tbaa !11
  %6443 = call double @llvm.fmuladd.f64(double 0xBC7565CE1279E84F, double %6442, double %6434)
  %6444 = load ptr, ptr %7, align 8, !tbaa !9
  %6445 = load i32, ptr %12, align 4, !tbaa !5
  %6446 = load i32, ptr %8, align 4, !tbaa !5
  %6447 = mul nsw i32 15, %6446
  %6448 = add nsw i32 %6445, %6447
  %6449 = sext i32 %6448 to i64
  %6450 = getelementptr inbounds double, ptr %6444, i64 %6449
  %6451 = load double, ptr %6450, align 8, !tbaa !11
  %6452 = call double @llvm.fmuladd.f64(double 0xBCB0188D814CF0C8, double %6451, double %6443)
  %6453 = load ptr, ptr %7, align 8, !tbaa !9
  %6454 = load i32, ptr %12, align 4, !tbaa !5
  %6455 = load i32, ptr %8, align 4, !tbaa !5
  %6456 = mul nsw i32 16, %6455
  %6457 = add nsw i32 %6454, %6456
  %6458 = sext i32 %6457 to i64
  %6459 = getelementptr inbounds double, ptr %6453, i64 %6458
  %6460 = load double, ptr %6459, align 8, !tbaa !11
  %6461 = call double @llvm.fmuladd.f64(double 0x3CAC57CB2B44F947, double %6460, double %6452)
  %6462 = load ptr, ptr %7, align 8, !tbaa !9
  %6463 = load i32, ptr %12, align 4, !tbaa !5
  %6464 = load i32, ptr %8, align 4, !tbaa !5
  %6465 = mul nsw i32 17, %6464
  %6466 = add nsw i32 %6463, %6465
  %6467 = sext i32 %6466 to i64
  %6468 = getelementptr inbounds double, ptr %6462, i64 %6467
  %6469 = load double, ptr %6468, align 8, !tbaa !11
  %6470 = call double @llvm.fmuladd.f64(double 0x3C98231206424F20, double %6469, double %6461)
  store double %6470, ptr %11, align 8, !tbaa !11
  %6471 = load double, ptr %11, align 8, !tbaa !11
  %6472 = load ptr, ptr %9, align 8, !tbaa !9
  %6473 = load i32, ptr %12, align 4, !tbaa !5
  %6474 = load i32, ptr %10, align 4, !tbaa !5
  %6475 = mul nsw i32 37, %6474
  %6476 = add nsw i32 %6473, %6475
  %6477 = sext i32 %6476 to i64
  %6478 = getelementptr inbounds double, ptr %6472, i64 %6477
  store double %6471, ptr %6478, align 8, !tbaa !11
  %6479 = load ptr, ptr %7, align 8, !tbaa !9
  %6480 = load i32, ptr %12, align 4, !tbaa !5
  %6481 = load i32, ptr %8, align 4, !tbaa !5
  %6482 = mul nsw i32 0, %6481
  %6483 = add nsw i32 %6480, %6482
  %6484 = sext i32 %6483 to i64
  %6485 = getelementptr inbounds double, ptr %6479, i64 %6484
  %6486 = load double, ptr %6485, align 8, !tbaa !11
  %6487 = load ptr, ptr %7, align 8, !tbaa !9
  %6488 = load i32, ptr %12, align 4, !tbaa !5
  %6489 = load i32, ptr %8, align 4, !tbaa !5
  %6490 = mul nsw i32 1, %6489
  %6491 = add nsw i32 %6488, %6490
  %6492 = sext i32 %6491 to i64
  %6493 = getelementptr inbounds double, ptr %6487, i64 %6492
  %6494 = load double, ptr %6493, align 8, !tbaa !11
  %6495 = fmul double 0xBD080EA3215BACFB, %6494
  %6496 = call double @llvm.fmuladd.f64(double 0xBD08E7AFCAA156E7, double %6486, double %6495)
  %6497 = load ptr, ptr %7, align 8, !tbaa !9
  %6498 = load i32, ptr %12, align 4, !tbaa !5
  %6499 = load i32, ptr %8, align 4, !tbaa !5
  %6500 = mul nsw i32 2, %6499
  %6501 = add nsw i32 %6498, %6500
  %6502 = sext i32 %6501 to i64
  %6503 = getelementptr inbounds double, ptr %6497, i64 %6502
  %6504 = load double, ptr %6503, align 8, !tbaa !11
  %6505 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4D9C, double %6504, double %6496)
  %6506 = load ptr, ptr %7, align 8, !tbaa !9
  %6507 = load i32, ptr %12, align 4, !tbaa !5
  %6508 = load i32, ptr %8, align 4, !tbaa !5
  %6509 = mul nsw i32 3, %6508
  %6510 = add nsw i32 %6507, %6509
  %6511 = sext i32 %6510 to i64
  %6512 = getelementptr inbounds double, ptr %6506, i64 %6511
  %6513 = load double, ptr %6512, align 8, !tbaa !11
  %6514 = call double @llvm.fmuladd.f64(double 0x3D1B6A9B554348D9, double %6513, double %6505)
  %6515 = load ptr, ptr %7, align 8, !tbaa !9
  %6516 = load i32, ptr %12, align 4, !tbaa !5
  %6517 = load i32, ptr %8, align 4, !tbaa !5
  %6518 = mul nsw i32 4, %6517
  %6519 = add nsw i32 %6516, %6518
  %6520 = sext i32 %6519 to i64
  %6521 = getelementptr inbounds double, ptr %6515, i64 %6520
  %6522 = load double, ptr %6521, align 8, !tbaa !11
  %6523 = call double @llvm.fmuladd.f64(double 0x3D1A602CE43D9E05, double %6522, double %6514)
  %6524 = load ptr, ptr %7, align 8, !tbaa !9
  %6525 = load i32, ptr %12, align 4, !tbaa !5
  %6526 = load i32, ptr %8, align 4, !tbaa !5
  %6527 = mul nsw i32 5, %6526
  %6528 = add nsw i32 %6525, %6527
  %6529 = sext i32 %6528 to i64
  %6530 = getelementptr inbounds double, ptr %6524, i64 %6529
  %6531 = load double, ptr %6530, align 8, !tbaa !11
  %6532 = call double @llvm.fmuladd.f64(double 0xBCFB4D0EBD5404E2, double %6531, double %6523)
  %6533 = load ptr, ptr %7, align 8, !tbaa !9
  %6534 = load i32, ptr %12, align 4, !tbaa !5
  %6535 = load i32, ptr %8, align 4, !tbaa !5
  %6536 = mul nsw i32 6, %6535
  %6537 = add nsw i32 %6534, %6536
  %6538 = sext i32 %6537 to i64
  %6539 = getelementptr inbounds double, ptr %6533, i64 %6538
  %6540 = load double, ptr %6539, align 8, !tbaa !11
  %6541 = call double @llvm.fmuladd.f64(double 0x3CF4EA8393C3B47E, double %6540, double %6532)
  %6542 = load ptr, ptr %7, align 8, !tbaa !9
  %6543 = load i32, ptr %12, align 4, !tbaa !5
  %6544 = load i32, ptr %8, align 4, !tbaa !5
  %6545 = mul nsw i32 7, %6544
  %6546 = add nsw i32 %6543, %6545
  %6547 = sext i32 %6546 to i64
  %6548 = getelementptr inbounds double, ptr %6542, i64 %6547
  %6549 = load double, ptr %6548, align 8, !tbaa !11
  %6550 = call double @llvm.fmuladd.f64(double 0x3CF2549348F1AFBD, double %6549, double %6541)
  %6551 = load ptr, ptr %7, align 8, !tbaa !9
  %6552 = load i32, ptr %12, align 4, !tbaa !5
  %6553 = load i32, ptr %8, align 4, !tbaa !5
  %6554 = mul nsw i32 8, %6553
  %6555 = add nsw i32 %6552, %6554
  %6556 = sext i32 %6555 to i64
  %6557 = getelementptr inbounds double, ptr %6551, i64 %6556
  %6558 = load double, ptr %6557, align 8, !tbaa !11
  %6559 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F75B, double %6558, double %6550)
  %6560 = load ptr, ptr %7, align 8, !tbaa !9
  %6561 = load i32, ptr %12, align 4, !tbaa !5
  %6562 = load i32, ptr %8, align 4, !tbaa !5
  %6563 = mul nsw i32 9, %6562
  %6564 = add nsw i32 %6561, %6563
  %6565 = sext i32 %6564 to i64
  %6566 = getelementptr inbounds double, ptr %6560, i64 %6565
  %6567 = load double, ptr %6566, align 8, !tbaa !11
  %6568 = call double @llvm.fmuladd.f64(double 0xBD0538138B737B14, double %6567, double %6559)
  %6569 = load ptr, ptr %7, align 8, !tbaa !9
  %6570 = load i32, ptr %12, align 4, !tbaa !5
  %6571 = load i32, ptr %8, align 4, !tbaa !5
  %6572 = mul nsw i32 10, %6571
  %6573 = add nsw i32 %6570, %6572
  %6574 = sext i32 %6573 to i64
  %6575 = getelementptr inbounds double, ptr %6569, i64 %6574
  %6576 = load double, ptr %6575, align 8, !tbaa !11
  %6577 = call double @llvm.fmuladd.f64(double 0xBD05852E3E6E5F29, double %6576, double %6568)
  %6578 = load ptr, ptr %7, align 8, !tbaa !9
  %6579 = load i32, ptr %12, align 4, !tbaa !5
  %6580 = load i32, ptr %8, align 4, !tbaa !5
  %6581 = mul nsw i32 11, %6580
  %6582 = add nsw i32 %6579, %6581
  %6583 = sext i32 %6582 to i64
  %6584 = getelementptr inbounds double, ptr %6578, i64 %6583
  %6585 = load double, ptr %6584, align 8, !tbaa !11
  %6586 = call double @llvm.fmuladd.f64(double 0x3CE317C6C3C4B7FB, double %6585, double %6577)
  %6587 = load ptr, ptr %7, align 8, !tbaa !9
  %6588 = load i32, ptr %12, align 4, !tbaa !5
  %6589 = load i32, ptr %8, align 4, !tbaa !5
  %6590 = mul nsw i32 12, %6589
  %6591 = add nsw i32 %6588, %6590
  %6592 = sext i32 %6591 to i64
  %6593 = getelementptr inbounds double, ptr %6587, i64 %6592
  %6594 = load double, ptr %6593, align 8, !tbaa !11
  %6595 = call double @llvm.fmuladd.f64(double 0xBCA7907993F5C565, double %6594, double %6586)
  %6596 = load ptr, ptr %7, align 8, !tbaa !9
  %6597 = load i32, ptr %12, align 4, !tbaa !5
  %6598 = load i32, ptr %8, align 4, !tbaa !5
  %6599 = mul nsw i32 13, %6598
  %6600 = add nsw i32 %6597, %6599
  %6601 = sext i32 %6600 to i64
  %6602 = getelementptr inbounds double, ptr %6596, i64 %6601
  %6603 = load double, ptr %6602, align 8, !tbaa !11
  %6604 = call double @llvm.fmuladd.f64(double 0xBCB4627DA761F89E, double %6603, double %6595)
  %6605 = load ptr, ptr %7, align 8, !tbaa !9
  %6606 = load i32, ptr %12, align 4, !tbaa !5
  %6607 = load i32, ptr %8, align 4, !tbaa !5
  %6608 = mul nsw i32 14, %6607
  %6609 = add nsw i32 %6606, %6608
  %6610 = sext i32 %6609 to i64
  %6611 = getelementptr inbounds double, ptr %6605, i64 %6610
  %6612 = load double, ptr %6611, align 8, !tbaa !11
  %6613 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A349B, double %6612, double %6604)
  %6614 = load ptr, ptr %7, align 8, !tbaa !9
  %6615 = load i32, ptr %12, align 4, !tbaa !5
  %6616 = load i32, ptr %8, align 4, !tbaa !5
  %6617 = mul nsw i32 15, %6616
  %6618 = add nsw i32 %6615, %6617
  %6619 = sext i32 %6618 to i64
  %6620 = getelementptr inbounds double, ptr %6614, i64 %6619
  %6621 = load double, ptr %6620, align 8, !tbaa !11
  %6622 = call double @llvm.fmuladd.f64(double 0xBC9EAEE0B6C3EF3F, double %6621, double %6613)
  %6623 = load ptr, ptr %7, align 8, !tbaa !9
  %6624 = load i32, ptr %12, align 4, !tbaa !5
  %6625 = load i32, ptr %8, align 4, !tbaa !5
  %6626 = mul nsw i32 16, %6625
  %6627 = add nsw i32 %6624, %6626
  %6628 = sext i32 %6627 to i64
  %6629 = getelementptr inbounds double, ptr %6623, i64 %6628
  %6630 = load double, ptr %6629, align 8, !tbaa !11
  %6631 = call double @llvm.fmuladd.f64(double 0x3CCD152CD522E8B4, double %6630, double %6622)
  %6632 = load ptr, ptr %7, align 8, !tbaa !9
  %6633 = load i32, ptr %12, align 4, !tbaa !5
  %6634 = load i32, ptr %8, align 4, !tbaa !5
  %6635 = mul nsw i32 17, %6634
  %6636 = add nsw i32 %6633, %6635
  %6637 = sext i32 %6636 to i64
  %6638 = getelementptr inbounds double, ptr %6632, i64 %6637
  %6639 = load double, ptr %6638, align 8, !tbaa !11
  %6640 = call double @llvm.fmuladd.f64(double 0x3CC9AF22A9592C7A, double %6639, double %6631)
  store double %6640, ptr %11, align 8, !tbaa !11
  %6641 = load double, ptr %11, align 8, !tbaa !11
  %6642 = load ptr, ptr %9, align 8, !tbaa !9
  %6643 = load i32, ptr %12, align 4, !tbaa !5
  %6644 = load i32, ptr %10, align 4, !tbaa !5
  %6645 = mul nsw i32 38, %6644
  %6646 = add nsw i32 %6643, %6645
  %6647 = sext i32 %6646 to i64
  %6648 = getelementptr inbounds double, ptr %6642, i64 %6647
  store double %6641, ptr %6648, align 8, !tbaa !11
  %6649 = load ptr, ptr %7, align 8, !tbaa !9
  %6650 = load i32, ptr %12, align 4, !tbaa !5
  %6651 = load i32, ptr %8, align 4, !tbaa !5
  %6652 = mul nsw i32 0, %6651
  %6653 = add nsw i32 %6650, %6652
  %6654 = sext i32 %6653 to i64
  %6655 = getelementptr inbounds double, ptr %6649, i64 %6654
  %6656 = load double, ptr %6655, align 8, !tbaa !11
  %6657 = load ptr, ptr %7, align 8, !tbaa !9
  %6658 = load i32, ptr %12, align 4, !tbaa !5
  %6659 = load i32, ptr %8, align 4, !tbaa !5
  %6660 = mul nsw i32 1, %6659
  %6661 = add nsw i32 %6658, %6660
  %6662 = sext i32 %6661 to i64
  %6663 = getelementptr inbounds double, ptr %6657, i64 %6662
  %6664 = load double, ptr %6663, align 8, !tbaa !11
  %6665 = fmul double 0x3D0A84FAA72D5A19, %6664
  %6666 = call double @llvm.fmuladd.f64(double 0xBCEB61ECA327B8E3, double %6656, double %6665)
  %6667 = load ptr, ptr %7, align 8, !tbaa !9
  %6668 = load i32, ptr %12, align 4, !tbaa !5
  %6669 = load i32, ptr %8, align 4, !tbaa !5
  %6670 = mul nsw i32 2, %6669
  %6671 = add nsw i32 %6668, %6670
  %6672 = sext i32 %6671 to i64
  %6673 = getelementptr inbounds double, ptr %6667, i64 %6672
  %6674 = load double, ptr %6673, align 8, !tbaa !11
  %6675 = call double @llvm.fmuladd.f64(double 0x3D0A7D9F313861AC, double %6674, double %6666)
  %6676 = load ptr, ptr %7, align 8, !tbaa !9
  %6677 = load i32, ptr %12, align 4, !tbaa !5
  %6678 = load i32, ptr %8, align 4, !tbaa !5
  %6679 = mul nsw i32 3, %6678
  %6680 = add nsw i32 %6677, %6679
  %6681 = sext i32 %6680 to i64
  %6682 = getelementptr inbounds double, ptr %6676, i64 %6681
  %6683 = load double, ptr %6682, align 8, !tbaa !11
  %6684 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4E48, double %6683, double %6675)
  %6685 = load ptr, ptr %7, align 8, !tbaa !9
  %6686 = load i32, ptr %12, align 4, !tbaa !5
  %6687 = load i32, ptr %8, align 4, !tbaa !5
  %6688 = mul nsw i32 4, %6687
  %6689 = add nsw i32 %6686, %6688
  %6690 = sext i32 %6689 to i64
  %6691 = getelementptr inbounds double, ptr %6685, i64 %6690
  %6692 = load double, ptr %6691, align 8, !tbaa !11
  %6693 = call double @llvm.fmuladd.f64(double 0x3D036D617FD6379E, double %6692, double %6684)
  %6694 = load ptr, ptr %7, align 8, !tbaa !9
  %6695 = load i32, ptr %12, align 4, !tbaa !5
  %6696 = load i32, ptr %8, align 4, !tbaa !5
  %6697 = mul nsw i32 5, %6696
  %6698 = add nsw i32 %6695, %6697
  %6699 = sext i32 %6698 to i64
  %6700 = getelementptr inbounds double, ptr %6694, i64 %6699
  %6701 = load double, ptr %6700, align 8, !tbaa !11
  %6702 = call double @llvm.fmuladd.f64(double 0x3D027FF2929BF693, double %6701, double %6693)
  %6703 = load ptr, ptr %7, align 8, !tbaa !9
  %6704 = load i32, ptr %12, align 4, !tbaa !5
  %6705 = load i32, ptr %8, align 4, !tbaa !5
  %6706 = mul nsw i32 6, %6705
  %6707 = add nsw i32 %6704, %6706
  %6708 = sext i32 %6707 to i64
  %6709 = getelementptr inbounds double, ptr %6703, i64 %6708
  %6710 = load double, ptr %6709, align 8, !tbaa !11
  %6711 = call double @llvm.fmuladd.f64(double 0x3CD83F1576963B00, double %6710, double %6702)
  %6712 = load ptr, ptr %7, align 8, !tbaa !9
  %6713 = load i32, ptr %12, align 4, !tbaa !5
  %6714 = load i32, ptr %8, align 4, !tbaa !5
  %6715 = mul nsw i32 7, %6714
  %6716 = add nsw i32 %6713, %6715
  %6717 = sext i32 %6716 to i64
  %6718 = getelementptr inbounds double, ptr %6712, i64 %6717
  %6719 = load double, ptr %6718, align 8, !tbaa !11
  %6720 = call double @llvm.fmuladd.f64(double 0xBCF5B52E3E6E5F2B, double %6719, double %6711)
  %6721 = load ptr, ptr %7, align 8, !tbaa !9
  %6722 = load i32, ptr %12, align 4, !tbaa !5
  %6723 = load i32, ptr %8, align 4, !tbaa !5
  %6724 = mul nsw i32 8, %6723
  %6725 = add nsw i32 %6722, %6724
  %6726 = sext i32 %6725 to i64
  %6727 = getelementptr inbounds double, ptr %6721, i64 %6726
  %6728 = load double, ptr %6727, align 8, !tbaa !11
  %6729 = call double @llvm.fmuladd.f64(double 0xBCF61B6CB70E5044, double %6728, double %6720)
  %6730 = load ptr, ptr %7, align 8, !tbaa !9
  %6731 = load i32, ptr %12, align 4, !tbaa !5
  %6732 = load i32, ptr %8, align 4, !tbaa !5
  %6733 = mul nsw i32 9, %6732
  %6734 = add nsw i32 %6731, %6733
  %6735 = sext i32 %6734 to i64
  %6736 = getelementptr inbounds double, ptr %6730, i64 %6735
  %6737 = load double, ptr %6736, align 8, !tbaa !11
  %6738 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F717, double %6737, double %6729)
  %6739 = load ptr, ptr %7, align 8, !tbaa !9
  %6740 = load i32, ptr %12, align 4, !tbaa !5
  %6741 = load i32, ptr %8, align 4, !tbaa !5
  %6742 = mul nsw i32 10, %6741
  %6743 = add nsw i32 %6740, %6742
  %6744 = sext i32 %6743 to i64
  %6745 = getelementptr inbounds double, ptr %6739, i64 %6744
  %6746 = load double, ptr %6745, align 8, !tbaa !11
  %6747 = call double @llvm.fmuladd.f64(double 0xBCEFF3CE704FB7B1, double %6746, double %6738)
  %6748 = load ptr, ptr %7, align 8, !tbaa !9
  %6749 = load i32, ptr %12, align 4, !tbaa !5
  %6750 = load i32, ptr %8, align 4, !tbaa !5
  %6751 = mul nsw i32 11, %6750
  %6752 = add nsw i32 %6749, %6751
  %6753 = sext i32 %6752 to i64
  %6754 = getelementptr inbounds double, ptr %6748, i64 %6753
  %6755 = load double, ptr %6754, align 8, !tbaa !11
  %6756 = call double @llvm.fmuladd.f64(double 0xBCEE546ACBEB905B, double %6755, double %6747)
  %6757 = load ptr, ptr %7, align 8, !tbaa !9
  %6758 = load i32, ptr %12, align 4, !tbaa !5
  %6759 = load i32, ptr %8, align 4, !tbaa !5
  %6760 = mul nsw i32 12, %6759
  %6761 = add nsw i32 %6758, %6760
  %6762 = sext i32 %6761 to i64
  %6763 = getelementptr inbounds double, ptr %6757, i64 %6762
  %6764 = load double, ptr %6763, align 8, !tbaa !11
  %6765 = call double @llvm.fmuladd.f64(double 0xBCA0F732AF6EE969, double %6764, double %6756)
  %6766 = load ptr, ptr %7, align 8, !tbaa !9
  %6767 = load i32, ptr %12, align 4, !tbaa !5
  %6768 = load i32, ptr %8, align 4, !tbaa !5
  %6769 = mul nsw i32 13, %6768
  %6770 = add nsw i32 %6767, %6769
  %6771 = sext i32 %6770 to i64
  %6772 = getelementptr inbounds double, ptr %6766, i64 %6771
  %6773 = load double, ptr %6772, align 8, !tbaa !11
  %6774 = call double @llvm.fmuladd.f64(double 0x3CB2FCB85F5C617B, double %6773, double %6765)
  %6775 = load ptr, ptr %7, align 8, !tbaa !9
  %6776 = load i32, ptr %12, align 4, !tbaa !5
  %6777 = load i32, ptr %8, align 4, !tbaa !5
  %6778 = mul nsw i32 14, %6777
  %6779 = add nsw i32 %6776, %6778
  %6780 = sext i32 %6779 to i64
  %6781 = getelementptr inbounds double, ptr %6775, i64 %6780
  %6782 = load double, ptr %6781, align 8, !tbaa !11
  %6783 = call double @llvm.fmuladd.f64(double 0x3CC17DC87F455351, double %6782, double %6774)
  %6784 = load ptr, ptr %7, align 8, !tbaa !9
  %6785 = load i32, ptr %12, align 4, !tbaa !5
  %6786 = load i32, ptr %8, align 4, !tbaa !5
  %6787 = mul nsw i32 15, %6786
  %6788 = add nsw i32 %6785, %6787
  %6789 = sext i32 %6788 to i64
  %6790 = getelementptr inbounds double, ptr %6784, i64 %6789
  %6791 = load double, ptr %6790, align 8, !tbaa !11
  %6792 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3496, double %6791, double %6783)
  %6793 = load ptr, ptr %7, align 8, !tbaa !9
  %6794 = load i32, ptr %12, align 4, !tbaa !5
  %6795 = load i32, ptr %8, align 4, !tbaa !5
  %6796 = mul nsw i32 16, %6795
  %6797 = add nsw i32 %6794, %6796
  %6798 = sext i32 %6797 to i64
  %6799 = getelementptr inbounds double, ptr %6793, i64 %6798
  %6800 = load double, ptr %6799, align 8, !tbaa !11
  %6801 = call double @llvm.fmuladd.f64(double 0x3CA791A32887A121, double %6800, double %6792)
  %6802 = load ptr, ptr %7, align 8, !tbaa !9
  %6803 = load i32, ptr %12, align 4, !tbaa !5
  %6804 = load i32, ptr %8, align 4, !tbaa !5
  %6805 = mul nsw i32 17, %6804
  %6806 = add nsw i32 %6803, %6805
  %6807 = sext i32 %6806 to i64
  %6808 = getelementptr inbounds double, ptr %6802, i64 %6807
  %6809 = load double, ptr %6808, align 8, !tbaa !11
  %6810 = call double @llvm.fmuladd.f64(double 0x3CB12159E6369CA7, double %6809, double %6801)
  store double %6810, ptr %11, align 8, !tbaa !11
  %6811 = load double, ptr %11, align 8, !tbaa !11
  %6812 = load ptr, ptr %9, align 8, !tbaa !9
  %6813 = load i32, ptr %12, align 4, !tbaa !5
  %6814 = load i32, ptr %10, align 4, !tbaa !5
  %6815 = mul nsw i32 39, %6814
  %6816 = add nsw i32 %6813, %6815
  %6817 = sext i32 %6816 to i64
  %6818 = getelementptr inbounds double, ptr %6812, i64 %6817
  store double %6811, ptr %6818, align 8, !tbaa !11
  %6819 = load ptr, ptr %7, align 8, !tbaa !9
  %6820 = load i32, ptr %12, align 4, !tbaa !5
  %6821 = load i32, ptr %8, align 4, !tbaa !5
  %6822 = mul nsw i32 0, %6821
  %6823 = add nsw i32 %6820, %6822
  %6824 = sext i32 %6823 to i64
  %6825 = getelementptr inbounds double, ptr %6819, i64 %6824
  %6826 = load double, ptr %6825, align 8, !tbaa !11
  %6827 = load ptr, ptr %7, align 8, !tbaa !9
  %6828 = load i32, ptr %12, align 4, !tbaa !5
  %6829 = load i32, ptr %8, align 4, !tbaa !5
  %6830 = mul nsw i32 1, %6829
  %6831 = add nsw i32 %6828, %6830
  %6832 = sext i32 %6831 to i64
  %6833 = getelementptr inbounds double, ptr %6827, i64 %6832
  %6834 = load double, ptr %6833, align 8, !tbaa !11
  %6835 = fmul double 0xBCF04E8D6B1B7312, %6834
  %6836 = call double @llvm.fmuladd.f64(double 0x3D0962BFBF7950FE, double %6826, double %6835)
  %6837 = load ptr, ptr %7, align 8, !tbaa !9
  %6838 = load i32, ptr %12, align 4, !tbaa !5
  %6839 = load i32, ptr %8, align 4, !tbaa !5
  %6840 = mul nsw i32 2, %6839
  %6841 = add nsw i32 %6838, %6840
  %6842 = sext i32 %6841 to i64
  %6843 = getelementptr inbounds double, ptr %6837, i64 %6842
  %6844 = load double, ptr %6843, align 8, !tbaa !11
  %6845 = call double @llvm.fmuladd.f64(double 0x3D094FA68F9AC90D, double %6844, double %6836)
  %6846 = load ptr, ptr %7, align 8, !tbaa !9
  %6847 = load i32, ptr %12, align 4, !tbaa !5
  %6848 = load i32, ptr %8, align 4, !tbaa !5
  %6849 = mul nsw i32 3, %6848
  %6850 = add nsw i32 %6847, %6849
  %6851 = sext i32 %6850 to i64
  %6852 = getelementptr inbounds double, ptr %6846, i64 %6851
  %6853 = load double, ptr %6852, align 8, !tbaa !11
  %6854 = call double @llvm.fmuladd.f64(double 0x3D0245B3F19FA08F, double %6853, double %6845)
  %6855 = load ptr, ptr %7, align 8, !tbaa !9
  %6856 = load i32, ptr %12, align 4, !tbaa !5
  %6857 = load i32, ptr %8, align 4, !tbaa !5
  %6858 = mul nsw i32 4, %6857
  %6859 = add nsw i32 %6856, %6858
  %6860 = sext i32 %6859 to i64
  %6861 = getelementptr inbounds double, ptr %6855, i64 %6860
  %6862 = load double, ptr %6861, align 8, !tbaa !11
  %6863 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4E48, double %6862, double %6854)
  %6864 = load ptr, ptr %7, align 8, !tbaa !9
  %6865 = load i32, ptr %12, align 4, !tbaa !5
  %6866 = load i32, ptr %8, align 4, !tbaa !5
  %6867 = mul nsw i32 5, %6866
  %6868 = add nsw i32 %6865, %6867
  %6869 = sext i32 %6868 to i64
  %6870 = getelementptr inbounds double, ptr %6864, i64 %6869
  %6871 = load double, ptr %6870, align 8, !tbaa !11
  %6872 = call double @llvm.fmuladd.f64(double 0x3D056D8568281090, double %6871, double %6863)
  %6873 = load ptr, ptr %7, align 8, !tbaa !9
  %6874 = load i32, ptr %12, align 4, !tbaa !5
  %6875 = load i32, ptr %8, align 4, !tbaa !5
  %6876 = mul nsw i32 6, %6875
  %6877 = add nsw i32 %6874, %6876
  %6878 = sext i32 %6877 to i64
  %6879 = getelementptr inbounds double, ptr %6873, i64 %6878
  %6880 = load double, ptr %6879, align 8, !tbaa !11
  %6881 = call double @llvm.fmuladd.f64(double 0xBCF473CE704FB7B1, double %6880, double %6872)
  %6882 = load ptr, ptr %7, align 8, !tbaa !9
  %6883 = load i32, ptr %12, align 4, !tbaa !5
  %6884 = load i32, ptr %8, align 4, !tbaa !5
  %6885 = mul nsw i32 7, %6884
  %6886 = add nsw i32 %6883, %6885
  %6887 = sext i32 %6886 to i64
  %6888 = getelementptr inbounds double, ptr %6882, i64 %6887
  %6889 = load double, ptr %6888, align 8, !tbaa !11
  %6890 = call double @llvm.fmuladd.f64(double 0x3CDC972A6828DF4A, double %6889, double %6881)
  %6891 = load ptr, ptr %7, align 8, !tbaa !9
  %6892 = load i32, ptr %12, align 4, !tbaa !5
  %6893 = load i32, ptr %8, align 4, !tbaa !5
  %6894 = mul nsw i32 8, %6893
  %6895 = add nsw i32 %6892, %6894
  %6896 = sext i32 %6895 to i64
  %6897 = getelementptr inbounds double, ptr %6891, i64 %6896
  %6898 = load double, ptr %6897, align 8, !tbaa !11
  %6899 = call double @llvm.fmuladd.f64(double 0xBCF52443B5049A2F, double %6898, double %6890)
  %6900 = load ptr, ptr %7, align 8, !tbaa !9
  %6901 = load i32, ptr %12, align 4, !tbaa !5
  %6902 = load i32, ptr %8, align 4, !tbaa !5
  %6903 = mul nsw i32 9, %6902
  %6904 = add nsw i32 %6901, %6903
  %6905 = sext i32 %6904 to i64
  %6906 = getelementptr inbounds double, ptr %6900, i64 %6905
  %6907 = load double, ptr %6906, align 8, !tbaa !11
  %6908 = call double @llvm.fmuladd.f64(double 0xBCEB3EC748C84EAF, double %6907, double %6899)
  %6909 = load ptr, ptr %7, align 8, !tbaa !9
  %6910 = load i32, ptr %12, align 4, !tbaa !5
  %6911 = load i32, ptr %8, align 4, !tbaa !5
  %6912 = mul nsw i32 10, %6911
  %6913 = add nsw i32 %6910, %6912
  %6914 = sext i32 %6913 to i64
  %6915 = getelementptr inbounds double, ptr %6909, i64 %6914
  %6916 = load double, ptr %6915, align 8, !tbaa !11
  %6917 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F71C, double %6916, double %6908)
  %6918 = load ptr, ptr %7, align 8, !tbaa !9
  %6919 = load i32, ptr %12, align 4, !tbaa !5
  %6920 = load i32, ptr %8, align 4, !tbaa !5
  %6921 = mul nsw i32 11, %6920
  %6922 = add nsw i32 %6919, %6921
  %6923 = sext i32 %6922 to i64
  %6924 = getelementptr inbounds double, ptr %6918, i64 %6923
  %6925 = load double, ptr %6924, align 8, !tbaa !11
  %6926 = call double @llvm.fmuladd.f64(double 0xBCF0EA0E4F0ED202, double %6925, double %6917)
  %6927 = load ptr, ptr %7, align 8, !tbaa !9
  %6928 = load i32, ptr %12, align 4, !tbaa !5
  %6929 = load i32, ptr %8, align 4, !tbaa !5
  %6930 = mul nsw i32 12, %6929
  %6931 = add nsw i32 %6928, %6930
  %6932 = sext i32 %6931 to i64
  %6933 = getelementptr inbounds double, ptr %6927, i64 %6932
  %6934 = load double, ptr %6933, align 8, !tbaa !11
  %6935 = call double @llvm.fmuladd.f64(double 0xBC957D30E9E11EAA, double %6934, double %6926)
  %6936 = load ptr, ptr %7, align 8, !tbaa !9
  %6937 = load i32, ptr %12, align 4, !tbaa !5
  %6938 = load i32, ptr %8, align 4, !tbaa !5
  %6939 = mul nsw i32 13, %6938
  %6940 = add nsw i32 %6937, %6939
  %6941 = sext i32 %6940 to i64
  %6942 = getelementptr inbounds double, ptr %6936, i64 %6941
  %6943 = load double, ptr %6942, align 8, !tbaa !11
  %6944 = call double @llvm.fmuladd.f64(double 0xBCB020EF0806595A, double %6943, double %6935)
  %6945 = load ptr, ptr %7, align 8, !tbaa !9
  %6946 = load i32, ptr %12, align 4, !tbaa !5
  %6947 = load i32, ptr %8, align 4, !tbaa !5
  %6948 = mul nsw i32 14, %6947
  %6949 = add nsw i32 %6946, %6948
  %6950 = sext i32 %6949 to i64
  %6951 = getelementptr inbounds double, ptr %6945, i64 %6950
  %6952 = load double, ptr %6951, align 8, !tbaa !11
  %6953 = call double @llvm.fmuladd.f64(double 0x3C995AF6A0FAA3BA, double %6952, double %6944)
  %6954 = load ptr, ptr %7, align 8, !tbaa !9
  %6955 = load i32, ptr %12, align 4, !tbaa !5
  %6956 = load i32, ptr %8, align 4, !tbaa !5
  %6957 = mul nsw i32 15, %6956
  %6958 = add nsw i32 %6955, %6957
  %6959 = sext i32 %6958 to i64
  %6960 = getelementptr inbounds double, ptr %6954, i64 %6959
  %6961 = load double, ptr %6960, align 8, !tbaa !11
  %6962 = call double @llvm.fmuladd.f64(double 0xBC7660BBB7D81C3F, double %6961, double %6953)
  %6963 = load ptr, ptr %7, align 8, !tbaa !9
  %6964 = load i32, ptr %12, align 4, !tbaa !5
  %6965 = load i32, ptr %8, align 4, !tbaa !5
  %6966 = mul nsw i32 16, %6965
  %6967 = add nsw i32 %6964, %6966
  %6968 = sext i32 %6967 to i64
  %6969 = getelementptr inbounds double, ptr %6963, i64 %6968
  %6970 = load double, ptr %6969, align 8, !tbaa !11
  %6971 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3494, double %6970, double %6962)
  %6972 = load ptr, ptr %7, align 8, !tbaa !9
  %6973 = load i32, ptr %12, align 4, !tbaa !5
  %6974 = load i32, ptr %8, align 4, !tbaa !5
  %6975 = mul nsw i32 17, %6974
  %6976 = add nsw i32 %6973, %6975
  %6977 = sext i32 %6976 to i64
  %6978 = getelementptr inbounds double, ptr %6972, i64 %6977
  %6979 = load double, ptr %6978, align 8, !tbaa !11
  %6980 = call double @llvm.fmuladd.f64(double 0x3CC2ED1D85004B30, double %6979, double %6971)
  store double %6980, ptr %11, align 8, !tbaa !11
  %6981 = load double, ptr %11, align 8, !tbaa !11
  %6982 = load ptr, ptr %9, align 8, !tbaa !9
  %6983 = load i32, ptr %12, align 4, !tbaa !5
  %6984 = load i32, ptr %10, align 4, !tbaa !5
  %6985 = mul nsw i32 40, %6984
  %6986 = add nsw i32 %6983, %6985
  %6987 = sext i32 %6986 to i64
  %6988 = getelementptr inbounds double, ptr %6982, i64 %6987
  store double %6981, ptr %6988, align 8, !tbaa !11
  %6989 = load ptr, ptr %7, align 8, !tbaa !9
  %6990 = load i32, ptr %12, align 4, !tbaa !5
  %6991 = load i32, ptr %8, align 4, !tbaa !5
  %6992 = mul nsw i32 0, %6991
  %6993 = add nsw i32 %6990, %6992
  %6994 = sext i32 %6993 to i64
  %6995 = getelementptr inbounds double, ptr %6989, i64 %6994
  %6996 = load double, ptr %6995, align 8, !tbaa !11
  %6997 = load ptr, ptr %7, align 8, !tbaa !9
  %6998 = load i32, ptr %12, align 4, !tbaa !5
  %6999 = load i32, ptr %8, align 4, !tbaa !5
  %7000 = mul nsw i32 1, %6999
  %7001 = add nsw i32 %6998, %7000
  %7002 = sext i32 %7001 to i64
  %7003 = getelementptr inbounds double, ptr %6997, i64 %7002
  %7004 = load double, ptr %7003, align 8, !tbaa !11
  %7005 = fmul double 0x3D094FBC9693CCC3, %7004
  %7006 = call double @llvm.fmuladd.f64(double 0x3D09F39F45669420, double %6996, double %7005)
  %7007 = load ptr, ptr %7, align 8, !tbaa !9
  %7008 = load i32, ptr %12, align 4, !tbaa !5
  %7009 = load i32, ptr %8, align 4, !tbaa !5
  %7010 = mul nsw i32 2, %7009
  %7011 = add nsw i32 %7008, %7010
  %7012 = sext i32 %7011 to i64
  %7013 = getelementptr inbounds double, ptr %7007, i64 %7012
  %7014 = load double, ptr %7013, align 8, !tbaa !11
  %7015 = call double @llvm.fmuladd.f64(double 0xBCF0CC0D6843A692, double %7014, double %7006)
  %7016 = load ptr, ptr %7, align 8, !tbaa !9
  %7017 = load i32, ptr %12, align 4, !tbaa !5
  %7018 = load i32, ptr %8, align 4, !tbaa !5
  %7019 = mul nsw i32 3, %7018
  %7020 = add nsw i32 %7017, %7019
  %7021 = sext i32 %7020 to i64
  %7022 = getelementptr inbounds double, ptr %7016, i64 %7021
  %7023 = load double, ptr %7022, align 8, !tbaa !11
  %7024 = call double @llvm.fmuladd.f64(double 0x3D02CCBAD3CD71B6, double %7023, double %7015)
  %7025 = load ptr, ptr %7, align 8, !tbaa !9
  %7026 = load i32, ptr %12, align 4, !tbaa !5
  %7027 = load i32, ptr %8, align 4, !tbaa !5
  %7028 = mul nsw i32 4, %7027
  %7029 = add nsw i32 %7026, %7028
  %7030 = sext i32 %7029 to i64
  %7031 = getelementptr inbounds double, ptr %7025, i64 %7030
  %7032 = load double, ptr %7031, align 8, !tbaa !11
  %7033 = call double @llvm.fmuladd.f64(double 0x3D0684AE6A31C6A8, double %7032, double %7024)
  %7034 = load ptr, ptr %7, align 8, !tbaa !9
  %7035 = load i32, ptr %12, align 4, !tbaa !5
  %7036 = load i32, ptr %8, align 4, !tbaa !5
  %7037 = mul nsw i32 5, %7036
  %7038 = add nsw i32 %7035, %7037
  %7039 = sext i32 %7038 to i64
  %7040 = getelementptr inbounds double, ptr %7034, i64 %7039
  %7041 = load double, ptr %7040, align 8, !tbaa !11
  %7042 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4E48, double %7041, double %7033)
  %7043 = load ptr, ptr %7, align 8, !tbaa !9
  %7044 = load i32, ptr %12, align 4, !tbaa !5
  %7045 = load i32, ptr %8, align 4, !tbaa !5
  %7046 = mul nsw i32 6, %7045
  %7047 = add nsw i32 %7044, %7046
  %7048 = sext i32 %7047 to i64
  %7049 = getelementptr inbounds double, ptr %7043, i64 %7048
  %7050 = load double, ptr %7049, align 8, !tbaa !11
  %7051 = call double @llvm.fmuladd.f64(double 0xBCF4BE5204136C30, double %7050, double %7042)
  %7052 = load ptr, ptr %7, align 8, !tbaa !9
  %7053 = load i32, ptr %12, align 4, !tbaa !5
  %7054 = load i32, ptr %8, align 4, !tbaa !5
  %7055 = mul nsw i32 7, %7054
  %7056 = add nsw i32 %7053, %7055
  %7057 = sext i32 %7056 to i64
  %7058 = getelementptr inbounds double, ptr %7052, i64 %7057
  %7059 = load double, ptr %7058, align 8, !tbaa !11
  %7060 = call double @llvm.fmuladd.f64(double 0xBCF3302716E6F62B, double %7059, double %7051)
  %7061 = load ptr, ptr %7, align 8, !tbaa !9
  %7062 = load i32, ptr %12, align 4, !tbaa !5
  %7063 = load i32, ptr %8, align 4, !tbaa !5
  %7064 = mul nsw i32 8, %7063
  %7065 = add nsw i32 %7062, %7064
  %7066 = sext i32 %7065 to i64
  %7067 = getelementptr inbounds double, ptr %7061, i64 %7066
  %7068 = load double, ptr %7067, align 8, !tbaa !11
  %7069 = call double @llvm.fmuladd.f64(double 0x3CD8A971F372F94D, double %7068, double %7060)
  %7070 = load ptr, ptr %7, align 8, !tbaa !9
  %7071 = load i32, ptr %12, align 4, !tbaa !5
  %7072 = load i32, ptr %8, align 4, !tbaa !5
  %7073 = mul nsw i32 9, %7072
  %7074 = add nsw i32 %7071, %7073
  %7075 = sext i32 %7074 to i64
  %7076 = getelementptr inbounds double, ptr %7070, i64 %7075
  %7077 = load double, ptr %7076, align 8, !tbaa !11
  %7078 = call double @llvm.fmuladd.f64(double 0xBCEE0138B737B153, double %7077, double %7069)
  %7079 = load ptr, ptr %7, align 8, !tbaa !9
  %7080 = load i32, ptr %12, align 4, !tbaa !5
  %7081 = load i32, ptr %8, align 4, !tbaa !5
  %7082 = mul nsw i32 10, %7081
  %7083 = add nsw i32 %7080, %7082
  %7084 = sext i32 %7083 to i64
  %7085 = getelementptr inbounds double, ptr %7079, i64 %7084
  %7086 = load double, ptr %7085, align 8, !tbaa !11
  %7087 = call double @llvm.fmuladd.f64(double 0xBCF1BE2AED2C7606, double %7086, double %7078)
  %7088 = load ptr, ptr %7, align 8, !tbaa !9
  %7089 = load i32, ptr %12, align 4, !tbaa !5
  %7090 = load i32, ptr %8, align 4, !tbaa !5
  %7091 = mul nsw i32 11, %7090
  %7092 = add nsw i32 %7089, %7091
  %7093 = sext i32 %7092 to i64
  %7094 = getelementptr inbounds double, ptr %7088, i64 %7093
  %7095 = load double, ptr %7094, align 8, !tbaa !11
  %7096 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F717, double %7095, double %7087)
  %7097 = load ptr, ptr %7, align 8, !tbaa !9
  %7098 = load i32, ptr %12, align 4, !tbaa !5
  %7099 = load i32, ptr %8, align 4, !tbaa !5
  %7100 = mul nsw i32 12, %7099
  %7101 = add nsw i32 %7098, %7100
  %7102 = sext i32 %7101 to i64
  %7103 = getelementptr inbounds double, ptr %7097, i64 %7102
  %7104 = load double, ptr %7103, align 8, !tbaa !11
  %7105 = call double @llvm.fmuladd.f64(double 0x3C89DD26D5B75F58, double %7104, double %7096)
  %7106 = load ptr, ptr %7, align 8, !tbaa !9
  %7107 = load i32, ptr %12, align 4, !tbaa !5
  %7108 = load i32, ptr %8, align 4, !tbaa !5
  %7109 = mul nsw i32 13, %7108
  %7110 = add nsw i32 %7107, %7109
  %7111 = sext i32 %7110 to i64
  %7112 = getelementptr inbounds double, ptr %7106, i64 %7111
  %7113 = load double, ptr %7112, align 8, !tbaa !11
  %7114 = call double @llvm.fmuladd.f64(double 0xBCAB2729CD0FE620, double %7113, double %7105)
  %7115 = load ptr, ptr %7, align 8, !tbaa !9
  %7116 = load i32, ptr %12, align 4, !tbaa !5
  %7117 = load i32, ptr %8, align 4, !tbaa !5
  %7118 = mul nsw i32 14, %7117
  %7119 = add nsw i32 %7116, %7118
  %7120 = sext i32 %7119 to i64
  %7121 = getelementptr inbounds double, ptr %7115, i64 %7120
  %7122 = load double, ptr %7121, align 8, !tbaa !11
  %7123 = call double @llvm.fmuladd.f64(double 0x3CB60C661FD23425, double %7122, double %7114)
  %7124 = load ptr, ptr %7, align 8, !tbaa !9
  %7125 = load i32, ptr %12, align 4, !tbaa !5
  %7126 = load i32, ptr %8, align 4, !tbaa !5
  %7127 = mul nsw i32 15, %7126
  %7128 = add nsw i32 %7125, %7127
  %7129 = sext i32 %7128 to i64
  %7130 = getelementptr inbounds double, ptr %7124, i64 %7129
  %7131 = load double, ptr %7130, align 8, !tbaa !11
  %7132 = call double @llvm.fmuladd.f64(double 0x3CA4E4D6801EA791, double %7131, double %7123)
  %7133 = load ptr, ptr %7, align 8, !tbaa !9
  %7134 = load i32, ptr %12, align 4, !tbaa !5
  %7135 = load i32, ptr %8, align 4, !tbaa !5
  %7136 = mul nsw i32 16, %7135
  %7137 = add nsw i32 %7134, %7136
  %7138 = sext i32 %7137 to i64
  %7139 = getelementptr inbounds double, ptr %7133, i64 %7138
  %7140 = load double, ptr %7139, align 8, !tbaa !11
  %7141 = call double @llvm.fmuladd.f64(double 0xBC7BA72BEBF9CA81, double %7140, double %7132)
  %7142 = load ptr, ptr %7, align 8, !tbaa !9
  %7143 = load i32, ptr %12, align 4, !tbaa !5
  %7144 = load i32, ptr %8, align 4, !tbaa !5
  %7145 = mul nsw i32 17, %7144
  %7146 = add nsw i32 %7143, %7145
  %7147 = sext i32 %7146 to i64
  %7148 = getelementptr inbounds double, ptr %7142, i64 %7147
  %7149 = load double, ptr %7148, align 8, !tbaa !11
  %7150 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A349A, double %7149, double %7141)
  store double %7150, ptr %11, align 8, !tbaa !11
  %7151 = load double, ptr %11, align 8, !tbaa !11
  %7152 = load ptr, ptr %9, align 8, !tbaa !9
  %7153 = load i32, ptr %12, align 4, !tbaa !5
  %7154 = load i32, ptr %10, align 4, !tbaa !5
  %7155 = mul nsw i32 41, %7154
  %7156 = add nsw i32 %7153, %7155
  %7157 = sext i32 %7156 to i64
  %7158 = getelementptr inbounds double, ptr %7152, i64 %7157
  store double %7151, ptr %7158, align 8, !tbaa !11
  %7159 = load ptr, ptr %7, align 8, !tbaa !9
  %7160 = load i32, ptr %12, align 4, !tbaa !5
  %7161 = load i32, ptr %8, align 4, !tbaa !5
  %7162 = mul nsw i32 0, %7161
  %7163 = add nsw i32 %7160, %7162
  %7164 = sext i32 %7163 to i64
  %7165 = getelementptr inbounds double, ptr %7159, i64 %7164
  %7166 = load double, ptr %7165, align 8, !tbaa !11
  %7167 = load ptr, ptr %7, align 8, !tbaa !9
  %7168 = load i32, ptr %12, align 4, !tbaa !5
  %7169 = load i32, ptr %8, align 4, !tbaa !5
  %7170 = mul nsw i32 1, %7169
  %7171 = add nsw i32 %7168, %7170
  %7172 = sext i32 %7171 to i64
  %7173 = getelementptr inbounds double, ptr %7167, i64 %7172
  %7174 = load double, ptr %7173, align 8, !tbaa !11
  %7175 = fmul double 0x3CE92F44973E98E2, %7174
  %7176 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC16D, double %7166, double %7175)
  %7177 = load ptr, ptr %7, align 8, !tbaa !9
  %7178 = load i32, ptr %12, align 4, !tbaa !5
  %7179 = load i32, ptr %8, align 4, !tbaa !5
  %7180 = mul nsw i32 2, %7179
  %7181 = add nsw i32 %7178, %7180
  %7182 = sext i32 %7181 to i64
  %7183 = getelementptr inbounds double, ptr %7177, i64 %7182
  %7184 = load double, ptr %7183, align 8, !tbaa !11
  %7185 = call double @llvm.fmuladd.f64(double 0x3CE8D765A1B41E69, double %7184, double %7176)
  %7186 = load ptr, ptr %7, align 8, !tbaa !9
  %7187 = load i32, ptr %12, align 4, !tbaa !5
  %7188 = load i32, ptr %8, align 4, !tbaa !5
  %7189 = mul nsw i32 3, %7188
  %7190 = add nsw i32 %7187, %7189
  %7191 = sext i32 %7190 to i64
  %7192 = getelementptr inbounds double, ptr %7186, i64 %7191
  %7193 = load double, ptr %7192, align 8, !tbaa !11
  %7194 = call double @llvm.fmuladd.f64(double 0x3CE01DEF58A7A769, double %7193, double %7185)
  %7195 = load ptr, ptr %7, align 8, !tbaa !9
  %7196 = load i32, ptr %12, align 4, !tbaa !5
  %7197 = load i32, ptr %8, align 4, !tbaa !5
  %7198 = mul nsw i32 4, %7197
  %7199 = add nsw i32 %7196, %7198
  %7200 = sext i32 %7199 to i64
  %7201 = getelementptr inbounds double, ptr %7195, i64 %7200
  %7202 = load double, ptr %7201, align 8, !tbaa !11
  %7203 = call double @llvm.fmuladd.f64(double 0xBCF92CA4F0107010, double %7202, double %7194)
  %7204 = load ptr, ptr %7, align 8, !tbaa !9
  %7205 = load i32, ptr %12, align 4, !tbaa !5
  %7206 = load i32, ptr %8, align 4, !tbaa !5
  %7207 = mul nsw i32 5, %7206
  %7208 = add nsw i32 %7205, %7207
  %7209 = sext i32 %7208 to i64
  %7210 = getelementptr inbounds double, ptr %7204, i64 %7209
  %7211 = load double, ptr %7210, align 8, !tbaa !11
  %7212 = call double @llvm.fmuladd.f64(double 0xBCFA01E43E6CC1B4, double %7211, double %7203)
  %7213 = load ptr, ptr %7, align 8, !tbaa !9
  %7214 = load i32, ptr %12, align 4, !tbaa !5
  %7215 = load i32, ptr %8, align 4, !tbaa !5
  %7216 = mul nsw i32 6, %7215
  %7217 = add nsw i32 %7214, %7216
  %7218 = sext i32 %7217 to i64
  %7219 = getelementptr inbounds double, ptr %7213, i64 %7218
  %7220 = load double, ptr %7219, align 8, !tbaa !11
  %7221 = call double @llvm.fmuladd.f64(double 0xB9BED7FFFFFFFFFE, double %7220, double %7212)
  %7222 = load ptr, ptr %7, align 8, !tbaa !9
  %7223 = load i32, ptr %12, align 4, !tbaa !5
  %7224 = load i32, ptr %8, align 4, !tbaa !5
  %7225 = mul nsw i32 7, %7224
  %7226 = add nsw i32 %7223, %7225
  %7227 = sext i32 %7226 to i64
  %7228 = getelementptr inbounds double, ptr %7222, i64 %7227
  %7229 = load double, ptr %7228, align 8, !tbaa !11
  %7230 = call double @llvm.fmuladd.f64(double 0xB997600000000000, double %7229, double %7221)
  %7231 = load ptr, ptr %7, align 8, !tbaa !9
  %7232 = load i32, ptr %12, align 4, !tbaa !5
  %7233 = load i32, ptr %8, align 4, !tbaa !5
  %7234 = mul nsw i32 8, %7233
  %7235 = add nsw i32 %7232, %7234
  %7236 = sext i32 %7235 to i64
  %7237 = getelementptr inbounds double, ptr %7231, i64 %7236
  %7238 = load double, ptr %7237, align 8, !tbaa !11
  %7239 = call double @llvm.fmuladd.f64(double 0xB980BFFFFFFFFFFE, double %7238, double %7230)
  %7240 = load ptr, ptr %7, align 8, !tbaa !9
  %7241 = load i32, ptr %12, align 4, !tbaa !5
  %7242 = load i32, ptr %8, align 4, !tbaa !5
  %7243 = mul nsw i32 9, %7242
  %7244 = add nsw i32 %7241, %7243
  %7245 = sext i32 %7244 to i64
  %7246 = getelementptr inbounds double, ptr %7240, i64 %7245
  %7247 = load double, ptr %7246, align 8, !tbaa !11
  %7248 = call double @llvm.fmuladd.f64(double 0xB9914C0000000000, double %7247, double %7239)
  %7249 = load ptr, ptr %7, align 8, !tbaa !9
  %7250 = load i32, ptr %12, align 4, !tbaa !5
  %7251 = load i32, ptr %8, align 4, !tbaa !5
  %7252 = mul nsw i32 10, %7251
  %7253 = add nsw i32 %7250, %7252
  %7254 = sext i32 %7253 to i64
  %7255 = getelementptr inbounds double, ptr %7249, i64 %7254
  %7256 = load double, ptr %7255, align 8, !tbaa !11
  %7257 = call double @llvm.fmuladd.f64(double 0x3970000000000000, double %7256, double %7248)
  %7258 = load ptr, ptr %7, align 8, !tbaa !9
  %7259 = load i32, ptr %12, align 4, !tbaa !5
  %7260 = load i32, ptr %8, align 4, !tbaa !5
  %7261 = mul nsw i32 11, %7260
  %7262 = add nsw i32 %7259, %7261
  %7263 = sext i32 %7262 to i64
  %7264 = getelementptr inbounds double, ptr %7258, i64 %7263
  %7265 = load double, ptr %7264, align 8, !tbaa !11
  %7266 = call double @llvm.fmuladd.f64(double 0x39A0000000000000, double %7265, double %7257)
  %7267 = load ptr, ptr %7, align 8, !tbaa !9
  %7268 = load i32, ptr %12, align 4, !tbaa !5
  %7269 = load i32, ptr %8, align 4, !tbaa !5
  %7270 = mul nsw i32 12, %7269
  %7271 = add nsw i32 %7268, %7270
  %7272 = sext i32 %7271 to i64
  %7273 = getelementptr inbounds double, ptr %7267, i64 %7272
  %7274 = load double, ptr %7273, align 8, !tbaa !11
  %7275 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC16D, double %7274, double %7266)
  %7276 = load ptr, ptr %7, align 8, !tbaa !9
  %7277 = load i32, ptr %12, align 4, !tbaa !5
  %7278 = load i32, ptr %8, align 4, !tbaa !5
  %7279 = mul nsw i32 13, %7278
  %7280 = add nsw i32 %7277, %7279
  %7281 = sext i32 %7280 to i64
  %7282 = getelementptr inbounds double, ptr %7276, i64 %7281
  %7283 = load double, ptr %7282, align 8, !tbaa !11
  %7284 = call double @llvm.fmuladd.f64(double 0xBCE92F44973E98E2, double %7283, double %7275)
  %7285 = load ptr, ptr %7, align 8, !tbaa !9
  %7286 = load i32, ptr %12, align 4, !tbaa !5
  %7287 = load i32, ptr %8, align 4, !tbaa !5
  %7288 = mul nsw i32 14, %7287
  %7289 = add nsw i32 %7286, %7288
  %7290 = sext i32 %7289 to i64
  %7291 = getelementptr inbounds double, ptr %7285, i64 %7290
  %7292 = load double, ptr %7291, align 8, !tbaa !11
  %7293 = call double @llvm.fmuladd.f64(double 0xBCE8D765A1B41E69, double %7292, double %7284)
  %7294 = load ptr, ptr %7, align 8, !tbaa !9
  %7295 = load i32, ptr %12, align 4, !tbaa !5
  %7296 = load i32, ptr %8, align 4, !tbaa !5
  %7297 = mul nsw i32 15, %7296
  %7298 = add nsw i32 %7295, %7297
  %7299 = sext i32 %7298 to i64
  %7300 = getelementptr inbounds double, ptr %7294, i64 %7299
  %7301 = load double, ptr %7300, align 8, !tbaa !11
  %7302 = call double @llvm.fmuladd.f64(double 0xBCE01DEF58A7A769, double %7301, double %7293)
  %7303 = load ptr, ptr %7, align 8, !tbaa !9
  %7304 = load i32, ptr %12, align 4, !tbaa !5
  %7305 = load i32, ptr %8, align 4, !tbaa !5
  %7306 = mul nsw i32 16, %7305
  %7307 = add nsw i32 %7304, %7306
  %7308 = sext i32 %7307 to i64
  %7309 = getelementptr inbounds double, ptr %7303, i64 %7308
  %7310 = load double, ptr %7309, align 8, !tbaa !11
  %7311 = call double @llvm.fmuladd.f64(double 0x3CF95CA4F0107011, double %7310, double %7302)
  %7312 = load ptr, ptr %7, align 8, !tbaa !9
  %7313 = load i32, ptr %12, align 4, !tbaa !5
  %7314 = load i32, ptr %8, align 4, !tbaa !5
  %7315 = mul nsw i32 17, %7314
  %7316 = add nsw i32 %7313, %7315
  %7317 = sext i32 %7316 to i64
  %7318 = getelementptr inbounds double, ptr %7312, i64 %7317
  %7319 = load double, ptr %7318, align 8, !tbaa !11
  %7320 = call double @llvm.fmuladd.f64(double 0x3CFA31E43E6CC1B5, double %7319, double %7311)
  store double %7320, ptr %11, align 8, !tbaa !11
  %7321 = load double, ptr %11, align 8, !tbaa !11
  %7322 = load ptr, ptr %9, align 8, !tbaa !9
  %7323 = load i32, ptr %12, align 4, !tbaa !5
  %7324 = load i32, ptr %10, align 4, !tbaa !5
  %7325 = mul nsw i32 42, %7324
  %7326 = add nsw i32 %7323, %7325
  %7327 = sext i32 %7326 to i64
  %7328 = getelementptr inbounds double, ptr %7322, i64 %7327
  store double %7321, ptr %7328, align 8, !tbaa !11
  %7329 = load ptr, ptr %7, align 8, !tbaa !9
  %7330 = load i32, ptr %12, align 4, !tbaa !5
  %7331 = load i32, ptr %8, align 4, !tbaa !5
  %7332 = mul nsw i32 0, %7331
  %7333 = add nsw i32 %7330, %7332
  %7334 = sext i32 %7333 to i64
  %7335 = getelementptr inbounds double, ptr %7329, i64 %7334
  %7336 = load double, ptr %7335, align 8, !tbaa !11
  %7337 = load ptr, ptr %7, align 8, !tbaa !9
  %7338 = load i32, ptr %12, align 4, !tbaa !5
  %7339 = load i32, ptr %8, align 4, !tbaa !5
  %7340 = mul nsw i32 1, %7339
  %7341 = add nsw i32 %7338, %7340
  %7342 = sext i32 %7341 to i64
  %7343 = getelementptr inbounds double, ptr %7337, i64 %7342
  %7344 = load double, ptr %7343, align 8, !tbaa !11
  %7345 = fmul double 0xBFF9D1E43E6CC169, %7344
  %7346 = call double @llvm.fmuladd.f64(double 0x3CE5FF86AC29A3F8, double %7336, double %7345)
  %7347 = load ptr, ptr %7, align 8, !tbaa !9
  %7348 = load i32, ptr %12, align 4, !tbaa !5
  %7349 = load i32, ptr %8, align 4, !tbaa !5
  %7350 = mul nsw i32 2, %7349
  %7351 = add nsw i32 %7348, %7350
  %7352 = sext i32 %7351 to i64
  %7353 = getelementptr inbounds double, ptr %7347, i64 %7352
  %7354 = load double, ptr %7353, align 8, !tbaa !11
  %7355 = call double @llvm.fmuladd.f64(double 0x3CE5698EEEC7055C, double %7354, double %7346)
  %7356 = load ptr, ptr %7, align 8, !tbaa !9
  %7357 = load i32, ptr %12, align 4, !tbaa !5
  %7358 = load i32, ptr %8, align 4, !tbaa !5
  %7359 = mul nsw i32 3, %7358
  %7360 = add nsw i32 %7357, %7359
  %7361 = sext i32 %7360 to i64
  %7362 = getelementptr inbounds double, ptr %7356, i64 %7361
  %7363 = load double, ptr %7362, align 8, !tbaa !11
  %7364 = call double @llvm.fmuladd.f64(double 0xBCFC52AFE82DBFFD, double %7363, double %7355)
  %7365 = load ptr, ptr %7, align 8, !tbaa !9
  %7366 = load i32, ptr %12, align 4, !tbaa !5
  %7367 = load i32, ptr %8, align 4, !tbaa !5
  %7368 = mul nsw i32 4, %7367
  %7369 = add nsw i32 %7366, %7368
  %7370 = sext i32 %7369 to i64
  %7371 = getelementptr inbounds double, ptr %7365, i64 %7370
  %7372 = load double, ptr %7371, align 8, !tbaa !11
  %7373 = call double @llvm.fmuladd.f64(double 0x3CE075CE4E3221E7, double %7372, double %7364)
  %7374 = load ptr, ptr %7, align 8, !tbaa !9
  %7375 = load i32, ptr %12, align 4, !tbaa !5
  %7376 = load i32, ptr %8, align 4, !tbaa !5
  %7377 = mul nsw i32 5, %7376
  %7378 = add nsw i32 %7375, %7377
  %7379 = sext i32 %7378 to i64
  %7380 = getelementptr inbounds double, ptr %7374, i64 %7379
  %7381 = load double, ptr %7380, align 8, !tbaa !11
  %7382 = call double @llvm.fmuladd.f64(double 0xBCF9A8946AD5AD4C, double %7381, double %7373)
  %7383 = load ptr, ptr %7, align 8, !tbaa !9
  %7384 = load i32, ptr %12, align 4, !tbaa !5
  %7385 = load i32, ptr %8, align 4, !tbaa !5
  %7386 = mul nsw i32 6, %7385
  %7387 = add nsw i32 %7384, %7386
  %7388 = sext i32 %7387 to i64
  %7389 = getelementptr inbounds double, ptr %7383, i64 %7388
  %7390 = load double, ptr %7389, align 8, !tbaa !11
  %7391 = call double @llvm.fmuladd.f64(double 0x3C7227B423504AEF, double %7390, double %7382)
  %7392 = load ptr, ptr %7, align 8, !tbaa !9
  %7393 = load i32, ptr %12, align 4, !tbaa !5
  %7394 = load i32, ptr %8, align 4, !tbaa !5
  %7395 = mul nsw i32 7, %7394
  %7396 = add nsw i32 %7393, %7395
  %7397 = sext i32 %7396 to i64
  %7398 = getelementptr inbounds double, ptr %7392, i64 %7397
  %7399 = load double, ptr %7398, align 8, !tbaa !11
  %7400 = call double @llvm.fmuladd.f64(double 0xBC3E23F1C2D296A5, double %7399, double %7391)
  %7401 = load ptr, ptr %7, align 8, !tbaa !9
  %7402 = load i32, ptr %12, align 4, !tbaa !5
  %7403 = load i32, ptr %8, align 4, !tbaa !5
  %7404 = mul nsw i32 8, %7403
  %7405 = add nsw i32 %7402, %7404
  %7406 = sext i32 %7405 to i64
  %7407 = getelementptr inbounds double, ptr %7401, i64 %7406
  %7408 = load double, ptr %7407, align 8, !tbaa !11
  %7409 = call double @llvm.fmuladd.f64(double 0xBC3E23F1C2D29CF9, double %7408, double %7400)
  %7410 = load ptr, ptr %7, align 8, !tbaa !9
  %7411 = load i32, ptr %12, align 4, !tbaa !5
  %7412 = load i32, ptr %8, align 4, !tbaa !5
  %7413 = mul nsw i32 9, %7412
  %7414 = add nsw i32 %7411, %7413
  %7415 = sext i32 %7414 to i64
  %7416 = getelementptr inbounds double, ptr %7410, i64 %7415
  %7417 = load double, ptr %7416, align 8, !tbaa !11
  %7418 = call double @llvm.fmuladd.f64(double 0xBC530A5432687980, double %7417, double %7409)
  %7419 = load ptr, ptr %7, align 8, !tbaa !9
  %7420 = load i32, ptr %12, align 4, !tbaa !5
  %7421 = load i32, ptr %8, align 4, !tbaa !5
  %7422 = mul nsw i32 10, %7421
  %7423 = add nsw i32 %7420, %7422
  %7424 = sext i32 %7423 to i64
  %7425 = getelementptr inbounds double, ptr %7419, i64 %7424
  %7426 = load double, ptr %7425, align 8, !tbaa !11
  %7427 = call double @llvm.fmuladd.f64(double 0xBC534141BCB7B1E0, double %7426, double %7418)
  %7428 = load ptr, ptr %7, align 8, !tbaa !9
  %7429 = load i32, ptr %12, align 4, !tbaa !5
  %7430 = load i32, ptr %8, align 4, !tbaa !5
  %7431 = mul nsw i32 11, %7430
  %7432 = add nsw i32 %7429, %7431
  %7433 = sext i32 %7432 to i64
  %7434 = getelementptr inbounds double, ptr %7428, i64 %7433
  %7435 = load double, ptr %7434, align 8, !tbaa !11
  %7436 = call double @llvm.fmuladd.f64(double 0xBC534141BCB7AF1E, double %7435, double %7427)
  %7437 = load ptr, ptr %7, align 8, !tbaa !9
  %7438 = load i32, ptr %12, align 4, !tbaa !5
  %7439 = load i32, ptr %8, align 4, !tbaa !5
  %7440 = mul nsw i32 12, %7439
  %7441 = add nsw i32 %7438, %7440
  %7442 = sext i32 %7441 to i64
  %7443 = getelementptr inbounds double, ptr %7437, i64 %7442
  %7444 = load double, ptr %7443, align 8, !tbaa !11
  %7445 = call double @llvm.fmuladd.f64(double 0xBCE5AF86AC29A3F8, double %7444, double %7436)
  %7446 = load ptr, ptr %7, align 8, !tbaa !9
  %7447 = load i32, ptr %12, align 4, !tbaa !5
  %7448 = load i32, ptr %8, align 4, !tbaa !5
  %7449 = mul nsw i32 13, %7448
  %7450 = add nsw i32 %7447, %7449
  %7451 = sext i32 %7450 to i64
  %7452 = getelementptr inbounds double, ptr %7446, i64 %7451
  %7453 = load double, ptr %7452, align 8, !tbaa !11
  %7454 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC169, double %7453, double %7445)
  %7455 = load ptr, ptr %7, align 8, !tbaa !9
  %7456 = load i32, ptr %12, align 4, !tbaa !5
  %7457 = load i32, ptr %8, align 4, !tbaa !5
  %7458 = mul nsw i32 14, %7457
  %7459 = add nsw i32 %7456, %7458
  %7460 = sext i32 %7459 to i64
  %7461 = getelementptr inbounds double, ptr %7455, i64 %7460
  %7462 = load double, ptr %7461, align 8, !tbaa !11
  %7463 = call double @llvm.fmuladd.f64(double 0xBCE5698EEEC70559, double %7462, double %7454)
  %7464 = load ptr, ptr %7, align 8, !tbaa !9
  %7465 = load i32, ptr %12, align 4, !tbaa !5
  %7466 = load i32, ptr %8, align 4, !tbaa !5
  %7467 = mul nsw i32 15, %7466
  %7468 = add nsw i32 %7465, %7467
  %7469 = sext i32 %7468 to i64
  %7470 = getelementptr inbounds double, ptr %7464, i64 %7469
  %7471 = load double, ptr %7470, align 8, !tbaa !11
  %7472 = call double @llvm.fmuladd.f64(double 0x3CFC52AFE82DBFFF, double %7471, double %7463)
  %7473 = load ptr, ptr %7, align 8, !tbaa !9
  %7474 = load i32, ptr %12, align 4, !tbaa !5
  %7475 = load i32, ptr %8, align 4, !tbaa !5
  %7476 = mul nsw i32 16, %7475
  %7477 = add nsw i32 %7474, %7476
  %7478 = sext i32 %7477 to i64
  %7479 = getelementptr inbounds double, ptr %7473, i64 %7478
  %7480 = load double, ptr %7479, align 8, !tbaa !11
  %7481 = call double @llvm.fmuladd.f64(double 0xBCE075CE4E3221E7, double %7480, double %7472)
  %7482 = load ptr, ptr %7, align 8, !tbaa !9
  %7483 = load i32, ptr %12, align 4, !tbaa !5
  %7484 = load i32, ptr %8, align 4, !tbaa !5
  %7485 = mul nsw i32 17, %7484
  %7486 = add nsw i32 %7483, %7485
  %7487 = sext i32 %7486 to i64
  %7488 = getelementptr inbounds double, ptr %7482, i64 %7487
  %7489 = load double, ptr %7488, align 8, !tbaa !11
  %7490 = call double @llvm.fmuladd.f64(double 0x3CFA38946AD5AD4B, double %7489, double %7481)
  store double %7490, ptr %11, align 8, !tbaa !11
  %7491 = load double, ptr %11, align 8, !tbaa !11
  %7492 = load ptr, ptr %9, align 8, !tbaa !9
  %7493 = load i32, ptr %12, align 4, !tbaa !5
  %7494 = load i32, ptr %10, align 4, !tbaa !5
  %7495 = mul nsw i32 43, %7494
  %7496 = add nsw i32 %7493, %7495
  %7497 = sext i32 %7496 to i64
  %7498 = getelementptr inbounds double, ptr %7492, i64 %7497
  store double %7491, ptr %7498, align 8, !tbaa !11
  %7499 = load ptr, ptr %7, align 8, !tbaa !9
  %7500 = load i32, ptr %12, align 4, !tbaa !5
  %7501 = load i32, ptr %8, align 4, !tbaa !5
  %7502 = mul nsw i32 0, %7501
  %7503 = add nsw i32 %7500, %7502
  %7504 = sext i32 %7503 to i64
  %7505 = getelementptr inbounds double, ptr %7499, i64 %7504
  %7506 = load double, ptr %7505, align 8, !tbaa !11
  %7507 = load ptr, ptr %7, align 8, !tbaa !9
  %7508 = load i32, ptr %12, align 4, !tbaa !5
  %7509 = load i32, ptr %8, align 4, !tbaa !5
  %7510 = mul nsw i32 1, %7509
  %7511 = add nsw i32 %7508, %7510
  %7512 = sext i32 %7511 to i64
  %7513 = getelementptr inbounds double, ptr %7507, i64 %7512
  %7514 = load double, ptr %7513, align 8, !tbaa !11
  %7515 = fmul double 0x3CE800B5754B32D9, %7514
  %7516 = call double @llvm.fmuladd.f64(double 0x3CE8DCA4F0107014, double %7506, double %7515)
  %7517 = load ptr, ptr %7, align 8, !tbaa !9
  %7518 = load i32, ptr %12, align 4, !tbaa !5
  %7519 = load i32, ptr %8, align 4, !tbaa !5
  %7520 = mul nsw i32 2, %7519
  %7521 = add nsw i32 %7518, %7520
  %7522 = sext i32 %7521 to i64
  %7523 = getelementptr inbounds double, ptr %7517, i64 %7522
  %7524 = load double, ptr %7523, align 8, !tbaa !11
  %7525 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC164, double %7524, double %7516)
  %7526 = load ptr, ptr %7, align 8, !tbaa !9
  %7527 = load i32, ptr %12, align 4, !tbaa !5
  %7528 = load i32, ptr %8, align 4, !tbaa !5
  %7529 = mul nsw i32 3, %7528
  %7530 = add nsw i32 %7527, %7529
  %7531 = sext i32 %7530 to i64
  %7532 = getelementptr inbounds double, ptr %7526, i64 %7531
  %7533 = load double, ptr %7532, align 8, !tbaa !11
  %7534 = call double @llvm.fmuladd.f64(double 0xBCFBFD7099D16E59, double %7533, double %7525)
  %7535 = load ptr, ptr %7, align 8, !tbaa !9
  %7536 = load i32, ptr %12, align 4, !tbaa !5
  %7537 = load i32, ptr %8, align 4, !tbaa !5
  %7538 = mul nsw i32 4, %7537
  %7539 = add nsw i32 %7536, %7538
  %7540 = sext i32 %7539 to i64
  %7541 = getelementptr inbounds double, ptr %7535, i64 %7540
  %7542 = load double, ptr %7541, align 8, !tbaa !11
  %7543 = call double @llvm.fmuladd.f64(double 0xBCFA23551C795BA5, double %7542, double %7534)
  %7544 = load ptr, ptr %7, align 8, !tbaa !9
  %7545 = load i32, ptr %12, align 4, !tbaa !5
  %7546 = load i32, ptr %8, align 4, !tbaa !5
  %7547 = mul nsw i32 5, %7546
  %7548 = add nsw i32 %7545, %7547
  %7549 = sext i32 %7548 to i64
  %7550 = getelementptr inbounds double, ptr %7544, i64 %7549
  %7551 = load double, ptr %7550, align 8, !tbaa !11
  %7552 = call double @llvm.fmuladd.f64(double 0x3CD86765A1B41E6D, double %7551, double %7543)
  %7553 = load ptr, ptr %7, align 8, !tbaa !9
  %7554 = load i32, ptr %12, align 4, !tbaa !5
  %7555 = load i32, ptr %8, align 4, !tbaa !5
  %7556 = mul nsw i32 6, %7555
  %7557 = add nsw i32 %7554, %7556
  %7558 = sext i32 %7557 to i64
  %7559 = getelementptr inbounds double, ptr %7553, i64 %7558
  %7560 = load double, ptr %7559, align 8, !tbaa !11
  %7561 = call double @llvm.fmuladd.f64(double 0xBC785D904A774BD5, double %7560, double %7552)
  %7562 = load ptr, ptr %7, align 8, !tbaa !9
  %7563 = load i32, ptr %12, align 4, !tbaa !5
  %7564 = load i32, ptr %8, align 4, !tbaa !5
  %7565 = mul nsw i32 7, %7564
  %7566 = add nsw i32 %7563, %7565
  %7567 = sext i32 %7566 to i64
  %7568 = getelementptr inbounds double, ptr %7562, i64 %7567
  %7569 = load double, ptr %7568, align 8, !tbaa !11
  %7570 = call double @llvm.fmuladd.f64(double 0x3C5D818C6ADA883D, double %7569, double %7561)
  %7571 = load ptr, ptr %7, align 8, !tbaa !9
  %7572 = load i32, ptr %12, align 4, !tbaa !5
  %7573 = load i32, ptr %8, align 4, !tbaa !5
  %7574 = mul nsw i32 8, %7573
  %7575 = add nsw i32 %7572, %7574
  %7576 = sext i32 %7575 to i64
  %7577 = getelementptr inbounds double, ptr %7571, i64 %7576
  %7578 = load double, ptr %7577, align 8, !tbaa !11
  %7579 = call double @llvm.fmuladd.f64(double 0x3C5D818C6ADA811C, double %7578, double %7570)
  %7580 = load ptr, ptr %7, align 8, !tbaa !9
  %7581 = load i32, ptr %12, align 4, !tbaa !5
  %7582 = load i32, ptr %8, align 4, !tbaa !5
  %7583 = mul nsw i32 9, %7582
  %7584 = add nsw i32 %7581, %7583
  %7585 = sext i32 %7584 to i64
  %7586 = getelementptr inbounds double, ptr %7580, i64 %7585
  %7587 = load double, ptr %7586, align 8, !tbaa !11
  %7588 = call double @llvm.fmuladd.f64(double 0x3C6988DC43D64BED, double %7587, double %7579)
  %7589 = load ptr, ptr %7, align 8, !tbaa !9
  %7590 = load i32, ptr %12, align 4, !tbaa !5
  %7591 = load i32, ptr %8, align 4, !tbaa !5
  %7592 = mul nsw i32 10, %7591
  %7593 = add nsw i32 %7590, %7592
  %7594 = sext i32 %7593 to i64
  %7595 = getelementptr inbounds double, ptr %7589, i64 %7594
  %7596 = load double, ptr %7595, align 8, !tbaa !11
  %7597 = call double @llvm.fmuladd.f64(double 0xBC6B27A40CE11C6E, double %7596, double %7588)
  %7598 = load ptr, ptr %7, align 8, !tbaa !9
  %7599 = load i32, ptr %12, align 4, !tbaa !5
  %7600 = load i32, ptr %8, align 4, !tbaa !5
  %7601 = mul nsw i32 11, %7600
  %7602 = add nsw i32 %7599, %7601
  %7603 = sext i32 %7602 to i64
  %7604 = getelementptr inbounds double, ptr %7598, i64 %7603
  %7605 = load double, ptr %7604, align 8, !tbaa !11
  %7606 = call double @llvm.fmuladd.f64(double 0xBC8EC9E9033846C9, double %7605, double %7597)
  %7607 = load ptr, ptr %7, align 8, !tbaa !9
  %7608 = load i32, ptr %12, align 4, !tbaa !5
  %7609 = load i32, ptr %8, align 4, !tbaa !5
  %7610 = mul nsw i32 12, %7609
  %7611 = add nsw i32 %7608, %7610
  %7612 = sext i32 %7611 to i64
  %7613 = getelementptr inbounds double, ptr %7607, i64 %7612
  %7614 = load double, ptr %7613, align 8, !tbaa !11
  %7615 = call double @llvm.fmuladd.f64(double 0xBCE8DCA4F0107014, double %7614, double %7606)
  %7616 = load ptr, ptr %7, align 8, !tbaa !9
  %7617 = load i32, ptr %12, align 4, !tbaa !5
  %7618 = load i32, ptr %8, align 4, !tbaa !5
  %7619 = mul nsw i32 13, %7618
  %7620 = add nsw i32 %7617, %7619
  %7621 = sext i32 %7620 to i64
  %7622 = getelementptr inbounds double, ptr %7616, i64 %7621
  %7623 = load double, ptr %7622, align 8, !tbaa !11
  %7624 = call double @llvm.fmuladd.f64(double 0xBCE800B5754B32D7, double %7623, double %7615)
  %7625 = load ptr, ptr %7, align 8, !tbaa !9
  %7626 = load i32, ptr %12, align 4, !tbaa !5
  %7627 = load i32, ptr %8, align 4, !tbaa !5
  %7628 = mul nsw i32 14, %7627
  %7629 = add nsw i32 %7626, %7628
  %7630 = sext i32 %7629 to i64
  %7631 = getelementptr inbounds double, ptr %7625, i64 %7630
  %7632 = load double, ptr %7631, align 8, !tbaa !11
  %7633 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC164, double %7632, double %7624)
  %7634 = load ptr, ptr %7, align 8, !tbaa !9
  %7635 = load i32, ptr %12, align 4, !tbaa !5
  %7636 = load i32, ptr %8, align 4, !tbaa !5
  %7637 = mul nsw i32 15, %7636
  %7638 = add nsw i32 %7635, %7637
  %7639 = sext i32 %7638 to i64
  %7640 = getelementptr inbounds double, ptr %7634, i64 %7639
  %7641 = load double, ptr %7640, align 8, !tbaa !11
  %7642 = call double @llvm.fmuladd.f64(double 0x3CFBFD7099D16E5A, double %7641, double %7633)
  %7643 = load ptr, ptr %7, align 8, !tbaa !9
  %7644 = load i32, ptr %12, align 4, !tbaa !5
  %7645 = load i32, ptr %8, align 4, !tbaa !5
  %7646 = mul nsw i32 16, %7645
  %7647 = add nsw i32 %7644, %7646
  %7648 = sext i32 %7647 to i64
  %7649 = getelementptr inbounds double, ptr %7643, i64 %7648
  %7650 = load double, ptr %7649, align 8, !tbaa !11
  %7651 = call double @llvm.fmuladd.f64(double 0x3CF9F3551C795BA8, double %7650, double %7642)
  %7652 = load ptr, ptr %7, align 8, !tbaa !9
  %7653 = load i32, ptr %12, align 4, !tbaa !5
  %7654 = load i32, ptr %8, align 4, !tbaa !5
  %7655 = mul nsw i32 17, %7654
  %7656 = add nsw i32 %7653, %7655
  %7657 = sext i32 %7656 to i64
  %7658 = getelementptr inbounds double, ptr %7652, i64 %7657
  %7659 = load double, ptr %7658, align 8, !tbaa !11
  %7660 = call double @llvm.fmuladd.f64(double 0xBCD92765A1B41E6B, double %7659, double %7651)
  store double %7660, ptr %11, align 8, !tbaa !11
  %7661 = load double, ptr %11, align 8, !tbaa !11
  %7662 = load ptr, ptr %9, align 8, !tbaa !9
  %7663 = load i32, ptr %12, align 4, !tbaa !5
  %7664 = load i32, ptr %10, align 4, !tbaa !5
  %7665 = mul nsw i32 44, %7664
  %7666 = add nsw i32 %7663, %7665
  %7667 = sext i32 %7666 to i64
  %7668 = getelementptr inbounds double, ptr %7662, i64 %7667
  store double %7661, ptr %7668, align 8, !tbaa !11
  %7669 = load ptr, ptr %7, align 8, !tbaa !9
  %7670 = load i32, ptr %12, align 4, !tbaa !5
  %7671 = load i32, ptr %8, align 4, !tbaa !5
  %7672 = mul nsw i32 0, %7671
  %7673 = add nsw i32 %7670, %7672
  %7674 = sext i32 %7673 to i64
  %7675 = getelementptr inbounds double, ptr %7669, i64 %7674
  %7676 = load double, ptr %7675, align 8, !tbaa !11
  %7677 = load ptr, ptr %7, align 8, !tbaa !9
  %7678 = load i32, ptr %12, align 4, !tbaa !5
  %7679 = load i32, ptr %8, align 4, !tbaa !5
  %7680 = mul nsw i32 1, %7679
  %7681 = add nsw i32 %7678, %7680
  %7682 = sext i32 %7681 to i64
  %7683 = getelementptr inbounds double, ptr %7677, i64 %7682
  %7684 = load double, ptr %7683, align 8, !tbaa !11
  %7685 = fmul double 0xBCE9BF0282538DD5, %7684
  %7686 = call double @llvm.fmuladd.f64(double 0x3CD010D114C0DB4A, double %7676, double %7685)
  %7687 = load ptr, ptr %7, align 8, !tbaa !9
  %7688 = load i32, ptr %12, align 4, !tbaa !5
  %7689 = load i32, ptr %8, align 4, !tbaa !5
  %7690 = mul nsw i32 2, %7689
  %7691 = add nsw i32 %7688, %7690
  %7692 = sext i32 %7691 to i64
  %7693 = getelementptr inbounds double, ptr %7687, i64 %7692
  %7694 = load double, ptr %7693, align 8, !tbaa !11
  %7695 = call double @llvm.fmuladd.f64(double 0xBCE87BEC810A2317, double %7694, double %7686)
  %7696 = load ptr, ptr %7, align 8, !tbaa !9
  %7697 = load i32, ptr %12, align 4, !tbaa !5
  %7698 = load i32, ptr %8, align 4, !tbaa !5
  %7699 = mul nsw i32 3, %7698
  %7700 = add nsw i32 %7697, %7699
  %7701 = sext i32 %7700 to i64
  %7702 = getelementptr inbounds double, ptr %7696, i64 %7701
  %7703 = load double, ptr %7702, align 8, !tbaa !11
  %7704 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC191, double %7703, double %7695)
  %7705 = load ptr, ptr %7, align 8, !tbaa !9
  %7706 = load i32, ptr %12, align 4, !tbaa !5
  %7707 = load i32, ptr %8, align 4, !tbaa !5
  %7708 = mul nsw i32 4, %7707
  %7709 = add nsw i32 %7706, %7708
  %7710 = sext i32 %7709 to i64
  %7711 = getelementptr inbounds double, ptr %7705, i64 %7710
  %7712 = load double, ptr %7711, align 8, !tbaa !11
  %7713 = call double @llvm.fmuladd.f64(double 0xBCE4241B5B3A7CDD, double %7712, double %7704)
  %7714 = load ptr, ptr %7, align 8, !tbaa !9
  %7715 = load i32, ptr %12, align 4, !tbaa !5
  %7716 = load i32, ptr %8, align 4, !tbaa !5
  %7717 = mul nsw i32 5, %7716
  %7718 = add nsw i32 %7715, %7717
  %7719 = sext i32 %7718 to i64
  %7720 = getelementptr inbounds double, ptr %7714, i64 %7719
  %7721 = load double, ptr %7720, align 8, !tbaa !11
  %7722 = call double @llvm.fmuladd.f64(double 0xBCE4741B5B3A7CDD, double %7721, double %7713)
  %7723 = load ptr, ptr %7, align 8, !tbaa !9
  %7724 = load i32, ptr %12, align 4, !tbaa !5
  %7725 = load i32, ptr %8, align 4, !tbaa !5
  %7726 = mul nsw i32 6, %7725
  %7727 = add nsw i32 %7724, %7726
  %7728 = sext i32 %7727 to i64
  %7729 = getelementptr inbounds double, ptr %7723, i64 %7728
  %7730 = load double, ptr %7729, align 8, !tbaa !11
  %7731 = call double @llvm.fmuladd.f64(double 0x3C8AC8C86FCC44A0, double %7730, double %7722)
  %7732 = load ptr, ptr %7, align 8, !tbaa !9
  %7733 = load i32, ptr %12, align 4, !tbaa !5
  %7734 = load i32, ptr %8, align 4, !tbaa !5
  %7735 = mul nsw i32 7, %7734
  %7736 = add nsw i32 %7733, %7735
  %7737 = sext i32 %7736 to i64
  %7738 = getelementptr inbounds double, ptr %7732, i64 %7737
  %7739 = load double, ptr %7738, align 8, !tbaa !11
  %7740 = call double @llvm.fmuladd.f64(double 0x3C8DA397D166657F, double %7739, double %7731)
  %7741 = load ptr, ptr %7, align 8, !tbaa !9
  %7742 = load i32, ptr %12, align 4, !tbaa !5
  %7743 = load i32, ptr %8, align 4, !tbaa !5
  %7744 = mul nsw i32 8, %7743
  %7745 = add nsw i32 %7742, %7744
  %7746 = sext i32 %7745 to i64
  %7747 = getelementptr inbounds double, ptr %7741, i64 %7746
  %7748 = load double, ptr %7747, align 8, !tbaa !11
  %7749 = call double @llvm.fmuladd.f64(double 0x3C8DA397D1666583, double %7748, double %7740)
  %7750 = load ptr, ptr %7, align 8, !tbaa !9
  %7751 = load i32, ptr %12, align 4, !tbaa !5
  %7752 = load i32, ptr %8, align 4, !tbaa !5
  %7753 = mul nsw i32 9, %7752
  %7754 = add nsw i32 %7751, %7753
  %7755 = sext i32 %7754 to i64
  %7756 = getelementptr inbounds double, ptr %7750, i64 %7755
  %7757 = load double, ptr %7756, align 8, !tbaa !11
  %7758 = call double @llvm.fmuladd.f64(double 0xBC8081F6B934226E, double %7757, double %7749)
  %7759 = load ptr, ptr %7, align 8, !tbaa !9
  %7760 = load i32, ptr %12, align 4, !tbaa !5
  %7761 = load i32, ptr %8, align 4, !tbaa !5
  %7762 = mul nsw i32 10, %7761
  %7763 = add nsw i32 %7760, %7762
  %7764 = sext i32 %7763 to i64
  %7765 = getelementptr inbounds double, ptr %7759, i64 %7764
  %7766 = load double, ptr %7765, align 8, !tbaa !11
  %7767 = call double @llvm.fmuladd.f64(double 0xBC4C700ACB277023, double %7766, double %7758)
  %7768 = load ptr, ptr %7, align 8, !tbaa !9
  %7769 = load i32, ptr %12, align 4, !tbaa !5
  %7770 = load i32, ptr %8, align 4, !tbaa !5
  %7771 = mul nsw i32 11, %7770
  %7772 = add nsw i32 %7769, %7771
  %7773 = sext i32 %7772 to i64
  %7774 = getelementptr inbounds double, ptr %7768, i64 %7773
  %7775 = load double, ptr %7774, align 8, !tbaa !11
  %7776 = call double @llvm.fmuladd.f64(double 0xBC7B8E015964EDEB, double %7775, double %7767)
  %7777 = load ptr, ptr %7, align 8, !tbaa !9
  %7778 = load i32, ptr %12, align 4, !tbaa !5
  %7779 = load i32, ptr %8, align 4, !tbaa !5
  %7780 = mul nsw i32 12, %7779
  %7781 = add nsw i32 %7778, %7780
  %7782 = sext i32 %7781 to i64
  %7783 = getelementptr inbounds double, ptr %7777, i64 %7782
  %7784 = load double, ptr %7783, align 8, !tbaa !11
  %7785 = call double @llvm.fmuladd.f64(double 0xBCD010D114C0DB49, double %7784, double %7776)
  %7786 = load ptr, ptr %7, align 8, !tbaa !9
  %7787 = load i32, ptr %12, align 4, !tbaa !5
  %7788 = load i32, ptr %8, align 4, !tbaa !5
  %7789 = mul nsw i32 13, %7788
  %7790 = add nsw i32 %7787, %7789
  %7791 = sext i32 %7790 to i64
  %7792 = getelementptr inbounds double, ptr %7786, i64 %7791
  %7793 = load double, ptr %7792, align 8, !tbaa !11
  %7794 = call double @llvm.fmuladd.f64(double 0x3CE9BF0282538DD0, double %7793, double %7785)
  %7795 = load ptr, ptr %7, align 8, !tbaa !9
  %7796 = load i32, ptr %12, align 4, !tbaa !5
  %7797 = load i32, ptr %8, align 4, !tbaa !5
  %7798 = mul nsw i32 14, %7797
  %7799 = add nsw i32 %7796, %7798
  %7800 = sext i32 %7799 to i64
  %7801 = getelementptr inbounds double, ptr %7795, i64 %7800
  %7802 = load double, ptr %7801, align 8, !tbaa !11
  %7803 = call double @llvm.fmuladd.f64(double 0x3CE87BEC810A2317, double %7802, double %7794)
  %7804 = load ptr, ptr %7, align 8, !tbaa !9
  %7805 = load i32, ptr %12, align 4, !tbaa !5
  %7806 = load i32, ptr %8, align 4, !tbaa !5
  %7807 = mul nsw i32 15, %7806
  %7808 = add nsw i32 %7805, %7807
  %7809 = sext i32 %7808 to i64
  %7810 = getelementptr inbounds double, ptr %7804, i64 %7809
  %7811 = load double, ptr %7810, align 8, !tbaa !11
  %7812 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC191, double %7811, double %7803)
  %7813 = load ptr, ptr %7, align 8, !tbaa !9
  %7814 = load i32, ptr %12, align 4, !tbaa !5
  %7815 = load i32, ptr %8, align 4, !tbaa !5
  %7816 = mul nsw i32 16, %7815
  %7817 = add nsw i32 %7814, %7816
  %7818 = sext i32 %7817 to i64
  %7819 = getelementptr inbounds double, ptr %7813, i64 %7818
  %7820 = load double, ptr %7819, align 8, !tbaa !11
  %7821 = call double @llvm.fmuladd.f64(double 0x3CE3D41B5B3A7CE0, double %7820, double %7812)
  %7822 = load ptr, ptr %7, align 8, !tbaa !9
  %7823 = load i32, ptr %12, align 4, !tbaa !5
  %7824 = load i32, ptr %8, align 4, !tbaa !5
  %7825 = mul nsw i32 17, %7824
  %7826 = add nsw i32 %7823, %7825
  %7827 = sext i32 %7826 to i64
  %7828 = getelementptr inbounds double, ptr %7822, i64 %7827
  %7829 = load double, ptr %7828, align 8, !tbaa !11
  %7830 = call double @llvm.fmuladd.f64(double 0x3CE4741B5B3A7CDD, double %7829, double %7821)
  store double %7830, ptr %11, align 8, !tbaa !11
  %7831 = load double, ptr %11, align 8, !tbaa !11
  %7832 = load ptr, ptr %9, align 8, !tbaa !9
  %7833 = load i32, ptr %12, align 4, !tbaa !5
  %7834 = load i32, ptr %10, align 4, !tbaa !5
  %7835 = mul nsw i32 45, %7834
  %7836 = add nsw i32 %7833, %7835
  %7837 = sext i32 %7836 to i64
  %7838 = getelementptr inbounds double, ptr %7832, i64 %7837
  store double %7831, ptr %7838, align 8, !tbaa !11
  %7839 = load ptr, ptr %7, align 8, !tbaa !9
  %7840 = load i32, ptr %12, align 4, !tbaa !5
  %7841 = load i32, ptr %8, align 4, !tbaa !5
  %7842 = mul nsw i32 0, %7841
  %7843 = add nsw i32 %7840, %7842
  %7844 = sext i32 %7843 to i64
  %7845 = getelementptr inbounds double, ptr %7839, i64 %7844
  %7846 = load double, ptr %7845, align 8, !tbaa !11
  %7847 = load ptr, ptr %7, align 8, !tbaa !9
  %7848 = load i32, ptr %12, align 4, !tbaa !5
  %7849 = load i32, ptr %8, align 4, !tbaa !5
  %7850 = mul nsw i32 1, %7849
  %7851 = add nsw i32 %7848, %7850
  %7852 = sext i32 %7851 to i64
  %7853 = getelementptr inbounds double, ptr %7847, i64 %7852
  %7854 = load double, ptr %7853, align 8, !tbaa !11
  %7855 = fmul double 0x3CC9C6E177DE0848, %7854
  %7856 = call double @llvm.fmuladd.f64(double 0xBCE88765A1B41E6C, double %7846, double %7855)
  %7857 = load ptr, ptr %7, align 8, !tbaa !9
  %7858 = load i32, ptr %12, align 4, !tbaa !5
  %7859 = load i32, ptr %8, align 4, !tbaa !5
  %7860 = mul nsw i32 2, %7859
  %7861 = add nsw i32 %7858, %7860
  %7862 = sext i32 %7861 to i64
  %7863 = getelementptr inbounds double, ptr %7857, i64 %7862
  %7864 = load double, ptr %7863, align 8, !tbaa !11
  %7865 = call double @llvm.fmuladd.f64(double 0xBCE7A765A1B41E6C, double %7864, double %7856)
  %7866 = load ptr, ptr %7, align 8, !tbaa !9
  %7867 = load i32, ptr %12, align 4, !tbaa !5
  %7868 = load i32, ptr %8, align 4, !tbaa !5
  %7869 = mul nsw i32 3, %7868
  %7870 = add nsw i32 %7867, %7869
  %7871 = sext i32 %7870 to i64
  %7872 = getelementptr inbounds double, ptr %7866, i64 %7871
  %7873 = load double, ptr %7872, align 8, !tbaa !11
  %7874 = call double @llvm.fmuladd.f64(double 0xBCE0F6FD1753B0C4, double %7873, double %7865)
  %7875 = load ptr, ptr %7, align 8, !tbaa !9
  %7876 = load i32, ptr %12, align 4, !tbaa !5
  %7877 = load i32, ptr %8, align 4, !tbaa !5
  %7878 = mul nsw i32 4, %7877
  %7879 = add nsw i32 %7876, %7878
  %7880 = sext i32 %7879 to i64
  %7881 = getelementptr inbounds double, ptr %7875, i64 %7880
  %7882 = load double, ptr %7881, align 8, !tbaa !11
  %7883 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC191, double %7882, double %7874)
  %7884 = load ptr, ptr %7, align 8, !tbaa !9
  %7885 = load i32, ptr %12, align 4, !tbaa !5
  %7886 = load i32, ptr %8, align 4, !tbaa !5
  %7887 = mul nsw i32 5, %7886
  %7888 = add nsw i32 %7885, %7887
  %7889 = sext i32 %7888 to i64
  %7890 = getelementptr inbounds double, ptr %7884, i64 %7889
  %7891 = load double, ptr %7890, align 8, !tbaa !11
  %7892 = call double @llvm.fmuladd.f64(double 0xBCE5F2686842D7DB, double %7891, double %7883)
  %7893 = load ptr, ptr %7, align 8, !tbaa !9
  %7894 = load i32, ptr %12, align 4, !tbaa !5
  %7895 = load i32, ptr %8, align 4, !tbaa !5
  %7896 = mul nsw i32 6, %7895
  %7897 = add nsw i32 %7894, %7896
  %7898 = sext i32 %7897 to i64
  %7899 = getelementptr inbounds double, ptr %7893, i64 %7898
  %7900 = load double, ptr %7899, align 8, !tbaa !11
  %7901 = call double @llvm.fmuladd.f64(double 0xBC51BD5908653595, double %7900, double %7892)
  %7902 = load ptr, ptr %7, align 8, !tbaa !9
  %7903 = load i32, ptr %12, align 4, !tbaa !5
  %7904 = load i32, ptr %8, align 4, !tbaa !5
  %7905 = mul nsw i32 7, %7904
  %7906 = add nsw i32 %7903, %7905
  %7907 = sext i32 %7906 to i64
  %7908 = getelementptr inbounds double, ptr %7902, i64 %7907
  %7909 = load double, ptr %7908, align 8, !tbaa !11
  %7910 = call double @llvm.fmuladd.f64(double 0xBC3A014D32C335D8, double %7909, double %7901)
  %7911 = load ptr, ptr %7, align 8, !tbaa !9
  %7912 = load i32, ptr %12, align 4, !tbaa !5
  %7913 = load i32, ptr %8, align 4, !tbaa !5
  %7914 = mul nsw i32 8, %7913
  %7915 = add nsw i32 %7912, %7914
  %7916 = sext i32 %7915 to i64
  %7917 = getelementptr inbounds double, ptr %7911, i64 %7916
  %7918 = load double, ptr %7917, align 8, !tbaa !11
  %7919 = call double @llvm.fmuladd.f64(double 0xBC3A014D32C32FB8, double %7918, double %7910)
  %7920 = load ptr, ptr %7, align 8, !tbaa !9
  %7921 = load i32, ptr %12, align 4, !tbaa !5
  %7922 = load i32, ptr %8, align 4, !tbaa !5
  %7923 = mul nsw i32 9, %7922
  %7924 = add nsw i32 %7921, %7923
  %7925 = sext i32 %7924 to i64
  %7926 = getelementptr inbounds double, ptr %7920, i64 %7925
  %7927 = load double, ptr %7926, align 8, !tbaa !11
  %7928 = call double @llvm.fmuladd.f64(double 0xBC893816E5BE808E, double %7927, double %7919)
  %7929 = load ptr, ptr %7, align 8, !tbaa !9
  %7930 = load i32, ptr %12, align 4, !tbaa !5
  %7931 = load i32, ptr %8, align 4, !tbaa !5
  %7932 = mul nsw i32 10, %7931
  %7933 = add nsw i32 %7930, %7932
  %7934 = sext i32 %7933 to i64
  %7935 = getelementptr inbounds double, ptr %7929, i64 %7934
  %7936 = load double, ptr %7935, align 8, !tbaa !11
  %7937 = call double @llvm.fmuladd.f64(double 0x3C543F5B67DD6915, double %7936, double %7928)
  %7938 = load ptr, ptr %7, align 8, !tbaa !9
  %7939 = load i32, ptr %12, align 4, !tbaa !5
  %7940 = load i32, ptr %8, align 4, !tbaa !5
  %7941 = mul nsw i32 11, %7940
  %7942 = add nsw i32 %7939, %7941
  %7943 = sext i32 %7942 to i64
  %7944 = getelementptr inbounds double, ptr %7938, i64 %7943
  %7945 = load double, ptr %7944, align 8, !tbaa !11
  %7946 = call double @llvm.fmuladd.f64(double 0x3C543F5B67DD6BB1, double %7945, double %7937)
  %7947 = load ptr, ptr %7, align 8, !tbaa !9
  %7948 = load i32, ptr %12, align 4, !tbaa !5
  %7949 = load i32, ptr %8, align 4, !tbaa !5
  %7950 = mul nsw i32 12, %7949
  %7951 = add nsw i32 %7948, %7950
  %7952 = sext i32 %7951 to i64
  %7953 = getelementptr inbounds double, ptr %7947, i64 %7952
  %7954 = load double, ptr %7953, align 8, !tbaa !11
  %7955 = call double @llvm.fmuladd.f64(double 0x3CE88765A1B41E6E, double %7954, double %7946)
  %7956 = load ptr, ptr %7, align 8, !tbaa !9
  %7957 = load i32, ptr %12, align 4, !tbaa !5
  %7958 = load i32, ptr %8, align 4, !tbaa !5
  %7959 = mul nsw i32 13, %7958
  %7960 = add nsw i32 %7957, %7959
  %7961 = sext i32 %7960 to i64
  %7962 = getelementptr inbounds double, ptr %7956, i64 %7961
  %7963 = load double, ptr %7962, align 8, !tbaa !11
  %7964 = call double @llvm.fmuladd.f64(double 0xBCC9C6E177DE0849, double %7963, double %7955)
  %7965 = load ptr, ptr %7, align 8, !tbaa !9
  %7966 = load i32, ptr %12, align 4, !tbaa !5
  %7967 = load i32, ptr %8, align 4, !tbaa !5
  %7968 = mul nsw i32 14, %7967
  %7969 = add nsw i32 %7966, %7968
  %7970 = sext i32 %7969 to i64
  %7971 = getelementptr inbounds double, ptr %7965, i64 %7970
  %7972 = load double, ptr %7971, align 8, !tbaa !11
  %7973 = call double @llvm.fmuladd.f64(double 0x3CE7D765A1B41E6B, double %7972, double %7964)
  %7974 = load ptr, ptr %7, align 8, !tbaa !9
  %7975 = load i32, ptr %12, align 4, !tbaa !5
  %7976 = load i32, ptr %8, align 4, !tbaa !5
  %7977 = mul nsw i32 15, %7976
  %7978 = add nsw i32 %7975, %7977
  %7979 = sext i32 %7978 to i64
  %7980 = getelementptr inbounds double, ptr %7974, i64 %7979
  %7981 = load double, ptr %7980, align 8, !tbaa !11
  %7982 = call double @llvm.fmuladd.f64(double 0x3CE0F6FD1753B0C4, double %7981, double %7973)
  %7983 = load ptr, ptr %7, align 8, !tbaa !9
  %7984 = load i32, ptr %12, align 4, !tbaa !5
  %7985 = load i32, ptr %8, align 4, !tbaa !5
  %7986 = mul nsw i32 16, %7985
  %7987 = add nsw i32 %7984, %7986
  %7988 = sext i32 %7987 to i64
  %7989 = getelementptr inbounds double, ptr %7983, i64 %7988
  %7990 = load double, ptr %7989, align 8, !tbaa !11
  %7991 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC191, double %7990, double %7982)
  %7992 = load ptr, ptr %7, align 8, !tbaa !9
  %7993 = load i32, ptr %12, align 4, !tbaa !5
  %7994 = load i32, ptr %8, align 4, !tbaa !5
  %7995 = mul nsw i32 17, %7994
  %7996 = add nsw i32 %7993, %7995
  %7997 = sext i32 %7996 to i64
  %7998 = getelementptr inbounds double, ptr %7992, i64 %7997
  %7999 = load double, ptr %7998, align 8, !tbaa !11
  %8000 = call double @llvm.fmuladd.f64(double 0x3CE5F2686842D7DB, double %7999, double %7991)
  store double %8000, ptr %11, align 8, !tbaa !11
  %8001 = load double, ptr %11, align 8, !tbaa !11
  %8002 = load ptr, ptr %9, align 8, !tbaa !9
  %8003 = load i32, ptr %12, align 4, !tbaa !5
  %8004 = load i32, ptr %10, align 4, !tbaa !5
  %8005 = mul nsw i32 46, %8004
  %8006 = add nsw i32 %8003, %8005
  %8007 = sext i32 %8006 to i64
  %8008 = getelementptr inbounds double, ptr %8002, i64 %8007
  store double %8001, ptr %8008, align 8, !tbaa !11
  %8009 = load ptr, ptr %7, align 8, !tbaa !9
  %8010 = load i32, ptr %12, align 4, !tbaa !5
  %8011 = load i32, ptr %8, align 4, !tbaa !5
  %8012 = mul nsw i32 0, %8011
  %8013 = add nsw i32 %8010, %8012
  %8014 = sext i32 %8013 to i64
  %8015 = getelementptr inbounds double, ptr %8009, i64 %8014
  %8016 = load double, ptr %8015, align 8, !tbaa !11
  %8017 = load ptr, ptr %7, align 8, !tbaa !9
  %8018 = load i32, ptr %12, align 4, !tbaa !5
  %8019 = load i32, ptr %8, align 4, !tbaa !5
  %8020 = mul nsw i32 1, %8019
  %8021 = add nsw i32 %8018, %8020
  %8022 = sext i32 %8021 to i64
  %8023 = getelementptr inbounds double, ptr %8017, i64 %8022
  %8024 = load double, ptr %8023, align 8, !tbaa !11
  %8025 = fmul double 0xBCEA1F44973E98E1, %8024
  %8026 = call double @llvm.fmuladd.f64(double 0xBCEC1765A1B41E67, double %8016, double %8025)
  %8027 = load ptr, ptr %7, align 8, !tbaa !9
  %8028 = load i32, ptr %12, align 4, !tbaa !5
  %8029 = load i32, ptr %8, align 4, !tbaa !5
  %8030 = mul nsw i32 2, %8029
  %8031 = add nsw i32 %8028, %8030
  %8032 = sext i32 %8031 to i64
  %8033 = getelementptr inbounds double, ptr %8027, i64 %8032
  %8034 = load double, ptr %8033, align 8, !tbaa !11
  %8035 = call double @llvm.fmuladd.f64(double 0x3CCD2B9C9C6443CA, double %8034, double %8026)
  %8036 = load ptr, ptr %7, align 8, !tbaa !9
  %8037 = load i32, ptr %12, align 4, !tbaa !5
  %8038 = load i32, ptr %8, align 4, !tbaa !5
  %8039 = mul nsw i32 3, %8038
  %8040 = add nsw i32 %8037, %8039
  %8041 = sext i32 %8040 to i64
  %8042 = getelementptr inbounds double, ptr %8036, i64 %8041
  %8043 = load double, ptr %8042, align 8, !tbaa !11
  %8044 = call double @llvm.fmuladd.f64(double 0xBCE3341B5B3A7CDC, double %8043, double %8035)
  %8045 = load ptr, ptr %7, align 8, !tbaa !9
  %8046 = load i32, ptr %12, align 4, !tbaa !5
  %8047 = load i32, ptr %8, align 4, !tbaa !5
  %8048 = mul nsw i32 4, %8047
  %8049 = add nsw i32 %8046, %8048
  %8050 = sext i32 %8049 to i64
  %8051 = getelementptr inbounds double, ptr %8045, i64 %8050
  %8052 = load double, ptr %8051, align 8, !tbaa !11
  %8053 = call double @llvm.fmuladd.f64(double 0xBCE21D6B2ED19149, double %8052, double %8044)
  %8054 = load ptr, ptr %7, align 8, !tbaa !9
  %8055 = load i32, ptr %12, align 4, !tbaa !5
  %8056 = load i32, ptr %8, align 4, !tbaa !5
  %8057 = mul nsw i32 5, %8056
  %8058 = add nsw i32 %8055, %8057
  %8059 = sext i32 %8058 to i64
  %8060 = getelementptr inbounds double, ptr %8054, i64 %8059
  %8061 = load double, ptr %8060, align 8, !tbaa !11
  %8062 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC191, double %8061, double %8053)
  %8063 = load ptr, ptr %7, align 8, !tbaa !9
  %8064 = load i32, ptr %12, align 4, !tbaa !5
  %8065 = load i32, ptr %8, align 4, !tbaa !5
  %8066 = mul nsw i32 6, %8065
  %8067 = add nsw i32 %8064, %8066
  %8068 = sext i32 %8067 to i64
  %8069 = getelementptr inbounds double, ptr %8063, i64 %8068
  %8070 = load double, ptr %8069, align 8, !tbaa !11
  %8071 = call double @llvm.fmuladd.f64(double 0xBC82AD66CB5FD83B, double %8070, double %8062)
  %8072 = load ptr, ptr %7, align 8, !tbaa !9
  %8073 = load i32, ptr %12, align 4, !tbaa !5
  %8074 = load i32, ptr %8, align 4, !tbaa !5
  %8075 = mul nsw i32 7, %8074
  %8076 = add nsw i32 %8073, %8075
  %8077 = sext i32 %8076 to i64
  %8078 = getelementptr inbounds double, ptr %8072, i64 %8077
  %8079 = load double, ptr %8078, align 8, !tbaa !11
  %8080 = call double @llvm.fmuladd.f64(double 0xBC89EF0795AEA22C, double %8079, double %8071)
  %8081 = load ptr, ptr %7, align 8, !tbaa !9
  %8082 = load i32, ptr %12, align 4, !tbaa !5
  %8083 = load i32, ptr %8, align 4, !tbaa !5
  %8084 = mul nsw i32 8, %8083
  %8085 = add nsw i32 %8082, %8084
  %8086 = sext i32 %8085 to i64
  %8087 = getelementptr inbounds double, ptr %8081, i64 %8086
  %8088 = load double, ptr %8087, align 8, !tbaa !11
  %8089 = call double @llvm.fmuladd.f64(double 0xBC4EF0795AEA232E, double %8088, double %8080)
  %8090 = load ptr, ptr %7, align 8, !tbaa !9
  %8091 = load i32, ptr %12, align 4, !tbaa !5
  %8092 = load i32, ptr %8, align 4, !tbaa !5
  %8093 = mul nsw i32 9, %8092
  %8094 = add nsw i32 %8091, %8093
  %8095 = sext i32 %8094 to i64
  %8096 = getelementptr inbounds double, ptr %8090, i64 %8095
  %8097 = load double, ptr %8096, align 8, !tbaa !11
  %8098 = call double @llvm.fmuladd.f64(double 0xBC5646AD27501978, double %8097, double %8089)
  %8099 = load ptr, ptr %7, align 8, !tbaa !9
  %8100 = load i32, ptr %12, align 4, !tbaa !5
  %8101 = load i32, ptr %8, align 4, !tbaa !5
  %8102 = mul nsw i32 10, %8101
  %8103 = add nsw i32 %8100, %8102
  %8104 = sext i32 %8103 to i64
  %8105 = getelementptr inbounds double, ptr %8099, i64 %8104
  %8106 = load double, ptr %8105, align 8, !tbaa !11
  %8107 = call double @llvm.fmuladd.f64(double 0x3C6AA897374E4045, double %8106, double %8098)
  %8108 = load ptr, ptr %7, align 8, !tbaa !9
  %8109 = load i32, ptr %12, align 4, !tbaa !5
  %8110 = load i32, ptr %8, align 4, !tbaa !5
  %8111 = mul nsw i32 11, %8110
  %8112 = add nsw i32 %8109, %8111
  %8113 = sext i32 %8112 to i64
  %8114 = getelementptr inbounds double, ptr %8108, i64 %8113
  %8115 = load double, ptr %8114, align 8, !tbaa !11
  %8116 = call double @llvm.fmuladd.f64(double 0x3C6AA897374E4018, double %8115, double %8107)
  %8117 = load ptr, ptr %7, align 8, !tbaa !9
  %8118 = load i32, ptr %12, align 4, !tbaa !5
  %8119 = load i32, ptr %8, align 4, !tbaa !5
  %8120 = mul nsw i32 12, %8119
  %8121 = add nsw i32 %8118, %8120
  %8122 = sext i32 %8121 to i64
  %8123 = getelementptr inbounds double, ptr %8117, i64 %8122
  %8124 = load double, ptr %8123, align 8, !tbaa !11
  %8125 = call double @llvm.fmuladd.f64(double 0x3CEC4765A1B41E6A, double %8124, double %8116)
  %8126 = load ptr, ptr %7, align 8, !tbaa !9
  %8127 = load i32, ptr %12, align 4, !tbaa !5
  %8128 = load i32, ptr %8, align 4, !tbaa !5
  %8129 = mul nsw i32 13, %8128
  %8130 = add nsw i32 %8127, %8129
  %8131 = sext i32 %8130 to i64
  %8132 = getelementptr inbounds double, ptr %8126, i64 %8131
  %8133 = load double, ptr %8132, align 8, !tbaa !11
  %8134 = call double @llvm.fmuladd.f64(double 0x3CEA7F44973E98E0, double %8133, double %8125)
  %8135 = load ptr, ptr %7, align 8, !tbaa !9
  %8136 = load i32, ptr %12, align 4, !tbaa !5
  %8137 = load i32, ptr %8, align 4, !tbaa !5
  %8138 = mul nsw i32 14, %8137
  %8139 = add nsw i32 %8136, %8138
  %8140 = sext i32 %8139 to i64
  %8141 = getelementptr inbounds double, ptr %8135, i64 %8140
  %8142 = load double, ptr %8141, align 8, !tbaa !11
  %8143 = call double @llvm.fmuladd.f64(double 0xBCCD2B9C9C6443C9, double %8142, double %8134)
  %8144 = load ptr, ptr %7, align 8, !tbaa !9
  %8145 = load i32, ptr %12, align 4, !tbaa !5
  %8146 = load i32, ptr %8, align 4, !tbaa !5
  %8147 = mul nsw i32 15, %8146
  %8148 = add nsw i32 %8145, %8147
  %8149 = sext i32 %8148 to i64
  %8150 = getelementptr inbounds double, ptr %8144, i64 %8149
  %8151 = load double, ptr %8150, align 8, !tbaa !11
  %8152 = call double @llvm.fmuladd.f64(double 0x3CE3341B5B3A7CDE, double %8151, double %8143)
  %8153 = load ptr, ptr %7, align 8, !tbaa !9
  %8154 = load i32, ptr %12, align 4, !tbaa !5
  %8155 = load i32, ptr %8, align 4, !tbaa !5
  %8156 = mul nsw i32 16, %8155
  %8157 = add nsw i32 %8154, %8156
  %8158 = sext i32 %8157 to i64
  %8159 = getelementptr inbounds double, ptr %8153, i64 %8158
  %8160 = load double, ptr %8159, align 8, !tbaa !11
  %8161 = call double @llvm.fmuladd.f64(double 0x3CE21D6B2ED1914C, double %8160, double %8152)
  %8162 = load ptr, ptr %7, align 8, !tbaa !9
  %8163 = load i32, ptr %12, align 4, !tbaa !5
  %8164 = load i32, ptr %8, align 4, !tbaa !5
  %8165 = mul nsw i32 17, %8164
  %8166 = add nsw i32 %8163, %8165
  %8167 = sext i32 %8166 to i64
  %8168 = getelementptr inbounds double, ptr %8162, i64 %8167
  %8169 = load double, ptr %8168, align 8, !tbaa !11
  %8170 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC191, double %8169, double %8161)
  store double %8170, ptr %11, align 8, !tbaa !11
  %8171 = load double, ptr %11, align 8, !tbaa !11
  %8172 = load ptr, ptr %9, align 8, !tbaa !9
  %8173 = load i32, ptr %12, align 4, !tbaa !5
  %8174 = load i32, ptr %10, align 4, !tbaa !5
  %8175 = mul nsw i32 47, %8174
  %8176 = add nsw i32 %8173, %8175
  %8177 = sext i32 %8176 to i64
  %8178 = getelementptr inbounds double, ptr %8172, i64 %8177
  store double %8171, ptr %8178, align 8, !tbaa !11
  %8179 = load ptr, ptr %7, align 8, !tbaa !9
  %8180 = load i32, ptr %12, align 4, !tbaa !5
  %8181 = load i32, ptr %8, align 4, !tbaa !5
  %8182 = mul nsw i32 0, %8181
  %8183 = add nsw i32 %8180, %8182
  %8184 = sext i32 %8183 to i64
  %8185 = getelementptr inbounds double, ptr %8179, i64 %8184
  %8186 = load double, ptr %8185, align 8, !tbaa !11
  %8187 = load ptr, ptr %7, align 8, !tbaa !9
  %8188 = load i32, ptr %12, align 4, !tbaa !5
  %8189 = load i32, ptr %8, align 4, !tbaa !5
  %8190 = mul nsw i32 1, %8189
  %8191 = add nsw i32 %8188, %8190
  %8192 = sext i32 %8191 to i64
  %8193 = getelementptr inbounds double, ptr %8187, i64 %8192
  %8194 = load double, ptr %8193, align 8, !tbaa !11
  %8195 = fmul double 0x3CA83DE51DC0E6B1, %8194
  %8196 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3494, double %8186, double %8195)
  %8197 = load ptr, ptr %7, align 8, !tbaa !9
  %8198 = load i32, ptr %12, align 4, !tbaa !5
  %8199 = load i32, ptr %8, align 4, !tbaa !5
  %8200 = mul nsw i32 2, %8199
  %8201 = add nsw i32 %8198, %8200
  %8202 = sext i32 %8201 to i64
  %8203 = getelementptr inbounds double, ptr %8197, i64 %8202
  %8204 = load double, ptr %8203, align 8, !tbaa !11
  %8205 = call double @llvm.fmuladd.f64(double 0xBC9E34622D69C982, double %8204, double %8196)
  %8206 = load ptr, ptr %7, align 8, !tbaa !9
  %8207 = load i32, ptr %12, align 4, !tbaa !5
  %8208 = load i32, ptr %8, align 4, !tbaa !5
  %8209 = mul nsw i32 3, %8208
  %8210 = add nsw i32 %8207, %8209
  %8211 = sext i32 %8210 to i64
  %8212 = getelementptr inbounds double, ptr %8206, i64 %8211
  %8213 = load double, ptr %8212, align 8, !tbaa !11
  %8214 = call double @llvm.fmuladd.f64(double 0xBCAE8A2AE854D513, double %8213, double %8205)
  %8215 = load ptr, ptr %7, align 8, !tbaa !9
  %8216 = load i32, ptr %12, align 4, !tbaa !5
  %8217 = load i32, ptr %8, align 4, !tbaa !5
  %8218 = mul nsw i32 4, %8217
  %8219 = add nsw i32 %8216, %8218
  %8220 = sext i32 %8219 to i64
  %8221 = getelementptr inbounds double, ptr %8215, i64 %8220
  %8222 = load double, ptr %8221, align 8, !tbaa !11
  %8223 = call double @llvm.fmuladd.f64(double 0x3CB09A426D1ADB3A, double %8222, double %8214)
  %8224 = load ptr, ptr %7, align 8, !tbaa !9
  %8225 = load i32, ptr %12, align 4, !tbaa !5
  %8226 = load i32, ptr %8, align 4, !tbaa !5
  %8227 = mul nsw i32 5, %8226
  %8228 = add nsw i32 %8225, %8227
  %8229 = sext i32 %8228 to i64
  %8230 = getelementptr inbounds double, ptr %8224, i64 %8229
  %8231 = load double, ptr %8230, align 8, !tbaa !11
  %8232 = call double @llvm.fmuladd.f64(double 0x3CC33662C674E1E4, double %8231, double %8223)
  %8233 = load ptr, ptr %7, align 8, !tbaa !9
  %8234 = load i32, ptr %12, align 4, !tbaa !5
  %8235 = load i32, ptr %8, align 4, !tbaa !5
  %8236 = mul nsw i32 6, %8235
  %8237 = add nsw i32 %8234, %8236
  %8238 = sext i32 %8237 to i64
  %8239 = getelementptr inbounds double, ptr %8233, i64 %8238
  %8240 = load double, ptr %8239, align 8, !tbaa !11
  %8241 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F756, double %8240, double %8232)
  %8242 = load ptr, ptr %7, align 8, !tbaa !9
  %8243 = load i32, ptr %12, align 4, !tbaa !5
  %8244 = load i32, ptr %8, align 4, !tbaa !5
  %8245 = mul nsw i32 7, %8244
  %8246 = add nsw i32 %8243, %8245
  %8247 = sext i32 %8246 to i64
  %8248 = getelementptr inbounds double, ptr %8242, i64 %8247
  %8249 = load double, ptr %8248, align 8, !tbaa !11
  %8250 = call double @llvm.fmuladd.f64(double 0xBCF4E04E2DCDEC57, double %8249, double %8241)
  %8251 = load ptr, ptr %7, align 8, !tbaa !9
  %8252 = load i32, ptr %12, align 4, !tbaa !5
  %8253 = load i32, ptr %8, align 4, !tbaa !5
  %8254 = mul nsw i32 8, %8253
  %8255 = add nsw i32 %8252, %8254
  %8256 = sext i32 %8255 to i64
  %8257 = getelementptr inbounds double, ptr %8251, i64 %8256
  %8258 = load double, ptr %8257, align 8, !tbaa !11
  %8259 = call double @llvm.fmuladd.f64(double 0xBCF3AAAAAAAAAAAB, double %8258, double %8250)
  %8260 = load ptr, ptr %7, align 8, !tbaa !9
  %8261 = load i32, ptr %12, align 4, !tbaa !5
  %8262 = load i32, ptr %8, align 4, !tbaa !5
  %8263 = mul nsw i32 9, %8262
  %8264 = add nsw i32 %8261, %8263
  %8265 = sext i32 %8264 to i64
  %8266 = getelementptr inbounds double, ptr %8260, i64 %8265
  %8267 = load double, ptr %8266, align 8, !tbaa !11
  %8268 = call double @llvm.fmuladd.f64(double 0xBCE72AAAAAAAAAA8, double %8267, double %8259)
  %8269 = load ptr, ptr %7, align 8, !tbaa !9
  %8270 = load i32, ptr %12, align 4, !tbaa !5
  %8271 = load i32, ptr %8, align 4, !tbaa !5
  %8272 = mul nsw i32 10, %8271
  %8273 = add nsw i32 %8270, %8272
  %8274 = sext i32 %8273 to i64
  %8275 = getelementptr inbounds double, ptr %8269, i64 %8274
  %8276 = load double, ptr %8275, align 8, !tbaa !11
  %8277 = call double @llvm.fmuladd.f64(double 0x3D043F63A4642756, double %8276, double %8268)
  %8278 = load ptr, ptr %7, align 8, !tbaa !9
  %8279 = load i32, ptr %12, align 4, !tbaa !5
  %8280 = load i32, ptr %8, align 4, !tbaa !5
  %8281 = mul nsw i32 11, %8280
  %8282 = add nsw i32 %8279, %8281
  %8283 = sext i32 %8282 to i64
  %8284 = getelementptr inbounds double, ptr %8278, i64 %8283
  %8285 = load double, ptr %8284, align 8, !tbaa !11
  %8286 = call double @llvm.fmuladd.f64(double 0x3D0394B8F9B97CA9, double %8285, double %8277)
  %8287 = load ptr, ptr %7, align 8, !tbaa !9
  %8288 = load i32, ptr %12, align 4, !tbaa !5
  %8289 = load i32, ptr %8, align 4, !tbaa !5
  %8290 = mul nsw i32 12, %8289
  %8291 = add nsw i32 %8288, %8290
  %8292 = sext i32 %8291 to i64
  %8293 = getelementptr inbounds double, ptr %8287, i64 %8292
  %8294 = load double, ptr %8293, align 8, !tbaa !11
  %8295 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4DAA, double %8294, double %8286)
  %8296 = load ptr, ptr %7, align 8, !tbaa !9
  %8297 = load i32, ptr %12, align 4, !tbaa !5
  %8298 = load i32, ptr %8, align 4, !tbaa !5
  %8299 = mul nsw i32 13, %8298
  %8300 = add nsw i32 %8297, %8299
  %8301 = sext i32 %8300 to i64
  %8302 = getelementptr inbounds double, ptr %8296, i64 %8301
  %8303 = load double, ptr %8302, align 8, !tbaa !11
  %8304 = call double @llvm.fmuladd.f64(double 0x3D09B45DC0DE51B8, double %8303, double %8295)
  %8305 = load ptr, ptr %7, align 8, !tbaa !9
  %8306 = load i32, ptr %12, align 4, !tbaa !5
  %8307 = load i32, ptr %8, align 4, !tbaa !5
  %8308 = mul nsw i32 14, %8307
  %8309 = add nsw i32 %8306, %8308
  %8310 = sext i32 %8309 to i64
  %8311 = getelementptr inbounds double, ptr %8305, i64 %8310
  %8312 = load double, ptr %8311, align 8, !tbaa !11
  %8313 = call double @llvm.fmuladd.f64(double 0x3D08D1BE19B028E3, double %8312, double %8304)
  %8314 = load ptr, ptr %7, align 8, !tbaa !9
  %8315 = load i32, ptr %12, align 4, !tbaa !5
  %8316 = load i32, ptr %8, align 4, !tbaa !5
  %8317 = mul nsw i32 15, %8316
  %8318 = add nsw i32 %8315, %8317
  %8319 = sext i32 %8318 to i64
  %8320 = getelementptr inbounds double, ptr %8314, i64 %8319
  %8321 = load double, ptr %8320, align 8, !tbaa !11
  %8322 = call double @llvm.fmuladd.f64(double 0x3CFE5F4A2FBB3DAA, double %8321, double %8313)
  %8323 = load ptr, ptr %7, align 8, !tbaa !9
  %8324 = load i32, ptr %12, align 4, !tbaa !5
  %8325 = load i32, ptr %8, align 4, !tbaa !5
  %8326 = mul nsw i32 16, %8325
  %8327 = add nsw i32 %8324, %8326
  %8328 = sext i32 %8327 to i64
  %8329 = getelementptr inbounds double, ptr %8323, i64 %8328
  %8330 = load double, ptr %8329, align 8, !tbaa !11
  %8331 = call double @llvm.fmuladd.f64(double 0xBD1A2CB1FB1DAEB0, double %8330, double %8322)
  %8332 = load ptr, ptr %7, align 8, !tbaa !9
  %8333 = load i32, ptr %12, align 4, !tbaa !5
  %8334 = load i32, ptr %8, align 4, !tbaa !5
  %8335 = mul nsw i32 17, %8334
  %8336 = add nsw i32 %8333, %8335
  %8337 = sext i32 %8336 to i64
  %8338 = getelementptr inbounds double, ptr %8332, i64 %8337
  %8339 = load double, ptr %8338, align 8, !tbaa !11
  %8340 = call double @llvm.fmuladd.f64(double 0xBD19BC0F93106564, double %8339, double %8331)
  store double %8340, ptr %11, align 8, !tbaa !11
  %8341 = load double, ptr %11, align 8, !tbaa !11
  %8342 = load ptr, ptr %9, align 8, !tbaa !9
  %8343 = load i32, ptr %12, align 4, !tbaa !5
  %8344 = load i32, ptr %10, align 4, !tbaa !5
  %8345 = mul nsw i32 48, %8344
  %8346 = add nsw i32 %8343, %8345
  %8347 = sext i32 %8346 to i64
  %8348 = getelementptr inbounds double, ptr %8342, i64 %8347
  store double %8341, ptr %8348, align 8, !tbaa !11
  %8349 = load ptr, ptr %7, align 8, !tbaa !9
  %8350 = load i32, ptr %12, align 4, !tbaa !5
  %8351 = load i32, ptr %8, align 4, !tbaa !5
  %8352 = mul nsw i32 0, %8351
  %8353 = add nsw i32 %8350, %8352
  %8354 = sext i32 %8353 to i64
  %8355 = getelementptr inbounds double, ptr %8349, i64 %8354
  %8356 = load double, ptr %8355, align 8, !tbaa !11
  %8357 = load ptr, ptr %7, align 8, !tbaa !9
  %8358 = load i32, ptr %12, align 4, !tbaa !5
  %8359 = load i32, ptr %8, align 4, !tbaa !5
  %8360 = mul nsw i32 1, %8359
  %8361 = add nsw i32 %8358, %8360
  %8362 = sext i32 %8361 to i64
  %8363 = getelementptr inbounds double, ptr %8357, i64 %8362
  %8364 = load double, ptr %8363, align 8, !tbaa !11
  %8365 = fmul double 0x3FE4A7E9CB8A349B, %8364
  %8366 = call double @llvm.fmuladd.f64(double 0x3CA9156DC73A81A0, double %8356, double %8365)
  %8367 = load ptr, ptr %7, align 8, !tbaa !9
  %8368 = load i32, ptr %12, align 4, !tbaa !5
  %8369 = load i32, ptr %8, align 4, !tbaa !5
  %8370 = mul nsw i32 2, %8369
  %8371 = add nsw i32 %8368, %8370
  %8372 = sext i32 %8371 to i64
  %8373 = getelementptr inbounds double, ptr %8367, i64 %8372
  %8374 = load double, ptr %8373, align 8, !tbaa !11
  %8375 = call double @llvm.fmuladd.f64(double 0x3CB3ED7C18573421, double %8374, double %8366)
  %8376 = load ptr, ptr %7, align 8, !tbaa !9
  %8377 = load i32, ptr %12, align 4, !tbaa !5
  %8378 = load i32, ptr %8, align 4, !tbaa !5
  %8379 = mul nsw i32 3, %8378
  %8380 = add nsw i32 %8377, %8379
  %8381 = sext i32 %8380 to i64
  %8382 = getelementptr inbounds double, ptr %8376, i64 %8381
  %8383 = load double, ptr %8382, align 8, !tbaa !11
  %8384 = call double @llvm.fmuladd.f64(double 0x3C7273617E940A5F, double %8383, double %8375)
  %8385 = load ptr, ptr %7, align 8, !tbaa !9
  %8386 = load i32, ptr %12, align 4, !tbaa !5
  %8387 = load i32, ptr %8, align 4, !tbaa !5
  %8388 = mul nsw i32 4, %8387
  %8389 = add nsw i32 %8386, %8388
  %8390 = sext i32 %8389 to i64
  %8391 = getelementptr inbounds double, ptr %8385, i64 %8390
  %8392 = load double, ptr %8391, align 8, !tbaa !11
  %8393 = call double @llvm.fmuladd.f64(double 0xBC8999CF078525B6, double %8392, double %8384)
  %8394 = load ptr, ptr %7, align 8, !tbaa !9
  %8395 = load i32, ptr %12, align 4, !tbaa !5
  %8396 = load i32, ptr %8, align 4, !tbaa !5
  %8397 = mul nsw i32 5, %8396
  %8398 = add nsw i32 %8395, %8397
  %8399 = sext i32 %8398 to i64
  %8400 = getelementptr inbounds double, ptr %8394, i64 %8399
  %8401 = load double, ptr %8400, align 8, !tbaa !11
  %8402 = call double @llvm.fmuladd.f64(double 0xBCB71018CCDEBB81, double %8401, double %8393)
  %8403 = load ptr, ptr %7, align 8, !tbaa !9
  %8404 = load i32, ptr %12, align 4, !tbaa !5
  %8405 = load i32, ptr %8, align 4, !tbaa !5
  %8406 = mul nsw i32 6, %8405
  %8407 = add nsw i32 %8404, %8406
  %8408 = sext i32 %8407 to i64
  %8409 = getelementptr inbounds double, ptr %8403, i64 %8408
  %8410 = load double, ptr %8409, align 8, !tbaa !11
  %8411 = call double @llvm.fmuladd.f64(double 0xBCF414B8F9B97CAA, double %8410, double %8402)
  %8412 = load ptr, ptr %7, align 8, !tbaa !9
  %8413 = load i32, ptr %12, align 4, !tbaa !5
  %8414 = load i32, ptr %8, align 4, !tbaa !5
  %8415 = mul nsw i32 7, %8414
  %8416 = add nsw i32 %8413, %8415
  %8417 = sext i32 %8416 to i64
  %8418 = getelementptr inbounds double, ptr %8412, i64 %8417
  %8419 = load double, ptr %8418, align 8, !tbaa !11
  %8420 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F75B, double %8419, double %8411)
  %8421 = load ptr, ptr %7, align 8, !tbaa !9
  %8422 = load i32, ptr %12, align 4, !tbaa !5
  %8423 = load i32, ptr %8, align 4, !tbaa !5
  %8424 = mul nsw i32 8, %8423
  %8425 = add nsw i32 %8422, %8424
  %8426 = sext i32 %8425 to i64
  %8427 = getelementptr inbounds double, ptr %8421, i64 %8426
  %8428 = load double, ptr %8427, align 8, !tbaa !11
  %8429 = call double @llvm.fmuladd.f64(double 0xBCF39AF8D8789700, double %8428, double %8420)
  %8430 = load ptr, ptr %7, align 8, !tbaa !9
  %8431 = load i32, ptr %12, align 4, !tbaa !5
  %8432 = load i32, ptr %8, align 4, !tbaa !5
  %8433 = mul nsw i32 9, %8432
  %8434 = add nsw i32 %8431, %8433
  %8435 = sext i32 %8434 to i64
  %8436 = getelementptr inbounds double, ptr %8430, i64 %8435
  %8437 = load double, ptr %8436, align 8, !tbaa !11
  %8438 = call double @llvm.fmuladd.f64(double 0x3D05A83AA25A713E, double %8437, double %8429)
  %8439 = load ptr, ptr %7, align 8, !tbaa !9
  %8440 = load i32, ptr %12, align 4, !tbaa !5
  %8441 = load i32, ptr %8, align 4, !tbaa !5
  %8442 = mul nsw i32 10, %8441
  %8443 = add nsw i32 %8440, %8442
  %8444 = sext i32 %8443 to i64
  %8445 = getelementptr inbounds double, ptr %8439, i64 %8444
  %8446 = load double, ptr %8445, align 8, !tbaa !11
  %8447 = call double @llvm.fmuladd.f64(double 0xBCE7EC7FBD7E34A3, double %8446, double %8438)
  %8448 = load ptr, ptr %7, align 8, !tbaa !9
  %8449 = load i32, ptr %12, align 4, !tbaa !5
  %8450 = load i32, ptr %8, align 4, !tbaa !5
  %8451 = mul nsw i32 11, %8450
  %8452 = add nsw i32 %8449, %8451
  %8453 = sext i32 %8452 to i64
  %8454 = getelementptr inbounds double, ptr %8448, i64 %8453
  %8455 = load double, ptr %8454, align 8, !tbaa !11
  %8456 = call double @llvm.fmuladd.f64(double 0x3D055F1576963AFE, double %8455, double %8447)
  %8457 = load ptr, ptr %7, align 8, !tbaa !9
  %8458 = load i32, ptr %12, align 4, !tbaa !5
  %8459 = load i32, ptr %8, align 4, !tbaa !5
  %8460 = mul nsw i32 12, %8459
  %8461 = add nsw i32 %8458, %8460
  %8462 = sext i32 %8461 to i64
  %8463 = getelementptr inbounds double, ptr %8457, i64 %8462
  %8464 = load double, ptr %8463, align 8, !tbaa !11
  %8465 = call double @llvm.fmuladd.f64(double 0x3D06F41F8D97F877, double %8464, double %8456)
  %8466 = load ptr, ptr %7, align 8, !tbaa !9
  %8467 = load i32, ptr %12, align 4, !tbaa !5
  %8468 = load i32, ptr %8, align 4, !tbaa !5
  %8469 = mul nsw i32 13, %8468
  %8470 = add nsw i32 %8467, %8469
  %8471 = sext i32 %8470 to i64
  %8472 = getelementptr inbounds double, ptr %8466, i64 %8471
  %8473 = load double, ptr %8472, align 8, !tbaa !11
  %8474 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4D98, double %8473, double %8465)
  %8475 = load ptr, ptr %7, align 8, !tbaa !9
  %8476 = load i32, ptr %12, align 4, !tbaa !5
  %8477 = load i32, ptr %8, align 4, !tbaa !5
  %8478 = mul nsw i32 14, %8477
  %8479 = add nsw i32 %8476, %8478
  %8480 = sext i32 %8479 to i64
  %8481 = getelementptr inbounds double, ptr %8475, i64 %8480
  %8482 = load double, ptr %8481, align 8, !tbaa !11
  %8483 = call double @llvm.fmuladd.f64(double 0x3D0823B40E9CD388, double %8482, double %8474)
  %8484 = load ptr, ptr %7, align 8, !tbaa !9
  %8485 = load i32, ptr %12, align 4, !tbaa !5
  %8486 = load i32, ptr %8, align 4, !tbaa !5
  %8487 = mul nsw i32 15, %8486
  %8488 = add nsw i32 %8485, %8487
  %8489 = sext i32 %8488 to i64
  %8490 = getelementptr inbounds double, ptr %8484, i64 %8489
  %8491 = load double, ptr %8490, align 8, !tbaa !11
  %8492 = call double @llvm.fmuladd.f64(double 0xBD1BAA230A55AE0F, double %8491, double %8483)
  %8493 = load ptr, ptr %7, align 8, !tbaa !9
  %8494 = load i32, ptr %12, align 4, !tbaa !5
  %8495 = load i32, ptr %8, align 4, !tbaa !5
  %8496 = mul nsw i32 16, %8495
  %8497 = add nsw i32 %8494, %8496
  %8498 = sext i32 %8497 to i64
  %8499 = getelementptr inbounds double, ptr %8493, i64 %8498
  %8500 = load double, ptr %8499, align 8, !tbaa !11
  %8501 = call double @llvm.fmuladd.f64(double 0x3CFCCEA1BB3C83CA, double %8500, double %8492)
  %8502 = load ptr, ptr %7, align 8, !tbaa !9
  %8503 = load i32, ptr %12, align 4, !tbaa !5
  %8504 = load i32, ptr %8, align 4, !tbaa !5
  %8505 = mul nsw i32 17, %8504
  %8506 = add nsw i32 %8503, %8505
  %8507 = sext i32 %8506 to i64
  %8508 = getelementptr inbounds double, ptr %8502, i64 %8507
  %8509 = load double, ptr %8508, align 8, !tbaa !11
  %8510 = call double @llvm.fmuladd.f64(double 0xBD19F767A944DB32, double %8509, double %8501)
  store double %8510, ptr %11, align 8, !tbaa !11
  %8511 = load double, ptr %11, align 8, !tbaa !11
  %8512 = load ptr, ptr %9, align 8, !tbaa !9
  %8513 = load i32, ptr %12, align 4, !tbaa !5
  %8514 = load i32, ptr %10, align 4, !tbaa !5
  %8515 = mul nsw i32 49, %8514
  %8516 = add nsw i32 %8513, %8515
  %8517 = sext i32 %8516 to i64
  %8518 = getelementptr inbounds double, ptr %8512, i64 %8517
  store double %8511, ptr %8518, align 8, !tbaa !11
  %8519 = load ptr, ptr %7, align 8, !tbaa !9
  %8520 = load i32, ptr %12, align 4, !tbaa !5
  %8521 = load i32, ptr %8, align 4, !tbaa !5
  %8522 = mul nsw i32 0, %8521
  %8523 = add nsw i32 %8520, %8522
  %8524 = sext i32 %8523 to i64
  %8525 = getelementptr inbounds double, ptr %8519, i64 %8524
  %8526 = load double, ptr %8525, align 8, !tbaa !11
  %8527 = load ptr, ptr %7, align 8, !tbaa !9
  %8528 = load i32, ptr %12, align 4, !tbaa !5
  %8529 = load i32, ptr %8, align 4, !tbaa !5
  %8530 = mul nsw i32 1, %8529
  %8531 = add nsw i32 %8528, %8530
  %8532 = sext i32 %8531 to i64
  %8533 = getelementptr inbounds double, ptr %8527, i64 %8532
  %8534 = load double, ptr %8533, align 8, !tbaa !11
  %8535 = fmul double 0x3CB18F99C07C05C8, %8534
  %8536 = call double @llvm.fmuladd.f64(double 0xBC774AA3B009835F, double %8526, double %8535)
  %8537 = load ptr, ptr %7, align 8, !tbaa !9
  %8538 = load i32, ptr %12, align 4, !tbaa !5
  %8539 = load i32, ptr %8, align 4, !tbaa !5
  %8540 = mul nsw i32 2, %8539
  %8541 = add nsw i32 %8538, %8540
  %8542 = sext i32 %8541 to i64
  %8543 = getelementptr inbounds double, ptr %8537, i64 %8542
  %8544 = load double, ptr %8543, align 8, !tbaa !11
  %8545 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3498, double %8544, double %8536)
  %8546 = load ptr, ptr %7, align 8, !tbaa !9
  %8547 = load i32, ptr %12, align 4, !tbaa !5
  %8548 = load i32, ptr %8, align 4, !tbaa !5
  %8549 = mul nsw i32 3, %8548
  %8550 = add nsw i32 %8547, %8549
  %8551 = sext i32 %8550 to i64
  %8552 = getelementptr inbounds double, ptr %8546, i64 %8551
  %8553 = load double, ptr %8552, align 8, !tbaa !11
  %8554 = call double @llvm.fmuladd.f64(double 0x3CA9FD38292DDC9B, double %8553, double %8545)
  %8555 = load ptr, ptr %7, align 8, !tbaa !9
  %8556 = load i32, ptr %12, align 4, !tbaa !5
  %8557 = load i32, ptr %8, align 4, !tbaa !5
  %8558 = mul nsw i32 4, %8557
  %8559 = add nsw i32 %8556, %8558
  %8560 = sext i32 %8559 to i64
  %8561 = getelementptr inbounds double, ptr %8555, i64 %8560
  %8562 = load double, ptr %8561, align 8, !tbaa !11
  %8563 = call double @llvm.fmuladd.f64(double 0xBCB9E61E59FC2E99, double %8562, double %8554)
  %8564 = load ptr, ptr %7, align 8, !tbaa !9
  %8565 = load i32, ptr %12, align 4, !tbaa !5
  %8566 = load i32, ptr %8, align 4, !tbaa !5
  %8567 = mul nsw i32 5, %8566
  %8568 = add nsw i32 %8565, %8567
  %8569 = sext i32 %8568 to i64
  %8570 = getelementptr inbounds double, ptr %8564, i64 %8569
  %8571 = load double, ptr %8570, align 8, !tbaa !11
  %8572 = call double @llvm.fmuladd.f64(double 0xBCB0C7261B82C350, double %8571, double %8563)
  %8573 = load ptr, ptr %7, align 8, !tbaa !9
  %8574 = load i32, ptr %12, align 4, !tbaa !5
  %8575 = load i32, ptr %8, align 4, !tbaa !5
  %8576 = mul nsw i32 6, %8575
  %8577 = add nsw i32 %8574, %8576
  %8578 = sext i32 %8577 to i64
  %8579 = getelementptr inbounds double, ptr %8573, i64 %8578
  %8580 = load double, ptr %8579, align 8, !tbaa !11
  %8581 = call double @llvm.fmuladd.f64(double 0xBCF48A8393C3B480, double %8580, double %8572)
  %8582 = load ptr, ptr %7, align 8, !tbaa !9
  %8583 = load i32, ptr %12, align 4, !tbaa !5
  %8584 = load i32, ptr %8, align 4, !tbaa !5
  %8585 = mul nsw i32 7, %8584
  %8586 = add nsw i32 %8583, %8585
  %8587 = sext i32 %8586 to i64
  %8588 = getelementptr inbounds double, ptr %8582, i64 %8587
  %8589 = load double, ptr %8588, align 8, !tbaa !11
  %8590 = call double @llvm.fmuladd.f64(double 0xBCF2549348F1AFC0, double %8589, double %8581)
  %8591 = load ptr, ptr %7, align 8, !tbaa !9
  %8592 = load i32, ptr %12, align 4, !tbaa !5
  %8593 = load i32, ptr %8, align 4, !tbaa !5
  %8594 = mul nsw i32 8, %8593
  %8595 = add nsw i32 %8592, %8594
  %8596 = sext i32 %8595 to i64
  %8597 = getelementptr inbounds double, ptr %8591, i64 %8596
  %8598 = load double, ptr %8597, align 8, !tbaa !11
  %8599 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F75B, double %8598, double %8590)
  %8600 = load ptr, ptr %7, align 8, !tbaa !9
  %8601 = load i32, ptr %12, align 4, !tbaa !5
  %8602 = load i32, ptr %8, align 4, !tbaa !5
  %8603 = mul nsw i32 9, %8602
  %8604 = add nsw i32 %8601, %8603
  %8605 = sext i32 %8604 to i64
  %8606 = getelementptr inbounds double, ptr %8600, i64 %8605
  %8607 = load double, ptr %8606, align 8, !tbaa !11
  %8608 = call double @llvm.fmuladd.f64(double 0x3D0538138B737B15, double %8607, double %8599)
  %8609 = load ptr, ptr %7, align 8, !tbaa !9
  %8610 = load i32, ptr %12, align 4, !tbaa !5
  %8611 = load i32, ptr %8, align 4, !tbaa !5
  %8612 = mul nsw i32 10, %8611
  %8613 = add nsw i32 %8610, %8612
  %8614 = sext i32 %8613 to i64
  %8615 = getelementptr inbounds double, ptr %8609, i64 %8614
  %8616 = load double, ptr %8615, align 8, !tbaa !11
  %8617 = call double @llvm.fmuladd.f64(double 0x3D05852E3E6E5F29, double %8616, double %8608)
  %8618 = load ptr, ptr %7, align 8, !tbaa !9
  %8619 = load i32, ptr %12, align 4, !tbaa !5
  %8620 = load i32, ptr %8, align 4, !tbaa !5
  %8621 = mul nsw i32 11, %8620
  %8622 = add nsw i32 %8619, %8621
  %8623 = sext i32 %8622 to i64
  %8624 = getelementptr inbounds double, ptr %8618, i64 %8623
  %8625 = load double, ptr %8624, align 8, !tbaa !11
  %8626 = call double @llvm.fmuladd.f64(double 0xBCE197C6C3C4B802, double %8625, double %8617)
  %8627 = load ptr, ptr %7, align 8, !tbaa !9
  %8628 = load i32, ptr %12, align 4, !tbaa !5
  %8629 = load i32, ptr %8, align 4, !tbaa !5
  %8630 = mul nsw i32 12, %8629
  %8631 = add nsw i32 %8628, %8630
  %8632 = sext i32 %8631 to i64
  %8633 = getelementptr inbounds double, ptr %8627, i64 %8632
  %8634 = load double, ptr %8633, align 8, !tbaa !11
  %8635 = call double @llvm.fmuladd.f64(double 0x3D09319702C932C5, double %8634, double %8626)
  %8636 = load ptr, ptr %7, align 8, !tbaa !9
  %8637 = load i32, ptr %12, align 4, !tbaa !5
  %8638 = load i32, ptr %8, align 4, !tbaa !5
  %8639 = mul nsw i32 13, %8638
  %8640 = add nsw i32 %8637, %8639
  %8641 = sext i32 %8640 to i64
  %8642 = getelementptr inbounds double, ptr %8636, i64 %8641
  %8643 = load double, ptr %8642, align 8, !tbaa !11
  %8644 = call double @llvm.fmuladd.f64(double 0x3D08453A4092DC8E, double %8643, double %8635)
  %8645 = load ptr, ptr %7, align 8, !tbaa !9
  %8646 = load i32, ptr %12, align 4, !tbaa !5
  %8647 = load i32, ptr %8, align 4, !tbaa !5
  %8648 = mul nsw i32 14, %8647
  %8649 = add nsw i32 %8646, %8648
  %8650 = sext i32 %8649 to i64
  %8651 = getelementptr inbounds double, ptr %8645, i64 %8650
  %8652 = load double, ptr %8651, align 8, !tbaa !11
  %8653 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4D98, double %8652, double %8644)
  %8654 = load ptr, ptr %7, align 8, !tbaa !9
  %8655 = load i32, ptr %12, align 4, !tbaa !5
  %8656 = load i32, ptr %8, align 4, !tbaa !5
  %8657 = mul nsw i32 15, %8656
  %8658 = add nsw i32 %8655, %8657
  %8659 = sext i32 %8658 to i64
  %8660 = getelementptr inbounds double, ptr %8654, i64 %8659
  %8661 = load double, ptr %8660, align 8, !tbaa !11
  %8662 = call double @llvm.fmuladd.f64(double 0xBD1B7FE6E4DEE0A3, double %8661, double %8653)
  %8663 = load ptr, ptr %7, align 8, !tbaa !9
  %8664 = load i32, ptr %12, align 4, !tbaa !5
  %8665 = load i32, ptr %8, align 4, !tbaa !5
  %8666 = mul nsw i32 16, %8665
  %8667 = add nsw i32 %8664, %8666
  %8668 = sext i32 %8667 to i64
  %8669 = getelementptr inbounds double, ptr %8663, i64 %8668
  %8670 = load double, ptr %8669, align 8, !tbaa !11
  %8671 = call double @llvm.fmuladd.f64(double 0xBD1AB13DD17EC493, double %8670, double %8662)
  %8672 = load ptr, ptr %7, align 8, !tbaa !9
  %8673 = load i32, ptr %12, align 4, !tbaa !5
  %8674 = load i32, ptr %8, align 4, !tbaa !5
  %8675 = mul nsw i32 17, %8674
  %8676 = add nsw i32 %8673, %8675
  %8677 = sext i32 %8676 to i64
  %8678 = getelementptr inbounds double, ptr %8672, i64 %8677
  %8679 = load double, ptr %8678, align 8, !tbaa !11
  %8680 = call double @llvm.fmuladd.f64(double 0x3CF9E39CC9E10B88, double %8679, double %8671)
  store double %8680, ptr %11, align 8, !tbaa !11
  %8681 = load double, ptr %11, align 8, !tbaa !11
  %8682 = load ptr, ptr %9, align 8, !tbaa !9
  %8683 = load i32, ptr %12, align 4, !tbaa !5
  %8684 = load i32, ptr %10, align 4, !tbaa !5
  %8685 = mul nsw i32 50, %8684
  %8686 = add nsw i32 %8683, %8685
  %8687 = sext i32 %8686 to i64
  %8688 = getelementptr inbounds double, ptr %8682, i64 %8687
  store double %8681, ptr %8688, align 8, !tbaa !11
  %8689 = load ptr, ptr %7, align 8, !tbaa !9
  %8690 = load i32, ptr %12, align 4, !tbaa !5
  %8691 = load i32, ptr %8, align 4, !tbaa !5
  %8692 = mul nsw i32 0, %8691
  %8693 = add nsw i32 %8690, %8692
  %8694 = sext i32 %8693 to i64
  %8695 = getelementptr inbounds double, ptr %8689, i64 %8694
  %8696 = load double, ptr %8695, align 8, !tbaa !11
  %8697 = load ptr, ptr %7, align 8, !tbaa !9
  %8698 = load i32, ptr %12, align 4, !tbaa !5
  %8699 = load i32, ptr %8, align 4, !tbaa !5
  %8700 = mul nsw i32 1, %8699
  %8701 = add nsw i32 %8698, %8700
  %8702 = sext i32 %8701 to i64
  %8703 = getelementptr inbounds double, ptr %8697, i64 %8702
  %8704 = load double, ptr %8703, align 8, !tbaa !11
  %8705 = fmul double 0xBCC12CAB67834A70, %8704
  %8706 = call double @llvm.fmuladd.f64(double 0x3C80AA02FA4803A4, double %8696, double %8705)
  %8707 = load ptr, ptr %7, align 8, !tbaa !9
  %8708 = load i32, ptr %12, align 4, !tbaa !5
  %8709 = load i32, ptr %8, align 4, !tbaa !5
  %8710 = mul nsw i32 2, %8709
  %8711 = add nsw i32 %8708, %8710
  %8712 = sext i32 %8711 to i64
  %8713 = getelementptr inbounds double, ptr %8707, i64 %8712
  %8714 = load double, ptr %8713, align 8, !tbaa !11
  %8715 = call double @llvm.fmuladd.f64(double 0xBCC3D0AC662B45FE, double %8714, double %8706)
  %8716 = load ptr, ptr %7, align 8, !tbaa !9
  %8717 = load i32, ptr %12, align 4, !tbaa !5
  %8718 = load i32, ptr %8, align 4, !tbaa !5
  %8719 = mul nsw i32 3, %8718
  %8720 = add nsw i32 %8717, %8719
  %8721 = sext i32 %8720 to i64
  %8722 = getelementptr inbounds double, ptr %8716, i64 %8721
  %8723 = load double, ptr %8722, align 8, !tbaa !11
  %8724 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3492, double %8723, double %8715)
  %8725 = load ptr, ptr %7, align 8, !tbaa !9
  %8726 = load i32, ptr %12, align 4, !tbaa !5
  %8727 = load i32, ptr %8, align 4, !tbaa !5
  %8728 = mul nsw i32 4, %8727
  %8729 = add nsw i32 %8726, %8728
  %8730 = sext i32 %8729 to i64
  %8731 = getelementptr inbounds double, ptr %8725, i64 %8730
  %8732 = load double, ptr %8731, align 8, !tbaa !11
  %8733 = call double @llvm.fmuladd.f64(double 0x3CA52C6631B8F77F, double %8732, double %8724)
  %8734 = load ptr, ptr %7, align 8, !tbaa !9
  %8735 = load i32, ptr %12, align 4, !tbaa !5
  %8736 = load i32, ptr %8, align 4, !tbaa !5
  %8737 = mul nsw i32 5, %8736
  %8738 = add nsw i32 %8735, %8737
  %8739 = sext i32 %8738 to i64
  %8740 = getelementptr inbounds double, ptr %8734, i64 %8739
  %8741 = load double, ptr %8740, align 8, !tbaa !11
  %8742 = call double @llvm.fmuladd.f64(double 0x3C9E24E98A05E9A1, double %8741, double %8733)
  %8743 = load ptr, ptr %7, align 8, !tbaa !9
  %8744 = load i32, ptr %12, align 4, !tbaa !5
  %8745 = load i32, ptr %8, align 4, !tbaa !5
  %8746 = mul nsw i32 6, %8745
  %8747 = add nsw i32 %8744, %8746
  %8748 = sext i32 %8747 to i64
  %8749 = getelementptr inbounds double, ptr %8743, i64 %8748
  %8750 = load double, ptr %8749, align 8, !tbaa !11
  %8751 = call double @llvm.fmuladd.f64(double 0xBCDA7F1576963AFB, double %8750, double %8742)
  %8752 = load ptr, ptr %7, align 8, !tbaa !9
  %8753 = load i32, ptr %12, align 4, !tbaa !5
  %8754 = load i32, ptr %8, align 4, !tbaa !5
  %8755 = mul nsw i32 7, %8754
  %8756 = add nsw i32 %8753, %8755
  %8757 = sext i32 %8756 to i64
  %8758 = getelementptr inbounds double, ptr %8752, i64 %8757
  %8759 = load double, ptr %8758, align 8, !tbaa !11
  %8760 = call double @llvm.fmuladd.f64(double 0x3CF4F52E3E6E5F2F, double %8759, double %8751)
  %8761 = load ptr, ptr %7, align 8, !tbaa !9
  %8762 = load i32, ptr %12, align 4, !tbaa !5
  %8763 = load i32, ptr %8, align 4, !tbaa !5
  %8764 = mul nsw i32 8, %8763
  %8765 = add nsw i32 %8762, %8764
  %8766 = sext i32 %8765 to i64
  %8767 = getelementptr inbounds double, ptr %8761, i64 %8766
  %8768 = load double, ptr %8767, align 8, !tbaa !11
  %8769 = call double @llvm.fmuladd.f64(double 0x3CF55B6CB70E5048, double %8768, double %8760)
  %8770 = load ptr, ptr %7, align 8, !tbaa !9
  %8771 = load i32, ptr %12, align 4, !tbaa !5
  %8772 = load i32, ptr %8, align 4, !tbaa !5
  %8773 = mul nsw i32 9, %8772
  %8774 = add nsw i32 %8771, %8773
  %8775 = sext i32 %8774 to i64
  %8776 = getelementptr inbounds double, ptr %8770, i64 %8775
  %8777 = load double, ptr %8776, align 8, !tbaa !11
  %8778 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F717, double %8777, double %8769)
  %8779 = load ptr, ptr %7, align 8, !tbaa !9
  %8780 = load i32, ptr %12, align 4, !tbaa !5
  %8781 = load i32, ptr %8, align 4, !tbaa !5
  %8782 = mul nsw i32 10, %8781
  %8783 = add nsw i32 %8780, %8782
  %8784 = sext i32 %8783 to i64
  %8785 = getelementptr inbounds double, ptr %8779, i64 %8784
  %8786 = load double, ptr %8785, align 8, !tbaa !11
  %8787 = call double @llvm.fmuladd.f64(double 0x3CEFF3CE704FB7B1, double %8786, double %8778)
  %8788 = load ptr, ptr %7, align 8, !tbaa !9
  %8789 = load i32, ptr %12, align 4, !tbaa !5
  %8790 = load i32, ptr %8, align 4, !tbaa !5
  %8791 = mul nsw i32 11, %8790
  %8792 = add nsw i32 %8789, %8791
  %8793 = sext i32 %8792 to i64
  %8794 = getelementptr inbounds double, ptr %8788, i64 %8793
  %8795 = load double, ptr %8794, align 8, !tbaa !11
  %8796 = call double @llvm.fmuladd.f64(double 0x3CEF146ACBEB905B, double %8795, double %8787)
  %8797 = load ptr, ptr %7, align 8, !tbaa !9
  %8798 = load i32, ptr %12, align 4, !tbaa !5
  %8799 = load i32, ptr %8, align 4, !tbaa !5
  %8800 = mul nsw i32 12, %8799
  %8801 = add nsw i32 %8798, %8800
  %8802 = sext i32 %8801 to i64
  %8803 = getelementptr inbounds double, ptr %8797, i64 %8802
  %8804 = load double, ptr %8803, align 8, !tbaa !11
  %8805 = call double @llvm.fmuladd.f64(double 0x3CEC2EB7C235876B, double %8804, double %8796)
  %8806 = load ptr, ptr %7, align 8, !tbaa !9
  %8807 = load i32, ptr %12, align 4, !tbaa !5
  %8808 = load i32, ptr %8, align 4, !tbaa !5
  %8809 = mul nsw i32 13, %8808
  %8810 = add nsw i32 %8807, %8809
  %8811 = sext i32 %8810 to i64
  %8812 = getelementptr inbounds double, ptr %8806, i64 %8811
  %8813 = load double, ptr %8812, align 8, !tbaa !11
  %8814 = call double @llvm.fmuladd.f64(double 0xBD09EA15B3B00878, double %8813, double %8805)
  %8815 = load ptr, ptr %7, align 8, !tbaa !9
  %8816 = load i32, ptr %12, align 4, !tbaa !5
  %8817 = load i32, ptr %8, align 4, !tbaa !5
  %8818 = mul nsw i32 14, %8817
  %8819 = add nsw i32 %8816, %8818
  %8820 = sext i32 %8819 to i64
  %8821 = getelementptr inbounds double, ptr %8815, i64 %8820
  %8822 = load double, ptr %8821, align 8, !tbaa !11
  %8823 = call double @llvm.fmuladd.f64(double 0xBD0A5870F2CA0280, double %8822, double %8814)
  %8824 = load ptr, ptr %7, align 8, !tbaa !9
  %8825 = load i32, ptr %12, align 4, !tbaa !5
  %8826 = load i32, ptr %8, align 4, !tbaa !5
  %8827 = mul nsw i32 15, %8826
  %8828 = add nsw i32 %8825, %8827
  %8829 = sext i32 %8828 to i64
  %8830 = getelementptr inbounds double, ptr %8824, i64 %8829
  %8831 = load double, ptr %8830, align 8, !tbaa !11
  %8832 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4E48, double %8831, double %8823)
  %8833 = load ptr, ptr %7, align 8, !tbaa !9
  %8834 = load i32, ptr %12, align 4, !tbaa !5
  %8835 = load i32, ptr %8, align 4, !tbaa !5
  %8836 = mul nsw i32 16, %8835
  %8837 = add nsw i32 %8834, %8836
  %8838 = sext i32 %8837 to i64
  %8839 = getelementptr inbounds double, ptr %8833, i64 %8838
  %8840 = load double, ptr %8839, align 8, !tbaa !11
  %8841 = call double @llvm.fmuladd.f64(double 0xBD043059A53F3A02, double %8840, double %8832)
  %8842 = load ptr, ptr %7, align 8, !tbaa !9
  %8843 = load i32, ptr %12, align 4, !tbaa !5
  %8844 = load i32, ptr %8, align 4, !tbaa !5
  %8845 = mul nsw i32 17, %8844
  %8846 = add nsw i32 %8843, %8845
  %8847 = sext i32 %8846 to i64
  %8848 = getelementptr inbounds double, ptr %8842, i64 %8847
  %8849 = load double, ptr %8848, align 8, !tbaa !11
  %8850 = call double @llvm.fmuladd.f64(double 0xBD03454734E1B74C, double %8849, double %8841)
  store double %8850, ptr %11, align 8, !tbaa !11
  %8851 = load double, ptr %11, align 8, !tbaa !11
  %8852 = load ptr, ptr %9, align 8, !tbaa !9
  %8853 = load i32, ptr %12, align 4, !tbaa !5
  %8854 = load i32, ptr %10, align 4, !tbaa !5
  %8855 = mul nsw i32 51, %8854
  %8856 = add nsw i32 %8853, %8855
  %8857 = sext i32 %8856 to i64
  %8858 = getelementptr inbounds double, ptr %8852, i64 %8857
  store double %8851, ptr %8858, align 8, !tbaa !11
  %8859 = load ptr, ptr %7, align 8, !tbaa !9
  %8860 = load i32, ptr %12, align 4, !tbaa !5
  %8861 = load i32, ptr %8, align 4, !tbaa !5
  %8862 = mul nsw i32 0, %8861
  %8863 = add nsw i32 %8860, %8862
  %8864 = sext i32 %8863 to i64
  %8865 = getelementptr inbounds double, ptr %8859, i64 %8864
  %8866 = load double, ptr %8865, align 8, !tbaa !11
  %8867 = load ptr, ptr %7, align 8, !tbaa !9
  %8868 = load i32, ptr %12, align 4, !tbaa !5
  %8869 = load i32, ptr %8, align 4, !tbaa !5
  %8870 = mul nsw i32 1, %8869
  %8871 = add nsw i32 %8868, %8870
  %8872 = sext i32 %8871 to i64
  %8873 = getelementptr inbounds double, ptr %8867, i64 %8872
  %8874 = load double, ptr %8873, align 8, !tbaa !11
  %8875 = fmul double 0x3CA641DE100CB2D1, %8874
  %8876 = call double @llvm.fmuladd.f64(double 0xBC7995F7A399077F, double %8866, double %8875)
  %8877 = load ptr, ptr %7, align 8, !tbaa !9
  %8878 = load i32, ptr %12, align 4, !tbaa !5
  %8879 = load i32, ptr %8, align 4, !tbaa !5
  %8880 = mul nsw i32 2, %8879
  %8881 = add nsw i32 %8878, %8880
  %8882 = sext i32 %8881 to i64
  %8883 = getelementptr inbounds double, ptr %8877, i64 %8882
  %8884 = load double, ptr %8883, align 8, !tbaa !11
  %8885 = call double @llvm.fmuladd.f64(double 0xBCB4F5312ABC6654, double %8884, double %8876)
  %8886 = load ptr, ptr %7, align 8, !tbaa !9
  %8887 = load i32, ptr %12, align 4, !tbaa !5
  %8888 = load i32, ptr %8, align 4, !tbaa !5
  %8889 = mul nsw i32 3, %8888
  %8890 = add nsw i32 %8887, %8889
  %8891 = sext i32 %8890 to i64
  %8892 = getelementptr inbounds double, ptr %8886, i64 %8891
  %8893 = load double, ptr %8892, align 8, !tbaa !11
  %8894 = call double @llvm.fmuladd.f64(double 0xBC84CFA22413F23C, double %8893, double %8885)
  %8895 = load ptr, ptr %7, align 8, !tbaa !9
  %8896 = load i32, ptr %12, align 4, !tbaa !5
  %8897 = load i32, ptr %8, align 4, !tbaa !5
  %8898 = mul nsw i32 4, %8897
  %8899 = add nsw i32 %8896, %8898
  %8900 = sext i32 %8899 to i64
  %8901 = getelementptr inbounds double, ptr %8895, i64 %8900
  %8902 = load double, ptr %8901, align 8, !tbaa !11
  %8903 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3497, double %8902, double %8894)
  %8904 = load ptr, ptr %7, align 8, !tbaa !9
  %8905 = load i32, ptr %12, align 4, !tbaa !5
  %8906 = load i32, ptr %8, align 4, !tbaa !5
  %8907 = mul nsw i32 5, %8906
  %8908 = add nsw i32 %8905, %8907
  %8909 = sext i32 %8908 to i64
  %8910 = getelementptr inbounds double, ptr %8904, i64 %8909
  %8911 = load double, ptr %8910, align 8, !tbaa !11
  %8912 = call double @llvm.fmuladd.f64(double 0x3C71E70AAB141C80, double %8911, double %8903)
  %8913 = load ptr, ptr %7, align 8, !tbaa !9
  %8914 = load i32, ptr %12, align 4, !tbaa !5
  %8915 = load i32, ptr %8, align 4, !tbaa !5
  %8916 = mul nsw i32 6, %8915
  %8917 = add nsw i32 %8914, %8916
  %8918 = sext i32 %8917 to i64
  %8919 = getelementptr inbounds double, ptr %8913, i64 %8918
  %8920 = load double, ptr %8919, align 8, !tbaa !11
  %8921 = call double @llvm.fmuladd.f64(double 0x3CF473CE704FB7AF, double %8920, double %8912)
  %8922 = load ptr, ptr %7, align 8, !tbaa !9
  %8923 = load i32, ptr %12, align 4, !tbaa !5
  %8924 = load i32, ptr %8, align 4, !tbaa !5
  %8925 = mul nsw i32 7, %8924
  %8926 = add nsw i32 %8923, %8925
  %8927 = sext i32 %8926 to i64
  %8928 = getelementptr inbounds double, ptr %8922, i64 %8927
  %8929 = load double, ptr %8928, align 8, !tbaa !11
  %8930 = call double @llvm.fmuladd.f64(double 0xBCDC972A6828DF4A, double %8929, double %8921)
  %8931 = load ptr, ptr %7, align 8, !tbaa !9
  %8932 = load i32, ptr %12, align 4, !tbaa !5
  %8933 = load i32, ptr %8, align 4, !tbaa !5
  %8934 = mul nsw i32 8, %8933
  %8935 = add nsw i32 %8932, %8934
  %8936 = sext i32 %8935 to i64
  %8937 = getelementptr inbounds double, ptr %8931, i64 %8936
  %8938 = load double, ptr %8937, align 8, !tbaa !11
  %8939 = call double @llvm.fmuladd.f64(double 0x3CF52443B5049A2F, double %8938, double %8930)
  %8940 = load ptr, ptr %7, align 8, !tbaa !9
  %8941 = load i32, ptr %12, align 4, !tbaa !5
  %8942 = load i32, ptr %8, align 4, !tbaa !5
  %8943 = mul nsw i32 9, %8942
  %8944 = add nsw i32 %8941, %8943
  %8945 = sext i32 %8944 to i64
  %8946 = getelementptr inbounds double, ptr %8940, i64 %8945
  %8947 = load double, ptr %8946, align 8, !tbaa !11
  %8948 = call double @llvm.fmuladd.f64(double 0x3CECBEC748C84EAB, double %8947, double %8939)
  %8949 = load ptr, ptr %7, align 8, !tbaa !9
  %8950 = load i32, ptr %12, align 4, !tbaa !5
  %8951 = load i32, ptr %8, align 4, !tbaa !5
  %8952 = mul nsw i32 10, %8951
  %8953 = add nsw i32 %8950, %8952
  %8954 = sext i32 %8953 to i64
  %8955 = getelementptr inbounds double, ptr %8949, i64 %8954
  %8956 = load double, ptr %8955, align 8, !tbaa !11
  %8957 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F71C, double %8956, double %8948)
  %8958 = load ptr, ptr %7, align 8, !tbaa !9
  %8959 = load i32, ptr %12, align 4, !tbaa !5
  %8960 = load i32, ptr %8, align 4, !tbaa !5
  %8961 = mul nsw i32 11, %8960
  %8962 = add nsw i32 %8959, %8961
  %8963 = sext i32 %8962 to i64
  %8964 = getelementptr inbounds double, ptr %8958, i64 %8963
  %8965 = load double, ptr %8964, align 8, !tbaa !11
  %8966 = call double @llvm.fmuladd.f64(double 0x3CF0EA0E4F0ED202, double %8965, double %8957)
  %8967 = load ptr, ptr %7, align 8, !tbaa !9
  %8968 = load i32, ptr %12, align 4, !tbaa !5
  %8969 = load i32, ptr %8, align 4, !tbaa !5
  %8970 = mul nsw i32 12, %8969
  %8971 = add nsw i32 %8968, %8970
  %8972 = sext i32 %8971 to i64
  %8973 = getelementptr inbounds double, ptr %8967, i64 %8972
  %8974 = load double, ptr %8973, align 8, !tbaa !11
  %8975 = call double @llvm.fmuladd.f64(double 0xBD092AFA61D3C23C, double %8974, double %8966)
  %8976 = load ptr, ptr %7, align 8, !tbaa !9
  %8977 = load i32, ptr %12, align 4, !tbaa !5
  %8978 = load i32, ptr %8, align 4, !tbaa !5
  %8979 = mul nsw i32 13, %8978
  %8980 = add nsw i32 %8977, %8979
  %8981 = sext i32 %8980 to i64
  %8982 = getelementptr inbounds double, ptr %8976, i64 %8981
  %8983 = load double, ptr %8982, align 8, !tbaa !11
  %8984 = call double @llvm.fmuladd.f64(double 0x3CF09E8D6B1B7310, double %8983, double %8975)
  %8985 = load ptr, ptr %7, align 8, !tbaa !9
  %8986 = load i32, ptr %12, align 4, !tbaa !5
  %8987 = load i32, ptr %8, align 4, !tbaa !5
  %8988 = mul nsw i32 14, %8987
  %8989 = add nsw i32 %8986, %8988
  %8990 = sext i32 %8989 to i64
  %8991 = getelementptr inbounds double, ptr %8985, i64 %8990
  %8992 = load double, ptr %8991, align 8, !tbaa !11
  %8993 = call double @llvm.fmuladd.f64(double 0xBD090AB2F386DB23, double %8992, double %8984)
  %8994 = load ptr, ptr %7, align 8, !tbaa !9
  %8995 = load i32, ptr %12, align 4, !tbaa !5
  %8996 = load i32, ptr %8, align 4, !tbaa !5
  %8997 = mul nsw i32 15, %8996
  %8998 = add nsw i32 %8995, %8997
  %8999 = sext i32 %8998 to i64
  %9000 = getelementptr inbounds double, ptr %8994, i64 %8999
  %9001 = load double, ptr %9000, align 8, !tbaa !11
  %9002 = call double @llvm.fmuladd.f64(double 0xBD01E5B3F19FA08F, double %9001, double %8993)
  %9003 = load ptr, ptr %7, align 8, !tbaa !9
  %9004 = load i32, ptr %12, align 4, !tbaa !5
  %9005 = load i32, ptr %8, align 4, !tbaa !5
  %9006 = mul nsw i32 16, %9005
  %9007 = add nsw i32 %9004, %9006
  %9008 = sext i32 %9007 to i64
  %9009 = getelementptr inbounds double, ptr %9003, i64 %9008
  %9010 = load double, ptr %9009, align 8, !tbaa !11
  %9011 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4E48, double %9010, double %9002)
  %9012 = load ptr, ptr %7, align 8, !tbaa !9
  %9013 = load i32, ptr %12, align 4, !tbaa !5
  %9014 = load i32, ptr %8, align 4, !tbaa !5
  %9015 = mul nsw i32 17, %9014
  %9016 = add nsw i32 %9013, %9015
  %9017 = sext i32 %9016 to i64
  %9018 = getelementptr inbounds double, ptr %9012, i64 %9017
  %9019 = load double, ptr %9018, align 8, !tbaa !11
  %9020 = call double @llvm.fmuladd.f64(double 0xBD06A54AC5CD9F53, double %9019, double %9011)
  store double %9020, ptr %11, align 8, !tbaa !11
  %9021 = load double, ptr %11, align 8, !tbaa !11
  %9022 = load ptr, ptr %9, align 8, !tbaa !9
  %9023 = load i32, ptr %12, align 4, !tbaa !5
  %9024 = load i32, ptr %10, align 4, !tbaa !5
  %9025 = mul nsw i32 52, %9024
  %9026 = add nsw i32 %9023, %9025
  %9027 = sext i32 %9026 to i64
  %9028 = getelementptr inbounds double, ptr %9022, i64 %9027
  store double %9021, ptr %9028, align 8, !tbaa !11
  %9029 = load ptr, ptr %7, align 8, !tbaa !9
  %9030 = load i32, ptr %12, align 4, !tbaa !5
  %9031 = load i32, ptr %8, align 4, !tbaa !5
  %9032 = mul nsw i32 0, %9031
  %9033 = add nsw i32 %9030, %9032
  %9034 = sext i32 %9033 to i64
  %9035 = getelementptr inbounds double, ptr %9029, i64 %9034
  %9036 = load double, ptr %9035, align 8, !tbaa !11
  %9037 = load ptr, ptr %7, align 8, !tbaa !9
  %9038 = load i32, ptr %12, align 4, !tbaa !5
  %9039 = load i32, ptr %8, align 4, !tbaa !5
  %9040 = mul nsw i32 1, %9039
  %9041 = add nsw i32 %9038, %9040
  %9042 = sext i32 %9041 to i64
  %9043 = getelementptr inbounds double, ptr %9037, i64 %9042
  %9044 = load double, ptr %9043, align 8, !tbaa !11
  %9045 = fmul double 0x3CB96EEF6E012B83, %9044
  %9046 = call double @llvm.fmuladd.f64(double 0x3CC5794CC9D41F8E, double %9036, double %9045)
  %9047 = load ptr, ptr %7, align 8, !tbaa !9
  %9048 = load i32, ptr %12, align 4, !tbaa !5
  %9049 = load i32, ptr %8, align 4, !tbaa !5
  %9050 = mul nsw i32 2, %9049
  %9051 = add nsw i32 %9048, %9050
  %9052 = sext i32 %9051 to i64
  %9053 = getelementptr inbounds double, ptr %9047, i64 %9052
  %9054 = load double, ptr %9053, align 8, !tbaa !11
  %9055 = call double @llvm.fmuladd.f64(double 0x3CA99DE8CF4E0887, double %9054, double %9046)
  %9056 = load ptr, ptr %7, align 8, !tbaa !9
  %9057 = load i32, ptr %12, align 4, !tbaa !5
  %9058 = load i32, ptr %8, align 4, !tbaa !5
  %9059 = mul nsw i32 3, %9058
  %9060 = add nsw i32 %9057, %9059
  %9061 = sext i32 %9060 to i64
  %9062 = getelementptr inbounds double, ptr %9056, i64 %9061
  %9063 = load double, ptr %9062, align 8, !tbaa !11
  %9064 = call double @llvm.fmuladd.f64(double 0xBC949B6E91DE24A6, double %9063, double %9055)
  %9065 = load ptr, ptr %7, align 8, !tbaa !9
  %9066 = load i32, ptr %12, align 4, !tbaa !5
  %9067 = load i32, ptr %8, align 4, !tbaa !5
  %9068 = mul nsw i32 4, %9067
  %9069 = add nsw i32 %9066, %9068
  %9070 = sext i32 %9069 to i64
  %9071 = getelementptr inbounds double, ptr %9065, i64 %9070
  %9072 = load double, ptr %9071, align 8, !tbaa !11
  %9073 = call double @llvm.fmuladd.f64(double 0xBCC8E357CB42C088, double %9072, double %9064)
  %9074 = load ptr, ptr %7, align 8, !tbaa !9
  %9075 = load i32, ptr %12, align 4, !tbaa !5
  %9076 = load i32, ptr %8, align 4, !tbaa !5
  %9077 = mul nsw i32 5, %9076
  %9078 = add nsw i32 %9075, %9077
  %9079 = sext i32 %9078 to i64
  %9080 = getelementptr inbounds double, ptr %9074, i64 %9079
  %9081 = load double, ptr %9080, align 8, !tbaa !11
  %9082 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3494, double %9081, double %9073)
  %9083 = load ptr, ptr %7, align 8, !tbaa !9
  %9084 = load i32, ptr %12, align 4, !tbaa !5
  %9085 = load i32, ptr %8, align 4, !tbaa !5
  %9086 = mul nsw i32 6, %9085
  %9087 = add nsw i32 %9084, %9086
  %9088 = sext i32 %9087 to i64
  %9089 = getelementptr inbounds double, ptr %9083, i64 %9088
  %9090 = load double, ptr %9089, align 8, !tbaa !11
  %9091 = call double @llvm.fmuladd.f64(double 0x3CF51E5204136C2F, double %9090, double %9082)
  %9092 = load ptr, ptr %7, align 8, !tbaa !9
  %9093 = load i32, ptr %12, align 4, !tbaa !5
  %9094 = load i32, ptr %8, align 4, !tbaa !5
  %9095 = mul nsw i32 7, %9094
  %9096 = add nsw i32 %9093, %9095
  %9097 = sext i32 %9096 to i64
  %9098 = getelementptr inbounds double, ptr %9092, i64 %9097
  %9099 = load double, ptr %9098, align 8, !tbaa !11
  %9100 = call double @llvm.fmuladd.f64(double 0x3CF3F02716E6F629, double %9099, double %9091)
  %9101 = load ptr, ptr %7, align 8, !tbaa !9
  %9102 = load i32, ptr %12, align 4, !tbaa !5
  %9103 = load i32, ptr %8, align 4, !tbaa !5
  %9104 = mul nsw i32 8, %9103
  %9105 = add nsw i32 %9102, %9104
  %9106 = sext i32 %9105 to i64
  %9107 = getelementptr inbounds double, ptr %9101, i64 %9106
  %9108 = load double, ptr %9107, align 8, !tbaa !11
  %9109 = call double @llvm.fmuladd.f64(double 0xBCD8A971F372F952, double %9108, double %9100)
  %9110 = load ptr, ptr %7, align 8, !tbaa !9
  %9111 = load i32, ptr %12, align 4, !tbaa !5
  %9112 = load i32, ptr %8, align 4, !tbaa !5
  %9113 = mul nsw i32 9, %9112
  %9114 = add nsw i32 %9111, %9113
  %9115 = sext i32 %9114 to i64
  %9116 = getelementptr inbounds double, ptr %9110, i64 %9115
  %9117 = load double, ptr %9116, align 8, !tbaa !11
  %9118 = call double @llvm.fmuladd.f64(double 0x3CEE0138B737B153, double %9117, double %9109)
  %9119 = load ptr, ptr %7, align 8, !tbaa !9
  %9120 = load i32, ptr %12, align 4, !tbaa !5
  %9121 = load i32, ptr %8, align 4, !tbaa !5
  %9122 = mul nsw i32 10, %9121
  %9123 = add nsw i32 %9120, %9122
  %9124 = sext i32 %9123 to i64
  %9125 = getelementptr inbounds double, ptr %9119, i64 %9124
  %9126 = load double, ptr %9125, align 8, !tbaa !11
  %9127 = call double @llvm.fmuladd.f64(double 0x3CF1BE2AED2C7606, double %9126, double %9118)
  %9128 = load ptr, ptr %7, align 8, !tbaa !9
  %9129 = load i32, ptr %12, align 4, !tbaa !5
  %9130 = load i32, ptr %8, align 4, !tbaa !5
  %9131 = mul nsw i32 11, %9130
  %9132 = add nsw i32 %9129, %9131
  %9133 = sext i32 %9132 to i64
  %9134 = getelementptr inbounds double, ptr %9128, i64 %9133
  %9135 = load double, ptr %9134, align 8, !tbaa !11
  %9136 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F717, double %9135, double %9127)
  %9137 = load ptr, ptr %7, align 8, !tbaa !9
  %9138 = load i32, ptr %12, align 4, !tbaa !5
  %9139 = load i32, ptr %8, align 4, !tbaa !5
  %9140 = mul nsw i32 12, %9139
  %9141 = add nsw i32 %9138, %9140
  %9142 = sext i32 %9141 to i64
  %9143 = getelementptr inbounds double, ptr %9137, i64 %9142
  %9144 = load double, ptr %9143, align 8, !tbaa !11
  %9145 = call double @llvm.fmuladd.f64(double 0xBD0B951138D98D7D, double %9144, double %9136)
  %9146 = load ptr, ptr %7, align 8, !tbaa !9
  %9147 = load i32, ptr %12, align 4, !tbaa !5
  %9148 = load i32, ptr %8, align 4, !tbaa !5
  %9149 = mul nsw i32 13, %9148
  %9150 = add nsw i32 %9147, %9149
  %9151 = sext i32 %9150 to i64
  %9152 = getelementptr inbounds double, ptr %9146, i64 %9151
  %9153 = load double, ptr %9152, align 8, !tbaa !11
  %9154 = call double @llvm.fmuladd.f64(double 0xBD0A2E976ACF9682, double %9153, double %9145)
  %9155 = load ptr, ptr %7, align 8, !tbaa !9
  %9156 = load i32, ptr %12, align 4, !tbaa !5
  %9157 = load i32, ptr %8, align 4, !tbaa !5
  %9158 = mul nsw i32 14, %9157
  %9159 = add nsw i32 %9156, %9158
  %9160 = sext i32 %9159 to i64
  %9161 = getelementptr inbounds double, ptr %9155, i64 %9160
  %9162 = load double, ptr %9161, align 8, !tbaa !11
  %9163 = call double @llvm.fmuladd.f64(double 0x3CED3CAF7F982616, double %9162, double %9154)
  %9164 = load ptr, ptr %7, align 8, !tbaa !9
  %9165 = load i32, ptr %12, align 4, !tbaa !5
  %9166 = load i32, ptr %8, align 4, !tbaa !5
  %9167 = mul nsw i32 15, %9166
  %9168 = add nsw i32 %9165, %9167
  %9169 = sext i32 %9168 to i64
  %9170 = getelementptr inbounds double, ptr %9164, i64 %9169
  %9171 = load double, ptr %9170, align 8, !tbaa !11
  %9172 = call double @llvm.fmuladd.f64(double 0xBD02F71750AA300C, double %9171, double %9163)
  %9173 = load ptr, ptr %7, align 8, !tbaa !9
  %9174 = load i32, ptr %12, align 4, !tbaa !5
  %9175 = load i32, ptr %8, align 4, !tbaa !5
  %9176 = mul nsw i32 16, %9175
  %9177 = add nsw i32 %9174, %9176
  %9178 = sext i32 %9177 to i64
  %9179 = getelementptr inbounds double, ptr %9173, i64 %9178
  %9180 = load double, ptr %9179, align 8, !tbaa !11
  %9181 = call double @llvm.fmuladd.f64(double 0xBD04E8A557879DBD, double %9180, double %9172)
  %9182 = load ptr, ptr %7, align 8, !tbaa !9
  %9183 = load i32, ptr %12, align 4, !tbaa !5
  %9184 = load i32, ptr %8, align 4, !tbaa !5
  %9185 = mul nsw i32 17, %9184
  %9186 = add nsw i32 %9183, %9185
  %9187 = sext i32 %9186 to i64
  %9188 = getelementptr inbounds double, ptr %9182, i64 %9187
  %9189 = load double, ptr %9188, align 8, !tbaa !11
  %9190 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4E48, double %9189, double %9181)
  store double %9190, ptr %11, align 8, !tbaa !11
  %9191 = load double, ptr %11, align 8, !tbaa !11
  %9192 = load ptr, ptr %9, align 8, !tbaa !9
  %9193 = load i32, ptr %12, align 4, !tbaa !5
  %9194 = load i32, ptr %10, align 4, !tbaa !5
  %9195 = mul nsw i32 53, %9194
  %9196 = add nsw i32 %9193, %9195
  %9197 = sext i32 %9196 to i64
  %9198 = getelementptr inbounds double, ptr %9192, i64 %9197
  store double %9191, ptr %9198, align 8, !tbaa !11
  br label %9199

9199:                                             ; preds = %18
  %9200 = load i32, ptr %12, align 4, !tbaa !5
  %9201 = add nsw i32 %9200, 1
  store i32 %9201, ptr %12, align 4, !tbaa !5
  br label %13, !llvm.loop !13

9202:                                             ; preds = %17
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #3
  ret void
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"double", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #0

; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable
define dso_local void @gimmik_mm_cpu_16172576605707918248_b0(i32 noundef %0, ptr noalias nocapture noundef readonly %1, i32 noundef %2, ptr noalias noundef writeonly %3, i32 noundef %4) local_unnamed_addr #1 {
  %6 = icmp sgt i32 %0, 0
  br i1 %6, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %5
  %7 = shl nsw i32 %2, 1
  %8 = mul nsw i32 %2, 3
  %9 = shl nsw i32 %2, 2
  %10 = mul nsw i32 %2, 5
  %11 = mul nsw i32 %2, 6
  %12 = mul nsw i32 %2, 7
  %13 = shl nsw i32 %2, 3
  %14 = mul nsw i32 %2, 9
  %15 = mul nsw i32 %2, 10
  %16 = mul nsw i32 %2, 11
  %17 = mul nsw i32 %2, 12
  %18 = mul nsw i32 %2, 13
  %19 = mul nsw i32 %2, 14
  %20 = mul nsw i32 %2, 15
  %21 = shl nsw i32 %2, 4
  %22 = mul nsw i32 %2, 17
  %23 = shl nsw i32 %4, 1
  %24 = mul nsw i32 %4, 3
  %25 = shl nsw i32 %4, 2
  %26 = mul nsw i32 %4, 5
  %27 = mul nsw i32 %4, 6
  %28 = mul nsw i32 %4, 7
  %29 = shl nsw i32 %4, 3
  %30 = mul nsw i32 %4, 9
  %31 = mul nsw i32 %4, 10
  %32 = mul nsw i32 %4, 11
  %33 = mul nsw i32 %4, 12
  %34 = mul nsw i32 %4, 13
  %35 = mul nsw i32 %4, 14
  %36 = mul nsw i32 %4, 15
  %37 = shl nsw i32 %4, 4
  %38 = mul nsw i32 %4, 17
  %39 = mul nsw i32 %4, 18
  %40 = mul nsw i32 %4, 19
  %41 = mul nsw i32 %4, 20
  %42 = mul nsw i32 %4, 21
  %43 = mul nsw i32 %4, 22
  %44 = mul nsw i32 %4, 23
  %45 = mul nsw i32 %4, 24
  %46 = mul nsw i32 %4, 25
  %47 = mul nsw i32 %4, 26
  %48 = mul nsw i32 %4, 27
  %49 = mul nsw i32 %4, 28
  %50 = mul nsw i32 %4, 29
  %51 = mul nsw i32 %4, 30
  %52 = mul nsw i32 %4, 31
  %53 = shl nsw i32 %4, 5
  %54 = mul nsw i32 %4, 33
  %55 = mul nsw i32 %4, 34
  %56 = mul nsw i32 %4, 35
  %57 = mul nsw i32 %4, 36
  %58 = mul nsw i32 %4, 37
  %59 = mul nsw i32 %4, 38
  %60 = mul nsw i32 %4, 39
  %61 = mul nsw i32 %4, 40
  %62 = mul nsw i32 %4, 41
  %63 = mul nsw i32 %4, 42
  %64 = mul nsw i32 %4, 43
  %65 = mul nsw i32 %4, 44
  %66 = mul nsw i32 %4, 45
  %67 = mul nsw i32 %4, 46
  %68 = mul nsw i32 %4, 47
  %69 = mul nsw i32 %4, 48
  %70 = mul nsw i32 %4, 49
  %71 = mul nsw i32 %4, 50
  %72 = mul nsw i32 %4, 51
  %73 = mul nsw i32 %4, 52
  %74 = mul nsw i32 %4, 53
  %75 = sext i32 %2 to i64
  %76 = sext i32 %7 to i64
  %77 = sext i32 %8 to i64
  %78 = sext i32 %9 to i64
  %79 = sext i32 %10 to i64
  %80 = sext i32 %11 to i64
  %81 = sext i32 %12 to i64
  %82 = sext i32 %13 to i64
  %83 = sext i32 %14 to i64
  %84 = sext i32 %15 to i64
  %85 = sext i32 %16 to i64
  %86 = sext i32 %17 to i64
  %87 = sext i32 %18 to i64
  %88 = sext i32 %19 to i64
  %89 = sext i32 %20 to i64
  %90 = sext i32 %21 to i64
  %91 = sext i32 %22 to i64
  %92 = sext i32 %4 to i64
  %93 = sext i32 %23 to i64
  %94 = sext i32 %24 to i64
  %95 = sext i32 %25 to i64
  %96 = sext i32 %26 to i64
  %97 = sext i32 %27 to i64
  %98 = sext i32 %28 to i64
  %99 = sext i32 %29 to i64
  %100 = sext i32 %30 to i64
  %101 = sext i32 %31 to i64
  %102 = sext i32 %32 to i64
  %103 = sext i32 %33 to i64
  %104 = sext i32 %34 to i64
  %105 = sext i32 %35 to i64
  %106 = sext i32 %36 to i64
  %107 = sext i32 %37 to i64
  %108 = sext i32 %38 to i64
  %109 = sext i32 %39 to i64
  %110 = sext i32 %40 to i64
  %111 = sext i32 %41 to i64
  %112 = sext i32 %42 to i64
  %113 = sext i32 %43 to i64
  %114 = sext i32 %44 to i64
  %115 = sext i32 %45 to i64
  %116 = sext i32 %46 to i64
  %117 = sext i32 %47 to i64
  %118 = sext i32 %48 to i64
  %119 = sext i32 %49 to i64
  %120 = sext i32 %50 to i64
  %121 = sext i32 %51 to i64
  %122 = sext i32 %52 to i64
  %123 = sext i32 %53 to i64
  %124 = sext i32 %54 to i64
  %125 = sext i32 %55 to i64
  %126 = sext i32 %56 to i64
  %127 = sext i32 %57 to i64
  %128 = sext i32 %58 to i64
  %129 = sext i32 %59 to i64
  %130 = sext i32 %60 to i64
  %131 = sext i32 %61 to i64
  %132 = sext i32 %62 to i64
  %133 = sext i32 %63 to i64
  %134 = sext i32 %64 to i64
  %135 = sext i32 %65 to i64
  %136 = sext i32 %66 to i64
  %137 = sext i32 %67 to i64
  %138 = sext i32 %68 to i64
  %139 = sext i32 %69 to i64
  %140 = sext i32 %70 to i64
  %141 = sext i32 %71 to i64
  %142 = sext i32 %72 to i64
  %143 = sext i32 %73 to i64
  %144 = sext i32 %74 to i64
  %wide.trip.count = zext nneg i32 %0 to i64
  %invariant.gep = getelementptr double, ptr %1, i64 %75
  %invariant.gep3136 = getelementptr double, ptr %1, i64 %76
  %invariant.gep3138 = getelementptr double, ptr %1, i64 %77
  %invariant.gep3140 = getelementptr double, ptr %1, i64 %78
  %invariant.gep3142 = getelementptr double, ptr %1, i64 %79
  %invariant.gep3144 = getelementptr double, ptr %1, i64 %80
  %invariant.gep3146 = getelementptr double, ptr %1, i64 %81
  %invariant.gep3148 = getelementptr double, ptr %1, i64 %82
  %invariant.gep3150 = getelementptr double, ptr %1, i64 %83
  %invariant.gep3152 = getelementptr double, ptr %1, i64 %84
  %invariant.gep3154 = getelementptr double, ptr %1, i64 %85
  %invariant.gep3156 = getelementptr double, ptr %1, i64 %86
  %invariant.gep3158 = getelementptr double, ptr %1, i64 %87
  %invariant.gep3160 = getelementptr double, ptr %1, i64 %88
  %invariant.gep3162 = getelementptr double, ptr %1, i64 %89
  %invariant.gep3164 = getelementptr double, ptr %1, i64 %90
  %invariant.gep3166 = getelementptr double, ptr %1, i64 %91
  %invariant.gep3168 = getelementptr double, ptr %3, i64 %92
  %invariant.gep3170 = getelementptr double, ptr %3, i64 %93
  %invariant.gep3172 = getelementptr double, ptr %3, i64 %94
  %invariant.gep3174 = getelementptr double, ptr %3, i64 %95
  %invariant.gep3176 = getelementptr double, ptr %3, i64 %96
  %invariant.gep3178 = getelementptr double, ptr %3, i64 %97
  %invariant.gep3180 = getelementptr double, ptr %3, i64 %98
  %invariant.gep3182 = getelementptr double, ptr %3, i64 %99
  %invariant.gep3184 = getelementptr double, ptr %3, i64 %100
  %invariant.gep3186 = getelementptr double, ptr %3, i64 %101
  %invariant.gep3188 = getelementptr double, ptr %3, i64 %102
  %invariant.gep3190 = getelementptr double, ptr %3, i64 %103
  %invariant.gep3192 = getelementptr double, ptr %3, i64 %104
  %invariant.gep3194 = getelementptr double, ptr %3, i64 %105
  %invariant.gep3196 = getelementptr double, ptr %3, i64 %106
  %invariant.gep3198 = getelementptr double, ptr %3, i64 %107
  %invariant.gep3200 = getelementptr double, ptr %3, i64 %108
  %invariant.gep3202 = getelementptr double, ptr %3, i64 %109
  %invariant.gep3204 = getelementptr double, ptr %3, i64 %110
  %invariant.gep3206 = getelementptr double, ptr %3, i64 %111
  %invariant.gep3208 = getelementptr double, ptr %3, i64 %112
  %invariant.gep3210 = getelementptr double, ptr %3, i64 %113
  %invariant.gep3212 = getelementptr double, ptr %3, i64 %114
  %invariant.gep3214 = getelementptr double, ptr %3, i64 %115
  %invariant.gep3216 = getelementptr double, ptr %3, i64 %116
  %invariant.gep3218 = getelementptr double, ptr %3, i64 %117
  %invariant.gep3220 = getelementptr double, ptr %3, i64 %118
  %invariant.gep3222 = getelementptr double, ptr %3, i64 %119
  %invariant.gep3224 = getelementptr double, ptr %3, i64 %120
  %invariant.gep3226 = getelementptr double, ptr %3, i64 %121
  %invariant.gep3228 = getelementptr double, ptr %3, i64 %122
  %invariant.gep3230 = getelementptr double, ptr %3, i64 %123
  %invariant.gep3232 = getelementptr double, ptr %3, i64 %124
  %invariant.gep3234 = getelementptr double, ptr %3, i64 %125
  %invariant.gep3236 = getelementptr double, ptr %3, i64 %126
  %invariant.gep3238 = getelementptr double, ptr %3, i64 %127
  %invariant.gep3240 = getelementptr double, ptr %3, i64 %128
  %invariant.gep3242 = getelementptr double, ptr %3, i64 %129
  %invariant.gep3244 = getelementptr double, ptr %3, i64 %130
  %invariant.gep3246 = getelementptr double, ptr %3, i64 %131
  %invariant.gep3248 = getelementptr double, ptr %3, i64 %132
  %invariant.gep3250 = getelementptr double, ptr %3, i64 %133
  %invariant.gep3252 = getelementptr double, ptr %3, i64 %134
  %invariant.gep3254 = getelementptr double, ptr %3, i64 %135
  %invariant.gep3256 = getelementptr double, ptr %3, i64 %136
  %invariant.gep3258 = getelementptr double, ptr %3, i64 %137
  %invariant.gep3260 = getelementptr double, ptr %3, i64 %138
  %invariant.gep3262 = getelementptr double, ptr %3, i64 %139
  %invariant.gep3264 = getelementptr double, ptr %3, i64 %140
  %invariant.gep3266 = getelementptr double, ptr %3, i64 %141
  %invariant.gep3268 = getelementptr double, ptr %3, i64 %142
  %invariant.gep3270 = getelementptr double, ptr %3, i64 %143
  %invariant.gep3272 = getelementptr double, ptr %3, i64 %144
  br label %145

._crit_edge:                                      ; preds = %145, %5
  ret void

145:                                              ; preds = %.lr.ph, %145
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %145 ]
  %146 = getelementptr inbounds double, ptr %1, i64 %indvars.iv
  %147 = load double, ptr %146, align 8, !tbaa !5
  %gep = getelementptr double, ptr %invariant.gep, i64 %indvars.iv
  %148 = load double, ptr %gep, align 8, !tbaa !5
  %149 = fmul double %148, 0xBF7DFA2300BBB380
  %150 = tail call double @llvm.fmuladd.f64(double %147, double 0x3FF44E3F94172F46, double %149)
  %gep3137 = getelementptr double, ptr %invariant.gep3136, i64 %indvars.iv
  %151 = load double, ptr %gep3137, align 8, !tbaa !5
  %152 = tail call double @llvm.fmuladd.f64(double %151, double 0x3FB9ECDD98127879, double %150)
  %gep3139 = getelementptr double, ptr %invariant.gep3138, i64 %indvars.iv
  %153 = load double, ptr %gep3139, align 8, !tbaa !5
  %154 = tail call double @llvm.fmuladd.f64(double %153, double 0xBF83952FC55A7054, double %152)
  %gep3141 = getelementptr double, ptr %invariant.gep3140, i64 %indvars.iv
  %155 = load double, ptr %gep3141, align 8, !tbaa !5
  %156 = tail call double @llvm.fmuladd.f64(double %155, double 0xBFE4FBED5D8A9668, double %154)
  %gep3143 = getelementptr double, ptr %invariant.gep3142, i64 %indvars.iv
  %157 = load double, ptr %gep3143, align 8, !tbaa !5
  %158 = tail call double @llvm.fmuladd.f64(double %157, double 0x3FD50884576D0BB0, double %156)
  %gep3145 = getelementptr double, ptr %invariant.gep3144, i64 %indvars.iv
  %159 = load double, ptr %gep3145, align 8, !tbaa !5
  %160 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC928E0E59CA2667, double %158)
  %gep3147 = getelementptr double, ptr %invariant.gep3146, i64 %indvars.iv
  %161 = load double, ptr %gep3147, align 8, !tbaa !5
  %162 = tail call double @llvm.fmuladd.f64(double %161, double 0xBC94747CFD612BCE, double %160)
  %gep3149 = getelementptr double, ptr %invariant.gep3148, i64 %indvars.iv
  %163 = load double, ptr %gep3149, align 8, !tbaa !5
  %164 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CA061EEC0843748, double %162)
  %gep3151 = getelementptr double, ptr %invariant.gep3150, i64 %indvars.iv
  %165 = load double, ptr %gep3151, align 8, !tbaa !5
  %166 = tail call double @llvm.fmuladd.f64(double %165, double 0x3C88AE5D9980C8A2, double %164)
  %gep3153 = getelementptr double, ptr %invariant.gep3152, i64 %indvars.iv
  %167 = load double, ptr %gep3153, align 8, !tbaa !5
  %168 = tail call double @llvm.fmuladd.f64(double %167, double 0xBCBBF3FEED1E8544, double %166)
  %gep3155 = getelementptr double, ptr %invariant.gep3154, i64 %indvars.iv
  %169 = load double, ptr %gep3155, align 8, !tbaa !5
  %170 = tail call double @llvm.fmuladd.f64(double %169, double 0x3CB80DDFB4F4FB59, double %168)
  %gep3157 = getelementptr double, ptr %invariant.gep3156, i64 %indvars.iv
  %171 = load double, ptr %gep3157, align 8, !tbaa !5
  %172 = tail call double @llvm.fmuladd.f64(double %171, double 0xBC974C72B9C7B6B3, double %170)
  %gep3159 = getelementptr double, ptr %invariant.gep3158, i64 %indvars.iv
  %173 = load double, ptr %gep3159, align 8, !tbaa !5
  %174 = tail call double @llvm.fmuladd.f64(double %173, double 0x3C9A3DCEE704C7E6, double %172)
  %gep3161 = getelementptr double, ptr %invariant.gep3160, i64 %indvars.iv
  %175 = load double, ptr %gep3161, align 8, !tbaa !5
  %176 = tail call double @llvm.fmuladd.f64(double %175, double 0x3C801C657D225E7F, double %174)
  %gep3163 = getelementptr double, ptr %invariant.gep3162, i64 %indvars.iv
  %177 = load double, ptr %gep3163, align 8, !tbaa !5
  %178 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CA10B458BF1192C, double %176)
  %gep3165 = getelementptr double, ptr %invariant.gep3164, i64 %indvars.iv
  %179 = load double, ptr %gep3165, align 8, !tbaa !5
  %180 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CAFD6935AE0DBC3, double %178)
  %gep3167 = getelementptr double, ptr %invariant.gep3166, i64 %indvars.iv
  %181 = load double, ptr %gep3167, align 8, !tbaa !5
  %182 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CB9FC9AB14C2802, double %180)
  %183 = getelementptr inbounds double, ptr %3, i64 %indvars.iv
  store double %182, ptr %183, align 8, !tbaa !5
  %184 = fmul double %148, 0xBFE8AC73392375C8
  %185 = tail call double @llvm.fmuladd.f64(double %147, double 0x3FE4EDE8EE25610B, double %184)
  %186 = tail call double @llvm.fmuladd.f64(double %151, double 0x3FEA5488770B26AC, double %185)
  %187 = tail call double @llvm.fmuladd.f64(double %153, double 0xBFFEF1F8514C97D0, double %186)
  %188 = tail call double @llvm.fmuladd.f64(double %155, double 0x3FF44CD742FC94DA, double %187)
  %189 = tail call double @llvm.fmuladd.f64(double %157, double 0xBFF01B2FE70C118E, double %188)
  %190 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC5AD58CA8FD5A00, double %189)
  %191 = tail call double @llvm.fmuladd.f64(double %161, double 0x3CBEB0BE4F96FAE1, double %190)
  %192 = tail call double @llvm.fmuladd.f64(double %163, double 0x3C84693BAEDA743C, double %191)
  %193 = tail call double @llvm.fmuladd.f64(double %165, double 0xBCB3ACD3D4ADCCB0, double %192)
  %194 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CBD77D82F675FE0, double %193)
  %195 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC765C5FD7E7C60F, double %194)
  %196 = tail call double @llvm.fmuladd.f64(double %171, double 0x3C9FA9BEC7B2612F, double %195)
  %197 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCBC8E2E7B422DD9, double %196)
  %198 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCC878EC8B1B786A, double %197)
  %199 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CC0FC9E0739BB76, double %198)
  %200 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CA31E7AC172ACDB, double %199)
  %201 = tail call double @llvm.fmuladd.f64(double %181, double 0x3C51BA2977E19A60, double %200)
  %gep3169 = getelementptr double, ptr %invariant.gep3168, i64 %indvars.iv
  store double %201, ptr %gep3169, align 8, !tbaa !5
  %202 = fmul double %148, 0xBFDFFE63E2851783
  %203 = tail call double @llvm.fmuladd.f64(double %147, double 0xBFE1EC4181248AE2, double %202)
  %204 = tail call double @llvm.fmuladd.f64(double %151, double 0x4000E9CE75C2FBF8, double %203)
  %205 = tail call double @llvm.fmuladd.f64(double %153, double 0x3FF31D88B253B07F, double %204)
  %206 = tail call double @llvm.fmuladd.f64(double %155, double 0x3FF2343957F3A8A6, double %205)
  %207 = tail call double @llvm.fmuladd.f64(double %157, double 0xBFEE712F1EF7D892, double %206)
  %208 = tail call double @llvm.fmuladd.f64(double %159, double 0x3C7BE455D72E2687, double %207)
  %209 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCA88EEBBA111342, double %208)
  %210 = tail call double @llvm.fmuladd.f64(double %163, double 0xBCAAA314368C77EA, double %209)
  %211 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC89A9C06842F0D3, double %210)
  %212 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CC01B0CEED92744, double %211)
  %213 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCB179EA74C658F9, double %212)
  %214 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCA45DF77990844E, double %213)
  %215 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CAB464CCF9E9E2D, double %214)
  %216 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CCC9AD4A6D08D95, double %215)
  %217 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CB10C6838C95A72, double %216)
  %218 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CD07012D87C038A, double %217)
  %219 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CCBC273E408F766, double %218)
  %gep3171 = getelementptr double, ptr %invariant.gep3170, i64 %indvars.iv
  store double %219, ptr %gep3171, align 8, !tbaa !5
  %220 = fmul double %148, 0x3FF21EFA862DF3DA
  %221 = tail call double @llvm.fmuladd.f64(double %147, double 0xBF734721512AF2F5, double %220)
  %222 = tail call double @llvm.fmuladd.f64(double %151, double 0xBFF7F19EB1BA88FC, double %221)
  %223 = tail call double @llvm.fmuladd.f64(double %153, double 0x3FC901A35D55DB4C, double %222)
  %224 = tail call double @llvm.fmuladd.f64(double %155, double 0xBFF48831FA6C7037, double %223)
  %225 = tail call double @llvm.fmuladd.f64(double %157, double 0x3FF0AF85DD8BD41B, double %224)
  %226 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC96DF8829202392, double %225)
  %227 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C92F08ACDCBF794, double %226)
  %228 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CA6B48868965AE6, double %227)
  %229 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CAB6CB918309F4B, double %228)
  %230 = tail call double @llvm.fmuladd.f64(double %167, double 0xBCB24490C3AF2293, double %229)
  %231 = tail call double @llvm.fmuladd.f64(double %169, double 0x3C823EC0CF8B6DEB, double %230)
  %232 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CA72B617C3AF637, double %231)
  %233 = tail call double @llvm.fmuladd.f64(double %173, double 0x3C9A9EB31390F5C1, double %232)
  %234 = tail call double @llvm.fmuladd.f64(double %175, double 0x3C9AA22A1570E612, double %233)
  %235 = tail call double @llvm.fmuladd.f64(double %177, double 0xBCAB65BA103D3215, double %234)
  %236 = tail call double @llvm.fmuladd.f64(double %179, double 0xBCC22813B0173A2F, double %235)
  %237 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCB32BFD271CB8D7, double %236)
  %gep3173 = getelementptr double, ptr %invariant.gep3172, i64 %indvars.iv
  store double %237, ptr %gep3173, align 8, !tbaa !5
  %238 = fmul double %148, 0xBFB17C71DD2D5188
  %239 = tail call double @llvm.fmuladd.f64(double %147, double 0x3FF3237A82AF9EC7, double %238)
  %240 = tail call double @llvm.fmuladd.f64(double %151, double 0xBF76E8A1969E7200, double %239)
  %241 = tail call double @llvm.fmuladd.f64(double %153, double 0x3FC179BD32D3DC6F, double %240)
  %242 = tail call double @llvm.fmuladd.f64(double %155, double 0x3FFBC4AD9C53A55A, double %241)
  %243 = tail call double @llvm.fmuladd.f64(double %157, double 0x3FF1CA3B98F49426, double %242)
  %244 = tail call double @llvm.fmuladd.f64(double %159, double 0x3C915D0C18F46953, double %243)
  %245 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C94D6A0DAC57C7E, double %244)
  %246 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC84E1D5E41DCEB7, double %245)
  %247 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC92763F594C57BA, double %246)
  %248 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CB1F86B771BE422, double %247)
  %249 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCA498ED43D15DB5, double %248)
  %250 = tail call double @llvm.fmuladd.f64(double %171, double 0x3C9E56370E4AEF9E, double %249)
  %251 = tail call double @llvm.fmuladd.f64(double %173, double 0x3C805596DD69B814, double %250)
  %252 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CA8CCCC07FB5ADE, double %251)
  %253 = tail call double @llvm.fmuladd.f64(double %177, double 0x3C83675E5BCF4774, double %252)
  %254 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CC9E7942DEDC84B, double %253)
  %255 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CA46BAC5B65E036, double %254)
  %gep3175 = getelementptr double, ptr %invariant.gep3174, i64 %indvars.iv
  store double %255, ptr %gep3175, align 8, !tbaa !5
  %256 = fmul double %148, 0x3FB1F3F0B024DC80
  %257 = tail call double @llvm.fmuladd.f64(double %147, double 0xBFF5B6F7089FF1D1, double %256)
  %258 = tail call double @llvm.fmuladd.f64(double %151, double 0x3FCCBE3CAE6B6284, double %257)
  %259 = tail call double @llvm.fmuladd.f64(double %153, double 0xBFD81F8F0CEC60FF, double %258)
  %260 = tail call double @llvm.fmuladd.f64(double %155, double 0xBFFBA497A89943F3, double %259)
  %261 = tail call double @llvm.fmuladd.f64(double %157, double 0xBFDC5366E211BE90, double %260)
  %262 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC96C7DC8DD1684E, double %261)
  %263 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C950AD45332D6FE, double %262)
  %264 = tail call double @llvm.fmuladd.f64(double %163, double 0x3C9EB6F29C749A96, double %263)
  %265 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC6D62BACB47689A, double %264)
  %266 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CB80BBA9C9EA48A, double %265)
  %267 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCAB001FD1461890, double %266)
  %268 = tail call double @llvm.fmuladd.f64(double %171, double 0xBC9681DA589F9E72, double %267)
  %269 = tail call double @llvm.fmuladd.f64(double %173, double 0xBC827123784CF602, double %268)
  %270 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCAE4BA60AE12274, double %269)
  %271 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC78B38170BB85D3, double %270)
  %272 = tail call double @llvm.fmuladd.f64(double %179, double 0xBCB30DECEA2D8A5E, double %271)
  %273 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCB4601E7CBDEFAF, double %272)
  %gep3177 = getelementptr double, ptr %invariant.gep3176, i64 %indvars.iv
  store double %273, ptr %gep3177, align 8, !tbaa !5
  %274 = fmul double %148, 0xBC8AF16F6DD6B170
  %275 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCAFA91475A2DE60, double %274)
  %276 = tail call double @llvm.fmuladd.f64(double %151, double 0xBC97CD2320F06FBC, double %275)
  %277 = tail call double @llvm.fmuladd.f64(double %153, double 0x3C912517F7A39056, double %276)
  %278 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CA26D18C495E068, double %277)
  %279 = tail call double @llvm.fmuladd.f64(double %157, double 0x3C5FA39DC354EAFF, double %278)
  %280 = tail call double @llvm.fmuladd.f64(double %159, double 0x3FF44E3F94172F46, double %279)
  %281 = tail call double @llvm.fmuladd.f64(double %161, double 0xBF7DFA2300BBB500, double %280)
  %282 = tail call double @llvm.fmuladd.f64(double %163, double 0x3FB9ECDD9812789D, double %281)
  %283 = tail call double @llvm.fmuladd.f64(double %165, double 0xBF83952FC55A7034, double %282)
  %284 = tail call double @llvm.fmuladd.f64(double %167, double 0xBFE4FBED5D8A9668, double %283)
  %285 = tail call double @llvm.fmuladd.f64(double %169, double 0x3FD50884576D0BC1, double %284)
  %286 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CA5CAE36F1C5AB0, double %285)
  %287 = tail call double @llvm.fmuladd.f64(double %173, double 0x3C7C91DEC9976F2B, double %286)
  %288 = tail call double @llvm.fmuladd.f64(double %175, double 0x3C9CA3E3D7BB8328, double %287)
  %289 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC6B4399CAA6ADB0, double %288)
  %290 = tail call double @llvm.fmuladd.f64(double %179, double 0x3C6E67AB5FEF02FF, double %289)
  %291 = tail call double @llvm.fmuladd.f64(double %181, double 0x3C9BAD7EA815E448, double %290)
  %gep3179 = getelementptr double, ptr %invariant.gep3178, i64 %indvars.iv
  store double %291, ptr %gep3179, align 8, !tbaa !5
  %292 = fmul double %148, 0x3CB24802BB25DFAC
  %293 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CA733637AD25B8E, double %292)
  %294 = tail call double @llvm.fmuladd.f64(double %151, double 0xBC9FC7EA1CC30EE8, double %293)
  %295 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCB44A60DE6828AB, double %294)
  %296 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCB000D696902285, double %295)
  %297 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCA826233EF25B10, double %296)
  %298 = tail call double @llvm.fmuladd.f64(double %159, double 0x3FE4EDE8EE25610A, double %297)
  %299 = tail call double @llvm.fmuladd.f64(double %161, double 0xBFE8AC73392375C0, double %298)
  %300 = tail call double @llvm.fmuladd.f64(double %163, double 0x3FEA5488770B26A9, double %299)
  %301 = tail call double @llvm.fmuladd.f64(double %165, double 0xBFFEF1F8514C97D0, double %300)
  %302 = tail call double @llvm.fmuladd.f64(double %167, double 0x3FF44CD742FC94DF, double %301)
  %303 = tail call double @llvm.fmuladd.f64(double %169, double 0xBFF01B2FE70C118E, double %302)
  %304 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCBA0032ABCB100C, double %303)
  %305 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CBC200ECF3E06E7, double %304)
  %306 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCBDCFF9DD802CEF, double %305)
  %307 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC68F31986A4E76E, double %306)
  %308 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CBB2800A30A8EA4, double %307)
  %309 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CC423B95478E8B3, double %308)
  %gep3181 = getelementptr double, ptr %invariant.gep3180, i64 %indvars.iv
  store double %309, ptr %gep3181, align 8, !tbaa !5
  %310 = fmul double %148, 0xBCA303E7E9D23CFA
  %311 = tail call double @llvm.fmuladd.f64(double %147, double 0x3C8FBBBF8479477C, double %310)
  %312 = tail call double @llvm.fmuladd.f64(double %151, double 0x3C7502E6070E6BC0, double %311)
  %313 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CBF2499CB50E496, double %312)
  %314 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCB18E75707CAEC2, double %313)
  %315 = tail call double @llvm.fmuladd.f64(double %157, double 0xBC957EB0C0D32A92, double %314)
  %316 = tail call double @llvm.fmuladd.f64(double %159, double 0xBFE1EC4181248ADF, double %315)
  %317 = tail call double @llvm.fmuladd.f64(double %161, double 0xBFDFFE63E285177B, double %316)
  %318 = tail call double @llvm.fmuladd.f64(double %163, double 0x4000E9CE75C2FBF6, double %317)
  %319 = tail call double @llvm.fmuladd.f64(double %165, double 0x3FF31D88B253B084, double %318)
  %320 = tail call double @llvm.fmuladd.f64(double %167, double 0x3FF2343957F3A8AA, double %319)
  %321 = tail call double @llvm.fmuladd.f64(double %169, double 0xBFEE712F1EF7D896, double %320)
  %322 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCC00C78C6295034, double %321)
  %323 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCA515E72A62BD71, double %322)
  %324 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCC440052B0B6591, double %323)
  %325 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CB5037F708D2B40, double %324)
  %326 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CC9C5D37CDA2F2D, double %325)
  %327 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CCF6C49D3A9D98C, double %326)
  %gep3183 = getelementptr double, ptr %invariant.gep3182, i64 %indvars.iv
  store double %327, ptr %gep3183, align 8, !tbaa !5
  %328 = fmul double %148, 0xBC83FC569180EE60
  %329 = tail call double @llvm.fmuladd.f64(double %147, double 0xBC8EA5ADFAA929A6, double %328)
  %330 = tail call double @llvm.fmuladd.f64(double %151, double 0xBC6E3A78632E1596, double %329)
  %331 = tail call double @llvm.fmuladd.f64(double %153, double 0xBC83A74A36148518, double %330)
  %332 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CB564D90EDE042E, double %331)
  %333 = tail call double @llvm.fmuladd.f64(double %157, double 0x3C989B6B8C34D144, double %332)
  %334 = tail call double @llvm.fmuladd.f64(double %159, double 0xBF734721512AF3A0, double %333)
  %335 = tail call double @llvm.fmuladd.f64(double %161, double 0x3FF21EFA862DF3DE, double %334)
  %336 = tail call double @llvm.fmuladd.f64(double %163, double 0xBFF7F19EB1BA88FC, double %335)
  %337 = tail call double @llvm.fmuladd.f64(double %165, double 0x3FC901A35D55DB50, double %336)
  %338 = tail call double @llvm.fmuladd.f64(double %167, double 0xBFF48831FA6C703B, double %337)
  %339 = tail call double @llvm.fmuladd.f64(double %169, double 0x3FF0AF85DD8BD41B, double %338)
  %340 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CC3E8D573A56FAD, double %339)
  %341 = tail call double @llvm.fmuladd.f64(double %173, double 0x3C8C4729A9EC58BF, double %340)
  %342 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CC336335C2A4C90, double %341)
  %343 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC914F26788AF5CD, double %342)
  %344 = tail call double @llvm.fmuladd.f64(double %179, double 0xBCC3337EE9A65CF0, double %343)
  %345 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCCB8879EF13718A, double %344)
  %gep3185 = getelementptr double, ptr %invariant.gep3184, i64 %indvars.iv
  store double %345, ptr %gep3185, align 8, !tbaa !5
  %346 = fmul double %148, 0x3C97B483C42BAB7C
  %347 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCC3A93C9AD8BA3A, double %346)
  %348 = tail call double @llvm.fmuladd.f64(double %151, double 0x3C71B9B8F47F3248, double %347)
  %349 = tail call double @llvm.fmuladd.f64(double %153, double 0xBC80C8CA734909F4, double %348)
  %350 = tail call double @llvm.fmuladd.f64(double %155, double 0x3C9558F6282D8B0C, double %349)
  %351 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCA238E1A865FF56, double %350)
  %352 = tail call double @llvm.fmuladd.f64(double %159, double 0x3FF3237A82AF9ECC, double %351)
  %353 = tail call double @llvm.fmuladd.f64(double %161, double 0xBFB17C71DD2D5180, double %352)
  %354 = tail call double @llvm.fmuladd.f64(double %163, double 0xBF76E8A1969E7200, double %353)
  %355 = tail call double @llvm.fmuladd.f64(double %165, double 0x3FC179BD32D3DC6F, double %354)
  %356 = tail call double @llvm.fmuladd.f64(double %167, double 0x3FFBC4AD9C53A563, double %355)
  %357 = tail call double @llvm.fmuladd.f64(double %169, double 0x3FF1CA3B98F4942B, double %356)
  %358 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCA6FBE336F71405, double %357)
  %359 = tail call double @llvm.fmuladd.f64(double %173, double 0x3C80984B1B374A75, double %358)
  %360 = tail call double @llvm.fmuladd.f64(double %175, double 0x3C4729477968333F, double %359)
  %361 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC918F2EE7553E84, double %360)
  %362 = tail call double @llvm.fmuladd.f64(double %179, double 0xBC63BFDB1A7A0940, double %361)
  %363 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CAA455C00B239E4, double %362)
  %gep3187 = getelementptr double, ptr %invariant.gep3186, i64 %indvars.iv
  store double %363, ptr %gep3187, align 8, !tbaa !5
  %364 = fmul double %148, 0xBC96A2CCF69409BE
  %365 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CC142F4E7497170, double %364)
  %366 = tail call double @llvm.fmuladd.f64(double %151, double 0xBC9AEA168BAD2F82, double %365)
  %367 = tail call double @llvm.fmuladd.f64(double %153, double 0xBC9B499410BBCC84, double %366)
  %368 = tail call double @llvm.fmuladd.f64(double %155, double 0xBC9361418ADB00D8, double %367)
  %369 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CB01F9D52D3749E, double %368)
  %370 = tail call double @llvm.fmuladd.f64(double %159, double 0xBFF5B6F7089FF1D1, double %369)
  %371 = tail call double @llvm.fmuladd.f64(double %161, double 0x3FB1F3F0B024DC88, double %370)
  %372 = tail call double @llvm.fmuladd.f64(double %163, double 0x3FCCBE3CAE6B6280, double %371)
  %373 = tail call double @llvm.fmuladd.f64(double %165, double 0xBFD81F8F0CEC6101, double %372)
  %374 = tail call double @llvm.fmuladd.f64(double %167, double 0xBFFBA497A89943F3, double %373)
  %375 = tail call double @llvm.fmuladd.f64(double %169, double 0xBFDC5366E211BEA9, double %374)
  %376 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CB1A32FABA58A78, double %375)
  %377 = tail call double @llvm.fmuladd.f64(double %173, double 0x3C6B240942E84E45, double %376)
  %378 = tail call double @llvm.fmuladd.f64(double %175, double 0xBC8360FD77DF0E50, double %377)
  %379 = tail call double @llvm.fmuladd.f64(double %177, double 0x3C78F6BBF1F42F79, double %378)
  %380 = tail call double @llvm.fmuladd.f64(double %179, double 0xBCBB0F3A92259EB9, double %379)
  %381 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCB8BFEEB1A1585A, double %380)
  %gep3189 = getelementptr double, ptr %invariant.gep3188, i64 %indvars.iv
  store double %381, ptr %gep3189, align 8, !tbaa !5
  %382 = fmul double %148, 0xBC7F9D13F6DD91D2
  %383 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCB03C43C4268C9B, double %382)
  %384 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCAE0044D82B3E00, double %383)
  %385 = tail call double @llvm.fmuladd.f64(double %153, double 0x3C9CFE906EE8F2E9, double %384)
  %386 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CC1A93DAC5952FC, double %385)
  %387 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CB1B04DFFDDEE42, double %386)
  %388 = tail call double @llvm.fmuladd.f64(double %159, double 0xBCA11EF521EB7066, double %387)
  %389 = tail call double @llvm.fmuladd.f64(double %161, double 0xBC94747CFD612BD0, double %388)
  %390 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CA061EEC0843748, double %389)
  %391 = tail call double @llvm.fmuladd.f64(double %165, double 0x3C8B21BA101B7AB2, double %390)
  %392 = tail call double @llvm.fmuladd.f64(double %167, double 0xBCBBF3FEED1E8544, double %391)
  %393 = tail call double @llvm.fmuladd.f64(double %169, double 0x3CB871266AD31A71, double %392)
  %394 = tail call double @llvm.fmuladd.f64(double %171, double 0x3FF44E3F94172F46, double %393)
  %395 = tail call double @llvm.fmuladd.f64(double %173, double 0xBF7DFA2300BBB400, double %394)
  %396 = tail call double @llvm.fmuladd.f64(double %175, double 0x3FB9ECDD9812788E, double %395)
  %397 = tail call double @llvm.fmuladd.f64(double %177, double 0xBF83952FC55A702F, double %396)
  %398 = tail call double @llvm.fmuladd.f64(double %179, double 0xBFE4FBED5D8A9668, double %397)
  %399 = tail call double @llvm.fmuladd.f64(double %181, double 0x3FD50884576D0BB8, double %398)
  %gep3191 = getelementptr double, ptr %invariant.gep3190, i64 %indvars.iv
  store double %399, ptr %gep3191, align 8, !tbaa !5
  %400 = fmul double %148, 0xBCADA2825B7E90BA
  %401 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CBF38A0435C33EF, double %400)
  %402 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCBCECD5C475FFF5, double %401)
  %403 = tail call double @llvm.fmuladd.f64(double %153, double 0x3C7C7B20A14EC091, double %402)
  %404 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCAC7CF2FBE4989E, double %403)
  %405 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCBCA248A7C7FDDC, double %404)
  %406 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC96AF31F1A1F8A3, double %405)
  %407 = tail call double @llvm.fmuladd.f64(double %161, double 0x3CBEB0BE4F96FAE3, double %406)
  %408 = tail call double @llvm.fmuladd.f64(double %163, double 0x3C84693BAEDA743C, double %407)
  %409 = tail call double @llvm.fmuladd.f64(double %165, double 0xBCB3ACD3D4ADCCB0, double %408)
  %410 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CBD77D82F675FE2, double %409)
  %411 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC87B94EDD358738, double %410)
  %412 = tail call double @llvm.fmuladd.f64(double %171, double 0x3FE4EDE8EE256108, double %411)
  %413 = tail call double @llvm.fmuladd.f64(double %173, double 0xBFE8AC73392375C8, double %412)
  %414 = tail call double @llvm.fmuladd.f64(double %175, double 0x3FEA5488770B26A9, double %413)
  %415 = tail call double @llvm.fmuladd.f64(double %177, double 0xBFFEF1F8514C97D0, double %414)
  %416 = tail call double @llvm.fmuladd.f64(double %179, double 0x3FF44CD742FC94DA, double %415)
  %417 = tail call double @llvm.fmuladd.f64(double %181, double 0xBFF01B2FE70C118E, double %416)
  %gep3193 = getelementptr double, ptr %invariant.gep3192, i64 %indvars.iv
  store double %417, ptr %gep3193, align 8, !tbaa !5
  %418 = fmul double %148, 0x3CC0A43BB8778AD2
  %419 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CC1A7951F32AFEE, double %418)
  %420 = tail call double @llvm.fmuladd.f64(double %151, double 0x3CD8A0EBF8B34D44, double %419)
  %421 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CBA5323016547EC, double %420)
  %422 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CA05AC5DCA571DC, double %421)
  %423 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCB0EC52293F1982, double %422)
  %424 = tail call double @llvm.fmuladd.f64(double %159, double 0x3C88BB0D274B4D20, double %423)
  %425 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCA88EEBBA111342, double %424)
  %426 = tail call double @llvm.fmuladd.f64(double %163, double 0xBCAAA314368C77EA, double %425)
  %427 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC89A9C06842F0CE, double %426)
  %428 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CC01B0CEED92744, double %427)
  %429 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCBAAB90AFB5926D, double %428)
  %430 = tail call double @llvm.fmuladd.f64(double %171, double 0xBFE1EC4181248AE8, double %429)
  %431 = tail call double @llvm.fmuladd.f64(double %173, double 0xBFDFFE63E2851784, double %430)
  %432 = tail call double @llvm.fmuladd.f64(double %175, double 0x4000E9CE75C2FBF8, double %431)
  %433 = tail call double @llvm.fmuladd.f64(double %177, double 0x3FF31D88B253B07F, double %432)
  %434 = tail call double @llvm.fmuladd.f64(double %179, double 0x3FF2343957F3A8AA, double %433)
  %435 = tail call double @llvm.fmuladd.f64(double %181, double 0xBFEE712F1EF7D88A, double %434)
  %gep3195 = getelementptr double, ptr %invariant.gep3194, i64 %indvars.iv
  store double %435, ptr %gep3195, align 8, !tbaa !5
  %436 = fmul double %148, 0xBC9A042DA3AAA0F5
  %437 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCBAF68F816ED6D4, double %436)
  %438 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCBD577C538DDA63, double %437)
  %439 = tail call double @llvm.fmuladd.f64(double %153, double 0xBC9E271992FB8E50, double %438)
  %440 = tail call double @llvm.fmuladd.f64(double %155, double 0x3C93D6FC900E3498, double %439)
  %441 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CC029CF9720BC60, double %440)
  %442 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC8797292B4C1941, double %441)
  %443 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C92F08ACDCBF794, double %442)
  %444 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CA6B48868965AE6, double %443)
  %445 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CA926ECE93029A9, double %444)
  %446 = tail call double @llvm.fmuladd.f64(double %167, double 0xBCB24490C3AF2293, double %445)
  %447 = tail call double @llvm.fmuladd.f64(double %169, double 0x3C94D23BA9623EA9, double %446)
  %448 = tail call double @llvm.fmuladd.f64(double %171, double 0xBF734721512AF07C, double %447)
  %449 = tail call double @llvm.fmuladd.f64(double %173, double 0x3FF21EFA862DF3DE, double %448)
  %450 = tail call double @llvm.fmuladd.f64(double %175, double 0xBFF7F19EB1BA88F8, double %449)
  %451 = tail call double @llvm.fmuladd.f64(double %177, double 0x3FC901A35D55DB50, double %450)
  %452 = tail call double @llvm.fmuladd.f64(double %179, double 0xBFF48831FA6C703B, double %451)
  %453 = tail call double @llvm.fmuladd.f64(double %181, double 0x3FF0AF85DD8BD416, double %452)
  %gep3197 = getelementptr double, ptr %invariant.gep3196, i64 %indvars.iv
  store double %453, ptr %gep3197, align 8, !tbaa !5
  %454 = fmul double %148, 0xBC958B3DCEB03946
  %455 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCADB22B9651CF46, double %454)
  %456 = tail call double @llvm.fmuladd.f64(double %151, double 0x3C9ED9E1BC70CFE6, double %455)
  %457 = tail call double @llvm.fmuladd.f64(double %153, double 0xBC8826BEE25DF5B0, double %456)
  %458 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CCBB1D94C3EA191, double %457)
  %459 = tail call double @llvm.fmuladd.f64(double %157, double 0xBC99F98308323540, double %458)
  %460 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC81FCE005D2224B, double %459)
  %461 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C94D6A0DAC57C7D, double %460)
  %462 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC84E1D5E41DCEB7, double %461)
  %463 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC92763F594C57B8, double %462)
  %464 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CB1F86B771BE422, double %463)
  %465 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCA63320C046EFE5, double %464)
  %466 = tail call double @llvm.fmuladd.f64(double %171, double 0x3FF3237A82AF9ECC, double %465)
  %467 = tail call double @llvm.fmuladd.f64(double %173, double 0xBFB17C71DD2D5180, double %466)
  %468 = tail call double @llvm.fmuladd.f64(double %175, double 0xBF76E8A1969E7200, double %467)
  %469 = tail call double @llvm.fmuladd.f64(double %177, double 0x3FC179BD32D3DC6F, double %468)
  %470 = tail call double @llvm.fmuladd.f64(double %179, double 0x3FFBC4AD9C53A55A, double %469)
  %471 = tail call double @llvm.fmuladd.f64(double %181, double 0x3FF1CA3B98F4942B, double %470)
  %gep3199 = getelementptr double, ptr %invariant.gep3198, i64 %indvars.iv
  store double %471, ptr %gep3199, align 8, !tbaa !5
  %472 = fmul double %148, 0xBC90195309BD1B6C
  %473 = tail call double @llvm.fmuladd.f64(double %147, double 0x3C91420C4C2992C8, double %472)
  %474 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCB1596887C79338, double %473)
  %475 = tail call double @llvm.fmuladd.f64(double %153, double 0xBC95A4C76FC77AC0, double %474)
  %476 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCA0A9E2E329FCA7, double %475)
  %477 = tail call double @llvm.fmuladd.f64(double %157, double 0xBC80C6561C6CD610, double %476)
  %478 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC89201DA4BD28AE, double %477)
  %479 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C950AD45332D6FF, double %478)
  %480 = tail call double @llvm.fmuladd.f64(double %163, double 0x3C9EB6F29C749A8E, double %479)
  %481 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC6D62BACB4768A0, double %480)
  %482 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CB80BBA9C9EA48C, double %481)
  %483 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCAB0B98A91B6678, double %482)
  %484 = tail call double @llvm.fmuladd.f64(double %171, double 0xBFF5B6F7089FF1D1, double %483)
  %485 = tail call double @llvm.fmuladd.f64(double %173, double 0x3FB1F3F0B024DC80, double %484)
  %486 = tail call double @llvm.fmuladd.f64(double %175, double 0x3FCCBE3CAE6B6284, double %485)
  %487 = tail call double @llvm.fmuladd.f64(double %177, double 0xBFD81F8F0CEC6102, double %486)
  %488 = tail call double @llvm.fmuladd.f64(double %179, double 0xBFFBA497A89943F3, double %487)
  %489 = tail call double @llvm.fmuladd.f64(double %181, double 0xBFDC5366E211BEA3, double %488)
  %gep3201 = getelementptr double, ptr %invariant.gep3200, i64 %indvars.iv
  store double %489, ptr %gep3201, align 8, !tbaa !5
  %490 = fmul double %148, 0x3FE4EDE8EE256114
  %491 = tail call double @llvm.fmuladd.f64(double %147, double 0xBFE8AC73392375CC, double %490)
  %492 = tail call double @llvm.fmuladd.f64(double %151, double 0x3FEA5488770B26BE, double %491)
  %493 = tail call double @llvm.fmuladd.f64(double %153, double 0x3FF44CD742FC94E8, double %492)
  %494 = tail call double @llvm.fmuladd.f64(double %155, double 0xBFFEF1F8514C97DD, double %493)
  %495 = tail call double @llvm.fmuladd.f64(double %157, double 0xBFF01B2FE70C1193, double %494)
  %496 = tail call double @llvm.fmuladd.f64(double %159, double 0x3CA4DBB49723188B, double %495)
  %497 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCA07423258E8785, double %496)
  %498 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC8CF1A7605B6ED6, double %497)
  %499 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC87A5CD2646DADD, double %498)
  %500 = tail call double @llvm.fmuladd.f64(double %167, double 0x3C756728FD5B044F, double %499)
  %501 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC8B1A3C6A1C6E73, double %500)
  %502 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCB366C66C9C20EC, double %501)
  %503 = tail call double @llvm.fmuladd.f64(double %173, double 0xBC7758351226A631, double %502)
  %504 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCB6C6F6878DD3A7, double %503)
  %505 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CA4C6639E24044F, double %504)
  %506 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CB88B2192416394, double %505)
  %507 = tail call double @llvm.fmuladd.f64(double %181, double 0xBC4417177B9D447F, double %506)
  %gep3203 = getelementptr double, ptr %invariant.gep3202, i64 %indvars.iv
  store double %507, ptr %gep3203, align 8, !tbaa !5
  %508 = fmul double %148, 0x3FF44E3F94172F4B
  %509 = tail call double @llvm.fmuladd.f64(double %147, double 0xBF7DFA2300BBB280, double %508)
  %510 = tail call double @llvm.fmuladd.f64(double %151, double 0x3FB9ECDD981278F3, double %509)
  %511 = tail call double @llvm.fmuladd.f64(double %153, double 0xBFE4FBED5D8A964C, double %510)
  %512 = tail call double @llvm.fmuladd.f64(double %155, double 0xBF83952FC55A7310, double %511)
  %513 = tail call double @llvm.fmuladd.f64(double %157, double 0x3FD50884576D0BB8, double %512)
  %514 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC62256990361280, double %513)
  %515 = tail call double @llvm.fmuladd.f64(double %161, double 0x3CC20413F90F2947, double %514)
  %516 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CA8FA36F9E410BC, double %515)
  %517 = tail call double @llvm.fmuladd.f64(double %165, double 0x3C9F209CBEE6547E, double %516)
  %518 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CA97C0FDD5CC331, double %517)
  %519 = tail call double @llvm.fmuladd.f64(double %169, double 0x3C839062B03D9625, double %518)
  %520 = tail call double @llvm.fmuladd.f64(double %171, double 0x3C8F162AB3E24558, double %519)
  %521 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CC24822224DBC78, double %520)
  %522 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCB88407823ABCF7, double %521)
  %523 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CB067CE2C74889D, double %522)
  %524 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CA71D150152D3DA, double %523)
  %525 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCC8C466774B0520, double %524)
  %gep3205 = getelementptr double, ptr %invariant.gep3204, i64 %indvars.iv
  store double %525, ptr %gep3205, align 8, !tbaa !5
  %526 = fmul double %148, 0xBFE1EC4181248AE2
  %527 = tail call double @llvm.fmuladd.f64(double %147, double 0xBFDFFE63E285175F, double %526)
  %528 = tail call double @llvm.fmuladd.f64(double %151, double 0x4000E9CE75C2FBF8, double %527)
  %529 = tail call double @llvm.fmuladd.f64(double %153, double 0x3FF2343957F3A8AF, double %528)
  %530 = tail call double @llvm.fmuladd.f64(double %155, double 0x3FF31D88B253B07B, double %529)
  %531 = tail call double @llvm.fmuladd.f64(double %157, double 0xBFEE712F1EF7D89C, double %530)
  %532 = tail call double @llvm.fmuladd.f64(double %159, double 0x3C850293B3FCA0E3, double %531)
  %533 = tail call double @llvm.fmuladd.f64(double %161, double 0xBC70D2CDDD720E22, double %532)
  %534 = tail call double @llvm.fmuladd.f64(double %163, double 0xBCA9795185F3DCEB, double %533)
  %535 = tail call double @llvm.fmuladd.f64(double %165, double 0x3C9FEBD8FA5C50DD, double %534)
  %536 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CCE35BEEAC7EA45, double %535)
  %537 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCBC38460D0EF925, double %536)
  %538 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCB4A05EBC88835E, double %537)
  %539 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCB8D3AFF5676101, double %538)
  %540 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CBDC6E1E1019EC2, double %539)
  %541 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC82BE6C478E3228, double %540)
  %542 = tail call double @llvm.fmuladd.f64(double %179, double 0x3C86CA03EF7109C0, double %541)
  %543 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CD3FC268C3751F5, double %542)
  %gep3207 = getelementptr double, ptr %invariant.gep3206, i64 %indvars.iv
  store double %543, ptr %gep3207, align 8, !tbaa !5
  %544 = fmul double %148, 0x3FF3237A82AF9ED0
  %545 = tail call double @llvm.fmuladd.f64(double %147, double 0xBFB17C71DD2D5170, double %544)
  %546 = tail call double @llvm.fmuladd.f64(double %151, double 0xBF76E8A1969E6C80, double %545)
  %547 = tail call double @llvm.fmuladd.f64(double %153, double 0x3FFBC4AD9C53A55A, double %546)
  %548 = tail call double @llvm.fmuladd.f64(double %155, double 0x3FC179BD32D3DC59, double %547)
  %549 = tail call double @llvm.fmuladd.f64(double %157, double 0x3FF1CA3B98F4942B, double %548)
  %550 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC9E515AA144063C, double %549)
  %551 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C8A4389306A2E0D, double %550)
  %552 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC9F8C0C369EC038, double %551)
  %553 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CA068AD707D034A, double %552)
  %554 = tail call double @llvm.fmuladd.f64(double %167, double 0xBC9CD786A1AD8F1F, double %553)
  %555 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC7C542BFA7534C1, double %554)
  %556 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCA291E4DC85F746, double %555)
  %557 = tail call double @llvm.fmuladd.f64(double %173, double 0xBC318568500D29B4, double %556)
  %558 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CB8B7EF57E025B8, double %557)
  %559 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CC368C8E05648F6, double %558)
  %560 = tail call double @llvm.fmuladd.f64(double %179, double 0x3C93BF528ACED502, double %559)
  %561 = tail call double @llvm.fmuladd.f64(double %181, double 0x3C99794FD5FFFA78, double %560)
  %gep3209 = getelementptr double, ptr %invariant.gep3208, i64 %indvars.iv
  store double %561, ptr %gep3209, align 8, !tbaa !5
  %562 = fmul double %148, 0xBF734721512AF544
  %563 = tail call double @llvm.fmuladd.f64(double %147, double 0x3FF21EFA862DF3D5, double %562)
  %564 = tail call double @llvm.fmuladd.f64(double %151, double 0xBFF7F19EB1BA88FC, double %563)
  %565 = tail call double @llvm.fmuladd.f64(double %153, double 0xBFF48831FA6C7040, double %564)
  %566 = tail call double @llvm.fmuladd.f64(double %155, double 0x3FC901A35D55DB9B, double %565)
  %567 = tail call double @llvm.fmuladd.f64(double %157, double 0x3FF0AF85DD8BD416, double %566)
  %568 = tail call double @llvm.fmuladd.f64(double %159, double 0x3C8212A222BDF02D, double %567)
  %569 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C9C3612467E6F25, double %568)
  %570 = tail call double @llvm.fmuladd.f64(double %163, double 0x3C60D44D9CE30D34, double %569)
  %571 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CB4286CB40F2925, double %570)
  %572 = tail call double @llvm.fmuladd.f64(double %167, double 0xBCA8159E3B5248DD, double %571)
  %573 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC8CCF58EB146D34, double %572)
  %574 = tail call double @llvm.fmuladd.f64(double %171, double 0x3C8CDC3A40C0C286, double %573)
  %575 = tail call double @llvm.fmuladd.f64(double %173, double 0x3C9145618281F15F, double %574)
  %576 = tail call double @llvm.fmuladd.f64(double %175, double 0x3C9DA0ED86977DDB, double %575)
  %577 = tail call double @llvm.fmuladd.f64(double %177, double 0xBCB96CB68C8806CB, double %576)
  %578 = tail call double @llvm.fmuladd.f64(double %179, double 0xBCA627EA67753954, double %577)
  %579 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCB38E4A7495701A, double %578)
  %gep3211 = getelementptr double, ptr %invariant.gep3210, i64 %indvars.iv
  store double %579, ptr %gep3211, align 8, !tbaa !5
  %580 = fmul double %148, 0xBFF5B6F7089FF1D6
  %581 = tail call double @llvm.fmuladd.f64(double %147, double 0x3FB1F3F0B024DC78, double %580)
  %582 = tail call double @llvm.fmuladd.f64(double %151, double 0x3FCCBE3CAE6B6264, double %581)
  %583 = tail call double @llvm.fmuladd.f64(double %153, double 0xBFFBA497A89943F8, double %582)
  %584 = tail call double @llvm.fmuladd.f64(double %155, double 0xBFD81F8F0CEC6104, double %583)
  %585 = tail call double @llvm.fmuladd.f64(double %157, double 0xBFDC5366E211BE88, double %584)
  %586 = tail call double @llvm.fmuladd.f64(double %159, double 0x3C3B48F2BDFBC8FE, double %585)
  %587 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCABF8CFD447EB3A, double %586)
  %588 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CAAFAB790AFF8A1, double %587)
  %589 = tail call double @llvm.fmuladd.f64(double %165, double 0x3C95C63DC7475F76, double %588)
  %590 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CB246F6B715BA99, double %589)
  %591 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCAFEB692A4A65D9, double %590)
  %592 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCB0527DE73323C6, double %591)
  %593 = tail call double @llvm.fmuladd.f64(double %173, double 0xBC851E1EB70E35B8, double %592)
  %594 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCB91F7B4DA061B9, double %593)
  %595 = tail call double @llvm.fmuladd.f64(double %177, double 0xBCA20AB4BF61ADD9, double %594)
  %596 = tail call double @llvm.fmuladd.f64(double %179, double 0xBC92F85550CD85E6, double %595)
  %597 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCB0508DC7392C6F, double %596)
  %gep3213 = getelementptr double, ptr %invariant.gep3212, i64 %indvars.iv
  store double %597, ptr %gep3213, align 8, !tbaa !5
  %598 = fmul double %148, 0xBCB1B63B8880A915
  %599 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CC6C71214C31C21, double %598)
  %600 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCB4FEFC467C74C1, double %599)
  %601 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CA5EC7F118106ED, double %600)
  %602 = tail call double @llvm.fmuladd.f64(double %155, double 0x3C97A76C7821BE84, double %601)
  %603 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CAB7AA05D79C461, double %602)
  %604 = tail call double @llvm.fmuladd.f64(double %159, double 0xBFE8AC73392375D0, double %603)
  %605 = tail call double @llvm.fmuladd.f64(double %161, double 0x3FE4EDE8EE256116, double %604)
  %606 = tail call double @llvm.fmuladd.f64(double %163, double 0x3FEA5488770B26C2, double %605)
  %607 = tail call double @llvm.fmuladd.f64(double %165, double 0x3FF44CD742FC94EC, double %606)
  %608 = tail call double @llvm.fmuladd.f64(double %167, double 0xBFFEF1F8514C97E2, double %607)
  %609 = tail call double @llvm.fmuladd.f64(double %169, double 0xBFF01B2FE70C1193, double %608)
  %610 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CC10619A0D49B2C, double %609)
  %611 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCB2BE959D8DCC83, double %610)
  %612 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCB6827D4F596C3D, double %611)
  %613 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC79847A24C5FC38, double %612)
  %614 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CA5781E7AFEC464, double %613)
  %615 = tail call double @llvm.fmuladd.f64(double %181, double 0xBC69B640D81F5A20, double %614)
  %gep3215 = getelementptr double, ptr %invariant.gep3214, i64 %indvars.iv
  store double %615, ptr %gep3215, align 8, !tbaa !5
  %616 = fmul double %148, 0x3CB1CF7DDE1AEFDC
  %617 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CA347C4C70D6B05, double %616)
  %618 = tail call double @llvm.fmuladd.f64(double %151, double 0x3C97D656A637D540, double %617)
  %619 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCAA48CC66C79E07, double %618)
  %620 = tail call double @llvm.fmuladd.f64(double %155, double 0x3C9D261528C7077F, double %619)
  %621 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CA99E4A7A608F94, double %620)
  %622 = tail call double @llvm.fmuladd.f64(double %159, double 0xBF7DFA2300BBB500, double %621)
  %623 = tail call double @llvm.fmuladd.f64(double %161, double 0x3FF44E3F94172F4B, double %622)
  %624 = tail call double @llvm.fmuladd.f64(double %163, double 0x3FB9ECDD981278D6, double %623)
  %625 = tail call double @llvm.fmuladd.f64(double %165, double 0xBFE4FBED5D8A9650, double %624)
  %626 = tail call double @llvm.fmuladd.f64(double %167, double 0xBF83952FC55A72B4, double %625)
  %627 = tail call double @llvm.fmuladd.f64(double %169, double 0x3FD50884576D0BC1, double %626)
  %628 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CB6140A413681D4, double %627)
  %629 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CA8FA1231330DC7, double %628)
  %630 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CBBE2C07F50FCE2, double %629)
  %631 = tail call double @llvm.fmuladd.f64(double %177, double 0xBCB7024A69B57E27, double %630)
  %632 = tail call double @llvm.fmuladd.f64(double %179, double 0xBC87FD97AF08C2A0, double %631)
  %633 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCB0527F7EB21B3D, double %632)
  %gep3217 = getelementptr double, ptr %invariant.gep3216, i64 %indvars.iv
  store double %633, ptr %gep3217, align 8, !tbaa !5
  %634 = fmul double %148, 0x3C8A879ECD0AD1E9
  %635 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CAC37DE4880EADE, double %634)
  %636 = tail call double @llvm.fmuladd.f64(double %151, double 0xBC59ACE05CE0B300, double %635)
  %637 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CB3FD64226E0B00, double %636)
  %638 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCA6BB73EC8236F2, double %637)
  %639 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCA83336C71F9743, double %638)
  %640 = tail call double @llvm.fmuladd.f64(double %159, double 0xBFDFFE63E2851764, double %639)
  %641 = tail call double @llvm.fmuladd.f64(double %161, double 0xBFE1EC4181248AE3, double %640)
  %642 = tail call double @llvm.fmuladd.f64(double %163, double 0x4000E9CE75C2FBF6, double %641)
  %643 = tail call double @llvm.fmuladd.f64(double %165, double 0x3FF2343957F3A8AF, double %642)
  %644 = tail call double @llvm.fmuladd.f64(double %167, double 0x3FF31D88B253B07F, double %643)
  %645 = tail call double @llvm.fmuladd.f64(double %169, double 0xBFEE712F1EF7D8A1, double %644)
  %646 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCC19561BA4C976A, double %645)
  %647 = tail call double @llvm.fmuladd.f64(double %173, double 0x3C8561CA2243E962, double %646)
  %648 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCCBC809825B5E43, double %647)
  %649 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC98B3084FB90D1C, double %648)
  %650 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CD0052A8CC0F683, double %649)
  %651 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CD01543965B219E, double %650)
  %gep3219 = getelementptr double, ptr %invariant.gep3218, i64 %indvars.iv
  store double %651, ptr %gep3219, align 8, !tbaa !5
  %652 = fmul double %148, 0x3C5F5BA8ADFE37A4
  %653 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCB17D0146688F6C, double %652)
  %654 = tail call double @llvm.fmuladd.f64(double %151, double 0xBC95A97F00B4BD20, double %653)
  %655 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CB310B8F73ED9E1, double %654)
  %656 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CB8D84083674869, double %655)
  %657 = tail call double @llvm.fmuladd.f64(double %157, double 0x3C908864603A2D22, double %656)
  %658 = tail call double @llvm.fmuladd.f64(double %159, double 0xBFB17C71DD2D5188, double %657)
  %659 = tail call double @llvm.fmuladd.f64(double %161, double 0x3FF3237A82AF9ED0, double %658)
  %660 = tail call double @llvm.fmuladd.f64(double %163, double 0xBF76E8A1969E6E00, double %659)
  %661 = tail call double @llvm.fmuladd.f64(double %165, double 0x3FFBC4AD9C53A55A, double %660)
  %662 = tail call double @llvm.fmuladd.f64(double %167, double 0x3FC179BD32D3DC59, double %661)
  %663 = tail call double @llvm.fmuladd.f64(double %169, double 0x3FF1CA3B98F4942B, double %662)
  %664 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CB0F5FB97E3D134, double %663)
  %665 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCAEF548FD7930BA, double %664)
  %666 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CB0EB672BAF686C, double %665)
  %667 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC978105A5E561C1, double %666)
  %668 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CA3390DEFF9A3C5, double %667)
  %669 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCA5931C5A970C57, double %668)
  %gep3221 = getelementptr double, ptr %invariant.gep3220, i64 %indvars.iv
  store double %669, ptr %gep3221, align 8, !tbaa !5
  %670 = fmul double %148, 0xBC8C55566D867E4D
  %671 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCB979BA7B87021B, double %670)
  %672 = tail call double @llvm.fmuladd.f64(double %151, double 0x3CAD8296DD370BB5, double %671)
  %673 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCB6E42765918C02, double %672)
  %674 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CA25C9DE1FA7E55, double %673)
  %675 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CA501A6E8F3273C, double %674)
  %676 = tail call double @llvm.fmuladd.f64(double %159, double 0x3FF21EFA862DF3DA, double %675)
  %677 = tail call double @llvm.fmuladd.f64(double %161, double 0xBF734721512AF5C4, double %676)
  %678 = tail call double @llvm.fmuladd.f64(double %163, double 0xBFF7F19EB1BA88FC, double %677)
  %679 = tail call double @llvm.fmuladd.f64(double %165, double 0xBFF48831FA6C7040, double %678)
  %680 = tail call double @llvm.fmuladd.f64(double %167, double 0x3FC901A35D55DB91, double %679)
  %681 = tail call double @llvm.fmuladd.f64(double %169, double 0x3FF0AF85DD8BD41B, double %680)
  %682 = tail call double @llvm.fmuladd.f64(double %171, double 0x3C818885A14EAAF3, double %681)
  %683 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CA1FE8D3E4F0FDA, double %682)
  %684 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CC2430B423E38F7, double %683)
  %685 = tail call double @llvm.fmuladd.f64(double %177, double 0xBCA2669FC3A56863, double %684)
  %686 = tail call double @llvm.fmuladd.f64(double %179, double 0xBCBED2A4B49E79D0, double %685)
  %687 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCB8150AF40905ED, double %686)
  %gep3223 = getelementptr double, ptr %invariant.gep3222, i64 %indvars.iv
  store double %687, ptr %gep3223, align 8, !tbaa !5
  %688 = fmul double %148, 0xBC6ACDF6528B4733
  %689 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CA01AC45D3C9864, double %688)
  %690 = tail call double @llvm.fmuladd.f64(double %151, double 0xBC7F9F89179EC460, double %689)
  %691 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCB6B022413F9937, double %690)
  %692 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCB0BCDE936FEEC2, double %691)
  %693 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CB1A9F3F895A70E, double %692)
  %694 = tail call double @llvm.fmuladd.f64(double %159, double 0x3FB1F3F0B024DC78, double %693)
  %695 = tail call double @llvm.fmuladd.f64(double %161, double 0xBFF5B6F7089FF1D6, double %694)
  %696 = tail call double @llvm.fmuladd.f64(double %163, double 0x3FCCBE3CAE6B6264, double %695)
  %697 = tail call double @llvm.fmuladd.f64(double %165, double 0xBFFBA497A89943F8, double %696)
  %698 = tail call double @llvm.fmuladd.f64(double %167, double 0xBFD81F8F0CEC6101, double %697)
  %699 = tail call double @llvm.fmuladd.f64(double %169, double 0xBFDC5366E211BEA0, double %698)
  %700 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCB87AF4AD8F6C4D, double %699)
  %701 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CB12455A0EA2ADF, double %700)
  %702 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCB257D19C776B7D, double %701)
  %703 = tail call double @llvm.fmuladd.f64(double %177, double 0x3C87C5793620E509, double %702)
  %704 = tail call double @llvm.fmuladd.f64(double %179, double 0xBCAEB022802087A0, double %703)
  %705 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CB19E5F3488CFDD, double %704)
  %gep3225 = getelementptr double, ptr %invariant.gep3224, i64 %indvars.iv
  store double %705, ptr %gep3225, align 8, !tbaa !5
  %706 = fmul double %148, 0x3C93A7C0E4AC7A60
  %707 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CA77C1E26AD07FB, double %706)
  %708 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCB48923F82EA691, double %707)
  %709 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CB2EF2E61697A4B, double %708)
  %710 = tail call double @llvm.fmuladd.f64(double %155, double 0xBC799BC4C2A33F70, double %709)
  %711 = tail call double @llvm.fmuladd.f64(double %157, double 0xBC7C5EE298468647, double %710)
  %712 = tail call double @llvm.fmuladd.f64(double %159, double 0x3CB0F9118CF9AD5E, double %711)
  %713 = tail call double @llvm.fmuladd.f64(double %161, double 0xBC9C6D9C52EC041A, double %712)
  %714 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC814C8EF8381536, double %713)
  %715 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC76355C6A0A6D53, double %714)
  %716 = tail call double @llvm.fmuladd.f64(double %167, double 0x3C61B8141832C03E, double %715)
  %717 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC8B1A3C6A1C6E73, double %716)
  %718 = tail call double @llvm.fmuladd.f64(double %171, double 0xBFE8AC73392375D0, double %717)
  %719 = tail call double @llvm.fmuladd.f64(double %173, double 0x3FE4EDE8EE256113, double %718)
  %720 = tail call double @llvm.fmuladd.f64(double %175, double 0x3FEA5488770B26BE, double %719)
  %721 = tail call double @llvm.fmuladd.f64(double %177, double 0x3FF44CD742FC94E8, double %720)
  %722 = tail call double @llvm.fmuladd.f64(double %179, double 0xBFFEF1F8514C97DD, double %721)
  %723 = tail call double @llvm.fmuladd.f64(double %181, double 0xBFF01B2FE70C1193, double %722)
  %gep3227 = getelementptr double, ptr %invariant.gep3226, i64 %indvars.iv
  store double %723, ptr %gep3227, align 8, !tbaa !5
  %724 = fmul double %148, 0x3CC7A90CBDB122D2
  %725 = tail call double @llvm.fmuladd.f64(double %147, double 0x3C8C175CC3AC3DA0, double %724)
  %726 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCC511D8384A1A55, double %725)
  %727 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CAADBF51C371479, double %726)
  %728 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CA4D75F1529F75A, double %727)
  %729 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCB8F2F00581C5B3, double %728)
  %730 = tail call double @llvm.fmuladd.f64(double %159, double 0x3CB256380966451A, double %729)
  %731 = tail call double @llvm.fmuladd.f64(double %161, double 0x3CC01E6C16082D54, double %730)
  %732 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CAA303E978A5038, double %731)
  %733 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CAC5EADE484449F, double %732)
  %734 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CAC4A69A26D89C3, double %733)
  %735 = tail call double @llvm.fmuladd.f64(double %169, double 0x3C839062B03D962B, double %734)
  %736 = tail call double @llvm.fmuladd.f64(double %171, double 0xBF7DFA2300BBB200, double %735)
  %737 = tail call double @llvm.fmuladd.f64(double %173, double 0x3FF44E3F94172F46, double %736)
  %738 = tail call double @llvm.fmuladd.f64(double %175, double 0x3FB9ECDD981278FA, double %737)
  %739 = tail call double @llvm.fmuladd.f64(double %177, double 0xBFE4FBED5D8A964C, double %738)
  %740 = tail call double @llvm.fmuladd.f64(double %179, double 0xBF83952FC55A7394, double %739)
  %741 = tail call double @llvm.fmuladd.f64(double %181, double 0x3FD50884576D0BB0, double %740)
  %gep3229 = getelementptr double, ptr %invariant.gep3228, i64 %indvars.iv
  store double %741, ptr %gep3229, align 8, !tbaa !5
  %742 = fmul double %148, 0xBCA27EC017855878
  %743 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CC3A3AFB95FF4E5, double %742)
  %744 = tail call double @llvm.fmuladd.f64(double %151, double 0x3CD54F70D2EB9A18, double %743)
  %745 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CABF738548B48D5, double %744)
  %746 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCCFEC3A2A4C4C78, double %745)
  %747 = tail call double @llvm.fmuladd.f64(double %157, double 0x3C932E31FBD492BC, double %746)
  %748 = tail call double @llvm.fmuladd.f64(double %159, double 0x3CA535998BAB6E00, double %747)
  %749 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C6197D309C7AB34, double %748)
  %750 = tail call double @llvm.fmuladd.f64(double %163, double 0xBCA84349E84D9D73, double %749)
  %751 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CA4C44C023F42CC, double %750)
  %752 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CCE4E90983F720B, double %751)
  %753 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCBC38460D0EF925, double %752)
  %754 = tail call double @llvm.fmuladd.f64(double %171, double 0xBFDFFE63E285176B, double %753)
  %755 = tail call double @llvm.fmuladd.f64(double %173, double 0xBFE1EC4181248AE3, double %754)
  %756 = tail call double @llvm.fmuladd.f64(double %175, double 0x4000E9CE75C2FBF6, double %755)
  %757 = tail call double @llvm.fmuladd.f64(double %177, double 0x3FF2343957F3A8AF, double %756)
  %758 = tail call double @llvm.fmuladd.f64(double %179, double 0x3FF31D88B253B07F, double %757)
  %759 = tail call double @llvm.fmuladd.f64(double %181, double 0xBFEE712F1EF7D894, double %758)
  %gep3231 = getelementptr double, ptr %invariant.gep3230, i64 %indvars.iv
  store double %759, ptr %gep3231, align 8, !tbaa !5
  %760 = fmul double %148, 0xBC7865999DB92F51
  %761 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCB2A04E51D66FCE, double %760)
  %762 = tail call double @llvm.fmuladd.f64(double %151, double 0x3C88B903F6BC17F0, double %761)
  %763 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CC55C346E604B2A, double %762)
  %764 = tail call double @llvm.fmuladd.f64(double %155, double 0xBC997FE57E87E294, double %763)
  %765 = tail call double @llvm.fmuladd.f64(double %157, double 0xBC892C4067E5CCE7, double %764)
  %766 = tail call double @llvm.fmuladd.f64(double %159, double 0x3C9195CCC6FDDC34, double %765)
  %767 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C90C2BEA1BFB3F8, double %766)
  %768 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC83C8973FFE3109, double %767)
  %769 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CA202E0ECF2957E, double %768)
  %770 = tail call double @llvm.fmuladd.f64(double %167, double 0xBC9E71BA1E232157, double %769)
  %771 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC7C542BFA7534B8, double %770)
  %772 = tail call double @llvm.fmuladd.f64(double %171, double 0xBFB17C71DD2D5160, double %771)
  %773 = tail call double @llvm.fmuladd.f64(double %173, double 0x3FF3237A82AF9ED0, double %772)
  %774 = tail call double @llvm.fmuladd.f64(double %175, double 0xBF76E8A1969E6B00, double %773)
  %775 = tail call double @llvm.fmuladd.f64(double %177, double 0x3FFBC4AD9C53A55A, double %774)
  %776 = tail call double @llvm.fmuladd.f64(double %179, double 0x3FC179BD32D3DC68, double %775)
  %777 = tail call double @llvm.fmuladd.f64(double %181, double 0x3FF1CA3B98F4942B, double %776)
  %gep3233 = getelementptr double, ptr %invariant.gep3232, i64 %indvars.iv
  store double %777, ptr %gep3233, align 8, !tbaa !5
  %778 = fmul double %148, 0xBCA57F1A1B03E36B
  %779 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCC1297A2A184282, double %778)
  %780 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCB10C6112FA5C6E, double %779)
  %781 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCBF0D117BE35C9F, double %780)
  %782 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CBC248A09C9692D, double %781)
  %783 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CBF98C60EE20B5A, double %782)
  %784 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC8722D375CED18B, double %783)
  %785 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C928A15FB1A0DF3, double %784)
  %786 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC6B200A12F0E6FE, double %785)
  %787 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CB0B4EF81D0EBA9, double %786)
  %788 = tail call double @llvm.fmuladd.f64(double %167, double 0xBCA81B5AA73CEFCF, double %787)
  %789 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC8CCF58EB146D34, double %788)
  %790 = tail call double @llvm.fmuladd.f64(double %171, double 0x3FF21EFA862DF3DA, double %789)
  %791 = tail call double @llvm.fmuladd.f64(double %173, double 0xBF734721512AF472, double %790)
  %792 = tail call double @llvm.fmuladd.f64(double %175, double 0xBFF7F19EB1BA88FC, double %791)
  %793 = tail call double @llvm.fmuladd.f64(double %177, double 0xBFF48831FA6C7040, double %792)
  %794 = tail call double @llvm.fmuladd.f64(double %179, double 0x3FC901A35D55DB89, double %793)
  %795 = tail call double @llvm.fmuladd.f64(double %181, double 0x3FF0AF85DD8BD416, double %794)
  %gep3235 = getelementptr double, ptr %invariant.gep3234, i64 %indvars.iv
  store double %795, ptr %gep3235, align 8, !tbaa !5
  %796 = fmul double %148, 0xBCA44D48F8869957
  %797 = tail call double @llvm.fmuladd.f64(double %147, double 0xBC8E7761343A95A0, double %796)
  %798 = tail call double @llvm.fmuladd.f64(double %151, double 0xBC95C5CE8588C948, double %797)
  %799 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCB82536F63F33EE, double %798)
  %800 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CA6D94B54150D6E, double %799)
  %801 = tail call double @llvm.fmuladd.f64(double %157, double 0xBC86CA5E2A13EA01, double %800)
  %802 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC8AA385F45F1E4E, double %801)
  %803 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCB2AACA2DE89BB0, double %802)
  %804 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CA83B7215B2B95C, double %803)
  %805 = tail call double @llvm.fmuladd.f64(double %165, double 0x3C8FF091FC9CD302, double %804)
  %806 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CB3BD521F494B8F, double %805)
  %807 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCAFEB692A4A65D9, double %806)
  %808 = tail call double @llvm.fmuladd.f64(double %171, double 0x3FB1F3F0B024DC70, double %807)
  %809 = tail call double @llvm.fmuladd.f64(double %173, double 0xBFF5B6F7089FF1D6, double %808)
  %810 = tail call double @llvm.fmuladd.f64(double %175, double 0x3FCCBE3CAE6B6255, double %809)
  %811 = tail call double @llvm.fmuladd.f64(double %177, double 0xBFFBA497A89943F8, double %810)
  %812 = tail call double @llvm.fmuladd.f64(double %179, double 0xBFD81F8F0CEC6108, double %811)
  %813 = tail call double @llvm.fmuladd.f64(double %181, double 0xBFDC5366E211BE88, double %812)
  %gep3237 = getelementptr double, ptr %invariant.gep3236, i64 %indvars.iv
  store double %813, ptr %gep3237, align 8, !tbaa !5
  %814 = fmul double %148, 0xBD09D98BFF4CB0E5
  %815 = tail call double @llvm.fmuladd.f64(double %147, double 0x3FFEFBDEB14F4DAA, double %814)
  %816 = tail call double @llvm.fmuladd.f64(double %151, double 0xBD08F6EC581E880F, double %815)
  %817 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCFDF4EDB2DE7F56, double %816)
  %818 = tail call double @llvm.fmuladd.f64(double %155, double 0x3D19E21ADBE67F1B, double %817)
  %819 = tail call double @llvm.fmuladd.f64(double %157, double 0x3D193EE154A2063B, double %818)
  %820 = tail call double @llvm.fmuladd.f64(double %159, double 0x3FF08654A2D4F756, double %819)
  %821 = tail call double @llvm.fmuladd.f64(double %161, double 0x3CF4E04E2DCDEC57, double %820)
  %822 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CF3AAAAAAAAAAAB, double %821)
  %823 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CE72AAAAAAAAAA8, double %822)
  %824 = tail call double @llvm.fmuladd.f64(double %167, double 0xBD043F63A4642756, double %823)
  %825 = tail call double @llvm.fmuladd.f64(double %169, double 0xBD0394B8F9B97CA9, double %824)
  %826 = tail call double @llvm.fmuladd.f64(double %171, double 0xBFE4A7E9CB8A3493, double %825)
  %827 = tail call double @llvm.fmuladd.f64(double %173, double 0xBC8BC95608A46E63, double %826)
  %828 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CA865C0B24CAFB5, double %827)
  %829 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CB09F4DA65E855E, double %828)
  %830 = tail call double @llvm.fmuladd.f64(double %179, double 0xBCA3E8F53E9DEC6B, double %829)
  %831 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCB32135F151F960, double %830)
  %gep3239 = getelementptr double, ptr %invariant.gep3238, i64 %indvars.iv
  store double %831, ptr %gep3239, align 8, !tbaa !5
  %832 = fmul double %148, 0x3FFEFBDEB14F4D9C
  %833 = tail call double @llvm.fmuladd.f64(double %147, double 0xBD07B67C0A74B6D2, double %832)
  %834 = tail call double @llvm.fmuladd.f64(double %151, double 0xBD08B86D08565032, double %833)
  %835 = tail call double @llvm.fmuladd.f64(double %153, double 0x3D1BE5E867FB3CCC, double %834)
  %836 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCFD7E2C7687A148, double %835)
  %837 = tail call double @llvm.fmuladd.f64(double %157, double 0x3D19AB84FA7213D2, double %836)
  %838 = tail call double @llvm.fmuladd.f64(double %159, double 0x3CF414B8F9B97CAA, double %837)
  %839 = tail call double @llvm.fmuladd.f64(double %161, double 0x3FF08654A2D4F75B, double %838)
  %840 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CF39AF8D87896FD, double %839)
  %841 = tail call double @llvm.fmuladd.f64(double %165, double 0xBD05A83AA25A713E, double %840)
  %842 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CE7EC7FBD7E34A3, double %841)
  %843 = tail call double @llvm.fmuladd.f64(double %169, double 0xBD055F1576963AFE, double %842)
  %844 = tail call double @llvm.fmuladd.f64(double %171, double 0x3C970362DFEA2854, double %843)
  %845 = tail call double @llvm.fmuladd.f64(double %173, double 0xBFE4A7E9CB8A349A, double %844)
  %846 = tail call double @llvm.fmuladd.f64(double %175, double 0xBC7565CE1279E84F, double %845)
  %847 = tail call double @llvm.fmuladd.f64(double %177, double 0xBCB0188D814CF0C8, double %846)
  %848 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CAC57CB2B44F947, double %847)
  %849 = tail call double @llvm.fmuladd.f64(double %181, double 0x3C98231206424F20, double %848)
  %gep3241 = getelementptr double, ptr %invariant.gep3240, i64 %indvars.iv
  store double %849, ptr %gep3241, align 8, !tbaa !5
  %850 = fmul double %148, 0xBD080EA3215BACFB
  %851 = tail call double @llvm.fmuladd.f64(double %147, double 0xBD08E7AFCAA156E7, double %850)
  %852 = tail call double @llvm.fmuladd.f64(double %151, double 0x3FFEFBDEB14F4D9C, double %851)
  %853 = tail call double @llvm.fmuladd.f64(double %153, double 0x3D1B6A9B554348D9, double %852)
  %854 = tail call double @llvm.fmuladd.f64(double %155, double 0x3D1A602CE43D9E05, double %853)
  %855 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCFB4D0EBD5404E2, double %854)
  %856 = tail call double @llvm.fmuladd.f64(double %159, double 0x3CF4EA8393C3B47E, double %855)
  %857 = tail call double @llvm.fmuladd.f64(double %161, double 0x3CF2549348F1AFBD, double %856)
  %858 = tail call double @llvm.fmuladd.f64(double %163, double 0x3FF08654A2D4F75B, double %857)
  %859 = tail call double @llvm.fmuladd.f64(double %165, double 0xBD0538138B737B14, double %858)
  %860 = tail call double @llvm.fmuladd.f64(double %167, double 0xBD05852E3E6E5F29, double %859)
  %861 = tail call double @llvm.fmuladd.f64(double %169, double 0x3CE317C6C3C4B7FB, double %860)
  %862 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCA7907993F5C565, double %861)
  %863 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCB4627DA761F89E, double %862)
  %864 = tail call double @llvm.fmuladd.f64(double %175, double 0xBFE4A7E9CB8A349B, double %863)
  %865 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC9EAEE0B6C3EF3F, double %864)
  %866 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CCD152CD522E8B4, double %865)
  %867 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CC9AF22A9592C7A, double %866)
  %gep3243 = getelementptr double, ptr %invariant.gep3242, i64 %indvars.iv
  store double %867, ptr %gep3243, align 8, !tbaa !5
  %868 = fmul double %148, 0x3D0A84FAA72D5A19
  %869 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCEB61ECA327B8E3, double %868)
  %870 = tail call double @llvm.fmuladd.f64(double %151, double 0x3D0A7D9F313861AC, double %869)
  %871 = tail call double @llvm.fmuladd.f64(double %153, double 0x3FFEFBDEB14F4E48, double %870)
  %872 = tail call double @llvm.fmuladd.f64(double %155, double 0x3D036D617FD6379E, double %871)
  %873 = tail call double @llvm.fmuladd.f64(double %157, double 0x3D027FF2929BF693, double %872)
  %874 = tail call double @llvm.fmuladd.f64(double %159, double 0x3CD83F1576963B00, double %873)
  %875 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCF5B52E3E6E5F2B, double %874)
  %876 = tail call double @llvm.fmuladd.f64(double %163, double 0xBCF61B6CB70E5044, double %875)
  %877 = tail call double @llvm.fmuladd.f64(double %165, double 0x3FF08654A2D4F717, double %876)
  %878 = tail call double @llvm.fmuladd.f64(double %167, double 0xBCEFF3CE704FB7B1, double %877)
  %879 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCEE546ACBEB905B, double %878)
  %880 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCA0F732AF6EE969, double %879)
  %881 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CB2FCB85F5C617B, double %880)
  %882 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CC17DC87F455351, double %881)
  %883 = tail call double @llvm.fmuladd.f64(double %177, double 0xBFE4A7E9CB8A3496, double %882)
  %884 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CA791A32887A121, double %883)
  %885 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CB12159E6369CA7, double %884)
  %gep3245 = getelementptr double, ptr %invariant.gep3244, i64 %indvars.iv
  store double %885, ptr %gep3245, align 8, !tbaa !5
  %886 = fmul double %148, 0xBCF04E8D6B1B7312
  %887 = tail call double @llvm.fmuladd.f64(double %147, double 0x3D0962BFBF7950FE, double %886)
  %888 = tail call double @llvm.fmuladd.f64(double %151, double 0x3D094FA68F9AC90D, double %887)
  %889 = tail call double @llvm.fmuladd.f64(double %153, double 0x3D0245B3F19FA08F, double %888)
  %890 = tail call double @llvm.fmuladd.f64(double %155, double 0x3FFEFBDEB14F4E48, double %889)
  %891 = tail call double @llvm.fmuladd.f64(double %157, double 0x3D056D8568281090, double %890)
  %892 = tail call double @llvm.fmuladd.f64(double %159, double 0xBCF473CE704FB7B1, double %891)
  %893 = tail call double @llvm.fmuladd.f64(double %161, double 0x3CDC972A6828DF4A, double %892)
  %894 = tail call double @llvm.fmuladd.f64(double %163, double 0xBCF52443B5049A2F, double %893)
  %895 = tail call double @llvm.fmuladd.f64(double %165, double 0xBCEB3EC748C84EAF, double %894)
  %896 = tail call double @llvm.fmuladd.f64(double %167, double 0x3FF08654A2D4F71C, double %895)
  %897 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCF0EA0E4F0ED202, double %896)
  %898 = tail call double @llvm.fmuladd.f64(double %171, double 0xBC957D30E9E11EAA, double %897)
  %899 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCB020EF0806595A, double %898)
  %900 = tail call double @llvm.fmuladd.f64(double %175, double 0x3C995AF6A0FAA3BA, double %899)
  %901 = tail call double @llvm.fmuladd.f64(double %177, double 0xBC7660BBB7D81C3F, double %900)
  %902 = tail call double @llvm.fmuladd.f64(double %179, double 0xBFE4A7E9CB8A3494, double %901)
  %903 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CC2ED1D85004B30, double %902)
  %gep3247 = getelementptr double, ptr %invariant.gep3246, i64 %indvars.iv
  store double %903, ptr %gep3247, align 8, !tbaa !5
  %904 = fmul double %148, 0x3D094FBC9693CCC3
  %905 = tail call double @llvm.fmuladd.f64(double %147, double 0x3D09F39F45669420, double %904)
  %906 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCF0CC0D6843A692, double %905)
  %907 = tail call double @llvm.fmuladd.f64(double %153, double 0x3D02CCBAD3CD71B6, double %906)
  %908 = tail call double @llvm.fmuladd.f64(double %155, double 0x3D0684AE6A31C6A8, double %907)
  %909 = tail call double @llvm.fmuladd.f64(double %157, double 0x3FFEFBDEB14F4E48, double %908)
  %910 = tail call double @llvm.fmuladd.f64(double %159, double 0xBCF4BE5204136C30, double %909)
  %911 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCF3302716E6F62B, double %910)
  %912 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CD8A971F372F94D, double %911)
  %913 = tail call double @llvm.fmuladd.f64(double %165, double 0xBCEE0138B737B153, double %912)
  %914 = tail call double @llvm.fmuladd.f64(double %167, double 0xBCF1BE2AED2C7606, double %913)
  %915 = tail call double @llvm.fmuladd.f64(double %169, double 0x3FF08654A2D4F717, double %914)
  %916 = tail call double @llvm.fmuladd.f64(double %171, double 0x3C89DD26D5B75F58, double %915)
  %917 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCAB2729CD0FE620, double %916)
  %918 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CB60C661FD23425, double %917)
  %919 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CA4E4D6801EA791, double %918)
  %920 = tail call double @llvm.fmuladd.f64(double %179, double 0xBC7BA72BEBF9CA81, double %919)
  %921 = tail call double @llvm.fmuladd.f64(double %181, double 0xBFE4A7E9CB8A349A, double %920)
  %gep3249 = getelementptr double, ptr %invariant.gep3248, i64 %indvars.iv
  store double %921, ptr %gep3249, align 8, !tbaa !5
  %922 = fmul double %148, 0x3CE92F44973E98E2
  %923 = tail call double @llvm.fmuladd.f64(double %147, double 0xBFF9D1E43E6CC16D, double %922)
  %924 = tail call double @llvm.fmuladd.f64(double %151, double 0x3CE8D765A1B41E69, double %923)
  %925 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CE01DEF58A7A769, double %924)
  %926 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCF92CA4F0107010, double %925)
  %927 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCFA01E43E6CC1B4, double %926)
  %928 = tail call double @llvm.fmuladd.f64(double %159, double 0xB9BED7FFFFFFFFFE, double %927)
  %929 = tail call double @llvm.fmuladd.f64(double %161, double 0xB997600000000000, double %928)
  %930 = tail call double @llvm.fmuladd.f64(double %163, double 0xB980BFFFFFFFFFFE, double %929)
  %931 = tail call double @llvm.fmuladd.f64(double %165, double 0xB9914C0000000000, double %930)
  %932 = tail call double @llvm.fmuladd.f64(double %167, double 0x3970000000000000, double %931)
  %933 = tail call double @llvm.fmuladd.f64(double %169, double 0x39A0000000000000, double %932)
  %934 = tail call double @llvm.fmuladd.f64(double %171, double 0x3FF9D1E43E6CC16D, double %933)
  %935 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCE92F44973E98E2, double %934)
  %936 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCE8D765A1B41E69, double %935)
  %937 = tail call double @llvm.fmuladd.f64(double %177, double 0xBCE01DEF58A7A769, double %936)
  %938 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CF95CA4F0107011, double %937)
  %939 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CFA31E43E6CC1B5, double %938)
  %gep3251 = getelementptr double, ptr %invariant.gep3250, i64 %indvars.iv
  store double %939, ptr %gep3251, align 8, !tbaa !5
  %940 = fmul double %148, 0xBFF9D1E43E6CC169
  %941 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CE5FF86AC29A3F8, double %940)
  %942 = tail call double @llvm.fmuladd.f64(double %151, double 0x3CE5698EEEC7055C, double %941)
  %943 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCFC52AFE82DBFFD, double %942)
  %944 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CE075CE4E3221E7, double %943)
  %945 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCF9A8946AD5AD4C, double %944)
  %946 = tail call double @llvm.fmuladd.f64(double %159, double 0x3C7227B423504AEF, double %945)
  %947 = tail call double @llvm.fmuladd.f64(double %161, double 0xBC3E23F1C2D296A5, double %946)
  %948 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC3E23F1C2D29CF9, double %947)
  %949 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC530A5432687980, double %948)
  %950 = tail call double @llvm.fmuladd.f64(double %167, double 0xBC534141BCB7B1E0, double %949)
  %951 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC534141BCB7AF1E, double %950)
  %952 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCE5AF86AC29A3F8, double %951)
  %953 = tail call double @llvm.fmuladd.f64(double %173, double 0x3FF9D1E43E6CC169, double %952)
  %954 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCE5698EEEC70559, double %953)
  %955 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CFC52AFE82DBFFF, double %954)
  %956 = tail call double @llvm.fmuladd.f64(double %179, double 0xBCE075CE4E3221E7, double %955)
  %957 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CFA38946AD5AD4B, double %956)
  %gep3253 = getelementptr double, ptr %invariant.gep3252, i64 %indvars.iv
  store double %957, ptr %gep3253, align 8, !tbaa !5
  %958 = fmul double %148, 0x3CE800B5754B32D9
  %959 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CE8DCA4F0107014, double %958)
  %960 = tail call double @llvm.fmuladd.f64(double %151, double 0xBFF9D1E43E6CC164, double %959)
  %961 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCFBFD7099D16E59, double %960)
  %962 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCFA23551C795BA5, double %961)
  %963 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CD86765A1B41E6D, double %962)
  %964 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC785D904A774BD5, double %963)
  %965 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C5D818C6ADA883D, double %964)
  %966 = tail call double @llvm.fmuladd.f64(double %163, double 0x3C5D818C6ADA811C, double %965)
  %967 = tail call double @llvm.fmuladd.f64(double %165, double 0x3C6988DC43D64BED, double %966)
  %968 = tail call double @llvm.fmuladd.f64(double %167, double 0xBC6B27A40CE11C6E, double %967)
  %969 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC8EC9E9033846C9, double %968)
  %970 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCE8DCA4F0107014, double %969)
  %971 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCE800B5754B32D7, double %970)
  %972 = tail call double @llvm.fmuladd.f64(double %175, double 0x3FF9D1E43E6CC164, double %971)
  %973 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CFBFD7099D16E5A, double %972)
  %974 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CF9F3551C795BA8, double %973)
  %975 = tail call double @llvm.fmuladd.f64(double %181, double 0xBCD92765A1B41E6B, double %974)
  %gep3255 = getelementptr double, ptr %invariant.gep3254, i64 %indvars.iv
  store double %975, ptr %gep3255, align 8, !tbaa !5
  %976 = fmul double %148, 0xBCE9BF0282538DD5
  %977 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CD010D114C0DB4A, double %976)
  %978 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCE87BEC810A2317, double %977)
  %979 = tail call double @llvm.fmuladd.f64(double %153, double 0xBFF9D1E43E6CC191, double %978)
  %980 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCE4241B5B3A7CDD, double %979)
  %981 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCE4741B5B3A7CDD, double %980)
  %982 = tail call double @llvm.fmuladd.f64(double %159, double 0x3C8AC8C86FCC44A0, double %981)
  %983 = tail call double @llvm.fmuladd.f64(double %161, double 0x3C8DA397D166657F, double %982)
  %984 = tail call double @llvm.fmuladd.f64(double %163, double 0x3C8DA397D1666583, double %983)
  %985 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC8081F6B934226E, double %984)
  %986 = tail call double @llvm.fmuladd.f64(double %167, double 0xBC4C700ACB277023, double %985)
  %987 = tail call double @llvm.fmuladd.f64(double %169, double 0xBC7B8E015964EDEB, double %986)
  %988 = tail call double @llvm.fmuladd.f64(double %171, double 0xBCD010D114C0DB49, double %987)
  %989 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CE9BF0282538DD0, double %988)
  %990 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CE87BEC810A2317, double %989)
  %991 = tail call double @llvm.fmuladd.f64(double %177, double 0x3FF9D1E43E6CC191, double %990)
  %992 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CE3D41B5B3A7CE0, double %991)
  %993 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CE4741B5B3A7CDD, double %992)
  %gep3257 = getelementptr double, ptr %invariant.gep3256, i64 %indvars.iv
  store double %993, ptr %gep3257, align 8, !tbaa !5
  %994 = fmul double %148, 0x3CC9C6E177DE0848
  %995 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCE88765A1B41E6C, double %994)
  %996 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCE7A765A1B41E6C, double %995)
  %997 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCE0F6FD1753B0C4, double %996)
  %998 = tail call double @llvm.fmuladd.f64(double %155, double 0xBFF9D1E43E6CC191, double %997)
  %999 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCE5F2686842D7DB, double %998)
  %1000 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC51BD5908653595, double %999)
  %1001 = tail call double @llvm.fmuladd.f64(double %161, double 0xBC3A014D32C335D8, double %1000)
  %1002 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC3A014D32C32FB8, double %1001)
  %1003 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC893816E5BE808E, double %1002)
  %1004 = tail call double @llvm.fmuladd.f64(double %167, double 0x3C543F5B67DD6915, double %1003)
  %1005 = tail call double @llvm.fmuladd.f64(double %169, double 0x3C543F5B67DD6BB1, double %1004)
  %1006 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CE88765A1B41E6E, double %1005)
  %1007 = tail call double @llvm.fmuladd.f64(double %173, double 0xBCC9C6E177DE0849, double %1006)
  %1008 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CE7D765A1B41E6B, double %1007)
  %1009 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CE0F6FD1753B0C4, double %1008)
  %1010 = tail call double @llvm.fmuladd.f64(double %179, double 0x3FF9D1E43E6CC191, double %1009)
  %1011 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CE5F2686842D7DB, double %1010)
  %gep3259 = getelementptr double, ptr %invariant.gep3258, i64 %indvars.iv
  store double %1011, ptr %gep3259, align 8, !tbaa !5
  %1012 = fmul double %148, 0xBCEA1F44973E98E1
  %1013 = tail call double @llvm.fmuladd.f64(double %147, double 0xBCEC1765A1B41E67, double %1012)
  %1014 = tail call double @llvm.fmuladd.f64(double %151, double 0x3CCD2B9C9C6443CA, double %1013)
  %1015 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCE3341B5B3A7CDC, double %1014)
  %1016 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCE21D6B2ED19149, double %1015)
  %1017 = tail call double @llvm.fmuladd.f64(double %157, double 0xBFF9D1E43E6CC191, double %1016)
  %1018 = tail call double @llvm.fmuladd.f64(double %159, double 0xBC82AD66CB5FD83B, double %1017)
  %1019 = tail call double @llvm.fmuladd.f64(double %161, double 0xBC89EF0795AEA22C, double %1018)
  %1020 = tail call double @llvm.fmuladd.f64(double %163, double 0xBC4EF0795AEA232E, double %1019)
  %1021 = tail call double @llvm.fmuladd.f64(double %165, double 0xBC5646AD27501978, double %1020)
  %1022 = tail call double @llvm.fmuladd.f64(double %167, double 0x3C6AA897374E4045, double %1021)
  %1023 = tail call double @llvm.fmuladd.f64(double %169, double 0x3C6AA897374E4018, double %1022)
  %1024 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CEC4765A1B41E6A, double %1023)
  %1025 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CEA7F44973E98E0, double %1024)
  %1026 = tail call double @llvm.fmuladd.f64(double %175, double 0xBCCD2B9C9C6443C9, double %1025)
  %1027 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CE3341B5B3A7CDE, double %1026)
  %1028 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CE21D6B2ED1914C, double %1027)
  %1029 = tail call double @llvm.fmuladd.f64(double %181, double 0x3FF9D1E43E6CC191, double %1028)
  %gep3261 = getelementptr double, ptr %invariant.gep3260, i64 %indvars.iv
  store double %1029, ptr %gep3261, align 8, !tbaa !5
  %1030 = fmul double %148, 0x3CA83DE51DC0E6B1
  %1031 = tail call double @llvm.fmuladd.f64(double %147, double 0x3FE4A7E9CB8A3494, double %1030)
  %1032 = tail call double @llvm.fmuladd.f64(double %151, double 0xBC9E34622D69C982, double %1031)
  %1033 = tail call double @llvm.fmuladd.f64(double %153, double 0xBCAE8A2AE854D513, double %1032)
  %1034 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CB09A426D1ADB3A, double %1033)
  %1035 = tail call double @llvm.fmuladd.f64(double %157, double 0x3CC33662C674E1E4, double %1034)
  %1036 = tail call double @llvm.fmuladd.f64(double %159, double 0xBFF08654A2D4F756, double %1035)
  %1037 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCF4E04E2DCDEC57, double %1036)
  %1038 = tail call double @llvm.fmuladd.f64(double %163, double 0xBCF3AAAAAAAAAAAB, double %1037)
  %1039 = tail call double @llvm.fmuladd.f64(double %165, double 0xBCE72AAAAAAAAAA8, double %1038)
  %1040 = tail call double @llvm.fmuladd.f64(double %167, double 0x3D043F63A4642756, double %1039)
  %1041 = tail call double @llvm.fmuladd.f64(double %169, double 0x3D0394B8F9B97CA9, double %1040)
  %1042 = tail call double @llvm.fmuladd.f64(double %171, double 0xBFFEFBDEB14F4DAA, double %1041)
  %1043 = tail call double @llvm.fmuladd.f64(double %173, double 0x3D09B45DC0DE51B8, double %1042)
  %1044 = tail call double @llvm.fmuladd.f64(double %175, double 0x3D08D1BE19B028E3, double %1043)
  %1045 = tail call double @llvm.fmuladd.f64(double %177, double 0x3CFE5F4A2FBB3DAA, double %1044)
  %1046 = tail call double @llvm.fmuladd.f64(double %179, double 0xBD1A2CB1FB1DAEB0, double %1045)
  %1047 = tail call double @llvm.fmuladd.f64(double %181, double 0xBD19BC0F93106564, double %1046)
  %gep3263 = getelementptr double, ptr %invariant.gep3262, i64 %indvars.iv
  store double %1047, ptr %gep3263, align 8, !tbaa !5
  %1048 = fmul double %148, 0x3FE4A7E9CB8A349B
  %1049 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CA9156DC73A81A0, double %1048)
  %1050 = tail call double @llvm.fmuladd.f64(double %151, double 0x3CB3ED7C18573421, double %1049)
  %1051 = tail call double @llvm.fmuladd.f64(double %153, double 0x3C7273617E940A5F, double %1050)
  %1052 = tail call double @llvm.fmuladd.f64(double %155, double 0xBC8999CF078525B6, double %1051)
  %1053 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCB71018CCDEBB81, double %1052)
  %1054 = tail call double @llvm.fmuladd.f64(double %159, double 0xBCF414B8F9B97CAA, double %1053)
  %1055 = tail call double @llvm.fmuladd.f64(double %161, double 0xBFF08654A2D4F75B, double %1054)
  %1056 = tail call double @llvm.fmuladd.f64(double %163, double 0xBCF39AF8D8789700, double %1055)
  %1057 = tail call double @llvm.fmuladd.f64(double %165, double 0x3D05A83AA25A713E, double %1056)
  %1058 = tail call double @llvm.fmuladd.f64(double %167, double 0xBCE7EC7FBD7E34A3, double %1057)
  %1059 = tail call double @llvm.fmuladd.f64(double %169, double 0x3D055F1576963AFE, double %1058)
  %1060 = tail call double @llvm.fmuladd.f64(double %171, double 0x3D06F41F8D97F877, double %1059)
  %1061 = tail call double @llvm.fmuladd.f64(double %173, double 0xBFFEFBDEB14F4D98, double %1060)
  %1062 = tail call double @llvm.fmuladd.f64(double %175, double 0x3D0823B40E9CD388, double %1061)
  %1063 = tail call double @llvm.fmuladd.f64(double %177, double 0xBD1BAA230A55AE0F, double %1062)
  %1064 = tail call double @llvm.fmuladd.f64(double %179, double 0x3CFCCEA1BB3C83CA, double %1063)
  %1065 = tail call double @llvm.fmuladd.f64(double %181, double 0xBD19F767A944DB32, double %1064)
  %gep3265 = getelementptr double, ptr %invariant.gep3264, i64 %indvars.iv
  store double %1065, ptr %gep3265, align 8, !tbaa !5
  %1066 = fmul double %148, 0x3CB18F99C07C05C8
  %1067 = tail call double @llvm.fmuladd.f64(double %147, double 0xBC774AA3B009835F, double %1066)
  %1068 = tail call double @llvm.fmuladd.f64(double %151, double 0x3FE4A7E9CB8A3498, double %1067)
  %1069 = tail call double @llvm.fmuladd.f64(double %153, double 0x3CA9FD38292DDC9B, double %1068)
  %1070 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCB9E61E59FC2E99, double %1069)
  %1071 = tail call double @llvm.fmuladd.f64(double %157, double 0xBCB0C7261B82C350, double %1070)
  %1072 = tail call double @llvm.fmuladd.f64(double %159, double 0xBCF48A8393C3B480, double %1071)
  %1073 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCF2549348F1AFC0, double %1072)
  %1074 = tail call double @llvm.fmuladd.f64(double %163, double 0xBFF08654A2D4F75B, double %1073)
  %1075 = tail call double @llvm.fmuladd.f64(double %165, double 0x3D0538138B737B15, double %1074)
  %1076 = tail call double @llvm.fmuladd.f64(double %167, double 0x3D05852E3E6E5F29, double %1075)
  %1077 = tail call double @llvm.fmuladd.f64(double %169, double 0xBCE197C6C3C4B802, double %1076)
  %1078 = tail call double @llvm.fmuladd.f64(double %171, double 0x3D09319702C932C5, double %1077)
  %1079 = tail call double @llvm.fmuladd.f64(double %173, double 0x3D08453A4092DC8E, double %1078)
  %1080 = tail call double @llvm.fmuladd.f64(double %175, double 0xBFFEFBDEB14F4D98, double %1079)
  %1081 = tail call double @llvm.fmuladd.f64(double %177, double 0xBD1B7FE6E4DEE0A3, double %1080)
  %1082 = tail call double @llvm.fmuladd.f64(double %179, double 0xBD1AB13DD17EC493, double %1081)
  %1083 = tail call double @llvm.fmuladd.f64(double %181, double 0x3CF9E39CC9E10B88, double %1082)
  %gep3267 = getelementptr double, ptr %invariant.gep3266, i64 %indvars.iv
  store double %1083, ptr %gep3267, align 8, !tbaa !5
  %1084 = fmul double %148, 0xBCC12CAB67834A70
  %1085 = tail call double @llvm.fmuladd.f64(double %147, double 0x3C80AA02FA4803A4, double %1084)
  %1086 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCC3D0AC662B45FE, double %1085)
  %1087 = tail call double @llvm.fmuladd.f64(double %153, double 0x3FE4A7E9CB8A3492, double %1086)
  %1088 = tail call double @llvm.fmuladd.f64(double %155, double 0x3CA52C6631B8F77F, double %1087)
  %1089 = tail call double @llvm.fmuladd.f64(double %157, double 0x3C9E24E98A05E9A1, double %1088)
  %1090 = tail call double @llvm.fmuladd.f64(double %159, double 0xBCDA7F1576963AFB, double %1089)
  %1091 = tail call double @llvm.fmuladd.f64(double %161, double 0x3CF4F52E3E6E5F2F, double %1090)
  %1092 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CF55B6CB70E5048, double %1091)
  %1093 = tail call double @llvm.fmuladd.f64(double %165, double 0xBFF08654A2D4F717, double %1092)
  %1094 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CEFF3CE704FB7B1, double %1093)
  %1095 = tail call double @llvm.fmuladd.f64(double %169, double 0x3CEF146ACBEB905B, double %1094)
  %1096 = tail call double @llvm.fmuladd.f64(double %171, double 0x3CEC2EB7C235876B, double %1095)
  %1097 = tail call double @llvm.fmuladd.f64(double %173, double 0xBD09EA15B3B00878, double %1096)
  %1098 = tail call double @llvm.fmuladd.f64(double %175, double 0xBD0A5870F2CA0280, double %1097)
  %1099 = tail call double @llvm.fmuladd.f64(double %177, double 0xBFFEFBDEB14F4E48, double %1098)
  %1100 = tail call double @llvm.fmuladd.f64(double %179, double 0xBD043059A53F3A02, double %1099)
  %1101 = tail call double @llvm.fmuladd.f64(double %181, double 0xBD03454734E1B74C, double %1100)
  %gep3269 = getelementptr double, ptr %invariant.gep3268, i64 %indvars.iv
  store double %1101, ptr %gep3269, align 8, !tbaa !5
  %1102 = fmul double %148, 0x3CA641DE100CB2D1
  %1103 = tail call double @llvm.fmuladd.f64(double %147, double 0xBC7995F7A399077F, double %1102)
  %1104 = tail call double @llvm.fmuladd.f64(double %151, double 0xBCB4F5312ABC6654, double %1103)
  %1105 = tail call double @llvm.fmuladd.f64(double %153, double 0xBC84CFA22413F23C, double %1104)
  %1106 = tail call double @llvm.fmuladd.f64(double %155, double 0x3FE4A7E9CB8A3497, double %1105)
  %1107 = tail call double @llvm.fmuladd.f64(double %157, double 0x3C71E70AAB141C80, double %1106)
  %1108 = tail call double @llvm.fmuladd.f64(double %159, double 0x3CF473CE704FB7AF, double %1107)
  %1109 = tail call double @llvm.fmuladd.f64(double %161, double 0xBCDC972A6828DF4A, double %1108)
  %1110 = tail call double @llvm.fmuladd.f64(double %163, double 0x3CF52443B5049A2F, double %1109)
  %1111 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CECBEC748C84EAB, double %1110)
  %1112 = tail call double @llvm.fmuladd.f64(double %167, double 0xBFF08654A2D4F71C, double %1111)
  %1113 = tail call double @llvm.fmuladd.f64(double %169, double 0x3CF0EA0E4F0ED202, double %1112)
  %1114 = tail call double @llvm.fmuladd.f64(double %171, double 0xBD092AFA61D3C23C, double %1113)
  %1115 = tail call double @llvm.fmuladd.f64(double %173, double 0x3CF09E8D6B1B7310, double %1114)
  %1116 = tail call double @llvm.fmuladd.f64(double %175, double 0xBD090AB2F386DB23, double %1115)
  %1117 = tail call double @llvm.fmuladd.f64(double %177, double 0xBD01E5B3F19FA08F, double %1116)
  %1118 = tail call double @llvm.fmuladd.f64(double %179, double 0xBFFEFBDEB14F4E48, double %1117)
  %1119 = tail call double @llvm.fmuladd.f64(double %181, double 0xBD06A54AC5CD9F53, double %1118)
  %gep3271 = getelementptr double, ptr %invariant.gep3270, i64 %indvars.iv
  store double %1119, ptr %gep3271, align 8, !tbaa !5
  %1120 = fmul double %148, 0x3CB96EEF6E012B83
  %1121 = tail call double @llvm.fmuladd.f64(double %147, double 0x3CC5794CC9D41F8E, double %1120)
  %1122 = tail call double @llvm.fmuladd.f64(double %151, double 0x3CA99DE8CF4E0887, double %1121)
  %1123 = tail call double @llvm.fmuladd.f64(double %153, double 0xBC949B6E91DE24A6, double %1122)
  %1124 = tail call double @llvm.fmuladd.f64(double %155, double 0xBCC8E357CB42C088, double %1123)
  %1125 = tail call double @llvm.fmuladd.f64(double %157, double 0x3FE4A7E9CB8A3494, double %1124)
  %1126 = tail call double @llvm.fmuladd.f64(double %159, double 0x3CF51E5204136C2F, double %1125)
  %1127 = tail call double @llvm.fmuladd.f64(double %161, double 0x3CF3F02716E6F629, double %1126)
  %1128 = tail call double @llvm.fmuladd.f64(double %163, double 0xBCD8A971F372F952, double %1127)
  %1129 = tail call double @llvm.fmuladd.f64(double %165, double 0x3CEE0138B737B153, double %1128)
  %1130 = tail call double @llvm.fmuladd.f64(double %167, double 0x3CF1BE2AED2C7606, double %1129)
  %1131 = tail call double @llvm.fmuladd.f64(double %169, double 0xBFF08654A2D4F717, double %1130)
  %1132 = tail call double @llvm.fmuladd.f64(double %171, double 0xBD0B951138D98D7D, double %1131)
  %1133 = tail call double @llvm.fmuladd.f64(double %173, double 0xBD0A2E976ACF9682, double %1132)
  %1134 = tail call double @llvm.fmuladd.f64(double %175, double 0x3CED3CAF7F982616, double %1133)
  %1135 = tail call double @llvm.fmuladd.f64(double %177, double 0xBD02F71750AA300C, double %1134)
  %1136 = tail call double @llvm.fmuladd.f64(double %179, double 0xBD04E8A557879DBD, double %1135)
  %1137 = tail call double @llvm.fmuladd.f64(double %181, double 0xBFFEFBDEB14F4E48, double %1136)
  %gep3273 = getelementptr double, ptr %invariant.gep3272, i64 %indvars.iv
  store double %1137, ptr %gep3273, align 8, !tbaa !5
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %145, !llvm.loop !9
}

attributes #0 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #1 = { nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"double", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass