; 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_b0(i32 noundef %0, ptr noalias noundef %1, i32 noundef %2, ptr noalias noundef %3, i32 noundef %4) #2 {
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca double, align 8
  %12 = alloca i32, align 4
  store i32 %0, ptr %6, align 4, !tbaa !5
  store ptr %1, ptr %7, align 8, !tbaa !9
  store i32 %2, ptr %8, align 4, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !9
  store i32 %4, ptr %10, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #3
  store i32 0, ptr %12, align 4, !tbaa !5
  br label %13

13:                                               ; preds = %2611, %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 %2614

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

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

2614:                                             ; 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_b0(i32 noundef %0, ptr noalias nocapture noundef readonly %1, i32 noundef %2, ptr noalias noundef writeonly %3, i32 noundef %4) local_unnamed_addr #1 {
  %6 = icmp sgt i32 %0, 0
  br i1 %6, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %5
  %7 = shl nsw i32 %2, 1
  %8 = 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
  store double %224, ptr %225, align 8, !tbaa !5
  %226 = fmul double %223, 0x3FF9D1E43E6CC1B5
  %227 = tail call double @llvm.fmuladd.f64(double %219, double 0xBFF9D1E43E6CC1B5, double %226)
  %gep979 = getelementptr double, ptr %invariant.gep978, i64 %indvars.iv
  store double %227, ptr %gep979, align 8, !tbaa !5
  %228 = fmul double %220, 0xBFF08654A2D4F6D8
  %229 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FE4A7E9CB8A3491, double %228)
  %230 = tail call double @llvm.fmuladd.f64(double %223, double 0xBFFEFBDEB14F4ED8, double %229)
  %gep981 = getelementptr double, ptr %invariant.gep980, i64 %indvars.iv
  store double %230, ptr %gep981, align 8, !tbaa !5
  %gep983 = getelementptr double, ptr %invariant.gep982, i64 %indvars.iv
  %231 = load double, ptr %gep983, align 8, !tbaa !5
  %gep985 = getelementptr double, ptr %invariant.gep984, i64 %indvars.iv
  %232 = load double, ptr %gep985, align 8, !tbaa !5
  %233 = fmul double %232, 0x3FF08654A2D4F6D8
  %234 = tail call double @llvm.fmuladd.f64(double %231, double 0x3FFEFBDEB14F4EDC, double %233)
  %gep987 = getelementptr double, ptr %invariant.gep986, i64 %indvars.iv
  %235 = load double, ptr %gep987, align 8, !tbaa !5
  %236 = tail call double @llvm.fmuladd.f64(double %235, double 0xBFE4A7E9CB8A3491, double %234)
  %gep989 = getelementptr double, ptr %invariant.gep988, i64 %indvars.iv
  store double %236, ptr %gep989, align 8, !tbaa !5
  %237 = fmul double %235, 0x3FF9D1E43E6CC1B5
  %238 = tail call double @llvm.fmuladd.f64(double %231, double 0xBFF9D1E43E6CC1B5, double %237)
  %gep991 = getelementptr double, ptr %invariant.gep990, i64 %indvars.iv
  store double %238, ptr %gep991, align 8, !tbaa !5
  %239 = fmul double %232, 0xBFF08654A2D4F6D8
  %240 = tail call double @llvm.fmuladd.f64(double %231, double 0x3FE4A7E9CB8A3491, double %239)
  %241 = tail call double @llvm.fmuladd.f64(double %235, double 0xBFFEFBDEB14F4ED8, double %240)
  %gep993 = getelementptr double, ptr %invariant.gep992, i64 %indvars.iv
  store double %241, ptr %gep993, align 8, !tbaa !5
  %gep995 = getelementptr double, ptr %invariant.gep994, i64 %indvars.iv
  %242 = load double, ptr %gep995, align 8, !tbaa !5
  %gep997 = getelementptr double, ptr %invariant.gep996, i64 %indvars.iv
  %243 = load double, ptr %gep997, align 8, !tbaa !5
  %244 = fmul double %243, 0x3FF08654A2D4F6D8
  %245 = tail call double @llvm.fmuladd.f64(double %242, double 0x3FFEFBDEB14F4EDC, double %244)
  %gep999 = getelementptr double, ptr %invariant.gep998, i64 %indvars.iv
  %246 = load double, ptr %gep999, align 8, !tbaa !5
  %247 = tail call double @llvm.fmuladd.f64(double %246, double 0xBFE4A7E9CB8A3491, double %245)
  %gep1001 = getelementptr double, ptr %invariant.gep1000, i64 %indvars.iv
  store double %247, ptr %gep1001, align 8, !tbaa !5
  %248 = fmul double %246, 0x3FF9D1E43E6CC1B5
  %249 = tail call double @llvm.fmuladd.f64(double %242, double 0xBFF9D1E43E6CC1B5, double %248)
  %gep1003 = getelementptr double, ptr %invariant.gep1002, i64 %indvars.iv
  store double %249, ptr %gep1003, align 8, !tbaa !5
  %250 = fmul double %243, 0xBFF08654A2D4F6D8
  %251 = tail call double @llvm.fmuladd.f64(double %242, double 0x3FE4A7E9CB8A3491, double %250)
  %252 = tail call double @llvm.fmuladd.f64(double %246, double 0xBFFEFBDEB14F4ED8, double %251)
  %gep1005 = getelementptr double, ptr %invariant.gep1004, i64 %indvars.iv
  store double %252, ptr %gep1005, align 8, !tbaa !5
  %gep1007 = getelementptr double, ptr %invariant.gep1006, i64 %indvars.iv
  %253 = load double, ptr %gep1007, align 8, !tbaa !5
  %gep1009 = getelementptr double, ptr %invariant.gep1008, i64 %indvars.iv
  %254 = load double, ptr %gep1009, align 8, !tbaa !5
  %255 = fmul double %254, 0x3FF08654A2D4F6D8
  %256 = tail call double @llvm.fmuladd.f64(double %253, double 0x3FFEFBDEB14F4EDC, double %255)
  %gep1011 = getelementptr double, ptr %invariant.gep1010, i64 %indvars.iv
  %257 = load double, ptr %gep1011, align 8, !tbaa !5
  %258 = tail call double @llvm.fmuladd.f64(double %257, double 0xBFE4A7E9CB8A3491, double %256)
  %gep1013 = getelementptr double, ptr %invariant.gep1012, i64 %indvars.iv
  store double %258, ptr %gep1013, align 8, !tbaa !5
  %259 = fmul double %257, 0x3FF9D1E43E6CC1B5
  %260 = tail call double @llvm.fmuladd.f64(double %253, double 0xBFF9D1E43E6CC1B5, double %259)
  %gep1015 = getelementptr double, ptr %invariant.gep1014, i64 %indvars.iv
  store double %260, ptr %gep1015, align 8, !tbaa !5
  %261 = fmul double %254, 0xBFF08654A2D4F6D8
  %262 = tail call double @llvm.fmuladd.f64(double %253, double 0x3FE4A7E9CB8A3491, double %261)
  %263 = tail call double @llvm.fmuladd.f64(double %257, double 0xBFFEFBDEB14F4ED8, double %262)
  %gep1017 = getelementptr double, ptr %invariant.gep1016, i64 %indvars.iv
  store double %263, ptr %gep1017, align 8, !tbaa !5
  %gep1019 = getelementptr double, ptr %invariant.gep1018, i64 %indvars.iv
  %264 = load double, ptr %gep1019, align 8, !tbaa !5
  %gep1021 = getelementptr double, ptr %invariant.gep1020, i64 %indvars.iv
  %265 = load double, ptr %gep1021, align 8, !tbaa !5
  %266 = fmul double %265, 0x3FF08654A2D4F6D8
  %267 = tail call double @llvm.fmuladd.f64(double %264, double 0x3FFEFBDEB14F4EDC, double %266)
  %gep1023 = getelementptr double, ptr %invariant.gep1022, i64 %indvars.iv
  %268 = load double, ptr %gep1023, align 8, !tbaa !5
  %269 = tail call double @llvm.fmuladd.f64(double %268, double 0xBFE4A7E9CB8A3491, double %267)
  %gep1025 = getelementptr double, ptr %invariant.gep1024, i64 %indvars.iv
  store double %269, ptr %gep1025, align 8, !tbaa !5
  %270 = fmul double %268, 0x3FF9D1E43E6CC1B5
  %271 = tail call double @llvm.fmuladd.f64(double %264, double 0xBFF9D1E43E6CC1B5, double %270)
  %gep1027 = getelementptr double, ptr %invariant.gep1026, i64 %indvars.iv
  store double %271, ptr %gep1027, align 8, !tbaa !5
  %272 = fmul double %265, 0xBFF08654A2D4F6D8
  %273 = tail call double @llvm.fmuladd.f64(double %264, double 0x3FE4A7E9CB8A3491, double %272)
  %274 = tail call double @llvm.fmuladd.f64(double %268, double 0xBFFEFBDEB14F4ED8, double %273)
  %gep1029 = getelementptr double, ptr %invariant.gep1028, i64 %indvars.iv
  store double %274, ptr %gep1029, align 8, !tbaa !5
  %gep1031 = getelementptr double, ptr %invariant.gep1030, i64 %indvars.iv
  %275 = load double, ptr %gep1031, align 8, !tbaa !5
  %gep1033 = getelementptr double, ptr %invariant.gep1032, i64 %indvars.iv
  %276 = load double, ptr %gep1033, align 8, !tbaa !5
  %277 = fmul double %276, 0x3FF08654A2D4F6D8
  %278 = tail call double @llvm.fmuladd.f64(double %275, double 0x3FFEFBDEB14F4EDC, double %277)
  %gep1035 = getelementptr double, ptr %invariant.gep1034, i64 %indvars.iv
  %279 = load double, ptr %gep1035, align 8, !tbaa !5
  %280 = tail call double @llvm.fmuladd.f64(double %279, double 0xBFE4A7E9CB8A3491, double %278)
  %gep1037 = getelementptr double, ptr %invariant.gep1036, i64 %indvars.iv
  store double %280, ptr %gep1037, align 8, !tbaa !5
  %281 = fmul double %279, 0x3FF9D1E43E6CC1B5
  %282 = tail call double @llvm.fmuladd.f64(double %275, double 0xBFF9D1E43E6CC1B5, double %281)
  %gep1039 = getelementptr double, ptr %invariant.gep1038, i64 %indvars.iv
  store double %282, ptr %gep1039, align 8, !tbaa !5
  %283 = fmul double %276, 0xBFF08654A2D4F6D8
  %284 = tail call double @llvm.fmuladd.f64(double %275, double 0x3FE4A7E9CB8A3491, double %283)
  %285 = tail call double @llvm.fmuladd.f64(double %279, double 0xBFFEFBDEB14F4ED8, double %284)
  %gep1041 = getelementptr double, ptr %invariant.gep1040, i64 %indvars.iv
  store double %285, ptr %gep1041, align 8, !tbaa !5
  %gep1043 = getelementptr double, ptr %invariant.gep1042, i64 %indvars.iv
  %286 = load double, ptr %gep1043, align 8, !tbaa !5
  %gep1045 = getelementptr double, ptr %invariant.gep1044, i64 %indvars.iv
  %287 = load double, ptr %gep1045, align 8, !tbaa !5
  %288 = fmul double %287, 0x3FF08654A2D4F6D8
  %289 = tail call double @llvm.fmuladd.f64(double %286, double 0x3FFEFBDEB14F4EDC, double %288)
  %gep1047 = getelementptr double, ptr %invariant.gep1046, i64 %indvars.iv
  %290 = load double, ptr %gep1047, align 8, !tbaa !5
  %291 = tail call double @llvm.fmuladd.f64(double %290, double 0xBFE4A7E9CB8A3491, double %289)
  %gep1049 = getelementptr double, ptr %invariant.gep1048, i64 %indvars.iv
  store double %291, ptr %gep1049, align 8, !tbaa !5
  %292 = fmul double %290, 0x3FF9D1E43E6CC1B5
  %293 = tail call double @llvm.fmuladd.f64(double %286, double 0xBFF9D1E43E6CC1B5, double %292)
  %gep1051 = getelementptr double, ptr %invariant.gep1050, i64 %indvars.iv
  store double %293, ptr %gep1051, align 8, !tbaa !5
  %294 = fmul double %287, 0xBFF08654A2D4F6D8
  %295 = tail call double @llvm.fmuladd.f64(double %286, double 0x3FE4A7E9CB8A3491, double %294)
  %296 = tail call double @llvm.fmuladd.f64(double %290, double 0xBFFEFBDEB14F4ED8, double %295)
  %gep1053 = getelementptr double, ptr %invariant.gep1052, i64 %indvars.iv
  store double %296, ptr %gep1053, align 8, !tbaa !5
  %gep1055 = getelementptr double, ptr %invariant.gep1054, i64 %indvars.iv
  %297 = load double, ptr %gep1055, align 8, !tbaa !5
  %gep1057 = getelementptr double, ptr %invariant.gep1056, i64 %indvars.iv
  %298 = load double, ptr %gep1057, align 8, !tbaa !5
  %299 = fmul double %298, 0x3FF08654A2D4F6D8
  %300 = tail call double @llvm.fmuladd.f64(double %297, double 0x3FFEFBDEB14F4EDC, double %299)
  %gep1059 = getelementptr double, ptr %invariant.gep1058, i64 %indvars.iv
  %301 = load double, ptr %gep1059, align 8, !tbaa !5
  %302 = tail call double @llvm.fmuladd.f64(double %301, double 0xBFE4A7E9CB8A3491, double %300)
  %gep1061 = getelementptr double, ptr %invariant.gep1060, i64 %indvars.iv
  store double %302, ptr %gep1061, align 8, !tbaa !5
  %303 = fmul double %301, 0x3FF9D1E43E6CC1B5
  %304 = tail call double @llvm.fmuladd.f64(double %297, double 0xBFF9D1E43E6CC1B5, double %303)
  %gep1063 = getelementptr double, ptr %invariant.gep1062, i64 %indvars.iv
  store double %304, ptr %gep1063, align 8, !tbaa !5
  %305 = fmul double %298, 0xBFF08654A2D4F6D8
  %306 = tail call double @llvm.fmuladd.f64(double %297, double 0x3FE4A7E9CB8A3491, double %305)
  %307 = tail call double @llvm.fmuladd.f64(double %301, double 0xBFFEFBDEB14F4ED8, double %306)
  %gep1065 = getelementptr double, ptr %invariant.gep1064, i64 %indvars.iv
  store double %307, ptr %gep1065, align 8, !tbaa !5
  %gep1067 = getelementptr double, ptr %invariant.gep1066, i64 %indvars.iv
  %308 = load double, ptr %gep1067, align 8, !tbaa !5
  %gep1069 = getelementptr double, ptr %invariant.gep1068, i64 %indvars.iv
  %309 = load double, ptr %gep1069, align 8, !tbaa !5
  %310 = fmul double %309, 0x3FF08654A2D4F6D8
  %311 = tail call double @llvm.fmuladd.f64(double %308, double 0x3FFEFBDEB14F4EDC, double %310)
  %gep1071 = getelementptr double, ptr %invariant.gep1070, i64 %indvars.iv
  %312 = load double, ptr %gep1071, align 8, !tbaa !5
  %313 = tail call double @llvm.fmuladd.f64(double %312, double 0xBFE4A7E9CB8A3491, double %311)
  %gep1073 = getelementptr double, ptr %invariant.gep1072, i64 %indvars.iv
  store double %313, ptr %gep1073, align 8, !tbaa !5
  %314 = fmul double %312, 0x3FF9D1E43E6CC1B5
  %315 = tail call double @llvm.fmuladd.f64(double %308, double 0xBFF9D1E43E6CC1B5, double %314)
  %gep1075 = getelementptr double, ptr %invariant.gep1074, i64 %indvars.iv
  store double %315, ptr %gep1075, align 8, !tbaa !5
  %316 = fmul double %309, 0xBFF08654A2D4F6D8
  %317 = tail call double @llvm.fmuladd.f64(double %308, double 0x3FE4A7E9CB8A3491, double %316)
  %318 = tail call double @llvm.fmuladd.f64(double %312, double 0xBFFEFBDEB14F4ED8, double %317)
  %gep1077 = getelementptr double, ptr %invariant.gep1076, i64 %indvars.iv
  store double %318, ptr %gep1077, align 8, !tbaa !5
  %319 = fmul double %231, 0x3FF08654A2D4F6D8
  %320 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FFEFBDEB14F4EDC, double %319)
  %321 = tail call double @llvm.fmuladd.f64(double %242, double 0xBFE4A7E9CB8A3491, double %320)
  %gep1079 = getelementptr double, ptr %invariant.gep1078, i64 %indvars.iv
  store double %321, ptr %gep1079, align 8, !tbaa !5
  %322 = tail call double @llvm.fmuladd.f64(double %220, double 0x3FFEFBDEB14F4EDC, double %233)
  %323 = tail call double @llvm.fmuladd.f64(double %243, double 0xBFE4A7E9CB8A3491, double %322)
  %gep1081 = getelementptr double, ptr %invariant.gep1080, i64 %indvars.iv
  store double %323, ptr %gep1081, align 8, !tbaa !5
  %324 = fmul double %235, 0x3FF08654A2D4F6D8
  %325 = tail call double @llvm.fmuladd.f64(double %223, double 0x3FFEFBDEB14F4EDC, double %324)
  %326 = tail call double @llvm.fmuladd.f64(double %246, double 0xBFE4A7E9CB8A3491, double %325)
  %gep1083 = getelementptr double, ptr %invariant.gep1082, i64 %indvars.iv
  store double %326, ptr %gep1083, align 8, !tbaa !5
  %327 = fmul double %242, 0x3FF9D1E43E6CC1B5
  %328 = tail call double @llvm.fmuladd.f64(double %219, double 0xBFF9D1E43E6CC1B5, double %327)
  %gep1085 = getelementptr double, ptr %invariant.gep1084, i64 %indvars.iv
  store double %328, ptr %gep1085, align 8, !tbaa !5
  %329 = fmul double %243, 0x3FF9D1E43E6CC1B5
  %330 = tail call double @llvm.fmuladd.f64(double %220, double 0xBFF9D1E43E6CC1B5, double %329)
  %gep1087 = getelementptr double, ptr %invariant.gep1086, i64 %indvars.iv
  store double %330, ptr %gep1087, align 8, !tbaa !5
  %331 = tail call double @llvm.fmuladd.f64(double %223, double 0xBFF9D1E43E6CC1B5, double %248)
  %gep1089 = getelementptr double, ptr %invariant.gep1088, i64 %indvars.iv
  store double %331, ptr %gep1089, align 8, !tbaa !5
  %332 = fmul double %231, 0xBFF08654A2D4F6D8
  %333 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FE4A7E9CB8A3491, double %332)
  %334 = tail call double @llvm.fmuladd.f64(double %242, double 0xBFFEFBDEB14F4ED8, double %333)
  %gep1091 = getelementptr double, ptr %invariant.gep1090, i64 %indvars.iv
  store double %334, ptr %gep1091, align 8, !tbaa !5
  %335 = tail call double @llvm.fmuladd.f64(double %220, double 0x3FE4A7E9CB8A3491, double %239)
  %336 = tail call double @llvm.fmuladd.f64(double %243, double 0xBFFEFBDEB14F4ED8, double %335)
  %gep1093 = getelementptr double, ptr %invariant.gep1092, i64 %indvars.iv
  store double %336, ptr %gep1093, align 8, !tbaa !5
  %337 = fmul double %235, 0xBFF08654A2D4F6D8
  %338 = tail call double @llvm.fmuladd.f64(double %223, double 0x3FE4A7E9CB8A3491, double %337)
  %339 = tail call double @llvm.fmuladd.f64(double %246, double 0xBFFEFBDEB14F4ED8, double %338)
  %gep1095 = getelementptr double, ptr %invariant.gep1094, i64 %indvars.iv
  store double %339, ptr %gep1095, align 8, !tbaa !5
  %340 = fmul double %264, 0x3FF08654A2D4F6D8
  %341 = tail call double @llvm.fmuladd.f64(double %253, double 0x3FFEFBDEB14F4EDC, double %340)
  %342 = tail call double @llvm.fmuladd.f64(double %275, double 0xBFE4A7E9CB8A3491, double %341)
  %gep1097 = getelementptr double, ptr %invariant.gep1096, i64 %indvars.iv
  store double %342, ptr %gep1097, align 8, !tbaa !5
  %343 = tail call double @llvm.fmuladd.f64(double %254, double 0x3FFEFBDEB14F4EDC, double %266)
  %344 = tail call double @llvm.fmuladd.f64(double %276, double 0xBFE4A7E9CB8A3491, double %343)
  %gep1099 = getelementptr double, ptr %invariant.gep1098, i64 %indvars.iv
  store double %344, ptr %gep1099, align 8, !tbaa !5
  %345 = fmul double %268, 0x3FF08654A2D4F6D8
  %346 = tail call double @llvm.fmuladd.f64(double %257, double 0x3FFEFBDEB14F4EDC, double %345)
  %347 = tail call double @llvm.fmuladd.f64(double %279, double 0xBFE4A7E9CB8A3491, double %346)
  %gep1101 = getelementptr double, ptr %invariant.gep1100, i64 %indvars.iv
  store double %347, ptr %gep1101, align 8, !tbaa !5
  %348 = fmul double %275, 0x3FF9D1E43E6CC1B5
  %349 = tail call double @llvm.fmuladd.f64(double %253, double 0xBFF9D1E43E6CC1B5, double %348)
  %gep1103 = getelementptr double, ptr %invariant.gep1102, i64 %indvars.iv
  store double %349, ptr %gep1103, align 8, !tbaa !5
  %350 = fmul double %276, 0x3FF9D1E43E6CC1B5
  %351 = tail call double @llvm.fmuladd.f64(double %254, double 0xBFF9D1E43E6CC1B5, double %350)
  %gep1105 = getelementptr double, ptr %invariant.gep1104, i64 %indvars.iv
  store double %351, ptr %gep1105, align 8, !tbaa !5
  %352 = tail call double @llvm.fmuladd.f64(double %257, double 0xBFF9D1E43E6CC1B5, double %281)
  %gep1107 = getelementptr double, ptr %invariant.gep1106, i64 %indvars.iv
  store double %352, ptr %gep1107, align 8, !tbaa !5
  %353 = fmul double %264, 0xBFF08654A2D4F6D8
  %354 = tail call double @llvm.fmuladd.f64(double %253, double 0x3FE4A7E9CB8A3491, double %353)
  %355 = tail call double @llvm.fmuladd.f64(double %275, double 0xBFFEFBDEB14F4ED8, double %354)
  %gep1109 = getelementptr double, ptr %invariant.gep1108, i64 %indvars.iv
  store double %355, ptr %gep1109, align 8, !tbaa !5
  %356 = tail call double @llvm.fmuladd.f64(double %254, double 0x3FE4A7E9CB8A3491, double %272)
  %357 = tail call double @llvm.fmuladd.f64(double %276, double 0xBFFEFBDEB14F4ED8, double %356)
  %gep1111 = getelementptr double, ptr %invariant.gep1110, i64 %indvars.iv
  store double %357, ptr %gep1111, align 8, !tbaa !5
  %358 = fmul double %268, 0xBFF08654A2D4F6D8
  %359 = tail call double @llvm.fmuladd.f64(double %257, double 0x3FE4A7E9CB8A3491, double %358)
  %360 = tail call double @llvm.fmuladd.f64(double %279, double 0xBFFEFBDEB14F4ED8, double %359)
  %gep1113 = getelementptr double, ptr %invariant.gep1112, i64 %indvars.iv
  store double %360, ptr %gep1113, align 8, !tbaa !5
  %361 = fmul double %297, 0x3FF08654A2D4F6D8
  %362 = tail call double @llvm.fmuladd.f64(double %286, double 0x3FFEFBDEB14F4EDC, double %361)
  %363 = tail call double @llvm.fmuladd.f64(double %308, double 0xBFE4A7E9CB8A3491, double %362)
  %gep1115 = getelementptr double, ptr %invariant.gep1114, i64 %indvars.iv
  store double %363, ptr %gep1115, align 8, !tbaa !5
  %364 = tail call double @llvm.fmuladd.f64(double %287, double 0x3FFEFBDEB14F4EDC, double %299)
  %365 = tail call double @llvm.fmuladd.f64(double %309, double 0xBFE4A7E9CB8A3491, double %364)
  %gep1117 = getelementptr double, ptr %invariant.gep1116, i64 %indvars.iv
  store double %365, ptr %gep1117, align 8, !tbaa !5
  %366 = fmul double %301, 0x3FF08654A2D4F6D8
  %367 = tail call double @llvm.fmuladd.f64(double %290, double 0x3FFEFBDEB14F4EDC, double %366)
  %368 = tail call double @llvm.fmuladd.f64(double %312, double 0xBFE4A7E9CB8A3491, double %367)
  %gep1119 = getelementptr double, ptr %invariant.gep1118, i64 %indvars.iv
  store double %368, ptr %gep1119, align 8, !tbaa !5
  %369 = fmul double %308, 0x3FF9D1E43E6CC1B5
  %370 = tail call double @llvm.fmuladd.f64(double %286, double 0xBFF9D1E43E6CC1B5, double %369)
  %gep1121 = getelementptr double, ptr %invariant.gep1120, i64 %indvars.iv
  store double %370, ptr %gep1121, align 8, !tbaa !5
  %371 = fmul double %309, 0x3FF9D1E43E6CC1B5
  %372 = tail call double @llvm.fmuladd.f64(double %287, double 0xBFF9D1E43E6CC1B5, double %371)
  %gep1123 = getelementptr double, ptr %invariant.gep1122, i64 %indvars.iv
  store double %372, ptr %gep1123, align 8, !tbaa !5
  %373 = tail call double @llvm.fmuladd.f64(double %290, double 0xBFF9D1E43E6CC1B5, double %314)
  %gep1125 = getelementptr double, ptr %invariant.gep1124, i64 %indvars.iv
  store double %373, ptr %gep1125, align 8, !tbaa !5
  %374 = fmul double %297, 0xBFF08654A2D4F6D8
  %375 = tail call double @llvm.fmuladd.f64(double %286, double 0x3FE4A7E9CB8A3491, double %374)
  %376 = tail call double @llvm.fmuladd.f64(double %308, double 0xBFFEFBDEB14F4ED8, double %375)
  %gep1127 = getelementptr double, ptr %invariant.gep1126, i64 %indvars.iv
  store double %376, ptr %gep1127, align 8, !tbaa !5
  %377 = tail call double @llvm.fmuladd.f64(double %287, double 0x3FE4A7E9CB8A3491, double %305)
  %378 = tail call double @llvm.fmuladd.f64(double %309, double 0xBFFEFBDEB14F4ED8, double %377)
  %gep1129 = getelementptr double, ptr %invariant.gep1128, i64 %indvars.iv
  store double %378, ptr %gep1129, align 8, !tbaa !5
  %379 = fmul double %301, 0xBFF08654A2D4F6D8
  %380 = tail call double @llvm.fmuladd.f64(double %290, double 0x3FE4A7E9CB8A3491, double %379)
  %381 = tail call double @llvm.fmuladd.f64(double %312, double 0xBFFEFBDEB14F4ED8, double %380)
  %gep1131 = getelementptr double, ptr %invariant.gep1130, i64 %indvars.iv
  store double %381, ptr %gep1131, align 8, !tbaa !5
  %382 = fmul double %253, 0x3FF08654A2D4F6D8
  %383 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FFEFBDEB14F4EDC, double %382)
  %384 = tail call double @llvm.fmuladd.f64(double %286, double 0xBFE4A7E9CB8A3491, double %383)
  %gep1133 = getelementptr double, ptr %invariant.gep1132, i64 %indvars.iv
  store double %384, ptr %gep1133, align 8, !tbaa !5
  %385 = tail call double @llvm.fmuladd.f64(double %220, double 0x3FFEFBDEB14F4EDC, double %255)
  %386 = tail call double @llvm.fmuladd.f64(double %287, double 0xBFE4A7E9CB8A3491, double %385)
  %gep1135 = getelementptr double, ptr %invariant.gep1134, i64 %indvars.iv
  store double %386, ptr %gep1135, align 8, !tbaa !5
  %387 = fmul double %257, 0x3FF08654A2D4F6D8
  %388 = tail call double @llvm.fmuladd.f64(double %223, double 0x3FFEFBDEB14F4EDC, double %387)
  %389 = tail call double @llvm.fmuladd.f64(double %290, double 0xBFE4A7E9CB8A3491, double %388)
  %gep1137 = getelementptr double, ptr %invariant.gep1136, i64 %indvars.iv
  store double %389, ptr %gep1137, align 8, !tbaa !5
  %390 = tail call double @llvm.fmuladd.f64(double %231, double 0x3FFEFBDEB14F4EDC, double %340)
  %391 = tail call double @llvm.fmuladd.f64(double %297, double 0xBFE4A7E9CB8A3491, double %390)
  %gep1139 = getelementptr double, ptr %invariant.gep1138, i64 %indvars.iv
  store double %391, ptr %gep1139, align 8, !tbaa !5
  %392 = tail call double @llvm.fmuladd.f64(double %232, double 0x3FFEFBDEB14F4EDC, double %266)
  %393 = tail call double @llvm.fmuladd.f64(double %298, double 0xBFE4A7E9CB8A3491, double %392)
  %gep1141 = getelementptr double, ptr %invariant.gep1140, i64 %indvars.iv
  store double %393, ptr %gep1141, align 8, !tbaa !5
  %394 = tail call double @llvm.fmuladd.f64(double %235, double 0x3FFEFBDEB14F4EDC, double %345)
  %395 = tail call double @llvm.fmuladd.f64(double %301, double 0xBFE4A7E9CB8A3491, double %394)
  %gep1143 = getelementptr double, ptr %invariant.gep1142, i64 %indvars.iv
  store double %395, ptr %gep1143, align 8, !tbaa !5
  %396 = fmul double %275, 0x3FF08654A2D4F6D8
  %397 = tail call double @llvm.fmuladd.f64(double %242, double 0x3FFEFBDEB14F4EDC, double %396)
  %398 = tail call double @llvm.fmuladd.f64(double %308, double 0xBFE4A7E9CB8A3491, double %397)
  %gep1145 = getelementptr double, ptr %invariant.gep1144, i64 %indvars.iv
  store double %398, ptr %gep1145, align 8, !tbaa !5
  %399 = tail call double @llvm.fmuladd.f64(double %243, double 0x3FFEFBDEB14F4EDC, double %277)
  %400 = tail call double @llvm.fmuladd.f64(double %309, double 0xBFE4A7E9CB8A3491, double %399)
  %gep1147 = getelementptr double, ptr %invariant.gep1146, i64 %indvars.iv
  store double %400, ptr %gep1147, align 8, !tbaa !5
  %401 = fmul double %279, 0x3FF08654A2D4F6D8
  %402 = tail call double @llvm.fmuladd.f64(double %246, double 0x3FFEFBDEB14F4EDC, double %401)
  %403 = tail call double @llvm.fmuladd.f64(double %312, double 0xBFE4A7E9CB8A3491, double %402)
  %gep1149 = getelementptr double, ptr %invariant.gep1148, i64 %indvars.iv
  store double %403, ptr %gep1149, align 8, !tbaa !5
  %404 = fmul double %286, 0x3FF9D1E43E6CC1B5
  %405 = tail call double @llvm.fmuladd.f64(double %219, double 0xBFF9D1E43E6CC1B5, double %404)
  %gep1151 = getelementptr double, ptr %invariant.gep1150, i64 %indvars.iv
  store double %405, ptr %gep1151, align 8, !tbaa !5
  %406 = fmul double %287, 0x3FF9D1E43E6CC1B5
  %407 = tail call double @llvm.fmuladd.f64(double %220, double 0xBFF9D1E43E6CC1B5, double %406)
  %gep1153 = getelementptr double, ptr %invariant.gep1152, i64 %indvars.iv
  store double %407, ptr %gep1153, align 8, !tbaa !5
  %408 = tail call double @llvm.fmuladd.f64(double %223, double 0xBFF9D1E43E6CC1B5, double %292)
  %gep1155 = getelementptr double, ptr %invariant.gep1154, i64 %indvars.iv
  store double %408, ptr %gep1155, align 8, !tbaa !5
  %409 = fmul double %297, 0x3FF9D1E43E6CC1B5
  %410 = tail call double @llvm.fmuladd.f64(double %231, double 0xBFF9D1E43E6CC1B5, double %409)
  %gep1157 = getelementptr double, ptr %invariant.gep1156, i64 %indvars.iv
  store double %410, ptr %gep1157, align 8, !tbaa !5
  %411 = fmul double %298, 0x3FF9D1E43E6CC1B5
  %412 = tail call double @llvm.fmuladd.f64(double %232, double 0xBFF9D1E43E6CC1B5, double %411)
  %gep1159 = getelementptr double, ptr %invariant.gep1158, i64 %indvars.iv
  store double %412, ptr %gep1159, align 8, !tbaa !5
  %413 = tail call double @llvm.fmuladd.f64(double %235, double 0xBFF9D1E43E6CC1B5, double %303)
  %gep1161 = getelementptr double, ptr %invariant.gep1160, i64 %indvars.iv
  store double %413, ptr %gep1161, align 8, !tbaa !5
  %414 = tail call double @llvm.fmuladd.f64(double %242, double 0xBFF9D1E43E6CC1B5, double %369)
  %gep1163 = getelementptr double, ptr %invariant.gep1162, i64 %indvars.iv
  store double %414, ptr %gep1163, align 8, !tbaa !5
  %415 = tail call double @llvm.fmuladd.f64(double %243, double 0xBFF9D1E43E6CC1B5, double %371)
  %gep1165 = getelementptr double, ptr %invariant.gep1164, i64 %indvars.iv
  store double %415, ptr %gep1165, align 8, !tbaa !5
  %416 = tail call double @llvm.fmuladd.f64(double %246, double 0xBFF9D1E43E6CC1B5, double %314)
  %gep1167 = getelementptr double, ptr %invariant.gep1166, i64 %indvars.iv
  store double %416, ptr %gep1167, align 8, !tbaa !5
  %417 = fmul double %253, 0xBFF08654A2D4F6D8
  %418 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FE4A7E9CB8A3491, double %417)
  %419 = tail call double @llvm.fmuladd.f64(double %286, double 0xBFFEFBDEB14F4ED8, double %418)
  %gep1169 = getelementptr double, ptr %invariant.gep1168, i64 %indvars.iv
  store double %419, ptr %gep1169, align 8, !tbaa !5
  %420 = tail call double @llvm.fmuladd.f64(double %220, double 0x3FE4A7E9CB8A3491, double %261)
  %421 = tail call double @llvm.fmuladd.f64(double %287, double 0xBFFEFBDEB14F4ED8, double %420)
  %gep1171 = getelementptr double, ptr %invariant.gep1170, i64 %indvars.iv
  store double %421, ptr %gep1171, align 8, !tbaa !5
  %422 = fmul double %257, 0xBFF08654A2D4F6D8
  %423 = tail call double @llvm.fmuladd.f64(double %223, double 0x3FE4A7E9CB8A3491, double %422)
  %424 = tail call double @llvm.fmuladd.f64(double %290, double 0xBFFEFBDEB14F4ED8, double %423)
  %gep1173 = getelementptr double, ptr %invariant.gep1172, i64 %indvars.iv
  store double %424, ptr %gep1173, align 8, !tbaa !5
  %425 = tail call double @llvm.fmuladd.f64(double %231, double 0x3FE4A7E9CB8A3491, double %353)
  %426 = tail call double @llvm.fmuladd.f64(double %297, double 0xBFFEFBDEB14F4ED8, double %425)
  %gep1175 = getelementptr double, ptr %invariant.gep1174, i64 %indvars.iv
  store double %426, ptr %gep1175, align 8, !tbaa !5
  %427 = tail call double @llvm.fmuladd.f64(double %232, double 0x3FE4A7E9CB8A3491, double %272)
  %428 = tail call double @llvm.fmuladd.f64(double %298, double 0xBFFEFBDEB14F4ED8, double %427)
  %gep1177 = getelementptr double, ptr %invariant.gep1176, i64 %indvars.iv
  store double %428, ptr %gep1177, align 8, !tbaa !5
  %429 = tail call double @llvm.fmuladd.f64(double %235, double 0x3FE4A7E9CB8A3491, double %358)
  %430 = tail call double @llvm.fmuladd.f64(double %301, double 0xBFFEFBDEB14F4ED8, double %429)
  %gep1179 = getelementptr double, ptr %invariant.gep1178, i64 %indvars.iv
  store double %430, ptr %gep1179, align 8, !tbaa !5
  %431 = fmul double %275, 0xBFF08654A2D4F6D8
  %432 = tail call double @llvm.fmuladd.f64(double %242, double 0x3FE4A7E9CB8A3491, double %431)
  %433 = tail call double @llvm.fmuladd.f64(double %308, double 0xBFFEFBDEB14F4ED8, double %432)
  %gep1181 = getelementptr double, ptr %invariant.gep1180, i64 %indvars.iv
  store double %433, ptr %gep1181, align 8, !tbaa !5
  %434 = tail call double @llvm.fmuladd.f64(double %243, double 0x3FE4A7E9CB8A3491, double %283)
  %435 = tail call double @llvm.fmuladd.f64(double %309, double 0xBFFEFBDEB14F4ED8, double %434)
  %gep1183 = getelementptr double, ptr %invariant.gep1182, i64 %indvars.iv
  store double %435, ptr %gep1183, align 8, !tbaa !5
  %436 = fmul double %279, 0xBFF08654A2D4F6D8
  %437 = tail call double @llvm.fmuladd.f64(double %246, double 0x3FE4A7E9CB8A3491, double %436)
  %438 = tail call double @llvm.fmuladd.f64(double %312, double 0xBFFEFBDEB14F4ED8, double %437)
  %gep1185 = getelementptr double, ptr %invariant.gep1184, i64 %indvars.iv
  store double %438, 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