; 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_16172576605707918247_b1(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 = %2773, %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 %2776

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 0x3FF08654A2D4F6D8, %34
  %36 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, 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 0xBFE4A7E9CB8A3491, double %44, double %36)
  store double %45, ptr %11, align 8, !tbaa !11
  %46 = load double, ptr %11, align 8, !tbaa !11
  %47 = load ptr, ptr %9, align 8, !tbaa !9
  %48 = load i32, ptr %12, align 4, !tbaa !5
  %49 = load i32, ptr %10, align 4, !tbaa !5
  %50 = mul nsw i32 0, %49
  %51 = add nsw i32 %48, %50
  %52 = sext i32 %51 to i64
  %53 = getelementptr inbounds double, ptr %47, i64 %52
  %54 = load double, ptr %53, align 8, !tbaa !11
  %55 = fadd double %54, %46
  store double %55, ptr %53, align 8, !tbaa !11
  %56 = load ptr, ptr %7, align 8, !tbaa !9
  %57 = load i32, ptr %12, align 4, !tbaa !5
  %58 = load i32, ptr %8, align 4, !tbaa !5
  %59 = mul nsw i32 0, %58
  %60 = add nsw i32 %57, %59
  %61 = sext i32 %60 to i64
  %62 = getelementptr inbounds double, ptr %56, i64 %61
  %63 = load double, ptr %62, align 8, !tbaa !11
  %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 2, %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 = fmul double 0x3FF9D1E43E6CC1B5, %71
  %73 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %63, double %72)
  store double %73, ptr %11, align 8, !tbaa !11
  %74 = load double, ptr %11, align 8, !tbaa !11
  %75 = load ptr, ptr %9, align 8, !tbaa !9
  %76 = load i32, ptr %12, align 4, !tbaa !5
  %77 = load i32, ptr %10, align 4, !tbaa !5
  %78 = mul nsw i32 1, %77
  %79 = add nsw i32 %76, %78
  %80 = sext i32 %79 to i64
  %81 = getelementptr inbounds double, ptr %75, i64 %80
  %82 = load double, ptr %81, align 8, !tbaa !11
  %83 = fadd double %82, %74
  store double %83, ptr %81, align 8, !tbaa !11
  %84 = load ptr, ptr %7, align 8, !tbaa !9
  %85 = load i32, ptr %12, align 4, !tbaa !5
  %86 = load i32, ptr %8, align 4, !tbaa !5
  %87 = mul nsw i32 0, %86
  %88 = add nsw i32 %85, %87
  %89 = sext i32 %88 to i64
  %90 = getelementptr inbounds double, ptr %84, i64 %89
  %91 = load double, ptr %90, align 8, !tbaa !11
  %92 = load ptr, ptr %7, align 8, !tbaa !9
  %93 = load i32, ptr %12, align 4, !tbaa !5
  %94 = load i32, ptr %8, align 4, !tbaa !5
  %95 = mul nsw i32 1, %94
  %96 = add nsw i32 %93, %95
  %97 = sext i32 %96 to i64
  %98 = getelementptr inbounds double, ptr %92, i64 %97
  %99 = load double, ptr %98, align 8, !tbaa !11
  %100 = fmul double 0xBFF08654A2D4F6D8, %99
  %101 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %91, double %100)
  %102 = load ptr, ptr %7, align 8, !tbaa !9
  %103 = load i32, ptr %12, align 4, !tbaa !5
  %104 = load i32, ptr %8, align 4, !tbaa !5
  %105 = mul nsw i32 2, %104
  %106 = add nsw i32 %103, %105
  %107 = sext i32 %106 to i64
  %108 = getelementptr inbounds double, ptr %102, i64 %107
  %109 = load double, ptr %108, align 8, !tbaa !11
  %110 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %109, double %101)
  store double %110, ptr %11, align 8, !tbaa !11
  %111 = load double, ptr %11, align 8, !tbaa !11
  %112 = load ptr, ptr %9, align 8, !tbaa !9
  %113 = load i32, ptr %12, align 4, !tbaa !5
  %114 = load i32, ptr %10, align 4, !tbaa !5
  %115 = mul nsw i32 2, %114
  %116 = add nsw i32 %113, %115
  %117 = sext i32 %116 to i64
  %118 = getelementptr inbounds double, ptr %112, i64 %117
  %119 = load double, ptr %118, align 8, !tbaa !11
  %120 = fadd double %119, %111
  store double %120, ptr %118, align 8, !tbaa !11
  %121 = load ptr, ptr %7, align 8, !tbaa !9
  %122 = load i32, ptr %12, align 4, !tbaa !5
  %123 = load i32, ptr %8, align 4, !tbaa !5
  %124 = mul nsw i32 3, %123
  %125 = add nsw i32 %122, %124
  %126 = sext i32 %125 to i64
  %127 = getelementptr inbounds double, ptr %121, i64 %126
  %128 = load double, ptr %127, align 8, !tbaa !11
  %129 = load ptr, ptr %7, align 8, !tbaa !9
  %130 = load i32, ptr %12, align 4, !tbaa !5
  %131 = load i32, ptr %8, align 4, !tbaa !5
  %132 = mul nsw i32 4, %131
  %133 = add nsw i32 %130, %132
  %134 = sext i32 %133 to i64
  %135 = getelementptr inbounds double, ptr %129, i64 %134
  %136 = load double, ptr %135, align 8, !tbaa !11
  %137 = fmul double 0x3FF08654A2D4F6D8, %136
  %138 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %128, double %137)
  %139 = load ptr, ptr %7, align 8, !tbaa !9
  %140 = load i32, ptr %12, align 4, !tbaa !5
  %141 = load i32, ptr %8, align 4, !tbaa !5
  %142 = mul nsw i32 5, %141
  %143 = add nsw i32 %140, %142
  %144 = sext i32 %143 to i64
  %145 = getelementptr inbounds double, ptr %139, i64 %144
  %146 = load double, ptr %145, align 8, !tbaa !11
  %147 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %146, double %138)
  store double %147, ptr %11, align 8, !tbaa !11
  %148 = load double, ptr %11, align 8, !tbaa !11
  %149 = load ptr, ptr %9, align 8, !tbaa !9
  %150 = load i32, ptr %12, align 4, !tbaa !5
  %151 = load i32, ptr %10, align 4, !tbaa !5
  %152 = mul nsw i32 3, %151
  %153 = add nsw i32 %150, %152
  %154 = sext i32 %153 to i64
  %155 = getelementptr inbounds double, ptr %149, i64 %154
  %156 = load double, ptr %155, align 8, !tbaa !11
  %157 = fadd double %156, %148
  store double %157, ptr %155, align 8, !tbaa !11
  %158 = load ptr, ptr %7, align 8, !tbaa !9
  %159 = load i32, ptr %12, align 4, !tbaa !5
  %160 = load i32, ptr %8, align 4, !tbaa !5
  %161 = mul nsw i32 3, %160
  %162 = add nsw i32 %159, %161
  %163 = sext i32 %162 to i64
  %164 = getelementptr inbounds double, ptr %158, i64 %163
  %165 = load double, ptr %164, align 8, !tbaa !11
  %166 = load ptr, ptr %7, align 8, !tbaa !9
  %167 = load i32, ptr %12, align 4, !tbaa !5
  %168 = load i32, ptr %8, align 4, !tbaa !5
  %169 = mul nsw i32 5, %168
  %170 = add nsw i32 %167, %169
  %171 = sext i32 %170 to i64
  %172 = getelementptr inbounds double, ptr %166, i64 %171
  %173 = load double, ptr %172, align 8, !tbaa !11
  %174 = fmul double 0x3FF9D1E43E6CC1B5, %173
  %175 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %165, double %174)
  store double %175, ptr %11, align 8, !tbaa !11
  %176 = load double, ptr %11, align 8, !tbaa !11
  %177 = load ptr, ptr %9, align 8, !tbaa !9
  %178 = load i32, ptr %12, align 4, !tbaa !5
  %179 = load i32, ptr %10, align 4, !tbaa !5
  %180 = mul nsw i32 4, %179
  %181 = add nsw i32 %178, %180
  %182 = sext i32 %181 to i64
  %183 = getelementptr inbounds double, ptr %177, i64 %182
  %184 = load double, ptr %183, align 8, !tbaa !11
  %185 = fadd double %184, %176
  store double %185, ptr %183, align 8, !tbaa !11
  %186 = load ptr, ptr %7, align 8, !tbaa !9
  %187 = load i32, ptr %12, align 4, !tbaa !5
  %188 = load i32, ptr %8, align 4, !tbaa !5
  %189 = mul nsw i32 3, %188
  %190 = add nsw i32 %187, %189
  %191 = sext i32 %190 to i64
  %192 = getelementptr inbounds double, ptr %186, i64 %191
  %193 = load double, ptr %192, align 8, !tbaa !11
  %194 = load ptr, ptr %7, align 8, !tbaa !9
  %195 = load i32, ptr %12, align 4, !tbaa !5
  %196 = load i32, ptr %8, align 4, !tbaa !5
  %197 = mul nsw i32 4, %196
  %198 = add nsw i32 %195, %197
  %199 = sext i32 %198 to i64
  %200 = getelementptr inbounds double, ptr %194, i64 %199
  %201 = load double, ptr %200, align 8, !tbaa !11
  %202 = fmul double 0xBFF08654A2D4F6D8, %201
  %203 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %193, double %202)
  %204 = load ptr, ptr %7, align 8, !tbaa !9
  %205 = load i32, ptr %12, align 4, !tbaa !5
  %206 = load i32, ptr %8, align 4, !tbaa !5
  %207 = mul nsw i32 5, %206
  %208 = add nsw i32 %205, %207
  %209 = sext i32 %208 to i64
  %210 = getelementptr inbounds double, ptr %204, i64 %209
  %211 = load double, ptr %210, align 8, !tbaa !11
  %212 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %211, double %203)
  store double %212, ptr %11, align 8, !tbaa !11
  %213 = load double, ptr %11, align 8, !tbaa !11
  %214 = load ptr, ptr %9, align 8, !tbaa !9
  %215 = load i32, ptr %12, align 4, !tbaa !5
  %216 = load i32, ptr %10, align 4, !tbaa !5
  %217 = mul nsw i32 5, %216
  %218 = add nsw i32 %215, %217
  %219 = sext i32 %218 to i64
  %220 = getelementptr inbounds double, ptr %214, i64 %219
  %221 = load double, ptr %220, align 8, !tbaa !11
  %222 = fadd double %221, %213
  store double %222, ptr %220, align 8, !tbaa !11
  %223 = load ptr, ptr %7, align 8, !tbaa !9
  %224 = load i32, ptr %12, align 4, !tbaa !5
  %225 = load i32, ptr %8, align 4, !tbaa !5
  %226 = mul nsw i32 6, %225
  %227 = add nsw i32 %224, %226
  %228 = sext i32 %227 to i64
  %229 = getelementptr inbounds double, ptr %223, i64 %228
  %230 = load double, ptr %229, align 8, !tbaa !11
  %231 = load ptr, ptr %7, align 8, !tbaa !9
  %232 = load i32, ptr %12, align 4, !tbaa !5
  %233 = load i32, ptr %8, align 4, !tbaa !5
  %234 = mul nsw i32 7, %233
  %235 = add nsw i32 %232, %234
  %236 = sext i32 %235 to i64
  %237 = getelementptr inbounds double, ptr %231, i64 %236
  %238 = load double, ptr %237, align 8, !tbaa !11
  %239 = fmul double 0x3FF08654A2D4F6D8, %238
  %240 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %230, double %239)
  %241 = load ptr, ptr %7, align 8, !tbaa !9
  %242 = load i32, ptr %12, align 4, !tbaa !5
  %243 = load i32, ptr %8, align 4, !tbaa !5
  %244 = mul nsw i32 8, %243
  %245 = add nsw i32 %242, %244
  %246 = sext i32 %245 to i64
  %247 = getelementptr inbounds double, ptr %241, i64 %246
  %248 = load double, ptr %247, align 8, !tbaa !11
  %249 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %248, double %240)
  store double %249, ptr %11, align 8, !tbaa !11
  %250 = load double, ptr %11, align 8, !tbaa !11
  %251 = load ptr, ptr %9, align 8, !tbaa !9
  %252 = load i32, ptr %12, align 4, !tbaa !5
  %253 = load i32, ptr %10, align 4, !tbaa !5
  %254 = mul nsw i32 6, %253
  %255 = add nsw i32 %252, %254
  %256 = sext i32 %255 to i64
  %257 = getelementptr inbounds double, ptr %251, i64 %256
  %258 = load double, ptr %257, align 8, !tbaa !11
  %259 = fadd double %258, %250
  store double %259, ptr %257, align 8, !tbaa !11
  %260 = load ptr, ptr %7, align 8, !tbaa !9
  %261 = load i32, ptr %12, align 4, !tbaa !5
  %262 = load i32, ptr %8, align 4, !tbaa !5
  %263 = mul nsw i32 6, %262
  %264 = add nsw i32 %261, %263
  %265 = sext i32 %264 to i64
  %266 = getelementptr inbounds double, ptr %260, i64 %265
  %267 = load double, ptr %266, align 8, !tbaa !11
  %268 = load ptr, ptr %7, align 8, !tbaa !9
  %269 = load i32, ptr %12, align 4, !tbaa !5
  %270 = load i32, ptr %8, align 4, !tbaa !5
  %271 = mul nsw i32 8, %270
  %272 = add nsw i32 %269, %271
  %273 = sext i32 %272 to i64
  %274 = getelementptr inbounds double, ptr %268, i64 %273
  %275 = load double, ptr %274, align 8, !tbaa !11
  %276 = fmul double 0x3FF9D1E43E6CC1B5, %275
  %277 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %267, double %276)
  store double %277, ptr %11, align 8, !tbaa !11
  %278 = load double, ptr %11, align 8, !tbaa !11
  %279 = load ptr, ptr %9, align 8, !tbaa !9
  %280 = load i32, ptr %12, align 4, !tbaa !5
  %281 = load i32, ptr %10, align 4, !tbaa !5
  %282 = mul nsw i32 7, %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 = fadd double %286, %278
  store double %287, ptr %285, align 8, !tbaa !11
  %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 6, %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 = load ptr, ptr %7, align 8, !tbaa !9
  %297 = load i32, ptr %12, align 4, !tbaa !5
  %298 = load i32, ptr %8, align 4, !tbaa !5
  %299 = mul nsw i32 7, %298
  %300 = add nsw i32 %297, %299
  %301 = sext i32 %300 to i64
  %302 = getelementptr inbounds double, ptr %296, i64 %301
  %303 = load double, ptr %302, align 8, !tbaa !11
  %304 = fmul double 0xBFF08654A2D4F6D8, %303
  %305 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %295, double %304)
  %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 8, %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 0xBFFEFBDEB14F4ED8, double %313, double %305)
  store double %314, ptr %11, align 8, !tbaa !11
  %315 = load double, ptr %11, align 8, !tbaa !11
  %316 = load ptr, ptr %9, align 8, !tbaa !9
  %317 = load i32, ptr %12, align 4, !tbaa !5
  %318 = load i32, ptr %10, align 4, !tbaa !5
  %319 = mul nsw i32 8, %318
  %320 = add nsw i32 %317, %319
  %321 = sext i32 %320 to i64
  %322 = getelementptr inbounds double, ptr %316, i64 %321
  %323 = load double, ptr %322, align 8, !tbaa !11
  %324 = fadd double %323, %315
  store double %324, ptr %322, align 8, !tbaa !11
  %325 = load ptr, ptr %7, align 8, !tbaa !9
  %326 = load i32, ptr %12, align 4, !tbaa !5
  %327 = load i32, ptr %8, align 4, !tbaa !5
  %328 = mul nsw i32 9, %327
  %329 = add nsw i32 %326, %328
  %330 = sext i32 %329 to i64
  %331 = getelementptr inbounds double, ptr %325, i64 %330
  %332 = load double, ptr %331, align 8, !tbaa !11
  %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 10, %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 = fmul double 0x3FF08654A2D4F6D8, %340
  %342 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %332, double %341)
  %343 = load ptr, ptr %7, align 8, !tbaa !9
  %344 = load i32, ptr %12, align 4, !tbaa !5
  %345 = load i32, ptr %8, align 4, !tbaa !5
  %346 = mul nsw i32 11, %345
  %347 = add nsw i32 %344, %346
  %348 = sext i32 %347 to i64
  %349 = getelementptr inbounds double, ptr %343, i64 %348
  %350 = load double, ptr %349, align 8, !tbaa !11
  %351 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %350, double %342)
  store double %351, ptr %11, align 8, !tbaa !11
  %352 = load double, ptr %11, align 8, !tbaa !11
  %353 = load ptr, ptr %9, align 8, !tbaa !9
  %354 = load i32, ptr %12, align 4, !tbaa !5
  %355 = load i32, ptr %10, align 4, !tbaa !5
  %356 = mul nsw i32 9, %355
  %357 = add nsw i32 %354, %356
  %358 = sext i32 %357 to i64
  %359 = getelementptr inbounds double, ptr %353, i64 %358
  %360 = load double, ptr %359, align 8, !tbaa !11
  %361 = fadd double %360, %352
  store double %361, ptr %359, align 8, !tbaa !11
  %362 = load ptr, ptr %7, align 8, !tbaa !9
  %363 = load i32, ptr %12, align 4, !tbaa !5
  %364 = load i32, ptr %8, align 4, !tbaa !5
  %365 = mul nsw i32 9, %364
  %366 = add nsw i32 %363, %365
  %367 = sext i32 %366 to i64
  %368 = getelementptr inbounds double, ptr %362, i64 %367
  %369 = load double, ptr %368, align 8, !tbaa !11
  %370 = load ptr, ptr %7, align 8, !tbaa !9
  %371 = load i32, ptr %12, align 4, !tbaa !5
  %372 = load i32, ptr %8, align 4, !tbaa !5
  %373 = mul nsw i32 11, %372
  %374 = add nsw i32 %371, %373
  %375 = sext i32 %374 to i64
  %376 = getelementptr inbounds double, ptr %370, i64 %375
  %377 = load double, ptr %376, align 8, !tbaa !11
  %378 = fmul double 0x3FF9D1E43E6CC1B5, %377
  %379 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %369, double %378)
  store double %379, ptr %11, align 8, !tbaa !11
  %380 = load double, ptr %11, align 8, !tbaa !11
  %381 = load ptr, ptr %9, align 8, !tbaa !9
  %382 = load i32, ptr %12, align 4, !tbaa !5
  %383 = load i32, ptr %10, align 4, !tbaa !5
  %384 = mul nsw i32 10, %383
  %385 = add nsw i32 %382, %384
  %386 = sext i32 %385 to i64
  %387 = getelementptr inbounds double, ptr %381, i64 %386
  %388 = load double, ptr %387, align 8, !tbaa !11
  %389 = fadd double %388, %380
  store double %389, ptr %387, align 8, !tbaa !11
  %390 = load ptr, ptr %7, align 8, !tbaa !9
  %391 = load i32, ptr %12, align 4, !tbaa !5
  %392 = load i32, ptr %8, align 4, !tbaa !5
  %393 = mul nsw i32 9, %392
  %394 = add nsw i32 %391, %393
  %395 = sext i32 %394 to i64
  %396 = getelementptr inbounds double, ptr %390, i64 %395
  %397 = load double, ptr %396, align 8, !tbaa !11
  %398 = load ptr, ptr %7, align 8, !tbaa !9
  %399 = load i32, ptr %12, align 4, !tbaa !5
  %400 = load i32, ptr %8, align 4, !tbaa !5
  %401 = mul nsw i32 10, %400
  %402 = add nsw i32 %399, %401
  %403 = sext i32 %402 to i64
  %404 = getelementptr inbounds double, ptr %398, i64 %403
  %405 = load double, ptr %404, align 8, !tbaa !11
  %406 = fmul double 0xBFF08654A2D4F6D8, %405
  %407 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %397, double %406)
  %408 = load ptr, ptr %7, align 8, !tbaa !9
  %409 = load i32, ptr %12, align 4, !tbaa !5
  %410 = load i32, ptr %8, align 4, !tbaa !5
  %411 = mul nsw i32 11, %410
  %412 = add nsw i32 %409, %411
  %413 = sext i32 %412 to i64
  %414 = getelementptr inbounds double, ptr %408, i64 %413
  %415 = load double, ptr %414, align 8, !tbaa !11
  %416 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %415, double %407)
  store double %416, ptr %11, align 8, !tbaa !11
  %417 = load double, ptr %11, align 8, !tbaa !11
  %418 = load ptr, ptr %9, align 8, !tbaa !9
  %419 = load i32, ptr %12, align 4, !tbaa !5
  %420 = load i32, ptr %10, align 4, !tbaa !5
  %421 = mul nsw i32 11, %420
  %422 = add nsw i32 %419, %421
  %423 = sext i32 %422 to i64
  %424 = getelementptr inbounds double, ptr %418, i64 %423
  %425 = load double, ptr %424, align 8, !tbaa !11
  %426 = fadd double %425, %417
  store double %426, ptr %424, align 8, !tbaa !11
  %427 = load ptr, ptr %7, align 8, !tbaa !9
  %428 = load i32, ptr %12, align 4, !tbaa !5
  %429 = load i32, ptr %8, align 4, !tbaa !5
  %430 = mul nsw i32 12, %429
  %431 = add nsw i32 %428, %430
  %432 = sext i32 %431 to i64
  %433 = getelementptr inbounds double, ptr %427, i64 %432
  %434 = load double, ptr %433, align 8, !tbaa !11
  %435 = load ptr, ptr %7, align 8, !tbaa !9
  %436 = load i32, ptr %12, align 4, !tbaa !5
  %437 = load i32, ptr %8, align 4, !tbaa !5
  %438 = mul nsw i32 13, %437
  %439 = add nsw i32 %436, %438
  %440 = sext i32 %439 to i64
  %441 = getelementptr inbounds double, ptr %435, i64 %440
  %442 = load double, ptr %441, align 8, !tbaa !11
  %443 = fmul double 0x3FF08654A2D4F6D8, %442
  %444 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %434, double %443)
  %445 = load ptr, ptr %7, align 8, !tbaa !9
  %446 = load i32, ptr %12, align 4, !tbaa !5
  %447 = load i32, ptr %8, align 4, !tbaa !5
  %448 = mul nsw i32 14, %447
  %449 = add nsw i32 %446, %448
  %450 = sext i32 %449 to i64
  %451 = getelementptr inbounds double, ptr %445, i64 %450
  %452 = load double, ptr %451, align 8, !tbaa !11
  %453 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %452, double %444)
  store double %453, ptr %11, align 8, !tbaa !11
  %454 = load double, ptr %11, align 8, !tbaa !11
  %455 = load ptr, ptr %9, align 8, !tbaa !9
  %456 = load i32, ptr %12, align 4, !tbaa !5
  %457 = load i32, ptr %10, align 4, !tbaa !5
  %458 = mul nsw i32 12, %457
  %459 = add nsw i32 %456, %458
  %460 = sext i32 %459 to i64
  %461 = getelementptr inbounds double, ptr %455, i64 %460
  %462 = load double, ptr %461, align 8, !tbaa !11
  %463 = fadd double %462, %454
  store double %463, ptr %461, align 8, !tbaa !11
  %464 = load ptr, ptr %7, align 8, !tbaa !9
  %465 = load i32, ptr %12, align 4, !tbaa !5
  %466 = load i32, ptr %8, align 4, !tbaa !5
  %467 = mul nsw i32 12, %466
  %468 = add nsw i32 %465, %467
  %469 = sext i32 %468 to i64
  %470 = getelementptr inbounds double, ptr %464, i64 %469
  %471 = load double, ptr %470, align 8, !tbaa !11
  %472 = load ptr, ptr %7, align 8, !tbaa !9
  %473 = load i32, ptr %12, align 4, !tbaa !5
  %474 = load i32, ptr %8, align 4, !tbaa !5
  %475 = mul nsw i32 14, %474
  %476 = add nsw i32 %473, %475
  %477 = sext i32 %476 to i64
  %478 = getelementptr inbounds double, ptr %472, i64 %477
  %479 = load double, ptr %478, align 8, !tbaa !11
  %480 = fmul double 0x3FF9D1E43E6CC1B5, %479
  %481 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %471, double %480)
  store double %481, ptr %11, align 8, !tbaa !11
  %482 = load double, ptr %11, align 8, !tbaa !11
  %483 = load ptr, ptr %9, align 8, !tbaa !9
  %484 = load i32, ptr %12, align 4, !tbaa !5
  %485 = load i32, ptr %10, align 4, !tbaa !5
  %486 = mul nsw i32 13, %485
  %487 = add nsw i32 %484, %486
  %488 = sext i32 %487 to i64
  %489 = getelementptr inbounds double, ptr %483, i64 %488
  %490 = load double, ptr %489, align 8, !tbaa !11
  %491 = fadd double %490, %482
  store double %491, ptr %489, align 8, !tbaa !11
  %492 = load ptr, ptr %7, align 8, !tbaa !9
  %493 = load i32, ptr %12, align 4, !tbaa !5
  %494 = load i32, ptr %8, align 4, !tbaa !5
  %495 = mul nsw i32 12, %494
  %496 = add nsw i32 %493, %495
  %497 = sext i32 %496 to i64
  %498 = getelementptr inbounds double, ptr %492, i64 %497
  %499 = load double, ptr %498, align 8, !tbaa !11
  %500 = load ptr, ptr %7, align 8, !tbaa !9
  %501 = load i32, ptr %12, align 4, !tbaa !5
  %502 = load i32, ptr %8, align 4, !tbaa !5
  %503 = mul nsw i32 13, %502
  %504 = add nsw i32 %501, %503
  %505 = sext i32 %504 to i64
  %506 = getelementptr inbounds double, ptr %500, i64 %505
  %507 = load double, ptr %506, align 8, !tbaa !11
  %508 = fmul double 0xBFF08654A2D4F6D8, %507
  %509 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %499, double %508)
  %510 = load ptr, ptr %7, align 8, !tbaa !9
  %511 = load i32, ptr %12, align 4, !tbaa !5
  %512 = load i32, ptr %8, align 4, !tbaa !5
  %513 = mul nsw i32 14, %512
  %514 = add nsw i32 %511, %513
  %515 = sext i32 %514 to i64
  %516 = getelementptr inbounds double, ptr %510, i64 %515
  %517 = load double, ptr %516, align 8, !tbaa !11
  %518 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %517, double %509)
  store double %518, ptr %11, align 8, !tbaa !11
  %519 = load double, ptr %11, align 8, !tbaa !11
  %520 = load ptr, ptr %9, align 8, !tbaa !9
  %521 = load i32, ptr %12, align 4, !tbaa !5
  %522 = load i32, ptr %10, align 4, !tbaa !5
  %523 = mul nsw i32 14, %522
  %524 = add nsw i32 %521, %523
  %525 = sext i32 %524 to i64
  %526 = getelementptr inbounds double, ptr %520, i64 %525
  %527 = load double, ptr %526, align 8, !tbaa !11
  %528 = fadd double %527, %519
  store double %528, ptr %526, 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 15, %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 16, %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 0x3FF08654A2D4F6D8, %544
  %546 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, 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 17, %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 0xBFE4A7E9CB8A3491, double %554, double %546)
  store double %555, ptr %11, align 8, !tbaa !11
  %556 = load double, ptr %11, align 8, !tbaa !11
  %557 = load ptr, ptr %9, align 8, !tbaa !9
  %558 = load i32, ptr %12, align 4, !tbaa !5
  %559 = load i32, ptr %10, align 4, !tbaa !5
  %560 = mul nsw i32 15, %559
  %561 = add nsw i32 %558, %560
  %562 = sext i32 %561 to i64
  %563 = getelementptr inbounds double, ptr %557, i64 %562
  %564 = load double, ptr %563, align 8, !tbaa !11
  %565 = fadd double %564, %556
  store double %565, ptr %563, align 8, !tbaa !11
  %566 = load ptr, ptr %7, align 8, !tbaa !9
  %567 = load i32, ptr %12, align 4, !tbaa !5
  %568 = load i32, ptr %8, align 4, !tbaa !5
  %569 = mul nsw i32 15, %568
  %570 = add nsw i32 %567, %569
  %571 = sext i32 %570 to i64
  %572 = getelementptr inbounds double, ptr %566, i64 %571
  %573 = load double, ptr %572, align 8, !tbaa !11
  %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 17, %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 = fmul double 0x3FF9D1E43E6CC1B5, %581
  %583 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %573, double %582)
  store double %583, ptr %11, align 8, !tbaa !11
  %584 = load double, ptr %11, align 8, !tbaa !11
  %585 = load ptr, ptr %9, align 8, !tbaa !9
  %586 = load i32, ptr %12, align 4, !tbaa !5
  %587 = load i32, ptr %10, align 4, !tbaa !5
  %588 = mul nsw i32 16, %587
  %589 = add nsw i32 %586, %588
  %590 = sext i32 %589 to i64
  %591 = getelementptr inbounds double, ptr %585, i64 %590
  %592 = load double, ptr %591, align 8, !tbaa !11
  %593 = fadd double %592, %584
  store double %593, ptr %591, align 8, !tbaa !11
  %594 = load ptr, ptr %7, align 8, !tbaa !9
  %595 = load i32, ptr %12, align 4, !tbaa !5
  %596 = load i32, ptr %8, align 4, !tbaa !5
  %597 = mul nsw i32 15, %596
  %598 = add nsw i32 %595, %597
  %599 = sext i32 %598 to i64
  %600 = getelementptr inbounds double, ptr %594, i64 %599
  %601 = load double, ptr %600, align 8, !tbaa !11
  %602 = load ptr, ptr %7, align 8, !tbaa !9
  %603 = load i32, ptr %12, align 4, !tbaa !5
  %604 = load i32, ptr %8, align 4, !tbaa !5
  %605 = mul nsw i32 16, %604
  %606 = add nsw i32 %603, %605
  %607 = sext i32 %606 to i64
  %608 = getelementptr inbounds double, ptr %602, i64 %607
  %609 = load double, ptr %608, align 8, !tbaa !11
  %610 = fmul double 0xBFF08654A2D4F6D8, %609
  %611 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %601, double %610)
  %612 = load ptr, ptr %7, align 8, !tbaa !9
  %613 = load i32, ptr %12, align 4, !tbaa !5
  %614 = load i32, ptr %8, align 4, !tbaa !5
  %615 = mul nsw i32 17, %614
  %616 = add nsw i32 %613, %615
  %617 = sext i32 %616 to i64
  %618 = getelementptr inbounds double, ptr %612, i64 %617
  %619 = load double, ptr %618, align 8, !tbaa !11
  %620 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %619, double %611)
  store double %620, ptr %11, align 8, !tbaa !11
  %621 = load double, ptr %11, align 8, !tbaa !11
  %622 = load ptr, ptr %9, align 8, !tbaa !9
  %623 = load i32, ptr %12, align 4, !tbaa !5
  %624 = load i32, ptr %10, align 4, !tbaa !5
  %625 = mul nsw i32 17, %624
  %626 = add nsw i32 %623, %625
  %627 = sext i32 %626 to i64
  %628 = getelementptr inbounds double, ptr %622, i64 %627
  %629 = load double, ptr %628, align 8, !tbaa !11
  %630 = fadd double %629, %621
  store double %630, ptr %628, align 8, !tbaa !11
  %631 = load ptr, ptr %7, align 8, !tbaa !9
  %632 = load i32, ptr %12, align 4, !tbaa !5
  %633 = load i32, ptr %8, align 4, !tbaa !5
  %634 = mul nsw i32 18, %633
  %635 = add nsw i32 %632, %634
  %636 = sext i32 %635 to i64
  %637 = getelementptr inbounds double, ptr %631, i64 %636
  %638 = load double, ptr %637, align 8, !tbaa !11
  %639 = load ptr, ptr %7, align 8, !tbaa !9
  %640 = load i32, ptr %12, align 4, !tbaa !5
  %641 = load i32, ptr %8, align 4, !tbaa !5
  %642 = mul nsw i32 19, %641
  %643 = add nsw i32 %640, %642
  %644 = sext i32 %643 to i64
  %645 = getelementptr inbounds double, ptr %639, i64 %644
  %646 = load double, ptr %645, align 8, !tbaa !11
  %647 = fmul double 0x3FF08654A2D4F6D8, %646
  %648 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %638, double %647)
  %649 = load ptr, ptr %7, align 8, !tbaa !9
  %650 = load i32, ptr %12, align 4, !tbaa !5
  %651 = load i32, ptr %8, align 4, !tbaa !5
  %652 = mul nsw i32 20, %651
  %653 = add nsw i32 %650, %652
  %654 = sext i32 %653 to i64
  %655 = getelementptr inbounds double, ptr %649, i64 %654
  %656 = load double, ptr %655, align 8, !tbaa !11
  %657 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %656, double %648)
  store double %657, ptr %11, align 8, !tbaa !11
  %658 = load double, ptr %11, align 8, !tbaa !11
  %659 = load ptr, ptr %9, align 8, !tbaa !9
  %660 = load i32, ptr %12, align 4, !tbaa !5
  %661 = load i32, ptr %10, align 4, !tbaa !5
  %662 = mul nsw i32 18, %661
  %663 = add nsw i32 %660, %662
  %664 = sext i32 %663 to i64
  %665 = getelementptr inbounds double, ptr %659, i64 %664
  %666 = load double, ptr %665, align 8, !tbaa !11
  %667 = fadd double %666, %658
  store double %667, ptr %665, align 8, !tbaa !11
  %668 = load ptr, ptr %7, align 8, !tbaa !9
  %669 = load i32, ptr %12, align 4, !tbaa !5
  %670 = load i32, ptr %8, align 4, !tbaa !5
  %671 = mul nsw i32 18, %670
  %672 = add nsw i32 %669, %671
  %673 = sext i32 %672 to i64
  %674 = getelementptr inbounds double, ptr %668, i64 %673
  %675 = load double, ptr %674, align 8, !tbaa !11
  %676 = load ptr, ptr %7, align 8, !tbaa !9
  %677 = load i32, ptr %12, align 4, !tbaa !5
  %678 = load i32, ptr %8, align 4, !tbaa !5
  %679 = mul nsw i32 20, %678
  %680 = add nsw i32 %677, %679
  %681 = sext i32 %680 to i64
  %682 = getelementptr inbounds double, ptr %676, i64 %681
  %683 = load double, ptr %682, align 8, !tbaa !11
  %684 = fmul double 0x3FF9D1E43E6CC1B5, %683
  %685 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %675, double %684)
  store double %685, ptr %11, align 8, !tbaa !11
  %686 = load double, ptr %11, align 8, !tbaa !11
  %687 = load ptr, ptr %9, align 8, !tbaa !9
  %688 = load i32, ptr %12, align 4, !tbaa !5
  %689 = load i32, ptr %10, align 4, !tbaa !5
  %690 = mul nsw i32 19, %689
  %691 = add nsw i32 %688, %690
  %692 = sext i32 %691 to i64
  %693 = getelementptr inbounds double, ptr %687, i64 %692
  %694 = load double, ptr %693, align 8, !tbaa !11
  %695 = fadd double %694, %686
  store double %695, ptr %693, align 8, !tbaa !11
  %696 = load ptr, ptr %7, align 8, !tbaa !9
  %697 = load i32, ptr %12, align 4, !tbaa !5
  %698 = load i32, ptr %8, align 4, !tbaa !5
  %699 = mul nsw i32 18, %698
  %700 = add nsw i32 %697, %699
  %701 = sext i32 %700 to i64
  %702 = getelementptr inbounds double, ptr %696, i64 %701
  %703 = load double, ptr %702, align 8, !tbaa !11
  %704 = load ptr, ptr %7, align 8, !tbaa !9
  %705 = load i32, ptr %12, align 4, !tbaa !5
  %706 = load i32, ptr %8, align 4, !tbaa !5
  %707 = mul nsw i32 19, %706
  %708 = add nsw i32 %705, %707
  %709 = sext i32 %708 to i64
  %710 = getelementptr inbounds double, ptr %704, i64 %709
  %711 = load double, ptr %710, align 8, !tbaa !11
  %712 = fmul double 0xBFF08654A2D4F6D8, %711
  %713 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %703, double %712)
  %714 = load ptr, ptr %7, align 8, !tbaa !9
  %715 = load i32, ptr %12, align 4, !tbaa !5
  %716 = load i32, ptr %8, align 4, !tbaa !5
  %717 = mul nsw i32 20, %716
  %718 = add nsw i32 %715, %717
  %719 = sext i32 %718 to i64
  %720 = getelementptr inbounds double, ptr %714, i64 %719
  %721 = load double, ptr %720, align 8, !tbaa !11
  %722 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %721, double %713)
  store double %722, ptr %11, align 8, !tbaa !11
  %723 = load double, ptr %11, align 8, !tbaa !11
  %724 = load ptr, ptr %9, align 8, !tbaa !9
  %725 = load i32, ptr %12, align 4, !tbaa !5
  %726 = load i32, ptr %10, align 4, !tbaa !5
  %727 = mul nsw i32 20, %726
  %728 = add nsw i32 %725, %727
  %729 = sext i32 %728 to i64
  %730 = getelementptr inbounds double, ptr %724, i64 %729
  %731 = load double, ptr %730, align 8, !tbaa !11
  %732 = fadd double %731, %723
  store double %732, ptr %730, align 8, !tbaa !11
  %733 = load ptr, ptr %7, align 8, !tbaa !9
  %734 = load i32, ptr %12, align 4, !tbaa !5
  %735 = load i32, ptr %8, align 4, !tbaa !5
  %736 = mul nsw i32 21, %735
  %737 = add nsw i32 %734, %736
  %738 = sext i32 %737 to i64
  %739 = getelementptr inbounds double, ptr %733, i64 %738
  %740 = load double, ptr %739, align 8, !tbaa !11
  %741 = load ptr, ptr %7, align 8, !tbaa !9
  %742 = load i32, ptr %12, align 4, !tbaa !5
  %743 = load i32, ptr %8, align 4, !tbaa !5
  %744 = mul nsw i32 22, %743
  %745 = add nsw i32 %742, %744
  %746 = sext i32 %745 to i64
  %747 = getelementptr inbounds double, ptr %741, i64 %746
  %748 = load double, ptr %747, align 8, !tbaa !11
  %749 = fmul double 0x3FF08654A2D4F6D8, %748
  %750 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %740, double %749)
  %751 = load ptr, ptr %7, align 8, !tbaa !9
  %752 = load i32, ptr %12, align 4, !tbaa !5
  %753 = load i32, ptr %8, align 4, !tbaa !5
  %754 = mul nsw i32 23, %753
  %755 = add nsw i32 %752, %754
  %756 = sext i32 %755 to i64
  %757 = getelementptr inbounds double, ptr %751, i64 %756
  %758 = load double, ptr %757, align 8, !tbaa !11
  %759 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %758, double %750)
  store double %759, ptr %11, align 8, !tbaa !11
  %760 = load double, ptr %11, align 8, !tbaa !11
  %761 = load ptr, ptr %9, align 8, !tbaa !9
  %762 = load i32, ptr %12, align 4, !tbaa !5
  %763 = load i32, ptr %10, align 4, !tbaa !5
  %764 = mul nsw i32 21, %763
  %765 = add nsw i32 %762, %764
  %766 = sext i32 %765 to i64
  %767 = getelementptr inbounds double, ptr %761, i64 %766
  %768 = load double, ptr %767, align 8, !tbaa !11
  %769 = fadd double %768, %760
  store double %769, ptr %767, align 8, !tbaa !11
  %770 = load ptr, ptr %7, align 8, !tbaa !9
  %771 = load i32, ptr %12, align 4, !tbaa !5
  %772 = load i32, ptr %8, align 4, !tbaa !5
  %773 = mul nsw i32 21, %772
  %774 = add nsw i32 %771, %773
  %775 = sext i32 %774 to i64
  %776 = getelementptr inbounds double, ptr %770, i64 %775
  %777 = load double, ptr %776, align 8, !tbaa !11
  %778 = load ptr, ptr %7, align 8, !tbaa !9
  %779 = load i32, ptr %12, align 4, !tbaa !5
  %780 = load i32, ptr %8, align 4, !tbaa !5
  %781 = mul nsw i32 23, %780
  %782 = add nsw i32 %779, %781
  %783 = sext i32 %782 to i64
  %784 = getelementptr inbounds double, ptr %778, i64 %783
  %785 = load double, ptr %784, align 8, !tbaa !11
  %786 = fmul double 0x3FF9D1E43E6CC1B5, %785
  %787 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %777, double %786)
  store double %787, ptr %11, align 8, !tbaa !11
  %788 = load double, ptr %11, align 8, !tbaa !11
  %789 = load ptr, ptr %9, align 8, !tbaa !9
  %790 = load i32, ptr %12, align 4, !tbaa !5
  %791 = load i32, ptr %10, align 4, !tbaa !5
  %792 = mul nsw i32 22, %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 = fadd double %796, %788
  store double %797, ptr %795, align 8, !tbaa !11
  %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 21, %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 = load ptr, ptr %7, align 8, !tbaa !9
  %807 = load i32, ptr %12, align 4, !tbaa !5
  %808 = load i32, ptr %8, align 4, !tbaa !5
  %809 = mul nsw i32 22, %808
  %810 = add nsw i32 %807, %809
  %811 = sext i32 %810 to i64
  %812 = getelementptr inbounds double, ptr %806, i64 %811
  %813 = load double, ptr %812, align 8, !tbaa !11
  %814 = fmul double 0xBFF08654A2D4F6D8, %813
  %815 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %805, double %814)
  %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 23, %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 0xBFFEFBDEB14F4ED8, double %823, double %815)
  store double %824, ptr %11, align 8, !tbaa !11
  %825 = load double, ptr %11, align 8, !tbaa !11
  %826 = load ptr, ptr %9, align 8, !tbaa !9
  %827 = load i32, ptr %12, align 4, !tbaa !5
  %828 = load i32, ptr %10, align 4, !tbaa !5
  %829 = mul nsw i32 23, %828
  %830 = add nsw i32 %827, %829
  %831 = sext i32 %830 to i64
  %832 = getelementptr inbounds double, ptr %826, i64 %831
  %833 = load double, ptr %832, align 8, !tbaa !11
  %834 = fadd double %833, %825
  store double %834, ptr %832, align 8, !tbaa !11
  %835 = load ptr, ptr %7, align 8, !tbaa !9
  %836 = load i32, ptr %12, align 4, !tbaa !5
  %837 = load i32, ptr %8, align 4, !tbaa !5
  %838 = mul nsw i32 24, %837
  %839 = add nsw i32 %836, %838
  %840 = sext i32 %839 to i64
  %841 = getelementptr inbounds double, ptr %835, i64 %840
  %842 = load double, ptr %841, align 8, !tbaa !11
  %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 25, %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 = fmul double 0x3FF08654A2D4F6D8, %850
  %852 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %842, double %851)
  %853 = load ptr, ptr %7, align 8, !tbaa !9
  %854 = load i32, ptr %12, align 4, !tbaa !5
  %855 = load i32, ptr %8, align 4, !tbaa !5
  %856 = mul nsw i32 26, %855
  %857 = add nsw i32 %854, %856
  %858 = sext i32 %857 to i64
  %859 = getelementptr inbounds double, ptr %853, i64 %858
  %860 = load double, ptr %859, align 8, !tbaa !11
  %861 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %860, double %852)
  store double %861, ptr %11, align 8, !tbaa !11
  %862 = load double, ptr %11, align 8, !tbaa !11
  %863 = load ptr, ptr %9, align 8, !tbaa !9
  %864 = load i32, ptr %12, align 4, !tbaa !5
  %865 = load i32, ptr %10, align 4, !tbaa !5
  %866 = mul nsw i32 24, %865
  %867 = add nsw i32 %864, %866
  %868 = sext i32 %867 to i64
  %869 = getelementptr inbounds double, ptr %863, i64 %868
  %870 = load double, ptr %869, align 8, !tbaa !11
  %871 = fadd double %870, %862
  store double %871, ptr %869, align 8, !tbaa !11
  %872 = load ptr, ptr %7, align 8, !tbaa !9
  %873 = load i32, ptr %12, align 4, !tbaa !5
  %874 = load i32, ptr %8, align 4, !tbaa !5
  %875 = mul nsw i32 24, %874
  %876 = add nsw i32 %873, %875
  %877 = sext i32 %876 to i64
  %878 = getelementptr inbounds double, ptr %872, i64 %877
  %879 = load double, ptr %878, align 8, !tbaa !11
  %880 = load ptr, ptr %7, align 8, !tbaa !9
  %881 = load i32, ptr %12, align 4, !tbaa !5
  %882 = load i32, ptr %8, align 4, !tbaa !5
  %883 = mul nsw i32 26, %882
  %884 = add nsw i32 %881, %883
  %885 = sext i32 %884 to i64
  %886 = getelementptr inbounds double, ptr %880, i64 %885
  %887 = load double, ptr %886, align 8, !tbaa !11
  %888 = fmul double 0x3FF9D1E43E6CC1B5, %887
  %889 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %879, double %888)
  store double %889, ptr %11, align 8, !tbaa !11
  %890 = load double, ptr %11, align 8, !tbaa !11
  %891 = load ptr, ptr %9, align 8, !tbaa !9
  %892 = load i32, ptr %12, align 4, !tbaa !5
  %893 = load i32, ptr %10, align 4, !tbaa !5
  %894 = mul nsw i32 25, %893
  %895 = add nsw i32 %892, %894
  %896 = sext i32 %895 to i64
  %897 = getelementptr inbounds double, ptr %891, i64 %896
  %898 = load double, ptr %897, align 8, !tbaa !11
  %899 = fadd double %898, %890
  store double %899, ptr %897, align 8, !tbaa !11
  %900 = load ptr, ptr %7, align 8, !tbaa !9
  %901 = load i32, ptr %12, align 4, !tbaa !5
  %902 = load i32, ptr %8, align 4, !tbaa !5
  %903 = mul nsw i32 24, %902
  %904 = add nsw i32 %901, %903
  %905 = sext i32 %904 to i64
  %906 = getelementptr inbounds double, ptr %900, i64 %905
  %907 = load double, ptr %906, align 8, !tbaa !11
  %908 = load ptr, ptr %7, align 8, !tbaa !9
  %909 = load i32, ptr %12, align 4, !tbaa !5
  %910 = load i32, ptr %8, align 4, !tbaa !5
  %911 = mul nsw i32 25, %910
  %912 = add nsw i32 %909, %911
  %913 = sext i32 %912 to i64
  %914 = getelementptr inbounds double, ptr %908, i64 %913
  %915 = load double, ptr %914, align 8, !tbaa !11
  %916 = fmul double 0xBFF08654A2D4F6D8, %915
  %917 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %907, double %916)
  %918 = load ptr, ptr %7, align 8, !tbaa !9
  %919 = load i32, ptr %12, align 4, !tbaa !5
  %920 = load i32, ptr %8, align 4, !tbaa !5
  %921 = mul nsw i32 26, %920
  %922 = add nsw i32 %919, %921
  %923 = sext i32 %922 to i64
  %924 = getelementptr inbounds double, ptr %918, i64 %923
  %925 = load double, ptr %924, align 8, !tbaa !11
  %926 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %925, double %917)
  store double %926, ptr %11, align 8, !tbaa !11
  %927 = load double, ptr %11, align 8, !tbaa !11
  %928 = load ptr, ptr %9, align 8, !tbaa !9
  %929 = load i32, ptr %12, align 4, !tbaa !5
  %930 = load i32, ptr %10, align 4, !tbaa !5
  %931 = mul nsw i32 26, %930
  %932 = add nsw i32 %929, %931
  %933 = sext i32 %932 to i64
  %934 = getelementptr inbounds double, ptr %928, i64 %933
  %935 = load double, ptr %934, align 8, !tbaa !11
  %936 = fadd double %935, %927
  store double %936, ptr %934, align 8, !tbaa !11
  %937 = load ptr, ptr %7, align 8, !tbaa !9
  %938 = load i32, ptr %12, align 4, !tbaa !5
  %939 = load i32, ptr %8, align 4, !tbaa !5
  %940 = mul nsw i32 0, %939
  %941 = add nsw i32 %938, %940
  %942 = sext i32 %941 to i64
  %943 = getelementptr inbounds double, ptr %937, i64 %942
  %944 = load double, ptr %943, align 8, !tbaa !11
  %945 = load ptr, ptr %7, align 8, !tbaa !9
  %946 = load i32, ptr %12, align 4, !tbaa !5
  %947 = load i32, ptr %8, align 4, !tbaa !5
  %948 = mul nsw i32 3, %947
  %949 = add nsw i32 %946, %948
  %950 = sext i32 %949 to i64
  %951 = getelementptr inbounds double, ptr %945, i64 %950
  %952 = load double, ptr %951, align 8, !tbaa !11
  %953 = fmul double 0x3FF08654A2D4F6D8, %952
  %954 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %944, double %953)
  %955 = load ptr, ptr %7, align 8, !tbaa !9
  %956 = load i32, ptr %12, align 4, !tbaa !5
  %957 = load i32, ptr %8, align 4, !tbaa !5
  %958 = mul nsw i32 6, %957
  %959 = add nsw i32 %956, %958
  %960 = sext i32 %959 to i64
  %961 = getelementptr inbounds double, ptr %955, i64 %960
  %962 = load double, ptr %961, align 8, !tbaa !11
  %963 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %962, double %954)
  store double %963, ptr %11, align 8, !tbaa !11
  %964 = load double, ptr %11, align 8, !tbaa !11
  %965 = load ptr, ptr %9, align 8, !tbaa !9
  %966 = load i32, ptr %12, align 4, !tbaa !5
  %967 = load i32, ptr %10, align 4, !tbaa !5
  %968 = mul nsw i32 27, %967
  %969 = add nsw i32 %966, %968
  %970 = sext i32 %969 to i64
  %971 = getelementptr inbounds double, ptr %965, i64 %970
  %972 = load double, ptr %971, align 8, !tbaa !11
  %973 = fadd double %972, %964
  store double %973, ptr %971, align 8, !tbaa !11
  %974 = load ptr, ptr %7, align 8, !tbaa !9
  %975 = load i32, ptr %12, align 4, !tbaa !5
  %976 = load i32, ptr %8, align 4, !tbaa !5
  %977 = mul nsw i32 1, %976
  %978 = add nsw i32 %975, %977
  %979 = sext i32 %978 to i64
  %980 = getelementptr inbounds double, ptr %974, i64 %979
  %981 = load double, ptr %980, align 8, !tbaa !11
  %982 = load ptr, ptr %7, align 8, !tbaa !9
  %983 = load i32, ptr %12, align 4, !tbaa !5
  %984 = load i32, ptr %8, align 4, !tbaa !5
  %985 = mul nsw i32 4, %984
  %986 = add nsw i32 %983, %985
  %987 = sext i32 %986 to i64
  %988 = getelementptr inbounds double, ptr %982, i64 %987
  %989 = load double, ptr %988, align 8, !tbaa !11
  %990 = fmul double 0x3FF08654A2D4F6D8, %989
  %991 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %981, double %990)
  %992 = load ptr, ptr %7, align 8, !tbaa !9
  %993 = load i32, ptr %12, align 4, !tbaa !5
  %994 = load i32, ptr %8, align 4, !tbaa !5
  %995 = mul nsw i32 7, %994
  %996 = add nsw i32 %993, %995
  %997 = sext i32 %996 to i64
  %998 = getelementptr inbounds double, ptr %992, i64 %997
  %999 = load double, ptr %998, align 8, !tbaa !11
  %1000 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %999, double %991)
  store double %1000, ptr %11, align 8, !tbaa !11
  %1001 = load double, ptr %11, align 8, !tbaa !11
  %1002 = load ptr, ptr %9, align 8, !tbaa !9
  %1003 = load i32, ptr %12, align 4, !tbaa !5
  %1004 = load i32, ptr %10, align 4, !tbaa !5
  %1005 = mul nsw i32 28, %1004
  %1006 = add nsw i32 %1003, %1005
  %1007 = sext i32 %1006 to i64
  %1008 = getelementptr inbounds double, ptr %1002, i64 %1007
  %1009 = load double, ptr %1008, align 8, !tbaa !11
  %1010 = fadd double %1009, %1001
  store double %1010, ptr %1008, align 8, !tbaa !11
  %1011 = load ptr, ptr %7, align 8, !tbaa !9
  %1012 = load i32, ptr %12, align 4, !tbaa !5
  %1013 = load i32, ptr %8, align 4, !tbaa !5
  %1014 = mul nsw i32 2, %1013
  %1015 = add nsw i32 %1012, %1014
  %1016 = sext i32 %1015 to i64
  %1017 = getelementptr inbounds double, ptr %1011, i64 %1016
  %1018 = load double, ptr %1017, align 8, !tbaa !11
  %1019 = load ptr, ptr %7, align 8, !tbaa !9
  %1020 = load i32, ptr %12, align 4, !tbaa !5
  %1021 = load i32, ptr %8, align 4, !tbaa !5
  %1022 = mul nsw i32 5, %1021
  %1023 = add nsw i32 %1020, %1022
  %1024 = sext i32 %1023 to i64
  %1025 = getelementptr inbounds double, ptr %1019, i64 %1024
  %1026 = load double, ptr %1025, align 8, !tbaa !11
  %1027 = fmul double 0x3FF08654A2D4F6D8, %1026
  %1028 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1018, double %1027)
  %1029 = load ptr, ptr %7, align 8, !tbaa !9
  %1030 = load i32, ptr %12, align 4, !tbaa !5
  %1031 = load i32, ptr %8, align 4, !tbaa !5
  %1032 = mul nsw i32 8, %1031
  %1033 = add nsw i32 %1030, %1032
  %1034 = sext i32 %1033 to i64
  %1035 = getelementptr inbounds double, ptr %1029, i64 %1034
  %1036 = load double, ptr %1035, align 8, !tbaa !11
  %1037 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1036, double %1028)
  store double %1037, ptr %11, align 8, !tbaa !11
  %1038 = load double, ptr %11, align 8, !tbaa !11
  %1039 = load ptr, ptr %9, align 8, !tbaa !9
  %1040 = load i32, ptr %12, align 4, !tbaa !5
  %1041 = load i32, ptr %10, align 4, !tbaa !5
  %1042 = mul nsw i32 29, %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 = fadd double %1046, %1038
  store double %1047, ptr %1045, align 8, !tbaa !11
  %1048 = load ptr, ptr %7, align 8, !tbaa !9
  %1049 = load i32, ptr %12, align 4, !tbaa !5
  %1050 = load i32, ptr %8, align 4, !tbaa !5
  %1051 = mul nsw i32 0, %1050
  %1052 = add nsw i32 %1049, %1051
  %1053 = sext i32 %1052 to i64
  %1054 = getelementptr inbounds double, ptr %1048, i64 %1053
  %1055 = load double, ptr %1054, align 8, !tbaa !11
  %1056 = load ptr, ptr %7, align 8, !tbaa !9
  %1057 = load i32, ptr %12, align 4, !tbaa !5
  %1058 = load i32, ptr %8, align 4, !tbaa !5
  %1059 = mul nsw i32 6, %1058
  %1060 = add nsw i32 %1057, %1059
  %1061 = sext i32 %1060 to i64
  %1062 = getelementptr inbounds double, ptr %1056, i64 %1061
  %1063 = load double, ptr %1062, align 8, !tbaa !11
  %1064 = fmul double 0x3FF9D1E43E6CC1B5, %1063
  %1065 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1055, double %1064)
  store double %1065, ptr %11, align 8, !tbaa !11
  %1066 = load double, ptr %11, align 8, !tbaa !11
  %1067 = load ptr, ptr %9, align 8, !tbaa !9
  %1068 = load i32, ptr %12, align 4, !tbaa !5
  %1069 = load i32, ptr %10, align 4, !tbaa !5
  %1070 = mul nsw i32 30, %1069
  %1071 = add nsw i32 %1068, %1070
  %1072 = sext i32 %1071 to i64
  %1073 = getelementptr inbounds double, ptr %1067, i64 %1072
  %1074 = load double, ptr %1073, align 8, !tbaa !11
  %1075 = fadd double %1074, %1066
  store double %1075, ptr %1073, align 8, !tbaa !11
  %1076 = load ptr, ptr %7, align 8, !tbaa !9
  %1077 = load i32, ptr %12, align 4, !tbaa !5
  %1078 = load i32, ptr %8, align 4, !tbaa !5
  %1079 = mul nsw i32 1, %1078
  %1080 = add nsw i32 %1077, %1079
  %1081 = sext i32 %1080 to i64
  %1082 = getelementptr inbounds double, ptr %1076, i64 %1081
  %1083 = load double, ptr %1082, align 8, !tbaa !11
  %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 7, %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 = fmul double 0x3FF9D1E43E6CC1B5, %1091
  %1093 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1083, double %1092)
  store double %1093, ptr %11, align 8, !tbaa !11
  %1094 = load double, ptr %11, align 8, !tbaa !11
  %1095 = load ptr, ptr %9, align 8, !tbaa !9
  %1096 = load i32, ptr %12, align 4, !tbaa !5
  %1097 = load i32, ptr %10, align 4, !tbaa !5
  %1098 = mul nsw i32 31, %1097
  %1099 = add nsw i32 %1096, %1098
  %1100 = sext i32 %1099 to i64
  %1101 = getelementptr inbounds double, ptr %1095, i64 %1100
  %1102 = load double, ptr %1101, align 8, !tbaa !11
  %1103 = fadd double %1102, %1094
  store double %1103, ptr %1101, align 8, !tbaa !11
  %1104 = load ptr, ptr %7, align 8, !tbaa !9
  %1105 = load i32, ptr %12, align 4, !tbaa !5
  %1106 = load i32, ptr %8, align 4, !tbaa !5
  %1107 = mul nsw i32 2, %1106
  %1108 = add nsw i32 %1105, %1107
  %1109 = sext i32 %1108 to i64
  %1110 = getelementptr inbounds double, ptr %1104, i64 %1109
  %1111 = load double, ptr %1110, align 8, !tbaa !11
  %1112 = load ptr, ptr %7, align 8, !tbaa !9
  %1113 = load i32, ptr %12, align 4, !tbaa !5
  %1114 = load i32, ptr %8, align 4, !tbaa !5
  %1115 = mul nsw i32 8, %1114
  %1116 = add nsw i32 %1113, %1115
  %1117 = sext i32 %1116 to i64
  %1118 = getelementptr inbounds double, ptr %1112, i64 %1117
  %1119 = load double, ptr %1118, align 8, !tbaa !11
  %1120 = fmul double 0x3FF9D1E43E6CC1B5, %1119
  %1121 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1111, double %1120)
  store double %1121, ptr %11, align 8, !tbaa !11
  %1122 = load double, ptr %11, align 8, !tbaa !11
  %1123 = load ptr, ptr %9, align 8, !tbaa !9
  %1124 = load i32, ptr %12, align 4, !tbaa !5
  %1125 = load i32, ptr %10, align 4, !tbaa !5
  %1126 = mul nsw i32 32, %1125
  %1127 = add nsw i32 %1124, %1126
  %1128 = sext i32 %1127 to i64
  %1129 = getelementptr inbounds double, ptr %1123, i64 %1128
  %1130 = load double, ptr %1129, align 8, !tbaa !11
  %1131 = fadd double %1130, %1122
  store double %1131, ptr %1129, align 8, !tbaa !11
  %1132 = load ptr, ptr %7, align 8, !tbaa !9
  %1133 = load i32, ptr %12, align 4, !tbaa !5
  %1134 = load i32, ptr %8, align 4, !tbaa !5
  %1135 = mul nsw i32 0, %1134
  %1136 = add nsw i32 %1133, %1135
  %1137 = sext i32 %1136 to i64
  %1138 = getelementptr inbounds double, ptr %1132, i64 %1137
  %1139 = load double, ptr %1138, align 8, !tbaa !11
  %1140 = load ptr, ptr %7, align 8, !tbaa !9
  %1141 = load i32, ptr %12, align 4, !tbaa !5
  %1142 = load i32, ptr %8, align 4, !tbaa !5
  %1143 = mul nsw i32 3, %1142
  %1144 = add nsw i32 %1141, %1143
  %1145 = sext i32 %1144 to i64
  %1146 = getelementptr inbounds double, ptr %1140, i64 %1145
  %1147 = load double, ptr %1146, align 8, !tbaa !11
  %1148 = fmul double 0xBFF08654A2D4F6D8, %1147
  %1149 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1139, double %1148)
  %1150 = load ptr, ptr %7, align 8, !tbaa !9
  %1151 = load i32, ptr %12, align 4, !tbaa !5
  %1152 = load i32, ptr %8, align 4, !tbaa !5
  %1153 = mul nsw i32 6, %1152
  %1154 = add nsw i32 %1151, %1153
  %1155 = sext i32 %1154 to i64
  %1156 = getelementptr inbounds double, ptr %1150, i64 %1155
  %1157 = load double, ptr %1156, align 8, !tbaa !11
  %1158 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1157, double %1149)
  store double %1158, ptr %11, align 8, !tbaa !11
  %1159 = load double, ptr %11, align 8, !tbaa !11
  %1160 = load ptr, ptr %9, align 8, !tbaa !9
  %1161 = load i32, ptr %12, align 4, !tbaa !5
  %1162 = load i32, ptr %10, align 4, !tbaa !5
  %1163 = mul nsw i32 33, %1162
  %1164 = add nsw i32 %1161, %1163
  %1165 = sext i32 %1164 to i64
  %1166 = getelementptr inbounds double, ptr %1160, i64 %1165
  %1167 = load double, ptr %1166, align 8, !tbaa !11
  %1168 = fadd double %1167, %1159
  store double %1168, ptr %1166, align 8, !tbaa !11
  %1169 = load ptr, ptr %7, align 8, !tbaa !9
  %1170 = load i32, ptr %12, align 4, !tbaa !5
  %1171 = load i32, ptr %8, align 4, !tbaa !5
  %1172 = mul nsw i32 1, %1171
  %1173 = add nsw i32 %1170, %1172
  %1174 = sext i32 %1173 to i64
  %1175 = getelementptr inbounds double, ptr %1169, i64 %1174
  %1176 = load double, ptr %1175, align 8, !tbaa !11
  %1177 = load ptr, ptr %7, align 8, !tbaa !9
  %1178 = load i32, ptr %12, align 4, !tbaa !5
  %1179 = load i32, ptr %8, align 4, !tbaa !5
  %1180 = mul nsw i32 4, %1179
  %1181 = add nsw i32 %1178, %1180
  %1182 = sext i32 %1181 to i64
  %1183 = getelementptr inbounds double, ptr %1177, i64 %1182
  %1184 = load double, ptr %1183, align 8, !tbaa !11
  %1185 = fmul double 0xBFF08654A2D4F6D8, %1184
  %1186 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1176, double %1185)
  %1187 = load ptr, ptr %7, align 8, !tbaa !9
  %1188 = load i32, ptr %12, align 4, !tbaa !5
  %1189 = load i32, ptr %8, align 4, !tbaa !5
  %1190 = mul nsw i32 7, %1189
  %1191 = add nsw i32 %1188, %1190
  %1192 = sext i32 %1191 to i64
  %1193 = getelementptr inbounds double, ptr %1187, i64 %1192
  %1194 = load double, ptr %1193, align 8, !tbaa !11
  %1195 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1194, double %1186)
  store double %1195, ptr %11, align 8, !tbaa !11
  %1196 = load double, ptr %11, align 8, !tbaa !11
  %1197 = load ptr, ptr %9, align 8, !tbaa !9
  %1198 = load i32, ptr %12, align 4, !tbaa !5
  %1199 = load i32, ptr %10, align 4, !tbaa !5
  %1200 = mul nsw i32 34, %1199
  %1201 = add nsw i32 %1198, %1200
  %1202 = sext i32 %1201 to i64
  %1203 = getelementptr inbounds double, ptr %1197, i64 %1202
  %1204 = load double, ptr %1203, align 8, !tbaa !11
  %1205 = fadd double %1204, %1196
  store double %1205, ptr %1203, align 8, !tbaa !11
  %1206 = load ptr, ptr %7, align 8, !tbaa !9
  %1207 = load i32, ptr %12, align 4, !tbaa !5
  %1208 = load i32, ptr %8, align 4, !tbaa !5
  %1209 = mul nsw i32 2, %1208
  %1210 = add nsw i32 %1207, %1209
  %1211 = sext i32 %1210 to i64
  %1212 = getelementptr inbounds double, ptr %1206, i64 %1211
  %1213 = load double, ptr %1212, align 8, !tbaa !11
  %1214 = load ptr, ptr %7, align 8, !tbaa !9
  %1215 = load i32, ptr %12, align 4, !tbaa !5
  %1216 = load i32, ptr %8, align 4, !tbaa !5
  %1217 = mul nsw i32 5, %1216
  %1218 = add nsw i32 %1215, %1217
  %1219 = sext i32 %1218 to i64
  %1220 = getelementptr inbounds double, ptr %1214, i64 %1219
  %1221 = load double, ptr %1220, align 8, !tbaa !11
  %1222 = fmul double 0xBFF08654A2D4F6D8, %1221
  %1223 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1213, double %1222)
  %1224 = load ptr, ptr %7, align 8, !tbaa !9
  %1225 = load i32, ptr %12, align 4, !tbaa !5
  %1226 = load i32, ptr %8, align 4, !tbaa !5
  %1227 = mul nsw i32 8, %1226
  %1228 = add nsw i32 %1225, %1227
  %1229 = sext i32 %1228 to i64
  %1230 = getelementptr inbounds double, ptr %1224, i64 %1229
  %1231 = load double, ptr %1230, align 8, !tbaa !11
  %1232 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1231, double %1223)
  store double %1232, ptr %11, align 8, !tbaa !11
  %1233 = load double, ptr %11, align 8, !tbaa !11
  %1234 = load ptr, ptr %9, align 8, !tbaa !9
  %1235 = load i32, ptr %12, align 4, !tbaa !5
  %1236 = load i32, ptr %10, align 4, !tbaa !5
  %1237 = mul nsw i32 35, %1236
  %1238 = add nsw i32 %1235, %1237
  %1239 = sext i32 %1238 to i64
  %1240 = getelementptr inbounds double, ptr %1234, i64 %1239
  %1241 = load double, ptr %1240, align 8, !tbaa !11
  %1242 = fadd double %1241, %1233
  store double %1242, ptr %1240, align 8, !tbaa !11
  %1243 = load ptr, ptr %7, align 8, !tbaa !9
  %1244 = load i32, ptr %12, align 4, !tbaa !5
  %1245 = load i32, ptr %8, align 4, !tbaa !5
  %1246 = mul nsw i32 9, %1245
  %1247 = add nsw i32 %1244, %1246
  %1248 = sext i32 %1247 to i64
  %1249 = getelementptr inbounds double, ptr %1243, i64 %1248
  %1250 = load double, ptr %1249, align 8, !tbaa !11
  %1251 = load ptr, ptr %7, align 8, !tbaa !9
  %1252 = load i32, ptr %12, align 4, !tbaa !5
  %1253 = load i32, ptr %8, align 4, !tbaa !5
  %1254 = mul nsw i32 12, %1253
  %1255 = add nsw i32 %1252, %1254
  %1256 = sext i32 %1255 to i64
  %1257 = getelementptr inbounds double, ptr %1251, i64 %1256
  %1258 = load double, ptr %1257, align 8, !tbaa !11
  %1259 = fmul double 0x3FF08654A2D4F6D8, %1258
  %1260 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1250, double %1259)
  %1261 = load ptr, ptr %7, align 8, !tbaa !9
  %1262 = load i32, ptr %12, align 4, !tbaa !5
  %1263 = load i32, ptr %8, align 4, !tbaa !5
  %1264 = mul nsw i32 15, %1263
  %1265 = add nsw i32 %1262, %1264
  %1266 = sext i32 %1265 to i64
  %1267 = getelementptr inbounds double, ptr %1261, i64 %1266
  %1268 = load double, ptr %1267, align 8, !tbaa !11
  %1269 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1268, double %1260)
  store double %1269, ptr %11, align 8, !tbaa !11
  %1270 = load double, ptr %11, align 8, !tbaa !11
  %1271 = load ptr, ptr %9, align 8, !tbaa !9
  %1272 = load i32, ptr %12, align 4, !tbaa !5
  %1273 = load i32, ptr %10, align 4, !tbaa !5
  %1274 = mul nsw i32 36, %1273
  %1275 = add nsw i32 %1272, %1274
  %1276 = sext i32 %1275 to i64
  %1277 = getelementptr inbounds double, ptr %1271, i64 %1276
  %1278 = load double, ptr %1277, align 8, !tbaa !11
  %1279 = fadd double %1278, %1270
  store double %1279, ptr %1277, align 8, !tbaa !11
  %1280 = load ptr, ptr %7, align 8, !tbaa !9
  %1281 = load i32, ptr %12, align 4, !tbaa !5
  %1282 = load i32, ptr %8, align 4, !tbaa !5
  %1283 = mul nsw i32 10, %1282
  %1284 = add nsw i32 %1281, %1283
  %1285 = sext i32 %1284 to i64
  %1286 = getelementptr inbounds double, ptr %1280, i64 %1285
  %1287 = load double, ptr %1286, align 8, !tbaa !11
  %1288 = load ptr, ptr %7, align 8, !tbaa !9
  %1289 = load i32, ptr %12, align 4, !tbaa !5
  %1290 = load i32, ptr %8, align 4, !tbaa !5
  %1291 = mul nsw i32 13, %1290
  %1292 = add nsw i32 %1289, %1291
  %1293 = sext i32 %1292 to i64
  %1294 = getelementptr inbounds double, ptr %1288, i64 %1293
  %1295 = load double, ptr %1294, align 8, !tbaa !11
  %1296 = fmul double 0x3FF08654A2D4F6D8, %1295
  %1297 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1287, double %1296)
  %1298 = load ptr, ptr %7, align 8, !tbaa !9
  %1299 = load i32, ptr %12, align 4, !tbaa !5
  %1300 = load i32, ptr %8, align 4, !tbaa !5
  %1301 = mul nsw i32 16, %1300
  %1302 = add nsw i32 %1299, %1301
  %1303 = sext i32 %1302 to i64
  %1304 = getelementptr inbounds double, ptr %1298, i64 %1303
  %1305 = load double, ptr %1304, align 8, !tbaa !11
  %1306 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1305, double %1297)
  store double %1306, ptr %11, align 8, !tbaa !11
  %1307 = load double, ptr %11, align 8, !tbaa !11
  %1308 = load ptr, ptr %9, align 8, !tbaa !9
  %1309 = load i32, ptr %12, align 4, !tbaa !5
  %1310 = load i32, ptr %10, align 4, !tbaa !5
  %1311 = mul nsw i32 37, %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 = fadd double %1315, %1307
  store double %1316, ptr %1314, align 8, !tbaa !11
  %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 11, %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 = load ptr, ptr %7, align 8, !tbaa !9
  %1326 = load i32, ptr %12, align 4, !tbaa !5
  %1327 = load i32, ptr %8, align 4, !tbaa !5
  %1328 = mul nsw i32 14, %1327
  %1329 = add nsw i32 %1326, %1328
  %1330 = sext i32 %1329 to i64
  %1331 = getelementptr inbounds double, ptr %1325, i64 %1330
  %1332 = load double, ptr %1331, align 8, !tbaa !11
  %1333 = fmul double 0x3FF08654A2D4F6D8, %1332
  %1334 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1324, double %1333)
  %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 17, %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 0xBFE4A7E9CB8A3491, double %1342, double %1334)
  store double %1343, ptr %11, align 8, !tbaa !11
  %1344 = load double, ptr %11, align 8, !tbaa !11
  %1345 = load ptr, ptr %9, align 8, !tbaa !9
  %1346 = load i32, ptr %12, align 4, !tbaa !5
  %1347 = load i32, ptr %10, align 4, !tbaa !5
  %1348 = mul nsw i32 38, %1347
  %1349 = add nsw i32 %1346, %1348
  %1350 = sext i32 %1349 to i64
  %1351 = getelementptr inbounds double, ptr %1345, i64 %1350
  %1352 = load double, ptr %1351, align 8, !tbaa !11
  %1353 = fadd double %1352, %1344
  store double %1353, ptr %1351, align 8, !tbaa !11
  %1354 = load ptr, ptr %7, align 8, !tbaa !9
  %1355 = load i32, ptr %12, align 4, !tbaa !5
  %1356 = load i32, ptr %8, align 4, !tbaa !5
  %1357 = mul nsw i32 9, %1356
  %1358 = add nsw i32 %1355, %1357
  %1359 = sext i32 %1358 to i64
  %1360 = getelementptr inbounds double, ptr %1354, i64 %1359
  %1361 = load double, ptr %1360, align 8, !tbaa !11
  %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 15, %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 = fmul double 0x3FF9D1E43E6CC1B5, %1369
  %1371 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1361, double %1370)
  store double %1371, ptr %11, align 8, !tbaa !11
  %1372 = load double, ptr %11, align 8, !tbaa !11
  %1373 = load ptr, ptr %9, align 8, !tbaa !9
  %1374 = load i32, ptr %12, align 4, !tbaa !5
  %1375 = load i32, ptr %10, align 4, !tbaa !5
  %1376 = mul nsw i32 39, %1375
  %1377 = add nsw i32 %1374, %1376
  %1378 = sext i32 %1377 to i64
  %1379 = getelementptr inbounds double, ptr %1373, i64 %1378
  %1380 = load double, ptr %1379, align 8, !tbaa !11
  %1381 = fadd double %1380, %1372
  store double %1381, ptr %1379, align 8, !tbaa !11
  %1382 = load ptr, ptr %7, align 8, !tbaa !9
  %1383 = load i32, ptr %12, align 4, !tbaa !5
  %1384 = load i32, ptr %8, align 4, !tbaa !5
  %1385 = mul nsw i32 10, %1384
  %1386 = add nsw i32 %1383, %1385
  %1387 = sext i32 %1386 to i64
  %1388 = getelementptr inbounds double, ptr %1382, i64 %1387
  %1389 = load double, ptr %1388, align 8, !tbaa !11
  %1390 = load ptr, ptr %7, align 8, !tbaa !9
  %1391 = load i32, ptr %12, align 4, !tbaa !5
  %1392 = load i32, ptr %8, align 4, !tbaa !5
  %1393 = mul nsw i32 16, %1392
  %1394 = add nsw i32 %1391, %1393
  %1395 = sext i32 %1394 to i64
  %1396 = getelementptr inbounds double, ptr %1390, i64 %1395
  %1397 = load double, ptr %1396, align 8, !tbaa !11
  %1398 = fmul double 0x3FF9D1E43E6CC1B5, %1397
  %1399 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1389, double %1398)
  store double %1399, ptr %11, align 8, !tbaa !11
  %1400 = load double, ptr %11, align 8, !tbaa !11
  %1401 = load ptr, ptr %9, align 8, !tbaa !9
  %1402 = load i32, ptr %12, align 4, !tbaa !5
  %1403 = load i32, ptr %10, align 4, !tbaa !5
  %1404 = mul nsw i32 40, %1403
  %1405 = add nsw i32 %1402, %1404
  %1406 = sext i32 %1405 to i64
  %1407 = getelementptr inbounds double, ptr %1401, i64 %1406
  %1408 = load double, ptr %1407, align 8, !tbaa !11
  %1409 = fadd double %1408, %1400
  store double %1409, ptr %1407, align 8, !tbaa !11
  %1410 = load ptr, ptr %7, align 8, !tbaa !9
  %1411 = load i32, ptr %12, align 4, !tbaa !5
  %1412 = load i32, ptr %8, align 4, !tbaa !5
  %1413 = mul nsw i32 11, %1412
  %1414 = add nsw i32 %1411, %1413
  %1415 = sext i32 %1414 to i64
  %1416 = getelementptr inbounds double, ptr %1410, i64 %1415
  %1417 = load double, ptr %1416, align 8, !tbaa !11
  %1418 = load ptr, ptr %7, align 8, !tbaa !9
  %1419 = load i32, ptr %12, align 4, !tbaa !5
  %1420 = load i32, ptr %8, align 4, !tbaa !5
  %1421 = mul nsw i32 17, %1420
  %1422 = add nsw i32 %1419, %1421
  %1423 = sext i32 %1422 to i64
  %1424 = getelementptr inbounds double, ptr %1418, i64 %1423
  %1425 = load double, ptr %1424, align 8, !tbaa !11
  %1426 = fmul double 0x3FF9D1E43E6CC1B5, %1425
  %1427 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1417, double %1426)
  store double %1427, ptr %11, align 8, !tbaa !11
  %1428 = load double, ptr %11, align 8, !tbaa !11
  %1429 = load ptr, ptr %9, align 8, !tbaa !9
  %1430 = load i32, ptr %12, align 4, !tbaa !5
  %1431 = load i32, ptr %10, align 4, !tbaa !5
  %1432 = mul nsw i32 41, %1431
  %1433 = add nsw i32 %1430, %1432
  %1434 = sext i32 %1433 to i64
  %1435 = getelementptr inbounds double, ptr %1429, i64 %1434
  %1436 = load double, ptr %1435, align 8, !tbaa !11
  %1437 = fadd double %1436, %1428
  store double %1437, ptr %1435, align 8, !tbaa !11
  %1438 = load ptr, ptr %7, align 8, !tbaa !9
  %1439 = load i32, ptr %12, align 4, !tbaa !5
  %1440 = load i32, ptr %8, align 4, !tbaa !5
  %1441 = mul nsw i32 9, %1440
  %1442 = add nsw i32 %1439, %1441
  %1443 = sext i32 %1442 to i64
  %1444 = getelementptr inbounds double, ptr %1438, i64 %1443
  %1445 = load double, ptr %1444, align 8, !tbaa !11
  %1446 = load ptr, ptr %7, align 8, !tbaa !9
  %1447 = load i32, ptr %12, align 4, !tbaa !5
  %1448 = load i32, ptr %8, align 4, !tbaa !5
  %1449 = mul nsw i32 12, %1448
  %1450 = add nsw i32 %1447, %1449
  %1451 = sext i32 %1450 to i64
  %1452 = getelementptr inbounds double, ptr %1446, i64 %1451
  %1453 = load double, ptr %1452, align 8, !tbaa !11
  %1454 = fmul double 0xBFF08654A2D4F6D8, %1453
  %1455 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1445, double %1454)
  %1456 = load ptr, ptr %7, align 8, !tbaa !9
  %1457 = load i32, ptr %12, align 4, !tbaa !5
  %1458 = load i32, ptr %8, align 4, !tbaa !5
  %1459 = mul nsw i32 15, %1458
  %1460 = add nsw i32 %1457, %1459
  %1461 = sext i32 %1460 to i64
  %1462 = getelementptr inbounds double, ptr %1456, i64 %1461
  %1463 = load double, ptr %1462, align 8, !tbaa !11
  %1464 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1463, double %1455)
  store double %1464, ptr %11, align 8, !tbaa !11
  %1465 = load double, ptr %11, align 8, !tbaa !11
  %1466 = load ptr, ptr %9, align 8, !tbaa !9
  %1467 = load i32, ptr %12, align 4, !tbaa !5
  %1468 = load i32, ptr %10, align 4, !tbaa !5
  %1469 = mul nsw i32 42, %1468
  %1470 = add nsw i32 %1467, %1469
  %1471 = sext i32 %1470 to i64
  %1472 = getelementptr inbounds double, ptr %1466, i64 %1471
  %1473 = load double, ptr %1472, align 8, !tbaa !11
  %1474 = fadd double %1473, %1465
  store double %1474, ptr %1472, align 8, !tbaa !11
  %1475 = load ptr, ptr %7, align 8, !tbaa !9
  %1476 = load i32, ptr %12, align 4, !tbaa !5
  %1477 = load i32, ptr %8, align 4, !tbaa !5
  %1478 = mul nsw i32 10, %1477
  %1479 = add nsw i32 %1476, %1478
  %1480 = sext i32 %1479 to i64
  %1481 = getelementptr inbounds double, ptr %1475, i64 %1480
  %1482 = load double, ptr %1481, align 8, !tbaa !11
  %1483 = load ptr, ptr %7, align 8, !tbaa !9
  %1484 = load i32, ptr %12, align 4, !tbaa !5
  %1485 = load i32, ptr %8, align 4, !tbaa !5
  %1486 = mul nsw i32 13, %1485
  %1487 = add nsw i32 %1484, %1486
  %1488 = sext i32 %1487 to i64
  %1489 = getelementptr inbounds double, ptr %1483, i64 %1488
  %1490 = load double, ptr %1489, align 8, !tbaa !11
  %1491 = fmul double 0xBFF08654A2D4F6D8, %1490
  %1492 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1482, double %1491)
  %1493 = load ptr, ptr %7, align 8, !tbaa !9
  %1494 = load i32, ptr %12, align 4, !tbaa !5
  %1495 = load i32, ptr %8, align 4, !tbaa !5
  %1496 = mul nsw i32 16, %1495
  %1497 = add nsw i32 %1494, %1496
  %1498 = sext i32 %1497 to i64
  %1499 = getelementptr inbounds double, ptr %1493, i64 %1498
  %1500 = load double, ptr %1499, align 8, !tbaa !11
  %1501 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1500, double %1492)
  store double %1501, ptr %11, align 8, !tbaa !11
  %1502 = load double, ptr %11, align 8, !tbaa !11
  %1503 = load ptr, ptr %9, align 8, !tbaa !9
  %1504 = load i32, ptr %12, align 4, !tbaa !5
  %1505 = load i32, ptr %10, align 4, !tbaa !5
  %1506 = mul nsw i32 43, %1505
  %1507 = add nsw i32 %1504, %1506
  %1508 = sext i32 %1507 to i64
  %1509 = getelementptr inbounds double, ptr %1503, i64 %1508
  %1510 = load double, ptr %1509, align 8, !tbaa !11
  %1511 = fadd double %1510, %1502
  store double %1511, ptr %1509, align 8, !tbaa !11
  %1512 = load ptr, ptr %7, align 8, !tbaa !9
  %1513 = load i32, ptr %12, align 4, !tbaa !5
  %1514 = load i32, ptr %8, align 4, !tbaa !5
  %1515 = mul nsw i32 11, %1514
  %1516 = add nsw i32 %1513, %1515
  %1517 = sext i32 %1516 to i64
  %1518 = getelementptr inbounds double, ptr %1512, i64 %1517
  %1519 = load double, ptr %1518, align 8, !tbaa !11
  %1520 = load ptr, ptr %7, align 8, !tbaa !9
  %1521 = load i32, ptr %12, align 4, !tbaa !5
  %1522 = load i32, ptr %8, align 4, !tbaa !5
  %1523 = mul nsw i32 14, %1522
  %1524 = add nsw i32 %1521, %1523
  %1525 = sext i32 %1524 to i64
  %1526 = getelementptr inbounds double, ptr %1520, i64 %1525
  %1527 = load double, ptr %1526, align 8, !tbaa !11
  %1528 = fmul double 0xBFF08654A2D4F6D8, %1527
  %1529 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1519, double %1528)
  %1530 = load ptr, ptr %7, align 8, !tbaa !9
  %1531 = load i32, ptr %12, align 4, !tbaa !5
  %1532 = load i32, ptr %8, align 4, !tbaa !5
  %1533 = mul nsw i32 17, %1532
  %1534 = add nsw i32 %1531, %1533
  %1535 = sext i32 %1534 to i64
  %1536 = getelementptr inbounds double, ptr %1530, i64 %1535
  %1537 = load double, ptr %1536, align 8, !tbaa !11
  %1538 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1537, double %1529)
  store double %1538, ptr %11, align 8, !tbaa !11
  %1539 = load double, ptr %11, align 8, !tbaa !11
  %1540 = load ptr, ptr %9, align 8, !tbaa !9
  %1541 = load i32, ptr %12, align 4, !tbaa !5
  %1542 = load i32, ptr %10, align 4, !tbaa !5
  %1543 = mul nsw i32 44, %1542
  %1544 = add nsw i32 %1541, %1543
  %1545 = sext i32 %1544 to i64
  %1546 = getelementptr inbounds double, ptr %1540, i64 %1545
  %1547 = load double, ptr %1546, align 8, !tbaa !11
  %1548 = fadd double %1547, %1539
  store double %1548, ptr %1546, 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 18, %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 21, %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 0x3FF08654A2D4F6D8, %1564
  %1566 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, 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 24, %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 0xBFE4A7E9CB8A3491, double %1574, double %1566)
  store double %1575, ptr %11, align 8, !tbaa !11
  %1576 = load double, ptr %11, align 8, !tbaa !11
  %1577 = load ptr, ptr %9, align 8, !tbaa !9
  %1578 = load i32, ptr %12, align 4, !tbaa !5
  %1579 = load i32, ptr %10, align 4, !tbaa !5
  %1580 = mul nsw i32 45, %1579
  %1581 = add nsw i32 %1578, %1580
  %1582 = sext i32 %1581 to i64
  %1583 = getelementptr inbounds double, ptr %1577, i64 %1582
  %1584 = load double, ptr %1583, align 8, !tbaa !11
  %1585 = fadd double %1584, %1576
  store double %1585, ptr %1583, align 8, !tbaa !11
  %1586 = load ptr, ptr %7, align 8, !tbaa !9
  %1587 = load i32, ptr %12, align 4, !tbaa !5
  %1588 = load i32, ptr %8, align 4, !tbaa !5
  %1589 = mul nsw i32 19, %1588
  %1590 = add nsw i32 %1587, %1589
  %1591 = sext i32 %1590 to i64
  %1592 = getelementptr inbounds double, ptr %1586, i64 %1591
  %1593 = load double, ptr %1592, align 8, !tbaa !11
  %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 22, %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 = fmul double 0x3FF08654A2D4F6D8, %1601
  %1603 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1593, double %1602)
  %1604 = load ptr, ptr %7, align 8, !tbaa !9
  %1605 = load i32, ptr %12, align 4, !tbaa !5
  %1606 = load i32, ptr %8, align 4, !tbaa !5
  %1607 = mul nsw i32 25, %1606
  %1608 = add nsw i32 %1605, %1607
  %1609 = sext i32 %1608 to i64
  %1610 = getelementptr inbounds double, ptr %1604, i64 %1609
  %1611 = load double, ptr %1610, align 8, !tbaa !11
  %1612 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1611, double %1603)
  store double %1612, ptr %11, align 8, !tbaa !11
  %1613 = load double, ptr %11, align 8, !tbaa !11
  %1614 = load ptr, ptr %9, align 8, !tbaa !9
  %1615 = load i32, ptr %12, align 4, !tbaa !5
  %1616 = load i32, ptr %10, align 4, !tbaa !5
  %1617 = mul nsw i32 46, %1616
  %1618 = add nsw i32 %1615, %1617
  %1619 = sext i32 %1618 to i64
  %1620 = getelementptr inbounds double, ptr %1614, i64 %1619
  %1621 = load double, ptr %1620, align 8, !tbaa !11
  %1622 = fadd double %1621, %1613
  store double %1622, ptr %1620, align 8, !tbaa !11
  %1623 = load ptr, ptr %7, align 8, !tbaa !9
  %1624 = load i32, ptr %12, align 4, !tbaa !5
  %1625 = load i32, ptr %8, align 4, !tbaa !5
  %1626 = mul nsw i32 20, %1625
  %1627 = add nsw i32 %1624, %1626
  %1628 = sext i32 %1627 to i64
  %1629 = getelementptr inbounds double, ptr %1623, i64 %1628
  %1630 = load double, ptr %1629, align 8, !tbaa !11
  %1631 = load ptr, ptr %7, align 8, !tbaa !9
  %1632 = load i32, ptr %12, align 4, !tbaa !5
  %1633 = load i32, ptr %8, align 4, !tbaa !5
  %1634 = mul nsw i32 23, %1633
  %1635 = add nsw i32 %1632, %1634
  %1636 = sext i32 %1635 to i64
  %1637 = getelementptr inbounds double, ptr %1631, i64 %1636
  %1638 = load double, ptr %1637, align 8, !tbaa !11
  %1639 = fmul double 0x3FF08654A2D4F6D8, %1638
  %1640 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1630, double %1639)
  %1641 = load ptr, ptr %7, align 8, !tbaa !9
  %1642 = load i32, ptr %12, align 4, !tbaa !5
  %1643 = load i32, ptr %8, align 4, !tbaa !5
  %1644 = mul nsw i32 26, %1643
  %1645 = add nsw i32 %1642, %1644
  %1646 = sext i32 %1645 to i64
  %1647 = getelementptr inbounds double, ptr %1641, i64 %1646
  %1648 = load double, ptr %1647, align 8, !tbaa !11
  %1649 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1648, double %1640)
  store double %1649, ptr %11, align 8, !tbaa !11
  %1650 = load double, ptr %11, align 8, !tbaa !11
  %1651 = load ptr, ptr %9, align 8, !tbaa !9
  %1652 = load i32, ptr %12, align 4, !tbaa !5
  %1653 = load i32, ptr %10, align 4, !tbaa !5
  %1654 = mul nsw i32 47, %1653
  %1655 = add nsw i32 %1652, %1654
  %1656 = sext i32 %1655 to i64
  %1657 = getelementptr inbounds double, ptr %1651, i64 %1656
  %1658 = load double, ptr %1657, align 8, !tbaa !11
  %1659 = fadd double %1658, %1650
  store double %1659, ptr %1657, align 8, !tbaa !11
  %1660 = load ptr, ptr %7, align 8, !tbaa !9
  %1661 = load i32, ptr %12, align 4, !tbaa !5
  %1662 = load i32, ptr %8, align 4, !tbaa !5
  %1663 = mul nsw i32 18, %1662
  %1664 = add nsw i32 %1661, %1663
  %1665 = sext i32 %1664 to i64
  %1666 = getelementptr inbounds double, ptr %1660, i64 %1665
  %1667 = load double, ptr %1666, align 8, !tbaa !11
  %1668 = load ptr, ptr %7, align 8, !tbaa !9
  %1669 = load i32, ptr %12, align 4, !tbaa !5
  %1670 = load i32, ptr %8, align 4, !tbaa !5
  %1671 = mul nsw i32 24, %1670
  %1672 = add nsw i32 %1669, %1671
  %1673 = sext i32 %1672 to i64
  %1674 = getelementptr inbounds double, ptr %1668, i64 %1673
  %1675 = load double, ptr %1674, align 8, !tbaa !11
  %1676 = fmul double 0x3FF9D1E43E6CC1B5, %1675
  %1677 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1667, double %1676)
  store double %1677, ptr %11, align 8, !tbaa !11
  %1678 = load double, ptr %11, align 8, !tbaa !11
  %1679 = load ptr, ptr %9, align 8, !tbaa !9
  %1680 = load i32, ptr %12, align 4, !tbaa !5
  %1681 = load i32, ptr %10, align 4, !tbaa !5
  %1682 = mul nsw i32 48, %1681
  %1683 = add nsw i32 %1680, %1682
  %1684 = sext i32 %1683 to i64
  %1685 = getelementptr inbounds double, ptr %1679, i64 %1684
  %1686 = load double, ptr %1685, align 8, !tbaa !11
  %1687 = fadd double %1686, %1678
  store double %1687, ptr %1685, align 8, !tbaa !11
  %1688 = load ptr, ptr %7, align 8, !tbaa !9
  %1689 = load i32, ptr %12, align 4, !tbaa !5
  %1690 = load i32, ptr %8, align 4, !tbaa !5
  %1691 = mul nsw i32 19, %1690
  %1692 = add nsw i32 %1689, %1691
  %1693 = sext i32 %1692 to i64
  %1694 = getelementptr inbounds double, ptr %1688, i64 %1693
  %1695 = load double, ptr %1694, align 8, !tbaa !11
  %1696 = load ptr, ptr %7, align 8, !tbaa !9
  %1697 = load i32, ptr %12, align 4, !tbaa !5
  %1698 = load i32, ptr %8, align 4, !tbaa !5
  %1699 = mul nsw i32 25, %1698
  %1700 = add nsw i32 %1697, %1699
  %1701 = sext i32 %1700 to i64
  %1702 = getelementptr inbounds double, ptr %1696, i64 %1701
  %1703 = load double, ptr %1702, align 8, !tbaa !11
  %1704 = fmul double 0x3FF9D1E43E6CC1B5, %1703
  %1705 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1695, double %1704)
  store double %1705, ptr %11, align 8, !tbaa !11
  %1706 = load double, ptr %11, align 8, !tbaa !11
  %1707 = load ptr, ptr %9, align 8, !tbaa !9
  %1708 = load i32, ptr %12, align 4, !tbaa !5
  %1709 = load i32, ptr %10, align 4, !tbaa !5
  %1710 = mul nsw i32 49, %1709
  %1711 = add nsw i32 %1708, %1710
  %1712 = sext i32 %1711 to i64
  %1713 = getelementptr inbounds double, ptr %1707, i64 %1712
  %1714 = load double, ptr %1713, align 8, !tbaa !11
  %1715 = fadd double %1714, %1706
  store double %1715, ptr %1713, align 8, !tbaa !11
  %1716 = load ptr, ptr %7, align 8, !tbaa !9
  %1717 = load i32, ptr %12, align 4, !tbaa !5
  %1718 = load i32, ptr %8, align 4, !tbaa !5
  %1719 = mul nsw i32 20, %1718
  %1720 = add nsw i32 %1717, %1719
  %1721 = sext i32 %1720 to i64
  %1722 = getelementptr inbounds double, ptr %1716, i64 %1721
  %1723 = load double, ptr %1722, align 8, !tbaa !11
  %1724 = load ptr, ptr %7, align 8, !tbaa !9
  %1725 = load i32, ptr %12, align 4, !tbaa !5
  %1726 = load i32, ptr %8, align 4, !tbaa !5
  %1727 = mul nsw i32 26, %1726
  %1728 = add nsw i32 %1725, %1727
  %1729 = sext i32 %1728 to i64
  %1730 = getelementptr inbounds double, ptr %1724, i64 %1729
  %1731 = load double, ptr %1730, align 8, !tbaa !11
  %1732 = fmul double 0x3FF9D1E43E6CC1B5, %1731
  %1733 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1723, double %1732)
  store double %1733, ptr %11, align 8, !tbaa !11
  %1734 = load double, ptr %11, align 8, !tbaa !11
  %1735 = load ptr, ptr %9, align 8, !tbaa !9
  %1736 = load i32, ptr %12, align 4, !tbaa !5
  %1737 = load i32, ptr %10, align 4, !tbaa !5
  %1738 = mul nsw i32 50, %1737
  %1739 = add nsw i32 %1736, %1738
  %1740 = sext i32 %1739 to i64
  %1741 = getelementptr inbounds double, ptr %1735, i64 %1740
  %1742 = load double, ptr %1741, align 8, !tbaa !11
  %1743 = fadd double %1742, %1734
  store double %1743, ptr %1741, align 8, !tbaa !11
  %1744 = load ptr, ptr %7, align 8, !tbaa !9
  %1745 = load i32, ptr %12, align 4, !tbaa !5
  %1746 = load i32, ptr %8, align 4, !tbaa !5
  %1747 = mul nsw i32 18, %1746
  %1748 = add nsw i32 %1745, %1747
  %1749 = sext i32 %1748 to i64
  %1750 = getelementptr inbounds double, ptr %1744, i64 %1749
  %1751 = load double, ptr %1750, align 8, !tbaa !11
  %1752 = load ptr, ptr %7, align 8, !tbaa !9
  %1753 = load i32, ptr %12, align 4, !tbaa !5
  %1754 = load i32, ptr %8, align 4, !tbaa !5
  %1755 = mul nsw i32 21, %1754
  %1756 = add nsw i32 %1753, %1755
  %1757 = sext i32 %1756 to i64
  %1758 = getelementptr inbounds double, ptr %1752, i64 %1757
  %1759 = load double, ptr %1758, align 8, !tbaa !11
  %1760 = fmul double 0xBFF08654A2D4F6D8, %1759
  %1761 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1751, double %1760)
  %1762 = load ptr, ptr %7, align 8, !tbaa !9
  %1763 = load i32, ptr %12, align 4, !tbaa !5
  %1764 = load i32, ptr %8, align 4, !tbaa !5
  %1765 = mul nsw i32 24, %1764
  %1766 = add nsw i32 %1763, %1765
  %1767 = sext i32 %1766 to i64
  %1768 = getelementptr inbounds double, ptr %1762, i64 %1767
  %1769 = load double, ptr %1768, align 8, !tbaa !11
  %1770 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1769, double %1761)
  store double %1770, ptr %11, align 8, !tbaa !11
  %1771 = load double, ptr %11, align 8, !tbaa !11
  %1772 = load ptr, ptr %9, align 8, !tbaa !9
  %1773 = load i32, ptr %12, align 4, !tbaa !5
  %1774 = load i32, ptr %10, align 4, !tbaa !5
  %1775 = mul nsw i32 51, %1774
  %1776 = add nsw i32 %1773, %1775
  %1777 = sext i32 %1776 to i64
  %1778 = getelementptr inbounds double, ptr %1772, i64 %1777
  %1779 = load double, ptr %1778, align 8, !tbaa !11
  %1780 = fadd double %1779, %1771
  store double %1780, ptr %1778, align 8, !tbaa !11
  %1781 = load ptr, ptr %7, align 8, !tbaa !9
  %1782 = load i32, ptr %12, align 4, !tbaa !5
  %1783 = load i32, ptr %8, align 4, !tbaa !5
  %1784 = mul nsw i32 19, %1783
  %1785 = add nsw i32 %1782, %1784
  %1786 = sext i32 %1785 to i64
  %1787 = getelementptr inbounds double, ptr %1781, i64 %1786
  %1788 = load double, ptr %1787, align 8, !tbaa !11
  %1789 = load ptr, ptr %7, align 8, !tbaa !9
  %1790 = load i32, ptr %12, align 4, !tbaa !5
  %1791 = load i32, ptr %8, align 4, !tbaa !5
  %1792 = mul nsw i32 22, %1791
  %1793 = add nsw i32 %1790, %1792
  %1794 = sext i32 %1793 to i64
  %1795 = getelementptr inbounds double, ptr %1789, i64 %1794
  %1796 = load double, ptr %1795, align 8, !tbaa !11
  %1797 = fmul double 0xBFF08654A2D4F6D8, %1796
  %1798 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1788, double %1797)
  %1799 = load ptr, ptr %7, align 8, !tbaa !9
  %1800 = load i32, ptr %12, align 4, !tbaa !5
  %1801 = load i32, ptr %8, align 4, !tbaa !5
  %1802 = mul nsw i32 25, %1801
  %1803 = add nsw i32 %1800, %1802
  %1804 = sext i32 %1803 to i64
  %1805 = getelementptr inbounds double, ptr %1799, i64 %1804
  %1806 = load double, ptr %1805, align 8, !tbaa !11
  %1807 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1806, double %1798)
  store double %1807, ptr %11, align 8, !tbaa !11
  %1808 = load double, ptr %11, align 8, !tbaa !11
  %1809 = load ptr, ptr %9, align 8, !tbaa !9
  %1810 = load i32, ptr %12, align 4, !tbaa !5
  %1811 = load i32, ptr %10, align 4, !tbaa !5
  %1812 = mul nsw i32 52, %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 = fadd double %1816, %1808
  store double %1817, ptr %1815, align 8, !tbaa !11
  %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 20, %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 = load ptr, ptr %7, align 8, !tbaa !9
  %1827 = load i32, ptr %12, align 4, !tbaa !5
  %1828 = load i32, ptr %8, align 4, !tbaa !5
  %1829 = mul nsw i32 23, %1828
  %1830 = add nsw i32 %1827, %1829
  %1831 = sext i32 %1830 to i64
  %1832 = getelementptr inbounds double, ptr %1826, i64 %1831
  %1833 = load double, ptr %1832, align 8, !tbaa !11
  %1834 = fmul double 0xBFF08654A2D4F6D8, %1833
  %1835 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1825, double %1834)
  %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 26, %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 0xBFFEFBDEB14F4ED8, double %1843, double %1835)
  store double %1844, ptr %11, align 8, !tbaa !11
  %1845 = load double, ptr %11, align 8, !tbaa !11
  %1846 = load ptr, ptr %9, align 8, !tbaa !9
  %1847 = load i32, ptr %12, align 4, !tbaa !5
  %1848 = load i32, ptr %10, align 4, !tbaa !5
  %1849 = mul nsw i32 53, %1848
  %1850 = add nsw i32 %1847, %1849
  %1851 = sext i32 %1850 to i64
  %1852 = getelementptr inbounds double, ptr %1846, i64 %1851
  %1853 = load double, ptr %1852, align 8, !tbaa !11
  %1854 = fadd double %1853, %1845
  store double %1854, ptr %1852, align 8, !tbaa !11
  %1855 = load ptr, ptr %7, align 8, !tbaa !9
  %1856 = load i32, ptr %12, align 4, !tbaa !5
  %1857 = load i32, ptr %8, align 4, !tbaa !5
  %1858 = mul nsw i32 0, %1857
  %1859 = add nsw i32 %1856, %1858
  %1860 = sext i32 %1859 to i64
  %1861 = getelementptr inbounds double, ptr %1855, i64 %1860
  %1862 = load double, ptr %1861, align 8, !tbaa !11
  %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 9, %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 = fmul double 0x3FF08654A2D4F6D8, %1870
  %1872 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1862, double %1871)
  %1873 = load ptr, ptr %7, align 8, !tbaa !9
  %1874 = load i32, ptr %12, align 4, !tbaa !5
  %1875 = load i32, ptr %8, align 4, !tbaa !5
  %1876 = mul nsw i32 18, %1875
  %1877 = add nsw i32 %1874, %1876
  %1878 = sext i32 %1877 to i64
  %1879 = getelementptr inbounds double, ptr %1873, i64 %1878
  %1880 = load double, ptr %1879, align 8, !tbaa !11
  %1881 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1880, double %1872)
  store double %1881, ptr %11, align 8, !tbaa !11
  %1882 = load double, ptr %11, align 8, !tbaa !11
  %1883 = load ptr, ptr %9, align 8, !tbaa !9
  %1884 = load i32, ptr %12, align 4, !tbaa !5
  %1885 = load i32, ptr %10, align 4, !tbaa !5
  %1886 = mul nsw i32 54, %1885
  %1887 = add nsw i32 %1884, %1886
  %1888 = sext i32 %1887 to i64
  %1889 = getelementptr inbounds double, ptr %1883, i64 %1888
  %1890 = load double, ptr %1889, align 8, !tbaa !11
  %1891 = fadd double %1890, %1882
  store double %1891, ptr %1889, align 8, !tbaa !11
  %1892 = load ptr, ptr %7, align 8, !tbaa !9
  %1893 = load i32, ptr %12, align 4, !tbaa !5
  %1894 = load i32, ptr %8, align 4, !tbaa !5
  %1895 = mul nsw i32 1, %1894
  %1896 = add nsw i32 %1893, %1895
  %1897 = sext i32 %1896 to i64
  %1898 = getelementptr inbounds double, ptr %1892, i64 %1897
  %1899 = load double, ptr %1898, align 8, !tbaa !11
  %1900 = load ptr, ptr %7, align 8, !tbaa !9
  %1901 = load i32, ptr %12, align 4, !tbaa !5
  %1902 = load i32, ptr %8, align 4, !tbaa !5
  %1903 = mul nsw i32 10, %1902
  %1904 = add nsw i32 %1901, %1903
  %1905 = sext i32 %1904 to i64
  %1906 = getelementptr inbounds double, ptr %1900, i64 %1905
  %1907 = load double, ptr %1906, align 8, !tbaa !11
  %1908 = fmul double 0x3FF08654A2D4F6D8, %1907
  %1909 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1899, double %1908)
  %1910 = load ptr, ptr %7, align 8, !tbaa !9
  %1911 = load i32, ptr %12, align 4, !tbaa !5
  %1912 = load i32, ptr %8, align 4, !tbaa !5
  %1913 = mul nsw i32 19, %1912
  %1914 = add nsw i32 %1911, %1913
  %1915 = sext i32 %1914 to i64
  %1916 = getelementptr inbounds double, ptr %1910, i64 %1915
  %1917 = load double, ptr %1916, align 8, !tbaa !11
  %1918 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1917, double %1909)
  store double %1918, ptr %11, align 8, !tbaa !11
  %1919 = load double, ptr %11, align 8, !tbaa !11
  %1920 = load ptr, ptr %9, align 8, !tbaa !9
  %1921 = load i32, ptr %12, align 4, !tbaa !5
  %1922 = load i32, ptr %10, align 4, !tbaa !5
  %1923 = mul nsw i32 55, %1922
  %1924 = add nsw i32 %1921, %1923
  %1925 = sext i32 %1924 to i64
  %1926 = getelementptr inbounds double, ptr %1920, i64 %1925
  %1927 = load double, ptr %1926, align 8, !tbaa !11
  %1928 = fadd double %1927, %1919
  store double %1928, ptr %1926, align 8, !tbaa !11
  %1929 = load ptr, ptr %7, align 8, !tbaa !9
  %1930 = load i32, ptr %12, align 4, !tbaa !5
  %1931 = load i32, ptr %8, align 4, !tbaa !5
  %1932 = mul nsw i32 2, %1931
  %1933 = add nsw i32 %1930, %1932
  %1934 = sext i32 %1933 to i64
  %1935 = getelementptr inbounds double, ptr %1929, i64 %1934
  %1936 = load double, ptr %1935, align 8, !tbaa !11
  %1937 = load ptr, ptr %7, align 8, !tbaa !9
  %1938 = load i32, ptr %12, align 4, !tbaa !5
  %1939 = load i32, ptr %8, align 4, !tbaa !5
  %1940 = mul nsw i32 11, %1939
  %1941 = add nsw i32 %1938, %1940
  %1942 = sext i32 %1941 to i64
  %1943 = getelementptr inbounds double, ptr %1937, i64 %1942
  %1944 = load double, ptr %1943, align 8, !tbaa !11
  %1945 = fmul double 0x3FF08654A2D4F6D8, %1944
  %1946 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1936, double %1945)
  %1947 = load ptr, ptr %7, align 8, !tbaa !9
  %1948 = load i32, ptr %12, align 4, !tbaa !5
  %1949 = load i32, ptr %8, align 4, !tbaa !5
  %1950 = mul nsw i32 20, %1949
  %1951 = add nsw i32 %1948, %1950
  %1952 = sext i32 %1951 to i64
  %1953 = getelementptr inbounds double, ptr %1947, i64 %1952
  %1954 = load double, ptr %1953, align 8, !tbaa !11
  %1955 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1954, double %1946)
  store double %1955, ptr %11, align 8, !tbaa !11
  %1956 = load double, ptr %11, align 8, !tbaa !11
  %1957 = load ptr, ptr %9, align 8, !tbaa !9
  %1958 = load i32, ptr %12, align 4, !tbaa !5
  %1959 = load i32, ptr %10, align 4, !tbaa !5
  %1960 = mul nsw i32 56, %1959
  %1961 = add nsw i32 %1958, %1960
  %1962 = sext i32 %1961 to i64
  %1963 = getelementptr inbounds double, ptr %1957, i64 %1962
  %1964 = load double, ptr %1963, align 8, !tbaa !11
  %1965 = fadd double %1964, %1956
  store double %1965, ptr %1963, align 8, !tbaa !11
  %1966 = load ptr, ptr %7, align 8, !tbaa !9
  %1967 = load i32, ptr %12, align 4, !tbaa !5
  %1968 = load i32, ptr %8, align 4, !tbaa !5
  %1969 = mul nsw i32 3, %1968
  %1970 = add nsw i32 %1967, %1969
  %1971 = sext i32 %1970 to i64
  %1972 = getelementptr inbounds double, ptr %1966, i64 %1971
  %1973 = load double, ptr %1972, align 8, !tbaa !11
  %1974 = load ptr, ptr %7, align 8, !tbaa !9
  %1975 = load i32, ptr %12, align 4, !tbaa !5
  %1976 = load i32, ptr %8, align 4, !tbaa !5
  %1977 = mul nsw i32 12, %1976
  %1978 = add nsw i32 %1975, %1977
  %1979 = sext i32 %1978 to i64
  %1980 = getelementptr inbounds double, ptr %1974, i64 %1979
  %1981 = load double, ptr %1980, align 8, !tbaa !11
  %1982 = fmul double 0x3FF08654A2D4F6D8, %1981
  %1983 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1973, double %1982)
  %1984 = load ptr, ptr %7, align 8, !tbaa !9
  %1985 = load i32, ptr %12, align 4, !tbaa !5
  %1986 = load i32, ptr %8, align 4, !tbaa !5
  %1987 = mul nsw i32 21, %1986
  %1988 = add nsw i32 %1985, %1987
  %1989 = sext i32 %1988 to i64
  %1990 = getelementptr inbounds double, ptr %1984, i64 %1989
  %1991 = load double, ptr %1990, align 8, !tbaa !11
  %1992 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1991, double %1983)
  store double %1992, ptr %11, align 8, !tbaa !11
  %1993 = load double, ptr %11, align 8, !tbaa !11
  %1994 = load ptr, ptr %9, align 8, !tbaa !9
  %1995 = load i32, ptr %12, align 4, !tbaa !5
  %1996 = load i32, ptr %10, align 4, !tbaa !5
  %1997 = mul nsw i32 57, %1996
  %1998 = add nsw i32 %1995, %1997
  %1999 = sext i32 %1998 to i64
  %2000 = getelementptr inbounds double, ptr %1994, i64 %1999
  %2001 = load double, ptr %2000, align 8, !tbaa !11
  %2002 = fadd double %2001, %1993
  store double %2002, ptr %2000, align 8, !tbaa !11
  %2003 = load ptr, ptr %7, align 8, !tbaa !9
  %2004 = load i32, ptr %12, align 4, !tbaa !5
  %2005 = load i32, ptr %8, align 4, !tbaa !5
  %2006 = mul nsw i32 4, %2005
  %2007 = add nsw i32 %2004, %2006
  %2008 = sext i32 %2007 to i64
  %2009 = getelementptr inbounds double, ptr %2003, i64 %2008
  %2010 = load double, ptr %2009, align 8, !tbaa !11
  %2011 = load ptr, ptr %7, align 8, !tbaa !9
  %2012 = load i32, ptr %12, align 4, !tbaa !5
  %2013 = load i32, ptr %8, align 4, !tbaa !5
  %2014 = mul nsw i32 13, %2013
  %2015 = add nsw i32 %2012, %2014
  %2016 = sext i32 %2015 to i64
  %2017 = getelementptr inbounds double, ptr %2011, i64 %2016
  %2018 = load double, ptr %2017, align 8, !tbaa !11
  %2019 = fmul double 0x3FF08654A2D4F6D8, %2018
  %2020 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %2010, double %2019)
  %2021 = load ptr, ptr %7, align 8, !tbaa !9
  %2022 = load i32, ptr %12, align 4, !tbaa !5
  %2023 = load i32, ptr %8, align 4, !tbaa !5
  %2024 = mul nsw i32 22, %2023
  %2025 = add nsw i32 %2022, %2024
  %2026 = sext i32 %2025 to i64
  %2027 = getelementptr inbounds double, ptr %2021, i64 %2026
  %2028 = load double, ptr %2027, align 8, !tbaa !11
  %2029 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %2028, double %2020)
  store double %2029, ptr %11, align 8, !tbaa !11
  %2030 = load double, ptr %11, align 8, !tbaa !11
  %2031 = load ptr, ptr %9, align 8, !tbaa !9
  %2032 = load i32, ptr %12, align 4, !tbaa !5
  %2033 = load i32, ptr %10, align 4, !tbaa !5
  %2034 = mul nsw i32 58, %2033
  %2035 = add nsw i32 %2032, %2034
  %2036 = sext i32 %2035 to i64
  %2037 = getelementptr inbounds double, ptr %2031, i64 %2036
  %2038 = load double, ptr %2037, align 8, !tbaa !11
  %2039 = fadd double %2038, %2030
  store double %2039, ptr %2037, align 8, !tbaa !11
  %2040 = load ptr, ptr %7, align 8, !tbaa !9
  %2041 = load i32, ptr %12, align 4, !tbaa !5
  %2042 = load i32, ptr %8, align 4, !tbaa !5
  %2043 = mul nsw i32 5, %2042
  %2044 = add nsw i32 %2041, %2043
  %2045 = sext i32 %2044 to i64
  %2046 = getelementptr inbounds double, ptr %2040, i64 %2045
  %2047 = load double, ptr %2046, align 8, !tbaa !11
  %2048 = load ptr, ptr %7, align 8, !tbaa !9
  %2049 = load i32, ptr %12, align 4, !tbaa !5
  %2050 = load i32, ptr %8, align 4, !tbaa !5
  %2051 = mul nsw i32 14, %2050
  %2052 = add nsw i32 %2049, %2051
  %2053 = sext i32 %2052 to i64
  %2054 = getelementptr inbounds double, ptr %2048, i64 %2053
  %2055 = load double, ptr %2054, align 8, !tbaa !11
  %2056 = fmul double 0x3FF08654A2D4F6D8, %2055
  %2057 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %2047, double %2056)
  %2058 = load ptr, ptr %7, align 8, !tbaa !9
  %2059 = load i32, ptr %12, align 4, !tbaa !5
  %2060 = load i32, ptr %8, align 4, !tbaa !5
  %2061 = mul nsw i32 23, %2060
  %2062 = add nsw i32 %2059, %2061
  %2063 = sext i32 %2062 to i64
  %2064 = getelementptr inbounds double, ptr %2058, i64 %2063
  %2065 = load double, ptr %2064, align 8, !tbaa !11
  %2066 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %2065, double %2057)
  store double %2066, ptr %11, align 8, !tbaa !11
  %2067 = load double, ptr %11, align 8, !tbaa !11
  %2068 = load ptr, ptr %9, align 8, !tbaa !9
  %2069 = load i32, ptr %12, align 4, !tbaa !5
  %2070 = load i32, ptr %10, align 4, !tbaa !5
  %2071 = mul nsw i32 59, %2070
  %2072 = add nsw i32 %2069, %2071
  %2073 = sext i32 %2072 to i64
  %2074 = getelementptr inbounds double, ptr %2068, i64 %2073
  %2075 = load double, ptr %2074, align 8, !tbaa !11
  %2076 = fadd double %2075, %2067
  store double %2076, ptr %2074, align 8, !tbaa !11
  %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 6, %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 = load ptr, ptr %7, align 8, !tbaa !9
  %2086 = load i32, ptr %12, align 4, !tbaa !5
  %2087 = load i32, ptr %8, align 4, !tbaa !5
  %2088 = mul nsw i32 15, %2087
  %2089 = add nsw i32 %2086, %2088
  %2090 = sext i32 %2089 to i64
  %2091 = getelementptr inbounds double, ptr %2085, i64 %2090
  %2092 = load double, ptr %2091, align 8, !tbaa !11
  %2093 = fmul double 0x3FF08654A2D4F6D8, %2092
  %2094 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %2084, double %2093)
  %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 24, %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 0xBFE4A7E9CB8A3491, double %2102, double %2094)
  store double %2103, ptr %11, align 8, !tbaa !11
  %2104 = load double, ptr %11, align 8, !tbaa !11
  %2105 = load ptr, ptr %9, align 8, !tbaa !9
  %2106 = load i32, ptr %12, align 4, !tbaa !5
  %2107 = load i32, ptr %10, align 4, !tbaa !5
  %2108 = mul nsw i32 60, %2107
  %2109 = add nsw i32 %2106, %2108
  %2110 = sext i32 %2109 to i64
  %2111 = getelementptr inbounds double, ptr %2105, i64 %2110
  %2112 = load double, ptr %2111, align 8, !tbaa !11
  %2113 = fadd double %2112, %2104
  store double %2113, ptr %2111, align 8, !tbaa !11
  %2114 = load ptr, ptr %7, align 8, !tbaa !9
  %2115 = load i32, ptr %12, align 4, !tbaa !5
  %2116 = load i32, ptr %8, align 4, !tbaa !5
  %2117 = mul nsw i32 7, %2116
  %2118 = add nsw i32 %2115, %2117
  %2119 = sext i32 %2118 to i64
  %2120 = getelementptr inbounds double, ptr %2114, i64 %2119
  %2121 = load double, ptr %2120, align 8, !tbaa !11
  %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 16, %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 = fmul double 0x3FF08654A2D4F6D8, %2129
  %2131 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %2121, double %2130)
  %2132 = load ptr, ptr %7, align 8, !tbaa !9
  %2133 = load i32, ptr %12, align 4, !tbaa !5
  %2134 = load i32, ptr %8, align 4, !tbaa !5
  %2135 = mul nsw i32 25, %2134
  %2136 = add nsw i32 %2133, %2135
  %2137 = sext i32 %2136 to i64
  %2138 = getelementptr inbounds double, ptr %2132, i64 %2137
  %2139 = load double, ptr %2138, align 8, !tbaa !11
  %2140 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %2139, double %2131)
  store double %2140, ptr %11, align 8, !tbaa !11
  %2141 = load double, ptr %11, align 8, !tbaa !11
  %2142 = load ptr, ptr %9, align 8, !tbaa !9
  %2143 = load i32, ptr %12, align 4, !tbaa !5
  %2144 = load i32, ptr %10, align 4, !tbaa !5
  %2145 = mul nsw i32 61, %2144
  %2146 = add nsw i32 %2143, %2145
  %2147 = sext i32 %2146 to i64
  %2148 = getelementptr inbounds double, ptr %2142, i64 %2147
  %2149 = load double, ptr %2148, align 8, !tbaa !11
  %2150 = fadd double %2149, %2141
  store double %2150, ptr %2148, align 8, !tbaa !11
  %2151 = load ptr, ptr %7, align 8, !tbaa !9
  %2152 = load i32, ptr %12, align 4, !tbaa !5
  %2153 = load i32, ptr %8, align 4, !tbaa !5
  %2154 = mul nsw i32 8, %2153
  %2155 = add nsw i32 %2152, %2154
  %2156 = sext i32 %2155 to i64
  %2157 = getelementptr inbounds double, ptr %2151, i64 %2156
  %2158 = load double, ptr %2157, align 8, !tbaa !11
  %2159 = load ptr, ptr %7, align 8, !tbaa !9
  %2160 = load i32, ptr %12, align 4, !tbaa !5
  %2161 = load i32, ptr %8, align 4, !tbaa !5
  %2162 = mul nsw i32 17, %2161
  %2163 = add nsw i32 %2160, %2162
  %2164 = sext i32 %2163 to i64
  %2165 = getelementptr inbounds double, ptr %2159, i64 %2164
  %2166 = load double, ptr %2165, align 8, !tbaa !11
  %2167 = fmul double 0x3FF08654A2D4F6D8, %2166
  %2168 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %2158, double %2167)
  %2169 = load ptr, ptr %7, align 8, !tbaa !9
  %2170 = load i32, ptr %12, align 4, !tbaa !5
  %2171 = load i32, ptr %8, align 4, !tbaa !5
  %2172 = mul nsw i32 26, %2171
  %2173 = add nsw i32 %2170, %2172
  %2174 = sext i32 %2173 to i64
  %2175 = getelementptr inbounds double, ptr %2169, i64 %2174
  %2176 = load double, ptr %2175, align 8, !tbaa !11
  %2177 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %2176, double %2168)
  store double %2177, ptr %11, align 8, !tbaa !11
  %2178 = load double, ptr %11, align 8, !tbaa !11
  %2179 = load ptr, ptr %9, align 8, !tbaa !9
  %2180 = load i32, ptr %12, align 4, !tbaa !5
  %2181 = load i32, ptr %10, align 4, !tbaa !5
  %2182 = mul nsw i32 62, %2181
  %2183 = add nsw i32 %2180, %2182
  %2184 = sext i32 %2183 to i64
  %2185 = getelementptr inbounds double, ptr %2179, i64 %2184
  %2186 = load double, ptr %2185, align 8, !tbaa !11
  %2187 = fadd double %2186, %2178
  store double %2187, ptr %2185, align 8, !tbaa !11
  %2188 = load ptr, ptr %7, align 8, !tbaa !9
  %2189 = load i32, ptr %12, align 4, !tbaa !5
  %2190 = load i32, ptr %8, align 4, !tbaa !5
  %2191 = mul nsw i32 0, %2190
  %2192 = add nsw i32 %2189, %2191
  %2193 = sext i32 %2192 to i64
  %2194 = getelementptr inbounds double, ptr %2188, i64 %2193
  %2195 = load double, ptr %2194, align 8, !tbaa !11
  %2196 = load ptr, ptr %7, align 8, !tbaa !9
  %2197 = load i32, ptr %12, align 4, !tbaa !5
  %2198 = load i32, ptr %8, align 4, !tbaa !5
  %2199 = mul nsw i32 18, %2198
  %2200 = add nsw i32 %2197, %2199
  %2201 = sext i32 %2200 to i64
  %2202 = getelementptr inbounds double, ptr %2196, i64 %2201
  %2203 = load double, ptr %2202, align 8, !tbaa !11
  %2204 = fmul double 0x3FF9D1E43E6CC1B5, %2203
  %2205 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2195, double %2204)
  store double %2205, ptr %11, align 8, !tbaa !11
  %2206 = load double, ptr %11, align 8, !tbaa !11
  %2207 = load ptr, ptr %9, align 8, !tbaa !9
  %2208 = load i32, ptr %12, align 4, !tbaa !5
  %2209 = load i32, ptr %10, align 4, !tbaa !5
  %2210 = mul nsw i32 63, %2209
  %2211 = add nsw i32 %2208, %2210
  %2212 = sext i32 %2211 to i64
  %2213 = getelementptr inbounds double, ptr %2207, i64 %2212
  %2214 = load double, ptr %2213, align 8, !tbaa !11
  %2215 = fadd double %2214, %2206
  store double %2215, ptr %2213, align 8, !tbaa !11
  %2216 = load ptr, ptr %7, align 8, !tbaa !9
  %2217 = load i32, ptr %12, align 4, !tbaa !5
  %2218 = load i32, ptr %8, align 4, !tbaa !5
  %2219 = mul nsw i32 1, %2218
  %2220 = add nsw i32 %2217, %2219
  %2221 = sext i32 %2220 to i64
  %2222 = getelementptr inbounds double, ptr %2216, i64 %2221
  %2223 = load double, ptr %2222, align 8, !tbaa !11
  %2224 = load ptr, ptr %7, align 8, !tbaa !9
  %2225 = load i32, ptr %12, align 4, !tbaa !5
  %2226 = load i32, ptr %8, align 4, !tbaa !5
  %2227 = mul nsw i32 19, %2226
  %2228 = add nsw i32 %2225, %2227
  %2229 = sext i32 %2228 to i64
  %2230 = getelementptr inbounds double, ptr %2224, i64 %2229
  %2231 = load double, ptr %2230, align 8, !tbaa !11
  %2232 = fmul double 0x3FF9D1E43E6CC1B5, %2231
  %2233 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2223, double %2232)
  store double %2233, ptr %11, align 8, !tbaa !11
  %2234 = load double, ptr %11, align 8, !tbaa !11
  %2235 = load ptr, ptr %9, align 8, !tbaa !9
  %2236 = load i32, ptr %12, align 4, !tbaa !5
  %2237 = load i32, ptr %10, align 4, !tbaa !5
  %2238 = mul nsw i32 64, %2237
  %2239 = add nsw i32 %2236, %2238
  %2240 = sext i32 %2239 to i64
  %2241 = getelementptr inbounds double, ptr %2235, i64 %2240
  %2242 = load double, ptr %2241, align 8, !tbaa !11
  %2243 = fadd double %2242, %2234
  store double %2243, ptr %2241, align 8, !tbaa !11
  %2244 = load ptr, ptr %7, align 8, !tbaa !9
  %2245 = load i32, ptr %12, align 4, !tbaa !5
  %2246 = load i32, ptr %8, align 4, !tbaa !5
  %2247 = mul nsw i32 2, %2246
  %2248 = add nsw i32 %2245, %2247
  %2249 = sext i32 %2248 to i64
  %2250 = getelementptr inbounds double, ptr %2244, i64 %2249
  %2251 = load double, ptr %2250, align 8, !tbaa !11
  %2252 = load ptr, ptr %7, align 8, !tbaa !9
  %2253 = load i32, ptr %12, align 4, !tbaa !5
  %2254 = load i32, ptr %8, align 4, !tbaa !5
  %2255 = mul nsw i32 20, %2254
  %2256 = add nsw i32 %2253, %2255
  %2257 = sext i32 %2256 to i64
  %2258 = getelementptr inbounds double, ptr %2252, i64 %2257
  %2259 = load double, ptr %2258, align 8, !tbaa !11
  %2260 = fmul double 0x3FF9D1E43E6CC1B5, %2259
  %2261 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2251, double %2260)
  store double %2261, ptr %11, align 8, !tbaa !11
  %2262 = load double, ptr %11, align 8, !tbaa !11
  %2263 = load ptr, ptr %9, align 8, !tbaa !9
  %2264 = load i32, ptr %12, align 4, !tbaa !5
  %2265 = load i32, ptr %10, align 4, !tbaa !5
  %2266 = mul nsw i32 65, %2265
  %2267 = add nsw i32 %2264, %2266
  %2268 = sext i32 %2267 to i64
  %2269 = getelementptr inbounds double, ptr %2263, i64 %2268
  %2270 = load double, ptr %2269, align 8, !tbaa !11
  %2271 = fadd double %2270, %2262
  store double %2271, ptr %2269, align 8, !tbaa !11
  %2272 = load ptr, ptr %7, align 8, !tbaa !9
  %2273 = load i32, ptr %12, align 4, !tbaa !5
  %2274 = load i32, ptr %8, align 4, !tbaa !5
  %2275 = mul nsw i32 3, %2274
  %2276 = add nsw i32 %2273, %2275
  %2277 = sext i32 %2276 to i64
  %2278 = getelementptr inbounds double, ptr %2272, i64 %2277
  %2279 = load double, ptr %2278, align 8, !tbaa !11
  %2280 = load ptr, ptr %7, align 8, !tbaa !9
  %2281 = load i32, ptr %12, align 4, !tbaa !5
  %2282 = load i32, ptr %8, align 4, !tbaa !5
  %2283 = mul nsw i32 21, %2282
  %2284 = add nsw i32 %2281, %2283
  %2285 = sext i32 %2284 to i64
  %2286 = getelementptr inbounds double, ptr %2280, i64 %2285
  %2287 = load double, ptr %2286, align 8, !tbaa !11
  %2288 = fmul double 0x3FF9D1E43E6CC1B5, %2287
  %2289 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2279, double %2288)
  store double %2289, ptr %11, align 8, !tbaa !11
  %2290 = load double, ptr %11, align 8, !tbaa !11
  %2291 = load ptr, ptr %9, align 8, !tbaa !9
  %2292 = load i32, ptr %12, align 4, !tbaa !5
  %2293 = load i32, ptr %10, align 4, !tbaa !5
  %2294 = mul nsw i32 66, %2293
  %2295 = add nsw i32 %2292, %2294
  %2296 = sext i32 %2295 to i64
  %2297 = getelementptr inbounds double, ptr %2291, i64 %2296
  %2298 = load double, ptr %2297, align 8, !tbaa !11
  %2299 = fadd double %2298, %2290
  store double %2299, ptr %2297, align 8, !tbaa !11
  %2300 = load ptr, ptr %7, align 8, !tbaa !9
  %2301 = load i32, ptr %12, align 4, !tbaa !5
  %2302 = load i32, ptr %8, align 4, !tbaa !5
  %2303 = mul nsw i32 4, %2302
  %2304 = add nsw i32 %2301, %2303
  %2305 = sext i32 %2304 to i64
  %2306 = getelementptr inbounds double, ptr %2300, i64 %2305
  %2307 = load double, ptr %2306, align 8, !tbaa !11
  %2308 = load ptr, ptr %7, align 8, !tbaa !9
  %2309 = load i32, ptr %12, align 4, !tbaa !5
  %2310 = load i32, ptr %8, align 4, !tbaa !5
  %2311 = mul nsw i32 22, %2310
  %2312 = add nsw i32 %2309, %2311
  %2313 = sext i32 %2312 to i64
  %2314 = getelementptr inbounds double, ptr %2308, i64 %2313
  %2315 = load double, ptr %2314, align 8, !tbaa !11
  %2316 = fmul double 0x3FF9D1E43E6CC1B5, %2315
  %2317 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2307, double %2316)
  store double %2317, ptr %11, align 8, !tbaa !11
  %2318 = load double, ptr %11, align 8, !tbaa !11
  %2319 = load ptr, ptr %9, align 8, !tbaa !9
  %2320 = load i32, ptr %12, align 4, !tbaa !5
  %2321 = load i32, ptr %10, align 4, !tbaa !5
  %2322 = mul nsw i32 67, %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 = fadd double %2326, %2318
  store double %2327, ptr %2325, align 8, !tbaa !11
  %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 5, %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 = load ptr, ptr %7, align 8, !tbaa !9
  %2337 = load i32, ptr %12, align 4, !tbaa !5
  %2338 = load i32, ptr %8, align 4, !tbaa !5
  %2339 = mul nsw i32 23, %2338
  %2340 = add nsw i32 %2337, %2339
  %2341 = sext i32 %2340 to i64
  %2342 = getelementptr inbounds double, ptr %2336, i64 %2341
  %2343 = load double, ptr %2342, align 8, !tbaa !11
  %2344 = fmul double 0x3FF9D1E43E6CC1B5, %2343
  %2345 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2335, double %2344)
  store double %2345, ptr %11, align 8, !tbaa !11
  %2346 = load double, ptr %11, align 8, !tbaa !11
  %2347 = load ptr, ptr %9, align 8, !tbaa !9
  %2348 = load i32, ptr %12, align 4, !tbaa !5
  %2349 = load i32, ptr %10, align 4, !tbaa !5
  %2350 = mul nsw i32 68, %2349
  %2351 = add nsw i32 %2348, %2350
  %2352 = sext i32 %2351 to i64
  %2353 = getelementptr inbounds double, ptr %2347, i64 %2352
  %2354 = load double, ptr %2353, align 8, !tbaa !11
  %2355 = fadd double %2354, %2346
  store double %2355, ptr %2353, align 8, !tbaa !11
  %2356 = load ptr, ptr %7, align 8, !tbaa !9
  %2357 = load i32, ptr %12, align 4, !tbaa !5
  %2358 = load i32, ptr %8, align 4, !tbaa !5
  %2359 = mul nsw i32 6, %2358
  %2360 = add nsw i32 %2357, %2359
  %2361 = sext i32 %2360 to i64
  %2362 = getelementptr inbounds double, ptr %2356, i64 %2361
  %2363 = load double, ptr %2362, align 8, !tbaa !11
  %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 24, %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 = fmul double 0x3FF9D1E43E6CC1B5, %2371
  %2373 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2363, double %2372)
  store double %2373, ptr %11, align 8, !tbaa !11
  %2374 = load double, ptr %11, align 8, !tbaa !11
  %2375 = load ptr, ptr %9, align 8, !tbaa !9
  %2376 = load i32, ptr %12, align 4, !tbaa !5
  %2377 = load i32, ptr %10, align 4, !tbaa !5
  %2378 = mul nsw i32 69, %2377
  %2379 = add nsw i32 %2376, %2378
  %2380 = sext i32 %2379 to i64
  %2381 = getelementptr inbounds double, ptr %2375, i64 %2380
  %2382 = load double, ptr %2381, align 8, !tbaa !11
  %2383 = fadd double %2382, %2374
  store double %2383, ptr %2381, align 8, !tbaa !11
  %2384 = load ptr, ptr %7, align 8, !tbaa !9
  %2385 = load i32, ptr %12, align 4, !tbaa !5
  %2386 = load i32, ptr %8, align 4, !tbaa !5
  %2387 = mul nsw i32 7, %2386
  %2388 = add nsw i32 %2385, %2387
  %2389 = sext i32 %2388 to i64
  %2390 = getelementptr inbounds double, ptr %2384, i64 %2389
  %2391 = load double, ptr %2390, align 8, !tbaa !11
  %2392 = load ptr, ptr %7, align 8, !tbaa !9
  %2393 = load i32, ptr %12, align 4, !tbaa !5
  %2394 = load i32, ptr %8, align 4, !tbaa !5
  %2395 = mul nsw i32 25, %2394
  %2396 = add nsw i32 %2393, %2395
  %2397 = sext i32 %2396 to i64
  %2398 = getelementptr inbounds double, ptr %2392, i64 %2397
  %2399 = load double, ptr %2398, align 8, !tbaa !11
  %2400 = fmul double 0x3FF9D1E43E6CC1B5, %2399
  %2401 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2391, double %2400)
  store double %2401, ptr %11, align 8, !tbaa !11
  %2402 = load double, ptr %11, align 8, !tbaa !11
  %2403 = load ptr, ptr %9, align 8, !tbaa !9
  %2404 = load i32, ptr %12, align 4, !tbaa !5
  %2405 = load i32, ptr %10, align 4, !tbaa !5
  %2406 = mul nsw i32 70, %2405
  %2407 = add nsw i32 %2404, %2406
  %2408 = sext i32 %2407 to i64
  %2409 = getelementptr inbounds double, ptr %2403, i64 %2408
  %2410 = load double, ptr %2409, align 8, !tbaa !11
  %2411 = fadd double %2410, %2402
  store double %2411, ptr %2409, align 8, !tbaa !11
  %2412 = load ptr, ptr %7, align 8, !tbaa !9
  %2413 = load i32, ptr %12, align 4, !tbaa !5
  %2414 = load i32, ptr %8, align 4, !tbaa !5
  %2415 = mul nsw i32 8, %2414
  %2416 = add nsw i32 %2413, %2415
  %2417 = sext i32 %2416 to i64
  %2418 = getelementptr inbounds double, ptr %2412, i64 %2417
  %2419 = load double, ptr %2418, align 8, !tbaa !11
  %2420 = load ptr, ptr %7, align 8, !tbaa !9
  %2421 = load i32, ptr %12, align 4, !tbaa !5
  %2422 = load i32, ptr %8, align 4, !tbaa !5
  %2423 = mul nsw i32 26, %2422
  %2424 = add nsw i32 %2421, %2423
  %2425 = sext i32 %2424 to i64
  %2426 = getelementptr inbounds double, ptr %2420, i64 %2425
  %2427 = load double, ptr %2426, align 8, !tbaa !11
  %2428 = fmul double 0x3FF9D1E43E6CC1B5, %2427
  %2429 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2419, double %2428)
  store double %2429, ptr %11, align 8, !tbaa !11
  %2430 = load double, ptr %11, align 8, !tbaa !11
  %2431 = load ptr, ptr %9, align 8, !tbaa !9
  %2432 = load i32, ptr %12, align 4, !tbaa !5
  %2433 = load i32, ptr %10, align 4, !tbaa !5
  %2434 = mul nsw i32 71, %2433
  %2435 = add nsw i32 %2432, %2434
  %2436 = sext i32 %2435 to i64
  %2437 = getelementptr inbounds double, ptr %2431, i64 %2436
  %2438 = load double, ptr %2437, align 8, !tbaa !11
  %2439 = fadd double %2438, %2430
  store double %2439, ptr %2437, align 8, !tbaa !11
  %2440 = load ptr, ptr %7, align 8, !tbaa !9
  %2441 = load i32, ptr %12, align 4, !tbaa !5
  %2442 = load i32, ptr %8, align 4, !tbaa !5
  %2443 = mul nsw i32 0, %2442
  %2444 = add nsw i32 %2441, %2443
  %2445 = sext i32 %2444 to i64
  %2446 = getelementptr inbounds double, ptr %2440, i64 %2445
  %2447 = load double, ptr %2446, align 8, !tbaa !11
  %2448 = load ptr, ptr %7, align 8, !tbaa !9
  %2449 = load i32, ptr %12, align 4, !tbaa !5
  %2450 = load i32, ptr %8, align 4, !tbaa !5
  %2451 = mul nsw i32 9, %2450
  %2452 = add nsw i32 %2449, %2451
  %2453 = sext i32 %2452 to i64
  %2454 = getelementptr inbounds double, ptr %2448, i64 %2453
  %2455 = load double, ptr %2454, align 8, !tbaa !11
  %2456 = fmul double 0xBFF08654A2D4F6D8, %2455
  %2457 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2447, double %2456)
  %2458 = load ptr, ptr %7, align 8, !tbaa !9
  %2459 = load i32, ptr %12, align 4, !tbaa !5
  %2460 = load i32, ptr %8, align 4, !tbaa !5
  %2461 = mul nsw i32 18, %2460
  %2462 = add nsw i32 %2459, %2461
  %2463 = sext i32 %2462 to i64
  %2464 = getelementptr inbounds double, ptr %2458, i64 %2463
  %2465 = load double, ptr %2464, align 8, !tbaa !11
  %2466 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2465, double %2457)
  store double %2466, ptr %11, align 8, !tbaa !11
  %2467 = load double, ptr %11, align 8, !tbaa !11
  %2468 = load ptr, ptr %9, align 8, !tbaa !9
  %2469 = load i32, ptr %12, align 4, !tbaa !5
  %2470 = load i32, ptr %10, align 4, !tbaa !5
  %2471 = mul nsw i32 72, %2470
  %2472 = add nsw i32 %2469, %2471
  %2473 = sext i32 %2472 to i64
  %2474 = getelementptr inbounds double, ptr %2468, i64 %2473
  %2475 = load double, ptr %2474, align 8, !tbaa !11
  %2476 = fadd double %2475, %2467
  store double %2476, ptr %2474, align 8, !tbaa !11
  %2477 = load ptr, ptr %7, align 8, !tbaa !9
  %2478 = load i32, ptr %12, align 4, !tbaa !5
  %2479 = load i32, ptr %8, align 4, !tbaa !5
  %2480 = mul nsw i32 1, %2479
  %2481 = add nsw i32 %2478, %2480
  %2482 = sext i32 %2481 to i64
  %2483 = getelementptr inbounds double, ptr %2477, i64 %2482
  %2484 = load double, ptr %2483, align 8, !tbaa !11
  %2485 = load ptr, ptr %7, align 8, !tbaa !9
  %2486 = load i32, ptr %12, align 4, !tbaa !5
  %2487 = load i32, ptr %8, align 4, !tbaa !5
  %2488 = mul nsw i32 10, %2487
  %2489 = add nsw i32 %2486, %2488
  %2490 = sext i32 %2489 to i64
  %2491 = getelementptr inbounds double, ptr %2485, i64 %2490
  %2492 = load double, ptr %2491, align 8, !tbaa !11
  %2493 = fmul double 0xBFF08654A2D4F6D8, %2492
  %2494 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2484, double %2493)
  %2495 = load ptr, ptr %7, align 8, !tbaa !9
  %2496 = load i32, ptr %12, align 4, !tbaa !5
  %2497 = load i32, ptr %8, align 4, !tbaa !5
  %2498 = mul nsw i32 19, %2497
  %2499 = add nsw i32 %2496, %2498
  %2500 = sext i32 %2499 to i64
  %2501 = getelementptr inbounds double, ptr %2495, i64 %2500
  %2502 = load double, ptr %2501, align 8, !tbaa !11
  %2503 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2502, double %2494)
  store double %2503, ptr %11, align 8, !tbaa !11
  %2504 = load double, ptr %11, align 8, !tbaa !11
  %2505 = load ptr, ptr %9, align 8, !tbaa !9
  %2506 = load i32, ptr %12, align 4, !tbaa !5
  %2507 = load i32, ptr %10, align 4, !tbaa !5
  %2508 = mul nsw i32 73, %2507
  %2509 = add nsw i32 %2506, %2508
  %2510 = sext i32 %2509 to i64
  %2511 = getelementptr inbounds double, ptr %2505, i64 %2510
  %2512 = load double, ptr %2511, align 8, !tbaa !11
  %2513 = fadd double %2512, %2504
  store double %2513, ptr %2511, align 8, !tbaa !11
  %2514 = load ptr, ptr %7, align 8, !tbaa !9
  %2515 = load i32, ptr %12, align 4, !tbaa !5
  %2516 = load i32, ptr %8, align 4, !tbaa !5
  %2517 = mul nsw i32 2, %2516
  %2518 = add nsw i32 %2515, %2517
  %2519 = sext i32 %2518 to i64
  %2520 = getelementptr inbounds double, ptr %2514, i64 %2519
  %2521 = load double, ptr %2520, align 8, !tbaa !11
  %2522 = load ptr, ptr %7, align 8, !tbaa !9
  %2523 = load i32, ptr %12, align 4, !tbaa !5
  %2524 = load i32, ptr %8, align 4, !tbaa !5
  %2525 = mul nsw i32 11, %2524
  %2526 = add nsw i32 %2523, %2525
  %2527 = sext i32 %2526 to i64
  %2528 = getelementptr inbounds double, ptr %2522, i64 %2527
  %2529 = load double, ptr %2528, align 8, !tbaa !11
  %2530 = fmul double 0xBFF08654A2D4F6D8, %2529
  %2531 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2521, double %2530)
  %2532 = load ptr, ptr %7, align 8, !tbaa !9
  %2533 = load i32, ptr %12, align 4, !tbaa !5
  %2534 = load i32, ptr %8, align 4, !tbaa !5
  %2535 = mul nsw i32 20, %2534
  %2536 = add nsw i32 %2533, %2535
  %2537 = sext i32 %2536 to i64
  %2538 = getelementptr inbounds double, ptr %2532, i64 %2537
  %2539 = load double, ptr %2538, align 8, !tbaa !11
  %2540 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2539, double %2531)
  store double %2540, ptr %11, align 8, !tbaa !11
  %2541 = load double, ptr %11, align 8, !tbaa !11
  %2542 = load ptr, ptr %9, align 8, !tbaa !9
  %2543 = load i32, ptr %12, align 4, !tbaa !5
  %2544 = load i32, ptr %10, align 4, !tbaa !5
  %2545 = mul nsw i32 74, %2544
  %2546 = add nsw i32 %2543, %2545
  %2547 = sext i32 %2546 to i64
  %2548 = getelementptr inbounds double, ptr %2542, i64 %2547
  %2549 = load double, ptr %2548, align 8, !tbaa !11
  %2550 = fadd double %2549, %2541
  store double %2550, ptr %2548, align 8, !tbaa !11
  %2551 = load ptr, ptr %7, align 8, !tbaa !9
  %2552 = load i32, ptr %12, align 4, !tbaa !5
  %2553 = load i32, ptr %8, align 4, !tbaa !5
  %2554 = mul nsw i32 3, %2553
  %2555 = add nsw i32 %2552, %2554
  %2556 = sext i32 %2555 to i64
  %2557 = getelementptr inbounds double, ptr %2551, i64 %2556
  %2558 = load double, ptr %2557, align 8, !tbaa !11
  %2559 = load ptr, ptr %7, align 8, !tbaa !9
  %2560 = load i32, ptr %12, align 4, !tbaa !5
  %2561 = load i32, ptr %8, align 4, !tbaa !5
  %2562 = mul nsw i32 12, %2561
  %2563 = add nsw i32 %2560, %2562
  %2564 = sext i32 %2563 to i64
  %2565 = getelementptr inbounds double, ptr %2559, i64 %2564
  %2566 = load double, ptr %2565, align 8, !tbaa !11
  %2567 = fmul double 0xBFF08654A2D4F6D8, %2566
  %2568 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2558, double %2567)
  %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 21, %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 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2576, double %2568)
  store double %2577, ptr %11, align 8, !tbaa !11
  %2578 = load double, ptr %11, align 8, !tbaa !11
  %2579 = load ptr, ptr %9, align 8, !tbaa !9
  %2580 = load i32, ptr %12, align 4, !tbaa !5
  %2581 = load i32, ptr %10, align 4, !tbaa !5
  %2582 = mul nsw i32 75, %2581
  %2583 = add nsw i32 %2580, %2582
  %2584 = sext i32 %2583 to i64
  %2585 = getelementptr inbounds double, ptr %2579, i64 %2584
  %2586 = load double, ptr %2585, align 8, !tbaa !11
  %2587 = fadd double %2586, %2578
  store double %2587, ptr %2585, align 8, !tbaa !11
  %2588 = load ptr, ptr %7, align 8, !tbaa !9
  %2589 = load i32, ptr %12, align 4, !tbaa !5
  %2590 = load i32, ptr %8, align 4, !tbaa !5
  %2591 = mul nsw i32 4, %2590
  %2592 = add nsw i32 %2589, %2591
  %2593 = sext i32 %2592 to i64
  %2594 = getelementptr inbounds double, ptr %2588, i64 %2593
  %2595 = load double, ptr %2594, align 8, !tbaa !11
  %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 13, %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 = fmul double 0xBFF08654A2D4F6D8, %2603
  %2605 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2595, double %2604)
  %2606 = load ptr, ptr %7, align 8, !tbaa !9
  %2607 = load i32, ptr %12, align 4, !tbaa !5
  %2608 = load i32, ptr %8, align 4, !tbaa !5
  %2609 = mul nsw i32 22, %2608
  %2610 = add nsw i32 %2607, %2609
  %2611 = sext i32 %2610 to i64
  %2612 = getelementptr inbounds double, ptr %2606, i64 %2611
  %2613 = load double, ptr %2612, align 8, !tbaa !11
  %2614 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2613, double %2605)
  store double %2614, ptr %11, align 8, !tbaa !11
  %2615 = load double, ptr %11, align 8, !tbaa !11
  %2616 = load ptr, ptr %9, align 8, !tbaa !9
  %2617 = load i32, ptr %12, align 4, !tbaa !5
  %2618 = load i32, ptr %10, align 4, !tbaa !5
  %2619 = mul nsw i32 76, %2618
  %2620 = add nsw i32 %2617, %2619
  %2621 = sext i32 %2620 to i64
  %2622 = getelementptr inbounds double, ptr %2616, i64 %2621
  %2623 = load double, ptr %2622, align 8, !tbaa !11
  %2624 = fadd double %2623, %2615
  store double %2624, ptr %2622, align 8, !tbaa !11
  %2625 = load ptr, ptr %7, align 8, !tbaa !9
  %2626 = load i32, ptr %12, align 4, !tbaa !5
  %2627 = load i32, ptr %8, align 4, !tbaa !5
  %2628 = mul nsw i32 5, %2627
  %2629 = add nsw i32 %2626, %2628
  %2630 = sext i32 %2629 to i64
  %2631 = getelementptr inbounds double, ptr %2625, i64 %2630
  %2632 = load double, ptr %2631, align 8, !tbaa !11
  %2633 = load ptr, ptr %7, align 8, !tbaa !9
  %2634 = load i32, ptr %12, align 4, !tbaa !5
  %2635 = load i32, ptr %8, align 4, !tbaa !5
  %2636 = mul nsw i32 14, %2635
  %2637 = add nsw i32 %2634, %2636
  %2638 = sext i32 %2637 to i64
  %2639 = getelementptr inbounds double, ptr %2633, i64 %2638
  %2640 = load double, ptr %2639, align 8, !tbaa !11
  %2641 = fmul double 0xBFF08654A2D4F6D8, %2640
  %2642 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2632, double %2641)
  %2643 = load ptr, ptr %7, align 8, !tbaa !9
  %2644 = load i32, ptr %12, align 4, !tbaa !5
  %2645 = load i32, ptr %8, align 4, !tbaa !5
  %2646 = mul nsw i32 23, %2645
  %2647 = add nsw i32 %2644, %2646
  %2648 = sext i32 %2647 to i64
  %2649 = getelementptr inbounds double, ptr %2643, i64 %2648
  %2650 = load double, ptr %2649, align 8, !tbaa !11
  %2651 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2650, double %2642)
  store double %2651, ptr %11, align 8, !tbaa !11
  %2652 = load double, ptr %11, align 8, !tbaa !11
  %2653 = load ptr, ptr %9, align 8, !tbaa !9
  %2654 = load i32, ptr %12, align 4, !tbaa !5
  %2655 = load i32, ptr %10, align 4, !tbaa !5
  %2656 = mul nsw i32 77, %2655
  %2657 = add nsw i32 %2654, %2656
  %2658 = sext i32 %2657 to i64
  %2659 = getelementptr inbounds double, ptr %2653, i64 %2658
  %2660 = load double, ptr %2659, align 8, !tbaa !11
  %2661 = fadd double %2660, %2652
  store double %2661, ptr %2659, align 8, !tbaa !11
  %2662 = load ptr, ptr %7, align 8, !tbaa !9
  %2663 = load i32, ptr %12, align 4, !tbaa !5
  %2664 = load i32, ptr %8, align 4, !tbaa !5
  %2665 = mul nsw i32 6, %2664
  %2666 = add nsw i32 %2663, %2665
  %2667 = sext i32 %2666 to i64
  %2668 = getelementptr inbounds double, ptr %2662, i64 %2667
  %2669 = load double, ptr %2668, align 8, !tbaa !11
  %2670 = load ptr, ptr %7, align 8, !tbaa !9
  %2671 = load i32, ptr %12, align 4, !tbaa !5
  %2672 = load i32, ptr %8, align 4, !tbaa !5
  %2673 = mul nsw i32 15, %2672
  %2674 = add nsw i32 %2671, %2673
  %2675 = sext i32 %2674 to i64
  %2676 = getelementptr inbounds double, ptr %2670, i64 %2675
  %2677 = load double, ptr %2676, align 8, !tbaa !11
  %2678 = fmul double 0xBFF08654A2D4F6D8, %2677
  %2679 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2669, double %2678)
  %2680 = load ptr, ptr %7, align 8, !tbaa !9
  %2681 = load i32, ptr %12, align 4, !tbaa !5
  %2682 = load i32, ptr %8, align 4, !tbaa !5
  %2683 = mul nsw i32 24, %2682
  %2684 = add nsw i32 %2681, %2683
  %2685 = sext i32 %2684 to i64
  %2686 = getelementptr inbounds double, ptr %2680, i64 %2685
  %2687 = load double, ptr %2686, align 8, !tbaa !11
  %2688 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2687, double %2679)
  store double %2688, ptr %11, align 8, !tbaa !11
  %2689 = load double, ptr %11, align 8, !tbaa !11
  %2690 = load ptr, ptr %9, align 8, !tbaa !9
  %2691 = load i32, ptr %12, align 4, !tbaa !5
  %2692 = load i32, ptr %10, align 4, !tbaa !5
  %2693 = mul nsw i32 78, %2692
  %2694 = add nsw i32 %2691, %2693
  %2695 = sext i32 %2694 to i64
  %2696 = getelementptr inbounds double, ptr %2690, i64 %2695
  %2697 = load double, ptr %2696, align 8, !tbaa !11
  %2698 = fadd double %2697, %2689
  store double %2698, ptr %2696, align 8, !tbaa !11
  %2699 = load ptr, ptr %7, align 8, !tbaa !9
  %2700 = load i32, ptr %12, align 4, !tbaa !5
  %2701 = load i32, ptr %8, align 4, !tbaa !5
  %2702 = mul nsw i32 7, %2701
  %2703 = add nsw i32 %2700, %2702
  %2704 = sext i32 %2703 to i64
  %2705 = getelementptr inbounds double, ptr %2699, i64 %2704
  %2706 = load double, ptr %2705, align 8, !tbaa !11
  %2707 = load ptr, ptr %7, align 8, !tbaa !9
  %2708 = load i32, ptr %12, align 4, !tbaa !5
  %2709 = load i32, ptr %8, align 4, !tbaa !5
  %2710 = mul nsw i32 16, %2709
  %2711 = add nsw i32 %2708, %2710
  %2712 = sext i32 %2711 to i64
  %2713 = getelementptr inbounds double, ptr %2707, i64 %2712
  %2714 = load double, ptr %2713, align 8, !tbaa !11
  %2715 = fmul double 0xBFF08654A2D4F6D8, %2714
  %2716 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2706, double %2715)
  %2717 = load ptr, ptr %7, align 8, !tbaa !9
  %2718 = load i32, ptr %12, align 4, !tbaa !5
  %2719 = load i32, ptr %8, align 4, !tbaa !5
  %2720 = mul nsw i32 25, %2719
  %2721 = add nsw i32 %2718, %2720
  %2722 = sext i32 %2721 to i64
  %2723 = getelementptr inbounds double, ptr %2717, i64 %2722
  %2724 = load double, ptr %2723, align 8, !tbaa !11
  %2725 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2724, double %2716)
  store double %2725, ptr %11, align 8, !tbaa !11
  %2726 = load double, ptr %11, align 8, !tbaa !11
  %2727 = load ptr, ptr %9, align 8, !tbaa !9
  %2728 = load i32, ptr %12, align 4, !tbaa !5
  %2729 = load i32, ptr %10, align 4, !tbaa !5
  %2730 = mul nsw i32 79, %2729
  %2731 = add nsw i32 %2728, %2730
  %2732 = sext i32 %2731 to i64
  %2733 = getelementptr inbounds double, ptr %2727, i64 %2732
  %2734 = load double, ptr %2733, align 8, !tbaa !11
  %2735 = fadd double %2734, %2726
  store double %2735, ptr %2733, align 8, !tbaa !11
  %2736 = load ptr, ptr %7, align 8, !tbaa !9
  %2737 = load i32, ptr %12, align 4, !tbaa !5
  %2738 = load i32, ptr %8, align 4, !tbaa !5
  %2739 = mul nsw i32 8, %2738
  %2740 = add nsw i32 %2737, %2739
  %2741 = sext i32 %2740 to i64
  %2742 = getelementptr inbounds double, ptr %2736, i64 %2741
  %2743 = load double, ptr %2742, align 8, !tbaa !11
  %2744 = load ptr, ptr %7, align 8, !tbaa !9
  %2745 = load i32, ptr %12, align 4, !tbaa !5
  %2746 = load i32, ptr %8, align 4, !tbaa !5
  %2747 = mul nsw i32 17, %2746
  %2748 = add nsw i32 %2745, %2747
  %2749 = sext i32 %2748 to i64
  %2750 = getelementptr inbounds double, ptr %2744, i64 %2749
  %2751 = load double, ptr %2750, align 8, !tbaa !11
  %2752 = fmul double 0xBFF08654A2D4F6D8, %2751
  %2753 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2743, double %2752)
  %2754 = load ptr, ptr %7, align 8, !tbaa !9
  %2755 = load i32, ptr %12, align 4, !tbaa !5
  %2756 = load i32, ptr %8, align 4, !tbaa !5
  %2757 = mul nsw i32 26, %2756
  %2758 = add nsw i32 %2755, %2757
  %2759 = sext i32 %2758 to i64
  %2760 = getelementptr inbounds double, ptr %2754, i64 %2759
  %2761 = load double, ptr %2760, align 8, !tbaa !11
  %2762 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2761, double %2753)
  store double %2762, ptr %11, align 8, !tbaa !11
  %2763 = load double, ptr %11, align 8, !tbaa !11
  %2764 = load ptr, ptr %9, align 8, !tbaa !9
  %2765 = load i32, ptr %12, align 4, !tbaa !5
  %2766 = load i32, ptr %10, align 4, !tbaa !5
  %2767 = mul nsw i32 80, %2766
  %2768 = add nsw i32 %2765, %2767
  %2769 = sext i32 %2768 to i64
  %2770 = getelementptr inbounds double, ptr %2764, i64 %2769
  %2771 = load double, ptr %2770, align 8, !tbaa !11
  %2772 = fadd double %2771, %2763
  store double %2772, ptr %2770, align 8, !tbaa !11
  br label %2773

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

2776:                                             ; 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_16172576605707918247_b1(i32 noundef %0, ptr noalias nocapture noundef readonly %1, i32 noundef %2, ptr noalias noundef %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 = shl nsw i32 %4, 1
  %9 = mul nsw i32 %2, 3
  %10 = shl nsw i32 %2, 2
  %11 = mul nsw i32 %2, 5
  %12 = mul nsw i32 %4, 3
  %13 = shl nsw i32 %4, 2
  %14 = mul nsw i32 %4, 5
  %15 = mul nsw i32 %2, 6
  %16 = mul nsw i32 %2, 7
  %17 = shl nsw i32 %2, 3
  %18 = mul nsw i32 %4, 6
  %19 = mul nsw i32 %4, 7
  %20 = shl nsw i32 %4, 3
  %21 = mul nsw i32 %2, 9
  %22 = mul nsw i32 %2, 10
  %23 = mul nsw i32 %2, 11
  %24 = mul nsw i32 %4, 9
  %25 = mul nsw i32 %4, 10
  %26 = mul nsw i32 %4, 11
  %27 = mul nsw i32 %2, 12
  %28 = mul nsw i32 %2, 13
  %29 = mul nsw i32 %2, 14
  %30 = mul nsw i32 %4, 12
  %31 = mul nsw i32 %4, 13
  %32 = mul nsw i32 %4, 14
  %33 = mul nsw i32 %2, 15
  %34 = shl nsw i32 %2, 4
  %35 = mul nsw i32 %2, 17
  %36 = mul nsw i32 %4, 15
  %37 = shl nsw i32 %4, 4
  %38 = mul nsw i32 %4, 17
  %39 = mul nsw i32 %2, 18
  %40 = mul nsw i32 %2, 19
  %41 = mul nsw i32 %2, 20
  %42 = mul nsw i32 %4, 18
  %43 = mul nsw i32 %4, 19
  %44 = mul nsw i32 %4, 20
  %45 = mul nsw i32 %2, 21
  %46 = mul nsw i32 %2, 22
  %47 = mul nsw i32 %2, 23
  %48 = mul nsw i32 %4, 21
  %49 = mul nsw i32 %4, 22
  %50 = mul nsw i32 %4, 23
  %51 = mul nsw i32 %2, 24
  %52 = mul nsw i32 %2, 25
  %53 = mul nsw i32 %2, 26
  %54 = mul nsw i32 %4, 24
  %55 = mul nsw i32 %4, 25
  %56 = mul nsw i32 %4, 26
  %57 = mul nsw i32 %4, 27
  %58 = mul nsw i32 %4, 28
  %59 = mul nsw i32 %4, 29
  %60 = mul nsw i32 %4, 30
  %61 = mul nsw i32 %4, 31
  %62 = shl nsw i32 %4, 5
  %63 = mul nsw i32 %4, 33
  %64 = mul nsw i32 %4, 34
  %65 = mul nsw i32 %4, 35
  %66 = mul nsw i32 %4, 36
  %67 = mul nsw i32 %4, 37
  %68 = mul nsw i32 %4, 38
  %69 = mul nsw i32 %4, 39
  %70 = mul nsw i32 %4, 40
  %71 = mul nsw i32 %4, 41
  %72 = mul nsw i32 %4, 42
  %73 = mul nsw i32 %4, 43
  %74 = mul nsw i32 %4, 44
  %75 = mul nsw i32 %4, 45
  %76 = mul nsw i32 %4, 46
  %77 = mul nsw i32 %4, 47
  %78 = mul nsw i32 %4, 48
  %79 = mul nsw i32 %4, 49
  %80 = mul nsw i32 %4, 50
  %81 = mul nsw i32 %4, 51
  %82 = mul nsw i32 %4, 52
  %83 = mul nsw i32 %4, 53
  %84 = mul nsw i32 %4, 54
  %85 = mul nsw i32 %4, 55
  %86 = mul nsw i32 %4, 56
  %87 = mul nsw i32 %4, 57
  %88 = mul nsw i32 %4, 58
  %89 = mul nsw i32 %4, 59
  %90 = mul nsw i32 %4, 60
  %91 = mul nsw i32 %4, 61
  %92 = mul nsw i32 %4, 62
  %93 = mul nsw i32 %4, 63
  %94 = shl nsw i32 %4, 6
  %95 = mul nsw i32 %4, 65
  %96 = mul nsw i32 %4, 66
  %97 = mul nsw i32 %4, 67
  %98 = mul nsw i32 %4, 68
  %99 = mul nsw i32 %4, 69
  %100 = mul nsw i32 %4, 70
  %101 = mul nsw i32 %4, 71
  %102 = mul nsw i32 %4, 72
  %103 = mul nsw i32 %4, 73
  %104 = mul nsw i32 %4, 74
  %105 = mul nsw i32 %4, 75
  %106 = mul nsw i32 %4, 76
  %107 = mul nsw i32 %4, 77
  %108 = mul nsw i32 %4, 78
  %109 = mul nsw i32 %4, 79
  %110 = mul nsw i32 %4, 80
  %111 = sext i32 %2 to i64
  %112 = sext i32 %7 to i64
  %113 = sext i32 %4 to i64
  %114 = sext i32 %8 to i64
  %115 = sext i32 %9 to i64
  %116 = sext i32 %10 to i64
  %117 = sext i32 %11 to i64
  %118 = sext i32 %12 to i64
  %119 = sext i32 %13 to i64
  %120 = sext i32 %14 to i64
  %121 = sext i32 %15 to i64
  %122 = sext i32 %16 to i64
  %123 = sext i32 %17 to i64
  %124 = sext i32 %18 to i64
  %125 = sext i32 %19 to i64
  %126 = sext i32 %20 to i64
  %127 = sext i32 %21 to i64
  %128 = sext i32 %22 to i64
  %129 = sext i32 %23 to i64
  %130 = sext i32 %24 to i64
  %131 = sext i32 %25 to i64
  %132 = sext i32 %26 to i64
  %133 = sext i32 %27 to i64
  %134 = sext i32 %28 to i64
  %135 = sext i32 %29 to i64
  %136 = sext i32 %30 to i64
  %137 = sext i32 %31 to i64
  %138 = sext i32 %32 to i64
  %139 = sext i32 %33 to i64
  %140 = sext i32 %34 to i64
  %141 = sext i32 %35 to i64
  %142 = sext i32 %36 to i64
  %143 = sext i32 %37 to i64
  %144 = sext i32 %38 to i64
  %145 = sext i32 %39 to i64
  %146 = sext i32 %40 to i64
  %147 = sext i32 %41 to i64
  %148 = sext i32 %42 to i64
  %149 = sext i32 %43 to i64
  %150 = sext i32 %44 to i64
  %151 = sext i32 %45 to i64
  %152 = sext i32 %46 to i64
  %153 = sext i32 %47 to i64
  %154 = sext i32 %48 to i64
  %155 = sext i32 %49 to i64
  %156 = sext i32 %50 to i64
  %157 = sext i32 %51 to i64
  %158 = sext i32 %52 to i64
  %159 = sext i32 %53 to i64
  %160 = sext i32 %54 to i64
  %161 = sext i32 %55 to i64
  %162 = sext i32 %56 to i64
  %163 = sext i32 %57 to i64
  %164 = sext i32 %58 to i64
  %165 = sext i32 %59 to i64
  %166 = sext i32 %60 to i64
  %167 = sext i32 %61 to i64
  %168 = sext i32 %62 to i64
  %169 = sext i32 %63 to i64
  %170 = sext i32 %64 to i64
  %171 = sext i32 %65 to i64
  %172 = sext i32 %66 to i64
  %173 = sext i32 %67 to i64
  %174 = sext i32 %68 to i64
  %175 = sext i32 %69 to i64
  %176 = sext i32 %70 to i64
  %177 = sext i32 %71 to i64
  %178 = sext i32 %72 to i64
  %179 = sext i32 %73 to i64
  %180 = sext i32 %74 to i64
  %181 = sext i32 %75 to i64
  %182 = sext i32 %76 to i64
  %183 = sext i32 %77 to i64
  %184 = sext i32 %78 to i64
  %185 = sext i32 %79 to i64
  %186 = sext i32 %80 to i64
  %187 = sext i32 %81 to i64
  %188 = sext i32 %82 to i64
  %189 = sext i32 %83 to i64
  %190 = sext i32 %84 to i64
  %191 = sext i32 %85 to i64
  %192 = sext i32 %86 to i64
  %193 = sext i32 %87 to i64
  %194 = sext i32 %88 to i64
  %195 = sext i32 %89 to i64
  %196 = sext i32 %90 to i64
  %197 = sext i32 %91 to i64
  %198 = sext i32 %92 to i64
  %199 = sext i32 %93 to i64
  %200 = sext i32 %94 to i64
  %201 = sext i32 %95 to i64
  %202 = sext i32 %96 to i64
  %203 = sext i32 %97 to i64
  %204 = sext i32 %98 to i64
  %205 = sext i32 %99 to i64
  %206 = sext i32 %100 to i64
  %207 = sext i32 %101 to i64
  %208 = sext i32 %102 to i64
  %209 = sext i32 %103 to i64
  %210 = sext i32 %104 to i64
  %211 = sext i32 %105 to i64
  %212 = sext i32 %106 to i64
  %213 = sext i32 %107 to i64
  %214 = sext i32 %108 to i64
  %215 = sext i32 %109 to i64
  %216 = sext i32 %110 to i64
  %wide.trip.count = zext nneg i32 %0 to i64
  %invariant.gep = getelementptr double, ptr %1, i64 %111
  %invariant.gep976 = getelementptr double, ptr %1, i64 %112
  %invariant.gep978 = getelementptr double, ptr %3, i64 %113
  %invariant.gep980 = getelementptr double, ptr %3, i64 %114
  %invariant.gep982 = getelementptr double, ptr %1, i64 %115
  %invariant.gep984 = getelementptr double, ptr %1, i64 %116
  %invariant.gep986 = getelementptr double, ptr %1, i64 %117
  %invariant.gep988 = getelementptr double, ptr %3, i64 %118
  %invariant.gep990 = getelementptr double, ptr %3, i64 %119
  %invariant.gep992 = getelementptr double, ptr %3, i64 %120
  %invariant.gep994 = getelementptr double, ptr %1, i64 %121
  %invariant.gep996 = getelementptr double, ptr %1, i64 %122
  %invariant.gep998 = getelementptr double, ptr %1, i64 %123
  %invariant.gep1000 = getelementptr double, ptr %3, i64 %124
  %invariant.gep1002 = getelementptr double, ptr %3, i64 %125
  %invariant.gep1004 = getelementptr double, ptr %3, i64 %126
  %invariant.gep1006 = getelementptr double, ptr %1, i64 %127
  %invariant.gep1008 = getelementptr double, ptr %1, i64 %128
  %invariant.gep1010 = getelementptr double, ptr %1, i64 %129
  %invariant.gep1012 = getelementptr double, ptr %3, i64 %130
  %invariant.gep1014 = getelementptr double, ptr %3, i64 %131
  %invariant.gep1016 = getelementptr double, ptr %3, i64 %132
  %invariant.gep1018 = getelementptr double, ptr %1, i64 %133
  %invariant.gep1020 = getelementptr double, ptr %1, i64 %134
  %invariant.gep1022 = getelementptr double, ptr %1, i64 %135
  %invariant.gep1024 = getelementptr double, ptr %3, i64 %136
  %invariant.gep1026 = getelementptr double, ptr %3, i64 %137
  %invariant.gep1028 = getelementptr double, ptr %3, i64 %138
  %invariant.gep1030 = getelementptr double, ptr %1, i64 %139
  %invariant.gep1032 = getelementptr double, ptr %1, i64 %140
  %invariant.gep1034 = getelementptr double, ptr %1, i64 %141
  %invariant.gep1036 = getelementptr double, ptr %3, i64 %142
  %invariant.gep1038 = getelementptr double, ptr %3, i64 %143
  %invariant.gep1040 = getelementptr double, ptr %3, i64 %144
  %invariant.gep1042 = getelementptr double, ptr %1, i64 %145
  %invariant.gep1044 = getelementptr double, ptr %1, i64 %146
  %invariant.gep1046 = getelementptr double, ptr %1, i64 %147
  %invariant.gep1048 = getelementptr double, ptr %3, i64 %148
  %invariant.gep1050 = getelementptr double, ptr %3, i64 %149
  %invariant.gep1052 = getelementptr double, ptr %3, i64 %150
  %invariant.gep1054 = getelementptr double, ptr %1, i64 %151
  %invariant.gep1056 = getelementptr double, ptr %1, i64 %152
  %invariant.gep1058 = getelementptr double, ptr %1, i64 %153
  %invariant.gep1060 = getelementptr double, ptr %3, i64 %154
  %invariant.gep1062 = getelementptr double, ptr %3, i64 %155
  %invariant.gep1064 = getelementptr double, ptr %3, i64 %156
  %invariant.gep1066 = getelementptr double, ptr %1, i64 %157
  %invariant.gep1068 = getelementptr double, ptr %1, i64 %158
  %invariant.gep1070 = getelementptr double, ptr %1, i64 %159
  %invariant.gep1072 = getelementptr double, ptr %3, i64 %160
  %invariant.gep1074 = getelementptr double, ptr %3, i64 %161
  %invariant.gep1076 = getelementptr double, ptr %3, i64 %162
  %invariant.gep1078 = getelementptr double, ptr %3, i64 %163
  %invariant.gep1080 = getelementptr double, ptr %3, i64 %164
  %invariant.gep1082 = getelementptr double, ptr %3, i64 %165
  %invariant.gep1084 = getelementptr double, ptr %3, i64 %166
  %invariant.gep1086 = getelementptr double, ptr %3, i64 %167
  %invariant.gep1088 = getelementptr double, ptr %3, i64 %168
  %invariant.gep1090 = getelementptr double, ptr %3, i64 %169
  %invariant.gep1092 = getelementptr double, ptr %3, i64 %170
  %invariant.gep1094 = getelementptr double, ptr %3, i64 %171
  %invariant.gep1096 = getelementptr double, ptr %3, i64 %172
  %invariant.gep1098 = getelementptr double, ptr %3, i64 %173
  %invariant.gep1100 = getelementptr double, ptr %3, i64 %174
  %invariant.gep1102 = getelementptr double, ptr %3, i64 %175
  %invariant.gep1104 = getelementptr double, ptr %3, i64 %176
  %invariant.gep1106 = getelementptr double, ptr %3, i64 %177
  %invariant.gep1108 = getelementptr double, ptr %3, i64 %178
  %invariant.gep1110 = getelementptr double, ptr %3, i64 %179
  %invariant.gep1112 = getelementptr double, ptr %3, i64 %180
  %invariant.gep1114 = getelementptr double, ptr %3, i64 %181
  %invariant.gep1116 = getelementptr double, ptr %3, i64 %182
  %invariant.gep1118 = getelementptr double, ptr %3, i64 %183
  %invariant.gep1120 = getelementptr double, ptr %3, i64 %184
  %invariant.gep1122 = getelementptr double, ptr %3, i64 %185
  %invariant.gep1124 = getelementptr double, ptr %3, i64 %186
  %invariant.gep1126 = getelementptr double, ptr %3, i64 %187
  %invariant.gep1128 = getelementptr double, ptr %3, i64 %188
  %invariant.gep1130 = getelementptr double, ptr %3, i64 %189
  %invariant.gep1132 = getelementptr double, ptr %3, i64 %190
  %invariant.gep1134 = getelementptr double, ptr %3, i64 %191
  %invariant.gep1136 = getelementptr double, ptr %3, i64 %192
  %invariant.gep1138 = getelementptr double, ptr %3, i64 %193
  %invariant.gep1140 = getelementptr double, ptr %3, i64 %194
  %invariant.gep1142 = getelementptr double, ptr %3, i64 %195
  %invariant.gep1144 = getelementptr double, ptr %3, i64 %196
  %invariant.gep1146 = getelementptr double, ptr %3, i64 %197
  %invariant.gep1148 = getelementptr double, ptr %3, i64 %198
  %invariant.gep1150 = getelementptr double, ptr %3, i64 %199
  %invariant.gep1152 = getelementptr double, ptr %3, i64 %200
  %invariant.gep1154 = getelementptr double, ptr %3, i64 %201
  %invariant.gep1156 = getelementptr double, ptr %3, i64 %202
  %invariant.gep1158 = getelementptr double, ptr %3, i64 %203
  %invariant.gep1160 = getelementptr double, ptr %3, i64 %204
  %invariant.gep1162 = getelementptr double, ptr %3, i64 %205
  %invariant.gep1164 = getelementptr double, ptr %3, i64 %206
  %invariant.gep1166 = getelementptr double, ptr %3, i64 %207
  %invariant.gep1168 = getelementptr double, ptr %3, i64 %208
  %invariant.gep1170 = getelementptr double, ptr %3, i64 %209
  %invariant.gep1172 = getelementptr double, ptr %3, i64 %210
  %invariant.gep1174 = getelementptr double, ptr %3, i64 %211
  %invariant.gep1176 = getelementptr double, ptr %3, i64 %212
  %invariant.gep1178 = getelementptr double, ptr %3, i64 %213
  %invariant.gep1180 = getelementptr double, ptr %3, i64 %214
  %invariant.gep1182 = getelementptr double, ptr %3, i64 %215
  %invariant.gep1184 = getelementptr double, ptr %3, i64 %216
  br label %217

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

217:                                              ; preds = %.lr.ph, %217
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %217 ]
  %218 = getelementptr inbounds double, ptr %1, i64 %indvars.iv
  %219 = load double, ptr %218, align 8, !tbaa !5
  %gep = getelementptr double, ptr %invariant.gep, i64 %indvars.iv
  %220 = load double, ptr %gep, align 8, !tbaa !5
  %221 = fmul double %220, 0x3FF08654A2D4F6D8
  %222 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FFEFBDEB14F4EDC, double %221)
  %gep977 = getelementptr double, ptr %invariant.gep976, i64 %indvars.iv
  %223 = load double, ptr %gep977, align 8, !tbaa !5
  %224 = tail call double @llvm.fmuladd.f64(double %223, double 0xBFE4A7E9CB8A3491, double %222)
  %225 = getelementptr inbounds double, ptr %3, i64 %indvars.iv
  %226 = load double, ptr %225, align 8, !tbaa !5
  %227 = fadd double %226, %224
  store double %227, ptr %225, align 8, !tbaa !5
  %228 = fmul double %223, 0x3FF9D1E43E6CC1B5
  %229 = tail call double @llvm.fmuladd.f64(double %219, double 0xBFF9D1E43E6CC1B5, double %228)
  %gep979 = getelementptr double, ptr %invariant.gep978, i64 %indvars.iv
  %230 = load double, ptr %gep979, align 8, !tbaa !5
  %231 = fadd double %229, %230
  store double %231, ptr %gep979, align 8, !tbaa !5
  %232 = fmul double %220, 0xBFF08654A2D4F6D8
  %233 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FE4A7E9CB8A3491, double %232)
  %234 = tail call double @llvm.fmuladd.f64(double %223, double 0xBFFEFBDEB14F4ED8, double %233)
  %gep981 = getelementptr double, ptr %invariant.gep980, i64 %indvars.iv
  %235 = load double, ptr %gep981, align 8, !tbaa !5
  %236 = fadd double %234, %235
  store double %236, ptr %gep981, align 8, !tbaa !5
  %gep983 = getelementptr double, ptr %invariant.gep982, i64 %indvars.iv
  %237 = load double, ptr %gep983, align 8, !tbaa !5
  %gep985 = getelementptr double, ptr %invariant.gep984, i64 %indvars.iv
  %238 = load double, ptr %gep985, align 8, !tbaa !5
  %239 = fmul double %238, 0x3FF08654A2D4F6D8
  %240 = tail call double @llvm.fmuladd.f64(double %237, double 0x3FFEFBDEB14F4EDC, double %239)
  %gep987 = getelementptr double, ptr %invariant.gep986, i64 %indvars.iv
  %241 = load double, ptr %gep987, align 8, !tbaa !5
  %242 = tail call double @llvm.fmuladd.f64(double %241, double 0xBFE4A7E9CB8A3491, double %240)
  %gep989 = getelementptr double, ptr %invariant.gep988, i64 %indvars.iv
  %243 = load double, ptr %gep989, align 8, !tbaa !5
  %244 = fadd double %243, %242
  store double %244, ptr %gep989, align 8, !tbaa !5
  %245 = fmul double %241, 0x3FF9D1E43E6CC1B5
  %246 = tail call double @llvm.fmuladd.f64(double %237, double 0xBFF9D1E43E6CC1B5, double %245)
  %gep991 = getelementptr double, ptr %invariant.gep990, i64 %indvars.iv
  %247 = load double, ptr %gep991, align 8, !tbaa !5
  %248 = fadd double %246, %247
  store double %248, ptr %gep991, align 8, !tbaa !5
  %249 = fmul double %238, 0xBFF08654A2D4F6D8
  %250 = tail call double @llvm.fmuladd.f64(double %237, double 0x3FE4A7E9CB8A3491, double %249)
  %251 = tail call double @llvm.fmuladd.f64(double %241, double 0xBFFEFBDEB14F4ED8, double %250)
  %gep993 = getelementptr double, ptr %invariant.gep992, i64 %indvars.iv
  %252 = load double, ptr %gep993, align 8, !tbaa !5
  %253 = fadd double %251, %252
  store double %253, ptr %gep993, align 8, !tbaa !5
  %gep995 = getelementptr double, ptr %invariant.gep994, i64 %indvars.iv
  %254 = load double, ptr %gep995, align 8, !tbaa !5
  %gep997 = getelementptr double, ptr %invariant.gep996, i64 %indvars.iv
  %255 = load double, ptr %gep997, align 8, !tbaa !5
  %256 = fmul double %255, 0x3FF08654A2D4F6D8
  %257 = tail call double @llvm.fmuladd.f64(double %254, double 0x3FFEFBDEB14F4EDC, double %256)
  %gep999 = getelementptr double, ptr %invariant.gep998, i64 %indvars.iv
  %258 = load double, ptr %gep999, align 8, !tbaa !5
  %259 = tail call double @llvm.fmuladd.f64(double %258, double 0xBFE4A7E9CB8A3491, double %257)
  %gep1001 = getelementptr double, ptr %invariant.gep1000, i64 %indvars.iv
  %260 = load double, ptr %gep1001, align 8, !tbaa !5
  %261 = fadd double %260, %259
  store double %261, ptr %gep1001, align 8, !tbaa !5
  %262 = fmul double %258, 0x3FF9D1E43E6CC1B5
  %263 = tail call double @llvm.fmuladd.f64(double %254, double 0xBFF9D1E43E6CC1B5, double %262)
  %gep1003 = getelementptr double, ptr %invariant.gep1002, i64 %indvars.iv
  %264 = load double, ptr %gep1003, align 8, !tbaa !5
  %265 = fadd double %263, %264
  store double %265, ptr %gep1003, align 8, !tbaa !5
  %266 = fmul double %255, 0xBFF08654A2D4F6D8
  %267 = tail call double @llvm.fmuladd.f64(double %254, double 0x3FE4A7E9CB8A3491, double %266)
  %268 = tail call double @llvm.fmuladd.f64(double %258, double 0xBFFEFBDEB14F4ED8, double %267)
  %gep1005 = getelementptr double, ptr %invariant.gep1004, i64 %indvars.iv
  %269 = load double, ptr %gep1005, align 8, !tbaa !5
  %270 = fadd double %268, %269
  store double %270, ptr %gep1005, align 8, !tbaa !5
  %gep1007 = getelementptr double, ptr %invariant.gep1006, i64 %indvars.iv
  %271 = load double, ptr %gep1007, align 8, !tbaa !5
  %gep1009 = getelementptr double, ptr %invariant.gep1008, i64 %indvars.iv
  %272 = load double, ptr %gep1009, align 8, !tbaa !5
  %273 = fmul double %272, 0x3FF08654A2D4F6D8
  %274 = tail call double @llvm.fmuladd.f64(double %271, double 0x3FFEFBDEB14F4EDC, double %273)
  %gep1011 = getelementptr double, ptr %invariant.gep1010, i64 %indvars.iv
  %275 = load double, ptr %gep1011, align 8, !tbaa !5
  %276 = tail call double @llvm.fmuladd.f64(double %275, double 0xBFE4A7E9CB8A3491, double %274)
  %gep1013 = getelementptr double, ptr %invariant.gep1012, i64 %indvars.iv
  %277 = load double, ptr %gep1013, align 8, !tbaa !5
  %278 = fadd double %277, %276
  store double %278, ptr %gep1013, align 8, !tbaa !5
  %279 = fmul double %275, 0x3FF9D1E43E6CC1B5
  %280 = tail call double @llvm.fmuladd.f64(double %271, double 0xBFF9D1E43E6CC1B5, double %279)
  %gep1015 = getelementptr double, ptr %invariant.gep1014, i64 %indvars.iv
  %281 = load double, ptr %gep1015, align 8, !tbaa !5
  %282 = fadd double %280, %281
  store double %282, ptr %gep1015, align 8, !tbaa !5
  %283 = fmul double %272, 0xBFF08654A2D4F6D8
  %284 = tail call double @llvm.fmuladd.f64(double %271, double 0x3FE4A7E9CB8A3491, double %283)
  %285 = tail call double @llvm.fmuladd.f64(double %275, double 0xBFFEFBDEB14F4ED8, double %284)
  %gep1017 = getelementptr double, ptr %invariant.gep1016, i64 %indvars.iv
  %286 = load double, ptr %gep1017, align 8, !tbaa !5
  %287 = fadd double %285, %286
  store double %287, ptr %gep1017, align 8, !tbaa !5
  %gep1019 = getelementptr double, ptr %invariant.gep1018, i64 %indvars.iv
  %288 = load double, ptr %gep1019, align 8, !tbaa !5
  %gep1021 = getelementptr double, ptr %invariant.gep1020, i64 %indvars.iv
  %289 = load double, ptr %gep1021, align 8, !tbaa !5
  %290 = fmul double %289, 0x3FF08654A2D4F6D8
  %291 = tail call double @llvm.fmuladd.f64(double %288, double 0x3FFEFBDEB14F4EDC, double %290)
  %gep1023 = getelementptr double, ptr %invariant.gep1022, i64 %indvars.iv
  %292 = load double, ptr %gep1023, align 8, !tbaa !5
  %293 = tail call double @llvm.fmuladd.f64(double %292, double 0xBFE4A7E9CB8A3491, double %291)
  %gep1025 = getelementptr double, ptr %invariant.gep1024, i64 %indvars.iv
  %294 = load double, ptr %gep1025, align 8, !tbaa !5
  %295 = fadd double %294, %293
  store double %295, ptr %gep1025, align 8, !tbaa !5
  %296 = fmul double %292, 0x3FF9D1E43E6CC1B5
  %297 = tail call double @llvm.fmuladd.f64(double %288, double 0xBFF9D1E43E6CC1B5, double %296)
  %gep1027 = getelementptr double, ptr %invariant.gep1026, i64 %indvars.iv
  %298 = load double, ptr %gep1027, align 8, !tbaa !5
  %299 = fadd double %297, %298
  store double %299, ptr %gep1027, align 8, !tbaa !5
  %300 = fmul double %289, 0xBFF08654A2D4F6D8
  %301 = tail call double @llvm.fmuladd.f64(double %288, double 0x3FE4A7E9CB8A3491, double %300)
  %302 = tail call double @llvm.fmuladd.f64(double %292, double 0xBFFEFBDEB14F4ED8, double %301)
  %gep1029 = getelementptr double, ptr %invariant.gep1028, i64 %indvars.iv
  %303 = load double, ptr %gep1029, align 8, !tbaa !5
  %304 = fadd double %302, %303
  store double %304, ptr %gep1029, align 8, !tbaa !5
  %gep1031 = getelementptr double, ptr %invariant.gep1030, i64 %indvars.iv
  %305 = load double, ptr %gep1031, align 8, !tbaa !5
  %gep1033 = getelementptr double, ptr %invariant.gep1032, i64 %indvars.iv
  %306 = load double, ptr %gep1033, align 8, !tbaa !5
  %307 = fmul double %306, 0x3FF08654A2D4F6D8
  %308 = tail call double @llvm.fmuladd.f64(double %305, double 0x3FFEFBDEB14F4EDC, double %307)
  %gep1035 = getelementptr double, ptr %invariant.gep1034, i64 %indvars.iv
  %309 = load double, ptr %gep1035, align 8, !tbaa !5
  %310 = tail call double @llvm.fmuladd.f64(double %309, double 0xBFE4A7E9CB8A3491, double %308)
  %gep1037 = getelementptr double, ptr %invariant.gep1036, i64 %indvars.iv
  %311 = load double, ptr %gep1037, align 8, !tbaa !5
  %312 = fadd double %311, %310
  store double %312, ptr %gep1037, align 8, !tbaa !5
  %313 = fmul double %309, 0x3FF9D1E43E6CC1B5
  %314 = tail call double @llvm.fmuladd.f64(double %305, double 0xBFF9D1E43E6CC1B5, double %313)
  %gep1039 = getelementptr double, ptr %invariant.gep1038, i64 %indvars.iv
  %315 = load double, ptr %gep1039, align 8, !tbaa !5
  %316 = fadd double %314, %315
  store double %316, ptr %gep1039, align 8, !tbaa !5
  %317 = fmul double %306, 0xBFF08654A2D4F6D8
  %318 = tail call double @llvm.fmuladd.f64(double %305, double 0x3FE4A7E9CB8A3491, double %317)
  %319 = tail call double @llvm.fmuladd.f64(double %309, double 0xBFFEFBDEB14F4ED8, double %318)
  %gep1041 = getelementptr double, ptr %invariant.gep1040, i64 %indvars.iv
  %320 = load double, ptr %gep1041, align 8, !tbaa !5
  %321 = fadd double %319, %320
  store double %321, ptr %gep1041, align 8, !tbaa !5
  %gep1043 = getelementptr double, ptr %invariant.gep1042, i64 %indvars.iv
  %322 = load double, ptr %gep1043, align 8, !tbaa !5
  %gep1045 = getelementptr double, ptr %invariant.gep1044, i64 %indvars.iv
  %323 = load double, ptr %gep1045, align 8, !tbaa !5
  %324 = fmul double %323, 0x3FF08654A2D4F6D8
  %325 = tail call double @llvm.fmuladd.f64(double %322, double 0x3FFEFBDEB14F4EDC, double %324)
  %gep1047 = getelementptr double, ptr %invariant.gep1046, i64 %indvars.iv
  %326 = load double, ptr %gep1047, align 8, !tbaa !5
  %327 = tail call double @llvm.fmuladd.f64(double %326, double 0xBFE4A7E9CB8A3491, double %325)
  %gep1049 = getelementptr double, ptr %invariant.gep1048, i64 %indvars.iv
  %328 = load double, ptr %gep1049, align 8, !tbaa !5
  %329 = fadd double %328, %327
  store double %329, ptr %gep1049, align 8, !tbaa !5
  %330 = fmul double %326, 0x3FF9D1E43E6CC1B5
  %331 = tail call double @llvm.fmuladd.f64(double %322, double 0xBFF9D1E43E6CC1B5, double %330)
  %gep1051 = getelementptr double, ptr %invariant.gep1050, i64 %indvars.iv
  %332 = load double, ptr %gep1051, align 8, !tbaa !5
  %333 = fadd double %331, %332
  store double %333, ptr %gep1051, align 8, !tbaa !5
  %334 = fmul double %323, 0xBFF08654A2D4F6D8
  %335 = tail call double @llvm.fmuladd.f64(double %322, double 0x3FE4A7E9CB8A3491, double %334)
  %336 = tail call double @llvm.fmuladd.f64(double %326, double 0xBFFEFBDEB14F4ED8, double %335)
  %gep1053 = getelementptr double, ptr %invariant.gep1052, i64 %indvars.iv
  %337 = load double, ptr %gep1053, align 8, !tbaa !5
  %338 = fadd double %336, %337
  store double %338, ptr %gep1053, align 8, !tbaa !5
  %gep1055 = getelementptr double, ptr %invariant.gep1054, i64 %indvars.iv
  %339 = load double, ptr %gep1055, align 8, !tbaa !5
  %gep1057 = getelementptr double, ptr %invariant.gep1056, i64 %indvars.iv
  %340 = load double, ptr %gep1057, align 8, !tbaa !5
  %341 = fmul double %340, 0x3FF08654A2D4F6D8
  %342 = tail call double @llvm.fmuladd.f64(double %339, double 0x3FFEFBDEB14F4EDC, double %341)
  %gep1059 = getelementptr double, ptr %invariant.gep1058, i64 %indvars.iv
  %343 = load double, ptr %gep1059, align 8, !tbaa !5
  %344 = tail call double @llvm.fmuladd.f64(double %343, double 0xBFE4A7E9CB8A3491, double %342)
  %gep1061 = getelementptr double, ptr %invariant.gep1060, i64 %indvars.iv
  %345 = load double, ptr %gep1061, align 8, !tbaa !5
  %346 = fadd double %345, %344
  store double %346, ptr %gep1061, align 8, !tbaa !5
  %347 = fmul double %343, 0x3FF9D1E43E6CC1B5
  %348 = tail call double @llvm.fmuladd.f64(double %339, double 0xBFF9D1E43E6CC1B5, double %347)
  %gep1063 = getelementptr double, ptr %invariant.gep1062, i64 %indvars.iv
  %349 = load double, ptr %gep1063, align 8, !tbaa !5
  %350 = fadd double %348, %349
  store double %350, ptr %gep1063, align 8, !tbaa !5
  %351 = fmul double %340, 0xBFF08654A2D4F6D8
  %352 = tail call double @llvm.fmuladd.f64(double %339, double 0x3FE4A7E9CB8A3491, double %351)
  %353 = tail call double @llvm.fmuladd.f64(double %343, double 0xBFFEFBDEB14F4ED8, double %352)
  %gep1065 = getelementptr double, ptr %invariant.gep1064, i64 %indvars.iv
  %354 = load double, ptr %gep1065, align 8, !tbaa !5
  %355 = fadd double %353, %354
  store double %355, ptr %gep1065, align 8, !tbaa !5
  %gep1067 = getelementptr double, ptr %invariant.gep1066, i64 %indvars.iv
  %356 = load double, ptr %gep1067, align 8, !tbaa !5
  %gep1069 = getelementptr double, ptr %invariant.gep1068, i64 %indvars.iv
  %357 = load double, ptr %gep1069, align 8, !tbaa !5
  %358 = fmul double %357, 0x3FF08654A2D4F6D8
  %359 = tail call double @llvm.fmuladd.f64(double %356, double 0x3FFEFBDEB14F4EDC, double %358)
  %gep1071 = getelementptr double, ptr %invariant.gep1070, i64 %indvars.iv
  %360 = load double, ptr %gep1071, align 8, !tbaa !5
  %361 = tail call double @llvm.fmuladd.f64(double %360, double 0xBFE4A7E9CB8A3491, double %359)
  %gep1073 = getelementptr double, ptr %invariant.gep1072, i64 %indvars.iv
  %362 = load double, ptr %gep1073, align 8, !tbaa !5
  %363 = fadd double %362, %361
  store double %363, ptr %gep1073, align 8, !tbaa !5
  %364 = fmul double %360, 0x3FF9D1E43E6CC1B5
  %365 = tail call double @llvm.fmuladd.f64(double %356, double 0xBFF9D1E43E6CC1B5, double %364)
  %gep1075 = getelementptr double, ptr %invariant.gep1074, i64 %indvars.iv
  %366 = load double, ptr %gep1075, align 8, !tbaa !5
  %367 = fadd double %365, %366
  store double %367, ptr %gep1075, align 8, !tbaa !5
  %368 = fmul double %357, 0xBFF08654A2D4F6D8
  %369 = tail call double @llvm.fmuladd.f64(double %356, double 0x3FE4A7E9CB8A3491, double %368)
  %370 = tail call double @llvm.fmuladd.f64(double %360, double 0xBFFEFBDEB14F4ED8, double %369)
  %gep1077 = getelementptr double, ptr %invariant.gep1076, i64 %indvars.iv
  %371 = load double, ptr %gep1077, align 8, !tbaa !5
  %372 = fadd double %370, %371
  store double %372, ptr %gep1077, align 8, !tbaa !5
  %373 = fmul double %237, 0x3FF08654A2D4F6D8
  %374 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FFEFBDEB14F4EDC, double %373)
  %375 = tail call double @llvm.fmuladd.f64(double %254, double 0xBFE4A7E9CB8A3491, double %374)
  %gep1079 = getelementptr double, ptr %invariant.gep1078, i64 %indvars.iv
  %376 = load double, ptr %gep1079, align 8, !tbaa !5
  %377 = fadd double %375, %376
  store double %377, ptr %gep1079, align 8, !tbaa !5
  %378 = tail call double @llvm.fmuladd.f64(double %220, double 0x3FFEFBDEB14F4EDC, double %239)
  %379 = tail call double @llvm.fmuladd.f64(double %255, double 0xBFE4A7E9CB8A3491, double %378)
  %gep1081 = getelementptr double, ptr %invariant.gep1080, i64 %indvars.iv
  %380 = load double, ptr %gep1081, align 8, !tbaa !5
  %381 = fadd double %379, %380
  store double %381, ptr %gep1081, align 8, !tbaa !5
  %382 = fmul double %241, 0x3FF08654A2D4F6D8
  %383 = tail call double @llvm.fmuladd.f64(double %223, double 0x3FFEFBDEB14F4EDC, double %382)
  %384 = tail call double @llvm.fmuladd.f64(double %258, double 0xBFE4A7E9CB8A3491, double %383)
  %gep1083 = getelementptr double, ptr %invariant.gep1082, i64 %indvars.iv
  %385 = load double, ptr %gep1083, align 8, !tbaa !5
  %386 = fadd double %384, %385
  store double %386, ptr %gep1083, align 8, !tbaa !5
  %387 = fmul double %254, 0x3FF9D1E43E6CC1B5
  %388 = tail call double @llvm.fmuladd.f64(double %219, double 0xBFF9D1E43E6CC1B5, double %387)
  %gep1085 = getelementptr double, ptr %invariant.gep1084, i64 %indvars.iv
  %389 = load double, ptr %gep1085, align 8, !tbaa !5
  %390 = fadd double %388, %389
  store double %390, ptr %gep1085, align 8, !tbaa !5
  %391 = fmul double %255, 0x3FF9D1E43E6CC1B5
  %392 = tail call double @llvm.fmuladd.f64(double %220, double 0xBFF9D1E43E6CC1B5, double %391)
  %gep1087 = getelementptr double, ptr %invariant.gep1086, i64 %indvars.iv
  %393 = load double, ptr %gep1087, align 8, !tbaa !5
  %394 = fadd double %392, %393
  store double %394, ptr %gep1087, align 8, !tbaa !5
  %395 = tail call double @llvm.fmuladd.f64(double %223, double 0xBFF9D1E43E6CC1B5, double %262)
  %gep1089 = getelementptr double, ptr %invariant.gep1088, i64 %indvars.iv
  %396 = load double, ptr %gep1089, align 8, !tbaa !5
  %397 = fadd double %395, %396
  store double %397, ptr %gep1089, align 8, !tbaa !5
  %398 = fmul double %237, 0xBFF08654A2D4F6D8
  %399 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FE4A7E9CB8A3491, double %398)
  %400 = tail call double @llvm.fmuladd.f64(double %254, double 0xBFFEFBDEB14F4ED8, double %399)
  %gep1091 = getelementptr double, ptr %invariant.gep1090, i64 %indvars.iv
  %401 = load double, ptr %gep1091, align 8, !tbaa !5
  %402 = fadd double %400, %401
  store double %402, ptr %gep1091, align 8, !tbaa !5
  %403 = tail call double @llvm.fmuladd.f64(double %220, double 0x3FE4A7E9CB8A3491, double %249)
  %404 = tail call double @llvm.fmuladd.f64(double %255, double 0xBFFEFBDEB14F4ED8, double %403)
  %gep1093 = getelementptr double, ptr %invariant.gep1092, i64 %indvars.iv
  %405 = load double, ptr %gep1093, align 8, !tbaa !5
  %406 = fadd double %404, %405
  store double %406, ptr %gep1093, align 8, !tbaa !5
  %407 = fmul double %241, 0xBFF08654A2D4F6D8
  %408 = tail call double @llvm.fmuladd.f64(double %223, double 0x3FE4A7E9CB8A3491, double %407)
  %409 = tail call double @llvm.fmuladd.f64(double %258, double 0xBFFEFBDEB14F4ED8, double %408)
  %gep1095 = getelementptr double, ptr %invariant.gep1094, i64 %indvars.iv
  %410 = load double, ptr %gep1095, align 8, !tbaa !5
  %411 = fadd double %409, %410
  store double %411, ptr %gep1095, align 8, !tbaa !5
  %412 = fmul double %288, 0x3FF08654A2D4F6D8
  %413 = tail call double @llvm.fmuladd.f64(double %271, double 0x3FFEFBDEB14F4EDC, double %412)
  %414 = tail call double @llvm.fmuladd.f64(double %305, double 0xBFE4A7E9CB8A3491, double %413)
  %gep1097 = getelementptr double, ptr %invariant.gep1096, i64 %indvars.iv
  %415 = load double, ptr %gep1097, align 8, !tbaa !5
  %416 = fadd double %414, %415
  store double %416, ptr %gep1097, align 8, !tbaa !5
  %417 = tail call double @llvm.fmuladd.f64(double %272, double 0x3FFEFBDEB14F4EDC, double %290)
  %418 = tail call double @llvm.fmuladd.f64(double %306, double 0xBFE4A7E9CB8A3491, double %417)
  %gep1099 = getelementptr double, ptr %invariant.gep1098, i64 %indvars.iv
  %419 = load double, ptr %gep1099, align 8, !tbaa !5
  %420 = fadd double %418, %419
  store double %420, ptr %gep1099, align 8, !tbaa !5
  %421 = fmul double %292, 0x3FF08654A2D4F6D8
  %422 = tail call double @llvm.fmuladd.f64(double %275, double 0x3FFEFBDEB14F4EDC, double %421)
  %423 = tail call double @llvm.fmuladd.f64(double %309, double 0xBFE4A7E9CB8A3491, double %422)
  %gep1101 = getelementptr double, ptr %invariant.gep1100, i64 %indvars.iv
  %424 = load double, ptr %gep1101, align 8, !tbaa !5
  %425 = fadd double %423, %424
  store double %425, ptr %gep1101, align 8, !tbaa !5
  %426 = fmul double %305, 0x3FF9D1E43E6CC1B5
  %427 = tail call double @llvm.fmuladd.f64(double %271, double 0xBFF9D1E43E6CC1B5, double %426)
  %gep1103 = getelementptr double, ptr %invariant.gep1102, i64 %indvars.iv
  %428 = load double, ptr %gep1103, align 8, !tbaa !5
  %429 = fadd double %427, %428
  store double %429, ptr %gep1103, align 8, !tbaa !5
  %430 = fmul double %306, 0x3FF9D1E43E6CC1B5
  %431 = tail call double @llvm.fmuladd.f64(double %272, double 0xBFF9D1E43E6CC1B5, double %430)
  %gep1105 = getelementptr double, ptr %invariant.gep1104, i64 %indvars.iv
  %432 = load double, ptr %gep1105, align 8, !tbaa !5
  %433 = fadd double %431, %432
  store double %433, ptr %gep1105, align 8, !tbaa !5
  %434 = tail call double @llvm.fmuladd.f64(double %275, double 0xBFF9D1E43E6CC1B5, double %313)
  %gep1107 = getelementptr double, ptr %invariant.gep1106, i64 %indvars.iv
  %435 = load double, ptr %gep1107, align 8, !tbaa !5
  %436 = fadd double %434, %435
  store double %436, ptr %gep1107, align 8, !tbaa !5
  %437 = fmul double %288, 0xBFF08654A2D4F6D8
  %438 = tail call double @llvm.fmuladd.f64(double %271, double 0x3FE4A7E9CB8A3491, double %437)
  %439 = tail call double @llvm.fmuladd.f64(double %305, double 0xBFFEFBDEB14F4ED8, double %438)
  %gep1109 = getelementptr double, ptr %invariant.gep1108, i64 %indvars.iv
  %440 = load double, ptr %gep1109, align 8, !tbaa !5
  %441 = fadd double %439, %440
  store double %441, ptr %gep1109, align 8, !tbaa !5
  %442 = tail call double @llvm.fmuladd.f64(double %272, double 0x3FE4A7E9CB8A3491, double %300)
  %443 = tail call double @llvm.fmuladd.f64(double %306, double 0xBFFEFBDEB14F4ED8, double %442)
  %gep1111 = getelementptr double, ptr %invariant.gep1110, i64 %indvars.iv
  %444 = load double, ptr %gep1111, align 8, !tbaa !5
  %445 = fadd double %443, %444
  store double %445, ptr %gep1111, align 8, !tbaa !5
  %446 = fmul double %292, 0xBFF08654A2D4F6D8
  %447 = tail call double @llvm.fmuladd.f64(double %275, double 0x3FE4A7E9CB8A3491, double %446)
  %448 = tail call double @llvm.fmuladd.f64(double %309, double 0xBFFEFBDEB14F4ED8, double %447)
  %gep1113 = getelementptr double, ptr %invariant.gep1112, i64 %indvars.iv
  %449 = load double, ptr %gep1113, align 8, !tbaa !5
  %450 = fadd double %448, %449
  store double %450, ptr %gep1113, align 8, !tbaa !5
  %451 = fmul double %339, 0x3FF08654A2D4F6D8
  %452 = tail call double @llvm.fmuladd.f64(double %322, double 0x3FFEFBDEB14F4EDC, double %451)
  %453 = tail call double @llvm.fmuladd.f64(double %356, double 0xBFE4A7E9CB8A3491, double %452)
  %gep1115 = getelementptr double, ptr %invariant.gep1114, i64 %indvars.iv
  %454 = load double, ptr %gep1115, align 8, !tbaa !5
  %455 = fadd double %453, %454
  store double %455, ptr %gep1115, align 8, !tbaa !5
  %456 = tail call double @llvm.fmuladd.f64(double %323, double 0x3FFEFBDEB14F4EDC, double %341)
  %457 = tail call double @llvm.fmuladd.f64(double %357, double 0xBFE4A7E9CB8A3491, double %456)
  %gep1117 = getelementptr double, ptr %invariant.gep1116, i64 %indvars.iv
  %458 = load double, ptr %gep1117, align 8, !tbaa !5
  %459 = fadd double %457, %458
  store double %459, ptr %gep1117, align 8, !tbaa !5
  %460 = fmul double %343, 0x3FF08654A2D4F6D8
  %461 = tail call double @llvm.fmuladd.f64(double %326, double 0x3FFEFBDEB14F4EDC, double %460)
  %462 = tail call double @llvm.fmuladd.f64(double %360, double 0xBFE4A7E9CB8A3491, double %461)
  %gep1119 = getelementptr double, ptr %invariant.gep1118, i64 %indvars.iv
  %463 = load double, ptr %gep1119, align 8, !tbaa !5
  %464 = fadd double %462, %463
  store double %464, ptr %gep1119, align 8, !tbaa !5
  %465 = fmul double %356, 0x3FF9D1E43E6CC1B5
  %466 = tail call double @llvm.fmuladd.f64(double %322, double 0xBFF9D1E43E6CC1B5, double %465)
  %gep1121 = getelementptr double, ptr %invariant.gep1120, i64 %indvars.iv
  %467 = load double, ptr %gep1121, align 8, !tbaa !5
  %468 = fadd double %466, %467
  store double %468, ptr %gep1121, align 8, !tbaa !5
  %469 = fmul double %357, 0x3FF9D1E43E6CC1B5
  %470 = tail call double @llvm.fmuladd.f64(double %323, double 0xBFF9D1E43E6CC1B5, double %469)
  %gep1123 = getelementptr double, ptr %invariant.gep1122, i64 %indvars.iv
  %471 = load double, ptr %gep1123, align 8, !tbaa !5
  %472 = fadd double %470, %471
  store double %472, ptr %gep1123, align 8, !tbaa !5
  %473 = tail call double @llvm.fmuladd.f64(double %326, double 0xBFF9D1E43E6CC1B5, double %364)
  %gep1125 = getelementptr double, ptr %invariant.gep1124, i64 %indvars.iv
  %474 = load double, ptr %gep1125, align 8, !tbaa !5
  %475 = fadd double %473, %474
  store double %475, ptr %gep1125, align 8, !tbaa !5
  %476 = fmul double %339, 0xBFF08654A2D4F6D8
  %477 = tail call double @llvm.fmuladd.f64(double %322, double 0x3FE4A7E9CB8A3491, double %476)
  %478 = tail call double @llvm.fmuladd.f64(double %356, double 0xBFFEFBDEB14F4ED8, double %477)
  %gep1127 = getelementptr double, ptr %invariant.gep1126, i64 %indvars.iv
  %479 = load double, ptr %gep1127, align 8, !tbaa !5
  %480 = fadd double %478, %479
  store double %480, ptr %gep1127, align 8, !tbaa !5
  %481 = tail call double @llvm.fmuladd.f64(double %323, double 0x3FE4A7E9CB8A3491, double %351)
  %482 = tail call double @llvm.fmuladd.f64(double %357, double 0xBFFEFBDEB14F4ED8, double %481)
  %gep1129 = getelementptr double, ptr %invariant.gep1128, i64 %indvars.iv
  %483 = load double, ptr %gep1129, align 8, !tbaa !5
  %484 = fadd double %482, %483
  store double %484, ptr %gep1129, align 8, !tbaa !5
  %485 = fmul double %343, 0xBFF08654A2D4F6D8
  %486 = tail call double @llvm.fmuladd.f64(double %326, double 0x3FE4A7E9CB8A3491, double %485)
  %487 = tail call double @llvm.fmuladd.f64(double %360, double 0xBFFEFBDEB14F4ED8, double %486)
  %gep1131 = getelementptr double, ptr %invariant.gep1130, i64 %indvars.iv
  %488 = load double, ptr %gep1131, align 8, !tbaa !5
  %489 = fadd double %487, %488
  store double %489, ptr %gep1131, align 8, !tbaa !5
  %490 = fmul double %271, 0x3FF08654A2D4F6D8
  %491 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FFEFBDEB14F4EDC, double %490)
  %492 = tail call double @llvm.fmuladd.f64(double %322, double 0xBFE4A7E9CB8A3491, double %491)
  %gep1133 = getelementptr double, ptr %invariant.gep1132, i64 %indvars.iv
  %493 = load double, ptr %gep1133, align 8, !tbaa !5
  %494 = fadd double %492, %493
  store double %494, ptr %gep1133, align 8, !tbaa !5
  %495 = tail call double @llvm.fmuladd.f64(double %220, double 0x3FFEFBDEB14F4EDC, double %273)
  %496 = tail call double @llvm.fmuladd.f64(double %323, double 0xBFE4A7E9CB8A3491, double %495)
  %gep1135 = getelementptr double, ptr %invariant.gep1134, i64 %indvars.iv
  %497 = load double, ptr %gep1135, align 8, !tbaa !5
  %498 = fadd double %496, %497
  store double %498, ptr %gep1135, align 8, !tbaa !5
  %499 = fmul double %275, 0x3FF08654A2D4F6D8
  %500 = tail call double @llvm.fmuladd.f64(double %223, double 0x3FFEFBDEB14F4EDC, double %499)
  %501 = tail call double @llvm.fmuladd.f64(double %326, double 0xBFE4A7E9CB8A3491, double %500)
  %gep1137 = getelementptr double, ptr %invariant.gep1136, i64 %indvars.iv
  %502 = load double, ptr %gep1137, align 8, !tbaa !5
  %503 = fadd double %501, %502
  store double %503, ptr %gep1137, align 8, !tbaa !5
  %504 = tail call double @llvm.fmuladd.f64(double %237, double 0x3FFEFBDEB14F4EDC, double %412)
  %505 = tail call double @llvm.fmuladd.f64(double %339, double 0xBFE4A7E9CB8A3491, double %504)
  %gep1139 = getelementptr double, ptr %invariant.gep1138, i64 %indvars.iv
  %506 = load double, ptr %gep1139, align 8, !tbaa !5
  %507 = fadd double %505, %506
  store double %507, ptr %gep1139, align 8, !tbaa !5
  %508 = tail call double @llvm.fmuladd.f64(double %238, double 0x3FFEFBDEB14F4EDC, double %290)
  %509 = tail call double @llvm.fmuladd.f64(double %340, double 0xBFE4A7E9CB8A3491, double %508)
  %gep1141 = getelementptr double, ptr %invariant.gep1140, i64 %indvars.iv
  %510 = load double, ptr %gep1141, align 8, !tbaa !5
  %511 = fadd double %509, %510
  store double %511, ptr %gep1141, align 8, !tbaa !5
  %512 = tail call double @llvm.fmuladd.f64(double %241, double 0x3FFEFBDEB14F4EDC, double %421)
  %513 = tail call double @llvm.fmuladd.f64(double %343, double 0xBFE4A7E9CB8A3491, double %512)
  %gep1143 = getelementptr double, ptr %invariant.gep1142, i64 %indvars.iv
  %514 = load double, ptr %gep1143, align 8, !tbaa !5
  %515 = fadd double %513, %514
  store double %515, ptr %gep1143, align 8, !tbaa !5
  %516 = fmul double %305, 0x3FF08654A2D4F6D8
  %517 = tail call double @llvm.fmuladd.f64(double %254, double 0x3FFEFBDEB14F4EDC, double %516)
  %518 = tail call double @llvm.fmuladd.f64(double %356, double 0xBFE4A7E9CB8A3491, double %517)
  %gep1145 = getelementptr double, ptr %invariant.gep1144, i64 %indvars.iv
  %519 = load double, ptr %gep1145, align 8, !tbaa !5
  %520 = fadd double %518, %519
  store double %520, ptr %gep1145, align 8, !tbaa !5
  %521 = tail call double @llvm.fmuladd.f64(double %255, double 0x3FFEFBDEB14F4EDC, double %307)
  %522 = tail call double @llvm.fmuladd.f64(double %357, double 0xBFE4A7E9CB8A3491, double %521)
  %gep1147 = getelementptr double, ptr %invariant.gep1146, i64 %indvars.iv
  %523 = load double, ptr %gep1147, align 8, !tbaa !5
  %524 = fadd double %522, %523
  store double %524, ptr %gep1147, align 8, !tbaa !5
  %525 = fmul double %309, 0x3FF08654A2D4F6D8
  %526 = tail call double @llvm.fmuladd.f64(double %258, double 0x3FFEFBDEB14F4EDC, double %525)
  %527 = tail call double @llvm.fmuladd.f64(double %360, double 0xBFE4A7E9CB8A3491, double %526)
  %gep1149 = getelementptr double, ptr %invariant.gep1148, i64 %indvars.iv
  %528 = load double, ptr %gep1149, align 8, !tbaa !5
  %529 = fadd double %527, %528
  store double %529, ptr %gep1149, align 8, !tbaa !5
  %530 = fmul double %322, 0x3FF9D1E43E6CC1B5
  %531 = tail call double @llvm.fmuladd.f64(double %219, double 0xBFF9D1E43E6CC1B5, double %530)
  %gep1151 = getelementptr double, ptr %invariant.gep1150, i64 %indvars.iv
  %532 = load double, ptr %gep1151, align 8, !tbaa !5
  %533 = fadd double %531, %532
  store double %533, ptr %gep1151, align 8, !tbaa !5
  %534 = fmul double %323, 0x3FF9D1E43E6CC1B5
  %535 = tail call double @llvm.fmuladd.f64(double %220, double 0xBFF9D1E43E6CC1B5, double %534)
  %gep1153 = getelementptr double, ptr %invariant.gep1152, i64 %indvars.iv
  %536 = load double, ptr %gep1153, align 8, !tbaa !5
  %537 = fadd double %535, %536
  store double %537, ptr %gep1153, align 8, !tbaa !5
  %538 = tail call double @llvm.fmuladd.f64(double %223, double 0xBFF9D1E43E6CC1B5, double %330)
  %gep1155 = getelementptr double, ptr %invariant.gep1154, i64 %indvars.iv
  %539 = load double, ptr %gep1155, align 8, !tbaa !5
  %540 = fadd double %538, %539
  store double %540, ptr %gep1155, align 8, !tbaa !5
  %541 = fmul double %339, 0x3FF9D1E43E6CC1B5
  %542 = tail call double @llvm.fmuladd.f64(double %237, double 0xBFF9D1E43E6CC1B5, double %541)
  %gep1157 = getelementptr double, ptr %invariant.gep1156, i64 %indvars.iv
  %543 = load double, ptr %gep1157, align 8, !tbaa !5
  %544 = fadd double %542, %543
  store double %544, ptr %gep1157, align 8, !tbaa !5
  %545 = fmul double %340, 0x3FF9D1E43E6CC1B5
  %546 = tail call double @llvm.fmuladd.f64(double %238, double 0xBFF9D1E43E6CC1B5, double %545)
  %gep1159 = getelementptr double, ptr %invariant.gep1158, i64 %indvars.iv
  %547 = load double, ptr %gep1159, align 8, !tbaa !5
  %548 = fadd double %546, %547
  store double %548, ptr %gep1159, align 8, !tbaa !5
  %549 = tail call double @llvm.fmuladd.f64(double %241, double 0xBFF9D1E43E6CC1B5, double %347)
  %gep1161 = getelementptr double, ptr %invariant.gep1160, i64 %indvars.iv
  %550 = load double, ptr %gep1161, align 8, !tbaa !5
  %551 = fadd double %549, %550
  store double %551, ptr %gep1161, align 8, !tbaa !5
  %552 = tail call double @llvm.fmuladd.f64(double %254, double 0xBFF9D1E43E6CC1B5, double %465)
  %gep1163 = getelementptr double, ptr %invariant.gep1162, i64 %indvars.iv
  %553 = load double, ptr %gep1163, align 8, !tbaa !5
  %554 = fadd double %552, %553
  store double %554, ptr %gep1163, align 8, !tbaa !5
  %555 = tail call double @llvm.fmuladd.f64(double %255, double 0xBFF9D1E43E6CC1B5, double %469)
  %gep1165 = getelementptr double, ptr %invariant.gep1164, i64 %indvars.iv
  %556 = load double, ptr %gep1165, align 8, !tbaa !5
  %557 = fadd double %555, %556
  store double %557, ptr %gep1165, align 8, !tbaa !5
  %558 = tail call double @llvm.fmuladd.f64(double %258, double 0xBFF9D1E43E6CC1B5, double %364)
  %gep1167 = getelementptr double, ptr %invariant.gep1166, i64 %indvars.iv
  %559 = load double, ptr %gep1167, align 8, !tbaa !5
  %560 = fadd double %558, %559
  store double %560, ptr %gep1167, align 8, !tbaa !5
  %561 = fmul double %271, 0xBFF08654A2D4F6D8
  %562 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FE4A7E9CB8A3491, double %561)
  %563 = tail call double @llvm.fmuladd.f64(double %322, double 0xBFFEFBDEB14F4ED8, double %562)
  %gep1169 = getelementptr double, ptr %invariant.gep1168, i64 %indvars.iv
  %564 = load double, ptr %gep1169, align 8, !tbaa !5
  %565 = fadd double %563, %564
  store double %565, ptr %gep1169, align 8, !tbaa !5
  %566 = tail call double @llvm.fmuladd.f64(double %220, double 0x3FE4A7E9CB8A3491, double %283)
  %567 = tail call double @llvm.fmuladd.f64(double %323, double 0xBFFEFBDEB14F4ED8, double %566)
  %gep1171 = getelementptr double, ptr %invariant.gep1170, i64 %indvars.iv
  %568 = load double, ptr %gep1171, align 8, !tbaa !5
  %569 = fadd double %567, %568
  store double %569, ptr %gep1171, align 8, !tbaa !5
  %570 = fmul double %275, 0xBFF08654A2D4F6D8
  %571 = tail call double @llvm.fmuladd.f64(double %223, double 0x3FE4A7E9CB8A3491, double %570)
  %572 = tail call double @llvm.fmuladd.f64(double %326, double 0xBFFEFBDEB14F4ED8, double %571)
  %gep1173 = getelementptr double, ptr %invariant.gep1172, i64 %indvars.iv
  %573 = load double, ptr %gep1173, align 8, !tbaa !5
  %574 = fadd double %572, %573
  store double %574, ptr %gep1173, align 8, !tbaa !5
  %575 = tail call double @llvm.fmuladd.f64(double %237, double 0x3FE4A7E9CB8A3491, double %437)
  %576 = tail call double @llvm.fmuladd.f64(double %339, double 0xBFFEFBDEB14F4ED8, double %575)
  %gep1175 = getelementptr double, ptr %invariant.gep1174, i64 %indvars.iv
  %577 = load double, ptr %gep1175, align 8, !tbaa !5
  %578 = fadd double %576, %577
  store double %578, ptr %gep1175, align 8, !tbaa !5
  %579 = tail call double @llvm.fmuladd.f64(double %238, double 0x3FE4A7E9CB8A3491, double %300)
  %580 = tail call double @llvm.fmuladd.f64(double %340, double 0xBFFEFBDEB14F4ED8, double %579)
  %gep1177 = getelementptr double, ptr %invariant.gep1176, i64 %indvars.iv
  %581 = load double, ptr %gep1177, align 8, !tbaa !5
  %582 = fadd double %580, %581
  store double %582, ptr %gep1177, align 8, !tbaa !5
  %583 = tail call double @llvm.fmuladd.f64(double %241, double 0x3FE4A7E9CB8A3491, double %446)
  %584 = tail call double @llvm.fmuladd.f64(double %343, double 0xBFFEFBDEB14F4ED8, double %583)
  %gep1179 = getelementptr double, ptr %invariant.gep1178, i64 %indvars.iv
  %585 = load double, ptr %gep1179, align 8, !tbaa !5
  %586 = fadd double %584, %585
  store double %586, ptr %gep1179, align 8, !tbaa !5
  %587 = fmul double %305, 0xBFF08654A2D4F6D8
  %588 = tail call double @llvm.fmuladd.f64(double %254, double 0x3FE4A7E9CB8A3491, double %587)
  %589 = tail call double @llvm.fmuladd.f64(double %356, double 0xBFFEFBDEB14F4ED8, double %588)
  %gep1181 = getelementptr double, ptr %invariant.gep1180, i64 %indvars.iv
  %590 = load double, ptr %gep1181, align 8, !tbaa !5
  %591 = fadd double %589, %590
  store double %591, ptr %gep1181, align 8, !tbaa !5
  %592 = tail call double @llvm.fmuladd.f64(double %255, double 0x3FE4A7E9CB8A3491, double %317)
  %593 = tail call double @llvm.fmuladd.f64(double %357, double 0xBFFEFBDEB14F4ED8, double %592)
  %gep1183 = getelementptr double, ptr %invariant.gep1182, i64 %indvars.iv
  %594 = load double, ptr %gep1183, align 8, !tbaa !5
  %595 = fadd double %593, %594
  store double %595, ptr %gep1183, align 8, !tbaa !5
  %596 = fmul double %309, 0xBFF08654A2D4F6D8
  %597 = tail call double @llvm.fmuladd.f64(double %258, double 0x3FE4A7E9CB8A3491, double %596)
  %598 = tail call double @llvm.fmuladd.f64(double %360, double 0xBFFEFBDEB14F4ED8, double %597)
  %gep1185 = getelementptr double, ptr %invariant.gep1184, i64 %indvars.iv
  %599 = load double, ptr %gep1185, align 8, !tbaa !5
  %600 = fadd double %598, %599
  store double %600, ptr %gep1185, 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 %217, !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