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

13:                                               ; preds = %2233, %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 %2236

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)
  %46 = load ptr, ptr %7, align 8, !tbaa !9
  %47 = load i32, ptr %12, align 4, !tbaa !5
  %48 = load i32, ptr %8, align 4, !tbaa !5
  %49 = mul nsw i32 27, %48
  %50 = add nsw i32 %47, %49
  %51 = sext i32 %50 to i64
  %52 = getelementptr inbounds double, ptr %46, i64 %51
  %53 = load double, ptr %52, align 8, !tbaa !11
  %54 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %53, double %45)
  %55 = load ptr, ptr %7, align 8, !tbaa !9
  %56 = load i32, ptr %12, align 4, !tbaa !5
  %57 = load i32, ptr %8, align 4, !tbaa !5
  %58 = mul nsw i32 30, %57
  %59 = add nsw i32 %56, %58
  %60 = sext i32 %59 to i64
  %61 = getelementptr inbounds double, ptr %55, i64 %60
  %62 = load double, ptr %61, align 8, !tbaa !11
  %63 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %62, double %54)
  %64 = load ptr, ptr %7, align 8, !tbaa !9
  %65 = load i32, ptr %12, align 4, !tbaa !5
  %66 = load i32, ptr %8, align 4, !tbaa !5
  %67 = mul nsw i32 33, %66
  %68 = add nsw i32 %65, %67
  %69 = sext i32 %68 to i64
  %70 = getelementptr inbounds double, ptr %64, i64 %69
  %71 = load double, ptr %70, align 8, !tbaa !11
  %72 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %71, double %63)
  %73 = load ptr, ptr %7, align 8, !tbaa !9
  %74 = load i32, ptr %12, align 4, !tbaa !5
  %75 = load i32, ptr %8, align 4, !tbaa !5
  %76 = mul nsw i32 54, %75
  %77 = add nsw i32 %74, %76
  %78 = sext i32 %77 to i64
  %79 = getelementptr inbounds double, ptr %73, i64 %78
  %80 = load double, ptr %79, align 8, !tbaa !11
  %81 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %80, double %72)
  %82 = load ptr, ptr %7, align 8, !tbaa !9
  %83 = load i32, ptr %12, align 4, !tbaa !5
  %84 = load i32, ptr %8, align 4, !tbaa !5
  %85 = mul nsw i32 63, %84
  %86 = add nsw i32 %83, %85
  %87 = sext i32 %86 to i64
  %88 = getelementptr inbounds double, ptr %82, i64 %87
  %89 = load double, ptr %88, align 8, !tbaa !11
  %90 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %89, double %81)
  %91 = load ptr, ptr %7, align 8, !tbaa !9
  %92 = load i32, ptr %12, align 4, !tbaa !5
  %93 = load i32, ptr %8, align 4, !tbaa !5
  %94 = mul nsw i32 72, %93
  %95 = add nsw i32 %92, %94
  %96 = sext i32 %95 to i64
  %97 = getelementptr inbounds double, ptr %91, i64 %96
  %98 = load double, ptr %97, align 8, !tbaa !11
  %99 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %98, double %90)
  store double %99, ptr %11, align 8, !tbaa !11
  %100 = load double, ptr %11, align 8, !tbaa !11
  %101 = load ptr, ptr %9, align 8, !tbaa !9
  %102 = load i32, ptr %12, align 4, !tbaa !5
  %103 = load i32, ptr %10, align 4, !tbaa !5
  %104 = mul nsw i32 0, %103
  %105 = add nsw i32 %102, %104
  %106 = sext i32 %105 to i64
  %107 = getelementptr inbounds double, ptr %101, i64 %106
  %108 = load double, ptr %107, align 8, !tbaa !11
  %109 = fadd double %108, %100
  store double %109, ptr %107, align 8, !tbaa !11
  %110 = load ptr, ptr %7, align 8, !tbaa !9
  %111 = load i32, ptr %12, align 4, !tbaa !5
  %112 = load i32, ptr %8, align 4, !tbaa !5
  %113 = mul nsw i32 0, %112
  %114 = add nsw i32 %111, %113
  %115 = sext i32 %114 to i64
  %116 = getelementptr inbounds double, ptr %110, i64 %115
  %117 = load double, ptr %116, align 8, !tbaa !11
  %118 = load ptr, ptr %7, align 8, !tbaa !9
  %119 = load i32, ptr %12, align 4, !tbaa !5
  %120 = load i32, ptr %8, align 4, !tbaa !5
  %121 = mul nsw i32 2, %120
  %122 = add nsw i32 %119, %121
  %123 = sext i32 %122 to i64
  %124 = getelementptr inbounds double, ptr %118, i64 %123
  %125 = load double, ptr %124, align 8, !tbaa !11
  %126 = fmul double 0x3FF9D1E43E6CC1B5, %125
  %127 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %117, double %126)
  %128 = load ptr, ptr %7, align 8, !tbaa !9
  %129 = load i32, ptr %12, align 4, !tbaa !5
  %130 = load i32, ptr %8, align 4, !tbaa !5
  %131 = mul nsw i32 28, %130
  %132 = add nsw i32 %129, %131
  %133 = sext i32 %132 to i64
  %134 = getelementptr inbounds double, ptr %128, i64 %133
  %135 = load double, ptr %134, align 8, !tbaa !11
  %136 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %135, double %127)
  %137 = load ptr, ptr %7, align 8, !tbaa !9
  %138 = load i32, ptr %12, align 4, !tbaa !5
  %139 = load i32, ptr %8, align 4, !tbaa !5
  %140 = mul nsw i32 31, %139
  %141 = add nsw i32 %138, %140
  %142 = sext i32 %141 to i64
  %143 = getelementptr inbounds double, ptr %137, i64 %142
  %144 = load double, ptr %143, align 8, !tbaa !11
  %145 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %144, double %136)
  %146 = load ptr, ptr %7, align 8, !tbaa !9
  %147 = load i32, ptr %12, align 4, !tbaa !5
  %148 = load i32, ptr %8, align 4, !tbaa !5
  %149 = mul nsw i32 34, %148
  %150 = add nsw i32 %147, %149
  %151 = sext i32 %150 to i64
  %152 = getelementptr inbounds double, ptr %146, i64 %151
  %153 = load double, ptr %152, align 8, !tbaa !11
  %154 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %153, double %145)
  %155 = load ptr, ptr %7, align 8, !tbaa !9
  %156 = load i32, ptr %12, align 4, !tbaa !5
  %157 = load i32, ptr %8, align 4, !tbaa !5
  %158 = mul nsw i32 55, %157
  %159 = add nsw i32 %156, %158
  %160 = sext i32 %159 to i64
  %161 = getelementptr inbounds double, ptr %155, i64 %160
  %162 = load double, ptr %161, align 8, !tbaa !11
  %163 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %162, double %154)
  %164 = load ptr, ptr %7, align 8, !tbaa !9
  %165 = load i32, ptr %12, align 4, !tbaa !5
  %166 = load i32, ptr %8, align 4, !tbaa !5
  %167 = mul nsw i32 64, %166
  %168 = add nsw i32 %165, %167
  %169 = sext i32 %168 to i64
  %170 = getelementptr inbounds double, ptr %164, i64 %169
  %171 = load double, ptr %170, align 8, !tbaa !11
  %172 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %171, double %163)
  %173 = load ptr, ptr %7, align 8, !tbaa !9
  %174 = load i32, ptr %12, align 4, !tbaa !5
  %175 = load i32, ptr %8, align 4, !tbaa !5
  %176 = mul nsw i32 73, %175
  %177 = add nsw i32 %174, %176
  %178 = sext i32 %177 to i64
  %179 = getelementptr inbounds double, ptr %173, i64 %178
  %180 = load double, ptr %179, align 8, !tbaa !11
  %181 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %180, double %172)
  store double %181, ptr %11, align 8, !tbaa !11
  %182 = load double, ptr %11, align 8, !tbaa !11
  %183 = load ptr, ptr %9, align 8, !tbaa !9
  %184 = load i32, ptr %12, align 4, !tbaa !5
  %185 = load i32, ptr %10, align 4, !tbaa !5
  %186 = mul nsw i32 1, %185
  %187 = add nsw i32 %184, %186
  %188 = sext i32 %187 to i64
  %189 = getelementptr inbounds double, ptr %183, i64 %188
  %190 = load double, ptr %189, align 8, !tbaa !11
  %191 = fadd double %190, %182
  store double %191, ptr %189, align 8, !tbaa !11
  %192 = load ptr, ptr %7, align 8, !tbaa !9
  %193 = load i32, ptr %12, align 4, !tbaa !5
  %194 = load i32, ptr %8, align 4, !tbaa !5
  %195 = mul nsw i32 0, %194
  %196 = add nsw i32 %193, %195
  %197 = sext i32 %196 to i64
  %198 = getelementptr inbounds double, ptr %192, i64 %197
  %199 = load double, ptr %198, align 8, !tbaa !11
  %200 = load ptr, ptr %7, align 8, !tbaa !9
  %201 = load i32, ptr %12, align 4, !tbaa !5
  %202 = load i32, ptr %8, align 4, !tbaa !5
  %203 = mul nsw i32 1, %202
  %204 = add nsw i32 %201, %203
  %205 = sext i32 %204 to i64
  %206 = getelementptr inbounds double, ptr %200, i64 %205
  %207 = load double, ptr %206, align 8, !tbaa !11
  %208 = fmul double 0xBFF08654A2D4F6D8, %207
  %209 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %199, double %208)
  %210 = load ptr, ptr %7, align 8, !tbaa !9
  %211 = load i32, ptr %12, align 4, !tbaa !5
  %212 = load i32, ptr %8, align 4, !tbaa !5
  %213 = mul nsw i32 2, %212
  %214 = add nsw i32 %211, %213
  %215 = sext i32 %214 to i64
  %216 = getelementptr inbounds double, ptr %210, i64 %215
  %217 = load double, ptr %216, align 8, !tbaa !11
  %218 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %217, double %209)
  %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 29, %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 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %226, double %218)
  %228 = load ptr, ptr %7, align 8, !tbaa !9
  %229 = load i32, ptr %12, align 4, !tbaa !5
  %230 = load i32, ptr %8, align 4, !tbaa !5
  %231 = mul nsw i32 32, %230
  %232 = add nsw i32 %229, %231
  %233 = sext i32 %232 to i64
  %234 = getelementptr inbounds double, ptr %228, i64 %233
  %235 = load double, ptr %234, align 8, !tbaa !11
  %236 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %235, double %227)
  %237 = load ptr, ptr %7, align 8, !tbaa !9
  %238 = load i32, ptr %12, align 4, !tbaa !5
  %239 = load i32, ptr %8, align 4, !tbaa !5
  %240 = mul nsw i32 35, %239
  %241 = add nsw i32 %238, %240
  %242 = sext i32 %241 to i64
  %243 = getelementptr inbounds double, ptr %237, i64 %242
  %244 = load double, ptr %243, align 8, !tbaa !11
  %245 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %244, double %236)
  %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 56, %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 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %253, double %245)
  %255 = load ptr, ptr %7, align 8, !tbaa !9
  %256 = load i32, ptr %12, align 4, !tbaa !5
  %257 = load i32, ptr %8, align 4, !tbaa !5
  %258 = mul nsw i32 65, %257
  %259 = add nsw i32 %256, %258
  %260 = sext i32 %259 to i64
  %261 = getelementptr inbounds double, ptr %255, i64 %260
  %262 = load double, ptr %261, align 8, !tbaa !11
  %263 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %262, double %254)
  %264 = load ptr, ptr %7, align 8, !tbaa !9
  %265 = load i32, ptr %12, align 4, !tbaa !5
  %266 = load i32, ptr %8, align 4, !tbaa !5
  %267 = mul nsw i32 74, %266
  %268 = add nsw i32 %265, %267
  %269 = sext i32 %268 to i64
  %270 = getelementptr inbounds double, ptr %264, i64 %269
  %271 = load double, ptr %270, align 8, !tbaa !11
  %272 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %271, double %263)
  store double %272, ptr %11, align 8, !tbaa !11
  %273 = load double, ptr %11, align 8, !tbaa !11
  %274 = load ptr, ptr %9, align 8, !tbaa !9
  %275 = load i32, ptr %12, align 4, !tbaa !5
  %276 = load i32, ptr %10, align 4, !tbaa !5
  %277 = mul nsw i32 2, %276
  %278 = add nsw i32 %275, %277
  %279 = sext i32 %278 to i64
  %280 = getelementptr inbounds double, ptr %274, i64 %279
  %281 = load double, ptr %280, align 8, !tbaa !11
  %282 = fadd double %281, %273
  store double %282, ptr %280, align 8, !tbaa !11
  %283 = load ptr, ptr %7, align 8, !tbaa !9
  %284 = load i32, ptr %12, align 4, !tbaa !5
  %285 = load i32, ptr %8, align 4, !tbaa !5
  %286 = mul nsw i32 3, %285
  %287 = add nsw i32 %284, %286
  %288 = sext i32 %287 to i64
  %289 = getelementptr inbounds double, ptr %283, i64 %288
  %290 = load double, ptr %289, align 8, !tbaa !11
  %291 = load ptr, ptr %7, align 8, !tbaa !9
  %292 = load i32, ptr %12, align 4, !tbaa !5
  %293 = load i32, ptr %8, align 4, !tbaa !5
  %294 = mul nsw i32 4, %293
  %295 = add nsw i32 %292, %294
  %296 = sext i32 %295 to i64
  %297 = getelementptr inbounds double, ptr %291, i64 %296
  %298 = load double, ptr %297, align 8, !tbaa !11
  %299 = fmul double 0x3FF08654A2D4F6D8, %298
  %300 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %290, double %299)
  %301 = load ptr, ptr %7, align 8, !tbaa !9
  %302 = load i32, ptr %12, align 4, !tbaa !5
  %303 = load i32, ptr %8, align 4, !tbaa !5
  %304 = mul nsw i32 5, %303
  %305 = add nsw i32 %302, %304
  %306 = sext i32 %305 to i64
  %307 = getelementptr inbounds double, ptr %301, i64 %306
  %308 = load double, ptr %307, align 8, !tbaa !11
  %309 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %308, double %300)
  %310 = load ptr, ptr %7, align 8, !tbaa !9
  %311 = load i32, ptr %12, align 4, !tbaa !5
  %312 = load i32, ptr %8, align 4, !tbaa !5
  %313 = mul nsw i32 27, %312
  %314 = add nsw i32 %311, %313
  %315 = sext i32 %314 to i64
  %316 = getelementptr inbounds double, ptr %310, i64 %315
  %317 = load double, ptr %316, align 8, !tbaa !11
  %318 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %317, double %309)
  %319 = load ptr, ptr %7, align 8, !tbaa !9
  %320 = load i32, ptr %12, align 4, !tbaa !5
  %321 = load i32, ptr %8, align 4, !tbaa !5
  %322 = mul nsw i32 33, %321
  %323 = add nsw i32 %320, %322
  %324 = sext i32 %323 to i64
  %325 = getelementptr inbounds double, ptr %319, i64 %324
  %326 = load double, ptr %325, align 8, !tbaa !11
  %327 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %326, double %318)
  %328 = load ptr, ptr %7, align 8, !tbaa !9
  %329 = load i32, ptr %12, align 4, !tbaa !5
  %330 = load i32, ptr %8, align 4, !tbaa !5
  %331 = mul nsw i32 57, %330
  %332 = add nsw i32 %329, %331
  %333 = sext i32 %332 to i64
  %334 = getelementptr inbounds double, ptr %328, i64 %333
  %335 = load double, ptr %334, align 8, !tbaa !11
  %336 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %335, double %327)
  %337 = load ptr, ptr %7, align 8, !tbaa !9
  %338 = load i32, ptr %12, align 4, !tbaa !5
  %339 = load i32, ptr %8, align 4, !tbaa !5
  %340 = mul nsw i32 66, %339
  %341 = add nsw i32 %338, %340
  %342 = sext i32 %341 to i64
  %343 = getelementptr inbounds double, ptr %337, i64 %342
  %344 = load double, ptr %343, align 8, !tbaa !11
  %345 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %344, double %336)
  %346 = load ptr, ptr %7, align 8, !tbaa !9
  %347 = load i32, ptr %12, align 4, !tbaa !5
  %348 = load i32, ptr %8, align 4, !tbaa !5
  %349 = mul nsw i32 75, %348
  %350 = add nsw i32 %347, %349
  %351 = sext i32 %350 to i64
  %352 = getelementptr inbounds double, ptr %346, i64 %351
  %353 = load double, ptr %352, align 8, !tbaa !11
  %354 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %353, double %345)
  store double %354, ptr %11, align 8, !tbaa !11
  %355 = load double, ptr %11, align 8, !tbaa !11
  %356 = load ptr, ptr %9, align 8, !tbaa !9
  %357 = load i32, ptr %12, align 4, !tbaa !5
  %358 = load i32, ptr %10, align 4, !tbaa !5
  %359 = mul nsw i32 3, %358
  %360 = add nsw i32 %357, %359
  %361 = sext i32 %360 to i64
  %362 = getelementptr inbounds double, ptr %356, i64 %361
  %363 = load double, ptr %362, align 8, !tbaa !11
  %364 = fadd double %363, %355
  store double %364, ptr %362, align 8, !tbaa !11
  %365 = load ptr, ptr %7, align 8, !tbaa !9
  %366 = load i32, ptr %12, align 4, !tbaa !5
  %367 = load i32, ptr %8, align 4, !tbaa !5
  %368 = mul nsw i32 3, %367
  %369 = add nsw i32 %366, %368
  %370 = sext i32 %369 to i64
  %371 = getelementptr inbounds double, ptr %365, i64 %370
  %372 = load double, ptr %371, align 8, !tbaa !11
  %373 = load ptr, ptr %7, align 8, !tbaa !9
  %374 = load i32, ptr %12, align 4, !tbaa !5
  %375 = load i32, ptr %8, align 4, !tbaa !5
  %376 = mul nsw i32 5, %375
  %377 = add nsw i32 %374, %376
  %378 = sext i32 %377 to i64
  %379 = getelementptr inbounds double, ptr %373, i64 %378
  %380 = load double, ptr %379, align 8, !tbaa !11
  %381 = fmul double 0x3FF9D1E43E6CC1B5, %380
  %382 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %372, double %381)
  %383 = load ptr, ptr %7, align 8, !tbaa !9
  %384 = load i32, ptr %12, align 4, !tbaa !5
  %385 = load i32, ptr %8, align 4, !tbaa !5
  %386 = mul nsw i32 28, %385
  %387 = add nsw i32 %384, %386
  %388 = sext i32 %387 to i64
  %389 = getelementptr inbounds double, ptr %383, i64 %388
  %390 = load double, ptr %389, align 8, !tbaa !11
  %391 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %390, double %382)
  %392 = load ptr, ptr %7, align 8, !tbaa !9
  %393 = load i32, ptr %12, align 4, !tbaa !5
  %394 = load i32, ptr %8, align 4, !tbaa !5
  %395 = mul nsw i32 34, %394
  %396 = add nsw i32 %393, %395
  %397 = sext i32 %396 to i64
  %398 = getelementptr inbounds double, ptr %392, i64 %397
  %399 = load double, ptr %398, align 8, !tbaa !11
  %400 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %399, double %391)
  %401 = load ptr, ptr %7, align 8, !tbaa !9
  %402 = load i32, ptr %12, align 4, !tbaa !5
  %403 = load i32, ptr %8, align 4, !tbaa !5
  %404 = mul nsw i32 58, %403
  %405 = add nsw i32 %402, %404
  %406 = sext i32 %405 to i64
  %407 = getelementptr inbounds double, ptr %401, i64 %406
  %408 = load double, ptr %407, align 8, !tbaa !11
  %409 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %408, double %400)
  %410 = load ptr, ptr %7, align 8, !tbaa !9
  %411 = load i32, ptr %12, align 4, !tbaa !5
  %412 = load i32, ptr %8, align 4, !tbaa !5
  %413 = mul nsw i32 67, %412
  %414 = add nsw i32 %411, %413
  %415 = sext i32 %414 to i64
  %416 = getelementptr inbounds double, ptr %410, i64 %415
  %417 = load double, ptr %416, align 8, !tbaa !11
  %418 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %417, double %409)
  %419 = load ptr, ptr %7, align 8, !tbaa !9
  %420 = load i32, ptr %12, align 4, !tbaa !5
  %421 = load i32, ptr %8, align 4, !tbaa !5
  %422 = mul nsw i32 76, %421
  %423 = add nsw i32 %420, %422
  %424 = sext i32 %423 to i64
  %425 = getelementptr inbounds double, ptr %419, i64 %424
  %426 = load double, ptr %425, align 8, !tbaa !11
  %427 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %426, double %418)
  store double %427, ptr %11, align 8, !tbaa !11
  %428 = load double, ptr %11, align 8, !tbaa !11
  %429 = load ptr, ptr %9, align 8, !tbaa !9
  %430 = load i32, ptr %12, align 4, !tbaa !5
  %431 = load i32, ptr %10, align 4, !tbaa !5
  %432 = mul nsw i32 4, %431
  %433 = add nsw i32 %430, %432
  %434 = sext i32 %433 to i64
  %435 = getelementptr inbounds double, ptr %429, i64 %434
  %436 = load double, ptr %435, align 8, !tbaa !11
  %437 = fadd double %436, %428
  store double %437, ptr %435, 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 3, %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 4, %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 0xBFF08654A2D4F6D8, %453
  %455 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %445, double %454)
  %456 = load ptr, ptr %7, align 8, !tbaa !9
  %457 = load i32, ptr %12, align 4, !tbaa !5
  %458 = load i32, ptr %8, align 4, !tbaa !5
  %459 = mul nsw i32 5, %458
  %460 = add nsw i32 %457, %459
  %461 = sext i32 %460 to i64
  %462 = getelementptr inbounds double, ptr %456, i64 %461
  %463 = load double, ptr %462, align 8, !tbaa !11
  %464 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %463, double %455)
  %465 = load ptr, ptr %7, align 8, !tbaa !9
  %466 = load i32, ptr %12, align 4, !tbaa !5
  %467 = load i32, ptr %8, align 4, !tbaa !5
  %468 = mul nsw i32 29, %467
  %469 = add nsw i32 %466, %468
  %470 = sext i32 %469 to i64
  %471 = getelementptr inbounds double, ptr %465, i64 %470
  %472 = load double, ptr %471, align 8, !tbaa !11
  %473 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %472, double %464)
  %474 = load ptr, ptr %7, align 8, !tbaa !9
  %475 = load i32, ptr %12, align 4, !tbaa !5
  %476 = load i32, ptr %8, align 4, !tbaa !5
  %477 = mul nsw i32 35, %476
  %478 = add nsw i32 %475, %477
  %479 = sext i32 %478 to i64
  %480 = getelementptr inbounds double, ptr %474, i64 %479
  %481 = load double, ptr %480, align 8, !tbaa !11
  %482 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %481, double %473)
  %483 = load ptr, ptr %7, align 8, !tbaa !9
  %484 = load i32, ptr %12, align 4, !tbaa !5
  %485 = load i32, ptr %8, align 4, !tbaa !5
  %486 = mul nsw i32 59, %485
  %487 = add nsw i32 %484, %486
  %488 = sext i32 %487 to i64
  %489 = getelementptr inbounds double, ptr %483, i64 %488
  %490 = load double, ptr %489, align 8, !tbaa !11
  %491 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %490, double %482)
  %492 = load ptr, ptr %7, align 8, !tbaa !9
  %493 = load i32, ptr %12, align 4, !tbaa !5
  %494 = load i32, ptr %8, align 4, !tbaa !5
  %495 = mul nsw i32 68, %494
  %496 = add nsw i32 %493, %495
  %497 = sext i32 %496 to i64
  %498 = getelementptr inbounds double, ptr %492, i64 %497
  %499 = load double, ptr %498, align 8, !tbaa !11
  %500 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %499, double %491)
  %501 = load ptr, ptr %7, align 8, !tbaa !9
  %502 = load i32, ptr %12, align 4, !tbaa !5
  %503 = load i32, ptr %8, align 4, !tbaa !5
  %504 = mul nsw i32 77, %503
  %505 = add nsw i32 %502, %504
  %506 = sext i32 %505 to i64
  %507 = getelementptr inbounds double, ptr %501, i64 %506
  %508 = load double, ptr %507, align 8, !tbaa !11
  %509 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %508, double %500)
  store double %509, ptr %11, align 8, !tbaa !11
  %510 = load double, ptr %11, align 8, !tbaa !11
  %511 = load ptr, ptr %9, align 8, !tbaa !9
  %512 = load i32, ptr %12, align 4, !tbaa !5
  %513 = load i32, ptr %10, align 4, !tbaa !5
  %514 = mul nsw i32 5, %513
  %515 = add nsw i32 %512, %514
  %516 = sext i32 %515 to i64
  %517 = getelementptr inbounds double, ptr %511, i64 %516
  %518 = load double, ptr %517, align 8, !tbaa !11
  %519 = fadd double %518, %510
  store double %519, ptr %517, align 8, !tbaa !11
  %520 = load ptr, ptr %7, align 8, !tbaa !9
  %521 = load i32, ptr %12, align 4, !tbaa !5
  %522 = load i32, ptr %8, align 4, !tbaa !5
  %523 = mul nsw i32 6, %522
  %524 = add nsw i32 %521, %523
  %525 = sext i32 %524 to i64
  %526 = getelementptr inbounds double, ptr %520, i64 %525
  %527 = load double, ptr %526, align 8, !tbaa !11
  %528 = load ptr, ptr %7, align 8, !tbaa !9
  %529 = load i32, ptr %12, align 4, !tbaa !5
  %530 = load i32, ptr %8, align 4, !tbaa !5
  %531 = mul nsw i32 7, %530
  %532 = add nsw i32 %529, %531
  %533 = sext i32 %532 to i64
  %534 = getelementptr inbounds double, ptr %528, i64 %533
  %535 = load double, ptr %534, align 8, !tbaa !11
  %536 = fmul double 0x3FF08654A2D4F6D8, %535
  %537 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %527, double %536)
  %538 = load ptr, ptr %7, align 8, !tbaa !9
  %539 = load i32, ptr %12, align 4, !tbaa !5
  %540 = load i32, ptr %8, align 4, !tbaa !5
  %541 = mul nsw i32 8, %540
  %542 = add nsw i32 %539, %541
  %543 = sext i32 %542 to i64
  %544 = getelementptr inbounds double, ptr %538, i64 %543
  %545 = load double, ptr %544, align 8, !tbaa !11
  %546 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %545, double %537)
  %547 = load ptr, ptr %7, align 8, !tbaa !9
  %548 = load i32, ptr %12, align 4, !tbaa !5
  %549 = load i32, ptr %8, align 4, !tbaa !5
  %550 = mul nsw i32 27, %549
  %551 = add nsw i32 %548, %550
  %552 = sext i32 %551 to i64
  %553 = getelementptr inbounds double, ptr %547, i64 %552
  %554 = load double, ptr %553, align 8, !tbaa !11
  %555 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %554, double %546)
  %556 = load ptr, ptr %7, align 8, !tbaa !9
  %557 = load i32, ptr %12, align 4, !tbaa !5
  %558 = load i32, ptr %8, align 4, !tbaa !5
  %559 = mul nsw i32 30, %558
  %560 = add nsw i32 %557, %559
  %561 = sext i32 %560 to i64
  %562 = getelementptr inbounds double, ptr %556, i64 %561
  %563 = load double, ptr %562, align 8, !tbaa !11
  %564 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %563, double %555)
  %565 = load ptr, ptr %7, align 8, !tbaa !9
  %566 = load i32, ptr %12, align 4, !tbaa !5
  %567 = load i32, ptr %8, align 4, !tbaa !5
  %568 = mul nsw i32 33, %567
  %569 = add nsw i32 %566, %568
  %570 = sext i32 %569 to i64
  %571 = getelementptr inbounds double, ptr %565, i64 %570
  %572 = load double, ptr %571, align 8, !tbaa !11
  %573 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %572, double %564)
  %574 = load ptr, ptr %7, align 8, !tbaa !9
  %575 = load i32, ptr %12, align 4, !tbaa !5
  %576 = load i32, ptr %8, align 4, !tbaa !5
  %577 = mul nsw i32 60, %576
  %578 = add nsw i32 %575, %577
  %579 = sext i32 %578 to i64
  %580 = getelementptr inbounds double, ptr %574, i64 %579
  %581 = load double, ptr %580, align 8, !tbaa !11
  %582 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %581, double %573)
  %583 = load ptr, ptr %7, align 8, !tbaa !9
  %584 = load i32, ptr %12, align 4, !tbaa !5
  %585 = load i32, ptr %8, align 4, !tbaa !5
  %586 = mul nsw i32 69, %585
  %587 = add nsw i32 %584, %586
  %588 = sext i32 %587 to i64
  %589 = getelementptr inbounds double, ptr %583, i64 %588
  %590 = load double, ptr %589, align 8, !tbaa !11
  %591 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %590, double %582)
  %592 = load ptr, ptr %7, align 8, !tbaa !9
  %593 = load i32, ptr %12, align 4, !tbaa !5
  %594 = load i32, ptr %8, align 4, !tbaa !5
  %595 = mul nsw i32 78, %594
  %596 = add nsw i32 %593, %595
  %597 = sext i32 %596 to i64
  %598 = getelementptr inbounds double, ptr %592, i64 %597
  %599 = load double, ptr %598, align 8, !tbaa !11
  %600 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %599, double %591)
  store double %600, ptr %11, align 8, !tbaa !11
  %601 = load double, ptr %11, align 8, !tbaa !11
  %602 = load ptr, ptr %9, align 8, !tbaa !9
  %603 = load i32, ptr %12, align 4, !tbaa !5
  %604 = load i32, ptr %10, align 4, !tbaa !5
  %605 = mul nsw i32 6, %604
  %606 = add nsw i32 %603, %605
  %607 = sext i32 %606 to i64
  %608 = getelementptr inbounds double, ptr %602, i64 %607
  %609 = load double, ptr %608, align 8, !tbaa !11
  %610 = fadd double %609, %601
  store double %610, ptr %608, align 8, !tbaa !11
  %611 = load ptr, ptr %7, align 8, !tbaa !9
  %612 = load i32, ptr %12, align 4, !tbaa !5
  %613 = load i32, ptr %8, align 4, !tbaa !5
  %614 = mul nsw i32 6, %613
  %615 = add nsw i32 %612, %614
  %616 = sext i32 %615 to i64
  %617 = getelementptr inbounds double, ptr %611, i64 %616
  %618 = load double, ptr %617, align 8, !tbaa !11
  %619 = load ptr, ptr %7, align 8, !tbaa !9
  %620 = load i32, ptr %12, align 4, !tbaa !5
  %621 = load i32, ptr %8, align 4, !tbaa !5
  %622 = mul nsw i32 8, %621
  %623 = add nsw i32 %620, %622
  %624 = sext i32 %623 to i64
  %625 = getelementptr inbounds double, ptr %619, i64 %624
  %626 = load double, ptr %625, align 8, !tbaa !11
  %627 = fmul double 0x3FF9D1E43E6CC1B5, %626
  %628 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %618, double %627)
  %629 = load ptr, ptr %7, align 8, !tbaa !9
  %630 = load i32, ptr %12, align 4, !tbaa !5
  %631 = load i32, ptr %8, align 4, !tbaa !5
  %632 = mul nsw i32 28, %631
  %633 = add nsw i32 %630, %632
  %634 = sext i32 %633 to i64
  %635 = getelementptr inbounds double, ptr %629, i64 %634
  %636 = load double, ptr %635, align 8, !tbaa !11
  %637 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %636, double %628)
  %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 31, %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 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %645, double %637)
  %647 = load ptr, ptr %7, align 8, !tbaa !9
  %648 = load i32, ptr %12, align 4, !tbaa !5
  %649 = load i32, ptr %8, align 4, !tbaa !5
  %650 = mul nsw i32 34, %649
  %651 = add nsw i32 %648, %650
  %652 = sext i32 %651 to i64
  %653 = getelementptr inbounds double, ptr %647, i64 %652
  %654 = load double, ptr %653, align 8, !tbaa !11
  %655 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %654, double %646)
  %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 61, %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 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %663, double %655)
  %665 = load ptr, ptr %7, align 8, !tbaa !9
  %666 = load i32, ptr %12, align 4, !tbaa !5
  %667 = load i32, ptr %8, align 4, !tbaa !5
  %668 = mul nsw i32 70, %667
  %669 = add nsw i32 %666, %668
  %670 = sext i32 %669 to i64
  %671 = getelementptr inbounds double, ptr %665, i64 %670
  %672 = load double, ptr %671, align 8, !tbaa !11
  %673 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %672, double %664)
  %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 79, %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 0xBFE4A7E9CB8A3491, 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 7, %686
  %688 = add nsw i32 %685, %687
  %689 = sext i32 %688 to i64
  %690 = getelementptr inbounds double, ptr %684, i64 %689
  %691 = load double, ptr %690, align 8, !tbaa !11
  %692 = fadd double %691, %683
  store double %692, ptr %690, align 8, !tbaa !11
  %693 = load ptr, ptr %7, align 8, !tbaa !9
  %694 = load i32, ptr %12, align 4, !tbaa !5
  %695 = load i32, ptr %8, align 4, !tbaa !5
  %696 = mul nsw i32 6, %695
  %697 = add nsw i32 %694, %696
  %698 = sext i32 %697 to i64
  %699 = getelementptr inbounds double, ptr %693, i64 %698
  %700 = load double, ptr %699, align 8, !tbaa !11
  %701 = load ptr, ptr %7, align 8, !tbaa !9
  %702 = load i32, ptr %12, align 4, !tbaa !5
  %703 = load i32, ptr %8, align 4, !tbaa !5
  %704 = mul nsw i32 7, %703
  %705 = add nsw i32 %702, %704
  %706 = sext i32 %705 to i64
  %707 = getelementptr inbounds double, ptr %701, i64 %706
  %708 = load double, ptr %707, align 8, !tbaa !11
  %709 = fmul double 0xBFF08654A2D4F6D8, %708
  %710 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %700, double %709)
  %711 = load ptr, ptr %7, align 8, !tbaa !9
  %712 = load i32, ptr %12, align 4, !tbaa !5
  %713 = load i32, ptr %8, align 4, !tbaa !5
  %714 = mul nsw i32 8, %713
  %715 = add nsw i32 %712, %714
  %716 = sext i32 %715 to i64
  %717 = getelementptr inbounds double, ptr %711, i64 %716
  %718 = load double, ptr %717, align 8, !tbaa !11
  %719 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %718, double %710)
  %720 = load ptr, ptr %7, align 8, !tbaa !9
  %721 = load i32, ptr %12, align 4, !tbaa !5
  %722 = load i32, ptr %8, align 4, !tbaa !5
  %723 = mul nsw i32 29, %722
  %724 = add nsw i32 %721, %723
  %725 = sext i32 %724 to i64
  %726 = getelementptr inbounds double, ptr %720, i64 %725
  %727 = load double, ptr %726, align 8, !tbaa !11
  %728 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %727, double %719)
  %729 = load ptr, ptr %7, align 8, !tbaa !9
  %730 = load i32, ptr %12, align 4, !tbaa !5
  %731 = load i32, ptr %8, align 4, !tbaa !5
  %732 = mul nsw i32 32, %731
  %733 = add nsw i32 %730, %732
  %734 = sext i32 %733 to i64
  %735 = getelementptr inbounds double, ptr %729, i64 %734
  %736 = load double, ptr %735, align 8, !tbaa !11
  %737 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %736, double %728)
  %738 = load ptr, ptr %7, align 8, !tbaa !9
  %739 = load i32, ptr %12, align 4, !tbaa !5
  %740 = load i32, ptr %8, align 4, !tbaa !5
  %741 = mul nsw i32 35, %740
  %742 = add nsw i32 %739, %741
  %743 = sext i32 %742 to i64
  %744 = getelementptr inbounds double, ptr %738, i64 %743
  %745 = load double, ptr %744, align 8, !tbaa !11
  %746 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %745, double %737)
  %747 = load ptr, ptr %7, align 8, !tbaa !9
  %748 = load i32, ptr %12, align 4, !tbaa !5
  %749 = load i32, ptr %8, align 4, !tbaa !5
  %750 = mul nsw i32 62, %749
  %751 = add nsw i32 %748, %750
  %752 = sext i32 %751 to i64
  %753 = getelementptr inbounds double, ptr %747, i64 %752
  %754 = load double, ptr %753, align 8, !tbaa !11
  %755 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %754, double %746)
  %756 = load ptr, ptr %7, align 8, !tbaa !9
  %757 = load i32, ptr %12, align 4, !tbaa !5
  %758 = load i32, ptr %8, align 4, !tbaa !5
  %759 = mul nsw i32 71, %758
  %760 = add nsw i32 %757, %759
  %761 = sext i32 %760 to i64
  %762 = getelementptr inbounds double, ptr %756, i64 %761
  %763 = load double, ptr %762, align 8, !tbaa !11
  %764 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %763, double %755)
  %765 = load ptr, ptr %7, align 8, !tbaa !9
  %766 = load i32, ptr %12, align 4, !tbaa !5
  %767 = load i32, ptr %8, align 4, !tbaa !5
  %768 = mul nsw i32 80, %767
  %769 = add nsw i32 %766, %768
  %770 = sext i32 %769 to i64
  %771 = getelementptr inbounds double, ptr %765, i64 %770
  %772 = load double, ptr %771, align 8, !tbaa !11
  %773 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %772, double %764)
  store double %773, ptr %11, align 8, !tbaa !11
  %774 = load double, ptr %11, align 8, !tbaa !11
  %775 = load ptr, ptr %9, align 8, !tbaa !9
  %776 = load i32, ptr %12, align 4, !tbaa !5
  %777 = load i32, ptr %10, align 4, !tbaa !5
  %778 = mul nsw i32 8, %777
  %779 = add nsw i32 %776, %778
  %780 = sext i32 %779 to i64
  %781 = getelementptr inbounds double, ptr %775, i64 %780
  %782 = load double, ptr %781, align 8, !tbaa !11
  %783 = fadd double %782, %774
  store double %783, ptr %781, align 8, !tbaa !11
  %784 = load ptr, ptr %7, align 8, !tbaa !9
  %785 = load i32, ptr %12, align 4, !tbaa !5
  %786 = load i32, ptr %8, align 4, !tbaa !5
  %787 = mul nsw i32 9, %786
  %788 = add nsw i32 %785, %787
  %789 = sext i32 %788 to i64
  %790 = getelementptr inbounds double, ptr %784, i64 %789
  %791 = load double, ptr %790, align 8, !tbaa !11
  %792 = load ptr, ptr %7, align 8, !tbaa !9
  %793 = load i32, ptr %12, align 4, !tbaa !5
  %794 = load i32, ptr %8, align 4, !tbaa !5
  %795 = mul nsw i32 10, %794
  %796 = add nsw i32 %793, %795
  %797 = sext i32 %796 to i64
  %798 = getelementptr inbounds double, ptr %792, i64 %797
  %799 = load double, ptr %798, align 8, !tbaa !11
  %800 = fmul double 0x3FF08654A2D4F6D8, %799
  %801 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %791, double %800)
  %802 = load ptr, ptr %7, align 8, !tbaa !9
  %803 = load i32, ptr %12, align 4, !tbaa !5
  %804 = load i32, ptr %8, align 4, !tbaa !5
  %805 = mul nsw i32 11, %804
  %806 = add nsw i32 %803, %805
  %807 = sext i32 %806 to i64
  %808 = getelementptr inbounds double, ptr %802, i64 %807
  %809 = load double, ptr %808, align 8, !tbaa !11
  %810 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %809, double %801)
  %811 = load ptr, ptr %7, align 8, !tbaa !9
  %812 = load i32, ptr %12, align 4, !tbaa !5
  %813 = load i32, ptr %8, align 4, !tbaa !5
  %814 = mul nsw i32 36, %813
  %815 = add nsw i32 %812, %814
  %816 = sext i32 %815 to i64
  %817 = getelementptr inbounds double, ptr %811, i64 %816
  %818 = load double, ptr %817, align 8, !tbaa !11
  %819 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %818, double %810)
  %820 = load ptr, ptr %7, align 8, !tbaa !9
  %821 = load i32, ptr %12, align 4, !tbaa !5
  %822 = load i32, ptr %8, align 4, !tbaa !5
  %823 = mul nsw i32 39, %822
  %824 = add nsw i32 %821, %823
  %825 = sext i32 %824 to i64
  %826 = getelementptr inbounds double, ptr %820, i64 %825
  %827 = load double, ptr %826, align 8, !tbaa !11
  %828 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %827, double %819)
  %829 = load ptr, ptr %7, align 8, !tbaa !9
  %830 = load i32, ptr %12, align 4, !tbaa !5
  %831 = load i32, ptr %8, align 4, !tbaa !5
  %832 = mul nsw i32 42, %831
  %833 = add nsw i32 %830, %832
  %834 = sext i32 %833 to i64
  %835 = getelementptr inbounds double, ptr %829, i64 %834
  %836 = load double, ptr %835, align 8, !tbaa !11
  %837 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %836, double %828)
  %838 = load ptr, ptr %7, align 8, !tbaa !9
  %839 = load i32, ptr %12, align 4, !tbaa !5
  %840 = load i32, ptr %8, align 4, !tbaa !5
  %841 = mul nsw i32 54, %840
  %842 = add nsw i32 %839, %841
  %843 = sext i32 %842 to i64
  %844 = getelementptr inbounds double, ptr %838, i64 %843
  %845 = load double, ptr %844, align 8, !tbaa !11
  %846 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %845, double %837)
  %847 = load ptr, ptr %7, align 8, !tbaa !9
  %848 = load i32, ptr %12, align 4, !tbaa !5
  %849 = load i32, ptr %8, align 4, !tbaa !5
  %850 = mul nsw i32 72, %849
  %851 = add nsw i32 %848, %850
  %852 = sext i32 %851 to i64
  %853 = getelementptr inbounds double, ptr %847, i64 %852
  %854 = load double, ptr %853, align 8, !tbaa !11
  %855 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %854, double %846)
  store double %855, ptr %11, align 8, !tbaa !11
  %856 = load double, ptr %11, align 8, !tbaa !11
  %857 = load ptr, ptr %9, align 8, !tbaa !9
  %858 = load i32, ptr %12, align 4, !tbaa !5
  %859 = load i32, ptr %10, align 4, !tbaa !5
  %860 = mul nsw i32 9, %859
  %861 = add nsw i32 %858, %860
  %862 = sext i32 %861 to i64
  %863 = getelementptr inbounds double, ptr %857, i64 %862
  %864 = load double, ptr %863, align 8, !tbaa !11
  %865 = fadd double %864, %856
  store double %865, ptr %863, align 8, !tbaa !11
  %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 9, %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 = load ptr, ptr %7, align 8, !tbaa !9
  %875 = load i32, ptr %12, align 4, !tbaa !5
  %876 = load i32, ptr %8, align 4, !tbaa !5
  %877 = mul nsw i32 11, %876
  %878 = add nsw i32 %875, %877
  %879 = sext i32 %878 to i64
  %880 = getelementptr inbounds double, ptr %874, i64 %879
  %881 = load double, ptr %880, align 8, !tbaa !11
  %882 = fmul double 0x3FF9D1E43E6CC1B5, %881
  %883 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %873, double %882)
  %884 = load ptr, ptr %7, align 8, !tbaa !9
  %885 = load i32, ptr %12, align 4, !tbaa !5
  %886 = load i32, ptr %8, align 4, !tbaa !5
  %887 = mul nsw i32 37, %886
  %888 = add nsw i32 %885, %887
  %889 = sext i32 %888 to i64
  %890 = getelementptr inbounds double, ptr %884, i64 %889
  %891 = load double, ptr %890, align 8, !tbaa !11
  %892 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %891, double %883)
  %893 = load ptr, ptr %7, align 8, !tbaa !9
  %894 = load i32, ptr %12, align 4, !tbaa !5
  %895 = load i32, ptr %8, align 4, !tbaa !5
  %896 = mul nsw i32 40, %895
  %897 = add nsw i32 %894, %896
  %898 = sext i32 %897 to i64
  %899 = getelementptr inbounds double, ptr %893, i64 %898
  %900 = load double, ptr %899, align 8, !tbaa !11
  %901 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %900, double %892)
  %902 = load ptr, ptr %7, align 8, !tbaa !9
  %903 = load i32, ptr %12, align 4, !tbaa !5
  %904 = load i32, ptr %8, align 4, !tbaa !5
  %905 = mul nsw i32 43, %904
  %906 = add nsw i32 %903, %905
  %907 = sext i32 %906 to i64
  %908 = getelementptr inbounds double, ptr %902, i64 %907
  %909 = load double, ptr %908, align 8, !tbaa !11
  %910 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %909, double %901)
  %911 = load ptr, ptr %7, align 8, !tbaa !9
  %912 = load i32, ptr %12, align 4, !tbaa !5
  %913 = load i32, ptr %8, align 4, !tbaa !5
  %914 = mul nsw i32 55, %913
  %915 = add nsw i32 %912, %914
  %916 = sext i32 %915 to i64
  %917 = getelementptr inbounds double, ptr %911, i64 %916
  %918 = load double, ptr %917, align 8, !tbaa !11
  %919 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %918, double %910)
  %920 = load ptr, ptr %7, align 8, !tbaa !9
  %921 = load i32, ptr %12, align 4, !tbaa !5
  %922 = load i32, ptr %8, align 4, !tbaa !5
  %923 = mul nsw i32 73, %922
  %924 = add nsw i32 %921, %923
  %925 = sext i32 %924 to i64
  %926 = getelementptr inbounds double, ptr %920, i64 %925
  %927 = load double, ptr %926, align 8, !tbaa !11
  %928 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %927, double %919)
  store double %928, ptr %11, align 8, !tbaa !11
  %929 = load double, ptr %11, align 8, !tbaa !11
  %930 = load ptr, ptr %9, align 8, !tbaa !9
  %931 = load i32, ptr %12, align 4, !tbaa !5
  %932 = load i32, ptr %10, align 4, !tbaa !5
  %933 = mul nsw i32 10, %932
  %934 = add nsw i32 %931, %933
  %935 = sext i32 %934 to i64
  %936 = getelementptr inbounds double, ptr %930, i64 %935
  %937 = load double, ptr %936, align 8, !tbaa !11
  %938 = fadd double %937, %929
  store double %938, ptr %936, align 8, !tbaa !11
  %939 = load ptr, ptr %7, align 8, !tbaa !9
  %940 = load i32, ptr %12, align 4, !tbaa !5
  %941 = load i32, ptr %8, align 4, !tbaa !5
  %942 = mul nsw i32 9, %941
  %943 = add nsw i32 %940, %942
  %944 = sext i32 %943 to i64
  %945 = getelementptr inbounds double, ptr %939, i64 %944
  %946 = load double, ptr %945, align 8, !tbaa !11
  %947 = load ptr, ptr %7, align 8, !tbaa !9
  %948 = load i32, ptr %12, align 4, !tbaa !5
  %949 = load i32, ptr %8, align 4, !tbaa !5
  %950 = mul nsw i32 10, %949
  %951 = add nsw i32 %948, %950
  %952 = sext i32 %951 to i64
  %953 = getelementptr inbounds double, ptr %947, i64 %952
  %954 = load double, ptr %953, align 8, !tbaa !11
  %955 = fmul double 0xBFF08654A2D4F6D8, %954
  %956 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %946, double %955)
  %957 = load ptr, ptr %7, align 8, !tbaa !9
  %958 = load i32, ptr %12, align 4, !tbaa !5
  %959 = load i32, ptr %8, align 4, !tbaa !5
  %960 = mul nsw i32 11, %959
  %961 = add nsw i32 %958, %960
  %962 = sext i32 %961 to i64
  %963 = getelementptr inbounds double, ptr %957, i64 %962
  %964 = load double, ptr %963, align 8, !tbaa !11
  %965 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %964, double %956)
  %966 = load ptr, ptr %7, align 8, !tbaa !9
  %967 = load i32, ptr %12, align 4, !tbaa !5
  %968 = load i32, ptr %8, align 4, !tbaa !5
  %969 = mul nsw i32 38, %968
  %970 = add nsw i32 %967, %969
  %971 = sext i32 %970 to i64
  %972 = getelementptr inbounds double, ptr %966, i64 %971
  %973 = load double, ptr %972, align 8, !tbaa !11
  %974 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %973, double %965)
  %975 = load ptr, ptr %7, align 8, !tbaa !9
  %976 = load i32, ptr %12, align 4, !tbaa !5
  %977 = load i32, ptr %8, align 4, !tbaa !5
  %978 = mul nsw i32 41, %977
  %979 = add nsw i32 %976, %978
  %980 = sext i32 %979 to i64
  %981 = getelementptr inbounds double, ptr %975, i64 %980
  %982 = load double, ptr %981, align 8, !tbaa !11
  %983 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %982, double %974)
  %984 = load ptr, ptr %7, align 8, !tbaa !9
  %985 = load i32, ptr %12, align 4, !tbaa !5
  %986 = load i32, ptr %8, align 4, !tbaa !5
  %987 = mul nsw i32 44, %986
  %988 = add nsw i32 %985, %987
  %989 = sext i32 %988 to i64
  %990 = getelementptr inbounds double, ptr %984, i64 %989
  %991 = load double, ptr %990, align 8, !tbaa !11
  %992 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %991, double %983)
  %993 = load ptr, ptr %7, align 8, !tbaa !9
  %994 = load i32, ptr %12, align 4, !tbaa !5
  %995 = load i32, ptr %8, align 4, !tbaa !5
  %996 = mul nsw i32 56, %995
  %997 = add nsw i32 %994, %996
  %998 = sext i32 %997 to i64
  %999 = getelementptr inbounds double, ptr %993, i64 %998
  %1000 = load double, ptr %999, align 8, !tbaa !11
  %1001 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1000, double %992)
  %1002 = load ptr, ptr %7, align 8, !tbaa !9
  %1003 = load i32, ptr %12, align 4, !tbaa !5
  %1004 = load i32, ptr %8, align 4, !tbaa !5
  %1005 = mul nsw i32 74, %1004
  %1006 = add nsw i32 %1003, %1005
  %1007 = sext i32 %1006 to i64
  %1008 = getelementptr inbounds double, ptr %1002, i64 %1007
  %1009 = load double, ptr %1008, align 8, !tbaa !11
  %1010 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1009, double %1001)
  store double %1010, ptr %11, align 8, !tbaa !11
  %1011 = load double, ptr %11, align 8, !tbaa !11
  %1012 = load ptr, ptr %9, align 8, !tbaa !9
  %1013 = load i32, ptr %12, align 4, !tbaa !5
  %1014 = load i32, ptr %10, align 4, !tbaa !5
  %1015 = mul nsw i32 11, %1014
  %1016 = add nsw i32 %1013, %1015
  %1017 = sext i32 %1016 to i64
  %1018 = getelementptr inbounds double, ptr %1012, i64 %1017
  %1019 = load double, ptr %1018, align 8, !tbaa !11
  %1020 = fadd double %1019, %1011
  store double %1020, ptr %1018, align 8, !tbaa !11
  %1021 = load ptr, ptr %7, align 8, !tbaa !9
  %1022 = load i32, ptr %12, align 4, !tbaa !5
  %1023 = load i32, ptr %8, align 4, !tbaa !5
  %1024 = mul nsw i32 12, %1023
  %1025 = add nsw i32 %1022, %1024
  %1026 = sext i32 %1025 to i64
  %1027 = getelementptr inbounds double, ptr %1021, i64 %1026
  %1028 = load double, ptr %1027, align 8, !tbaa !11
  %1029 = load ptr, ptr %7, align 8, !tbaa !9
  %1030 = load i32, ptr %12, align 4, !tbaa !5
  %1031 = load i32, ptr %8, align 4, !tbaa !5
  %1032 = mul nsw i32 13, %1031
  %1033 = add nsw i32 %1030, %1032
  %1034 = sext i32 %1033 to i64
  %1035 = getelementptr inbounds double, ptr %1029, i64 %1034
  %1036 = load double, ptr %1035, align 8, !tbaa !11
  %1037 = fmul double 0x3FF08654A2D4F6D8, %1036
  %1038 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1028, double %1037)
  %1039 = load ptr, ptr %7, align 8, !tbaa !9
  %1040 = load i32, ptr %12, align 4, !tbaa !5
  %1041 = load i32, ptr %8, align 4, !tbaa !5
  %1042 = mul nsw i32 14, %1041
  %1043 = add nsw i32 %1040, %1042
  %1044 = sext i32 %1043 to i64
  %1045 = getelementptr inbounds double, ptr %1039, i64 %1044
  %1046 = load double, ptr %1045, align 8, !tbaa !11
  %1047 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1046, double %1038)
  %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 36, %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 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1055, double %1047)
  %1057 = load ptr, ptr %7, align 8, !tbaa !9
  %1058 = load i32, ptr %12, align 4, !tbaa !5
  %1059 = load i32, ptr %8, align 4, !tbaa !5
  %1060 = mul nsw i32 42, %1059
  %1061 = add nsw i32 %1058, %1060
  %1062 = sext i32 %1061 to i64
  %1063 = getelementptr inbounds double, ptr %1057, i64 %1062
  %1064 = load double, ptr %1063, align 8, !tbaa !11
  %1065 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1064, double %1056)
  %1066 = load ptr, ptr %7, align 8, !tbaa !9
  %1067 = load i32, ptr %12, align 4, !tbaa !5
  %1068 = load i32, ptr %8, align 4, !tbaa !5
  %1069 = mul nsw i32 57, %1068
  %1070 = add nsw i32 %1067, %1069
  %1071 = sext i32 %1070 to i64
  %1072 = getelementptr inbounds double, ptr %1066, i64 %1071
  %1073 = load double, ptr %1072, align 8, !tbaa !11
  %1074 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1073, double %1065)
  %1075 = load ptr, ptr %7, align 8, !tbaa !9
  %1076 = load i32, ptr %12, align 4, !tbaa !5
  %1077 = load i32, ptr %8, align 4, !tbaa !5
  %1078 = mul nsw i32 75, %1077
  %1079 = add nsw i32 %1076, %1078
  %1080 = sext i32 %1079 to i64
  %1081 = getelementptr inbounds double, ptr %1075, i64 %1080
  %1082 = load double, ptr %1081, align 8, !tbaa !11
  %1083 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1082, double %1074)
  store double %1083, ptr %11, align 8, !tbaa !11
  %1084 = load double, ptr %11, align 8, !tbaa !11
  %1085 = load ptr, ptr %9, align 8, !tbaa !9
  %1086 = load i32, ptr %12, align 4, !tbaa !5
  %1087 = load i32, ptr %10, align 4, !tbaa !5
  %1088 = mul nsw i32 12, %1087
  %1089 = add nsw i32 %1086, %1088
  %1090 = sext i32 %1089 to i64
  %1091 = getelementptr inbounds double, ptr %1085, i64 %1090
  %1092 = load double, ptr %1091, align 8, !tbaa !11
  %1093 = fadd double %1092, %1084
  store double %1093, ptr %1091, align 8, !tbaa !11
  %1094 = load ptr, ptr %7, align 8, !tbaa !9
  %1095 = load i32, ptr %12, align 4, !tbaa !5
  %1096 = load i32, ptr %8, align 4, !tbaa !5
  %1097 = mul nsw i32 12, %1096
  %1098 = add nsw i32 %1095, %1097
  %1099 = sext i32 %1098 to i64
  %1100 = getelementptr inbounds double, ptr %1094, i64 %1099
  %1101 = load double, ptr %1100, align 8, !tbaa !11
  %1102 = load ptr, ptr %7, align 8, !tbaa !9
  %1103 = load i32, ptr %12, align 4, !tbaa !5
  %1104 = load i32, ptr %8, align 4, !tbaa !5
  %1105 = mul nsw i32 14, %1104
  %1106 = add nsw i32 %1103, %1105
  %1107 = sext i32 %1106 to i64
  %1108 = getelementptr inbounds double, ptr %1102, i64 %1107
  %1109 = load double, ptr %1108, align 8, !tbaa !11
  %1110 = fmul double 0x3FF9D1E43E6CC1B5, %1109
  %1111 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1101, double %1110)
  %1112 = load ptr, ptr %7, align 8, !tbaa !9
  %1113 = load i32, ptr %12, align 4, !tbaa !5
  %1114 = load i32, ptr %8, align 4, !tbaa !5
  %1115 = mul nsw i32 37, %1114
  %1116 = add nsw i32 %1113, %1115
  %1117 = sext i32 %1116 to i64
  %1118 = getelementptr inbounds double, ptr %1112, i64 %1117
  %1119 = load double, ptr %1118, align 8, !tbaa !11
  %1120 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1119, double %1111)
  %1121 = load ptr, ptr %7, align 8, !tbaa !9
  %1122 = load i32, ptr %12, align 4, !tbaa !5
  %1123 = load i32, ptr %8, align 4, !tbaa !5
  %1124 = mul nsw i32 43, %1123
  %1125 = add nsw i32 %1122, %1124
  %1126 = sext i32 %1125 to i64
  %1127 = getelementptr inbounds double, ptr %1121, i64 %1126
  %1128 = load double, ptr %1127, align 8, !tbaa !11
  %1129 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1128, double %1120)
  %1130 = load ptr, ptr %7, align 8, !tbaa !9
  %1131 = load i32, ptr %12, align 4, !tbaa !5
  %1132 = load i32, ptr %8, align 4, !tbaa !5
  %1133 = mul nsw i32 58, %1132
  %1134 = add nsw i32 %1131, %1133
  %1135 = sext i32 %1134 to i64
  %1136 = getelementptr inbounds double, ptr %1130, i64 %1135
  %1137 = load double, ptr %1136, align 8, !tbaa !11
  %1138 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1137, double %1129)
  %1139 = load ptr, ptr %7, align 8, !tbaa !9
  %1140 = load i32, ptr %12, align 4, !tbaa !5
  %1141 = load i32, ptr %8, align 4, !tbaa !5
  %1142 = mul nsw i32 76, %1141
  %1143 = add nsw i32 %1140, %1142
  %1144 = sext i32 %1143 to i64
  %1145 = getelementptr inbounds double, ptr %1139, i64 %1144
  %1146 = load double, ptr %1145, align 8, !tbaa !11
  %1147 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1146, double %1138)
  store double %1147, ptr %11, align 8, !tbaa !11
  %1148 = load double, ptr %11, align 8, !tbaa !11
  %1149 = load ptr, ptr %9, align 8, !tbaa !9
  %1150 = load i32, ptr %12, align 4, !tbaa !5
  %1151 = load i32, ptr %10, align 4, !tbaa !5
  %1152 = mul nsw i32 13, %1151
  %1153 = add nsw i32 %1150, %1152
  %1154 = sext i32 %1153 to i64
  %1155 = getelementptr inbounds double, ptr %1149, i64 %1154
  %1156 = load double, ptr %1155, align 8, !tbaa !11
  %1157 = fadd double %1156, %1148
  store double %1157, ptr %1155, align 8, !tbaa !11
  %1158 = load ptr, ptr %7, align 8, !tbaa !9
  %1159 = load i32, ptr %12, align 4, !tbaa !5
  %1160 = load i32, ptr %8, align 4, !tbaa !5
  %1161 = mul nsw i32 12, %1160
  %1162 = add nsw i32 %1159, %1161
  %1163 = sext i32 %1162 to i64
  %1164 = getelementptr inbounds double, ptr %1158, i64 %1163
  %1165 = load double, ptr %1164, align 8, !tbaa !11
  %1166 = load ptr, ptr %7, align 8, !tbaa !9
  %1167 = load i32, ptr %12, align 4, !tbaa !5
  %1168 = load i32, ptr %8, align 4, !tbaa !5
  %1169 = mul nsw i32 13, %1168
  %1170 = add nsw i32 %1167, %1169
  %1171 = sext i32 %1170 to i64
  %1172 = getelementptr inbounds double, ptr %1166, i64 %1171
  %1173 = load double, ptr %1172, align 8, !tbaa !11
  %1174 = fmul double 0xBFF08654A2D4F6D8, %1173
  %1175 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1165, double %1174)
  %1176 = load ptr, ptr %7, align 8, !tbaa !9
  %1177 = load i32, ptr %12, align 4, !tbaa !5
  %1178 = load i32, ptr %8, align 4, !tbaa !5
  %1179 = mul nsw i32 14, %1178
  %1180 = add nsw i32 %1177, %1179
  %1181 = sext i32 %1180 to i64
  %1182 = getelementptr inbounds double, ptr %1176, i64 %1181
  %1183 = load double, ptr %1182, align 8, !tbaa !11
  %1184 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1183, double %1175)
  %1185 = load ptr, ptr %7, align 8, !tbaa !9
  %1186 = load i32, ptr %12, align 4, !tbaa !5
  %1187 = load i32, ptr %8, align 4, !tbaa !5
  %1188 = mul nsw i32 38, %1187
  %1189 = add nsw i32 %1186, %1188
  %1190 = sext i32 %1189 to i64
  %1191 = getelementptr inbounds double, ptr %1185, i64 %1190
  %1192 = load double, ptr %1191, align 8, !tbaa !11
  %1193 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1192, double %1184)
  %1194 = load ptr, ptr %7, align 8, !tbaa !9
  %1195 = load i32, ptr %12, align 4, !tbaa !5
  %1196 = load i32, ptr %8, align 4, !tbaa !5
  %1197 = mul nsw i32 44, %1196
  %1198 = add nsw i32 %1195, %1197
  %1199 = sext i32 %1198 to i64
  %1200 = getelementptr inbounds double, ptr %1194, i64 %1199
  %1201 = load double, ptr %1200, align 8, !tbaa !11
  %1202 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1201, double %1193)
  %1203 = load ptr, ptr %7, align 8, !tbaa !9
  %1204 = load i32, ptr %12, align 4, !tbaa !5
  %1205 = load i32, ptr %8, align 4, !tbaa !5
  %1206 = mul nsw i32 59, %1205
  %1207 = add nsw i32 %1204, %1206
  %1208 = sext i32 %1207 to i64
  %1209 = getelementptr inbounds double, ptr %1203, i64 %1208
  %1210 = load double, ptr %1209, align 8, !tbaa !11
  %1211 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1210, double %1202)
  %1212 = load ptr, ptr %7, align 8, !tbaa !9
  %1213 = load i32, ptr %12, align 4, !tbaa !5
  %1214 = load i32, ptr %8, align 4, !tbaa !5
  %1215 = mul nsw i32 77, %1214
  %1216 = add nsw i32 %1213, %1215
  %1217 = sext i32 %1216 to i64
  %1218 = getelementptr inbounds double, ptr %1212, i64 %1217
  %1219 = load double, ptr %1218, align 8, !tbaa !11
  %1220 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1219, double %1211)
  store double %1220, ptr %11, align 8, !tbaa !11
  %1221 = load double, ptr %11, align 8, !tbaa !11
  %1222 = load ptr, ptr %9, align 8, !tbaa !9
  %1223 = load i32, ptr %12, align 4, !tbaa !5
  %1224 = load i32, ptr %10, align 4, !tbaa !5
  %1225 = mul nsw i32 14, %1224
  %1226 = add nsw i32 %1223, %1225
  %1227 = sext i32 %1226 to i64
  %1228 = getelementptr inbounds double, ptr %1222, i64 %1227
  %1229 = load double, ptr %1228, align 8, !tbaa !11
  %1230 = fadd double %1229, %1221
  store double %1230, ptr %1228, align 8, !tbaa !11
  %1231 = load ptr, ptr %7, align 8, !tbaa !9
  %1232 = load i32, ptr %12, align 4, !tbaa !5
  %1233 = load i32, ptr %8, align 4, !tbaa !5
  %1234 = mul nsw i32 15, %1233
  %1235 = add nsw i32 %1232, %1234
  %1236 = sext i32 %1235 to i64
  %1237 = getelementptr inbounds double, ptr %1231, i64 %1236
  %1238 = load double, ptr %1237, align 8, !tbaa !11
  %1239 = load ptr, ptr %7, align 8, !tbaa !9
  %1240 = load i32, ptr %12, align 4, !tbaa !5
  %1241 = load i32, ptr %8, align 4, !tbaa !5
  %1242 = mul nsw i32 16, %1241
  %1243 = add nsw i32 %1240, %1242
  %1244 = sext i32 %1243 to i64
  %1245 = getelementptr inbounds double, ptr %1239, i64 %1244
  %1246 = load double, ptr %1245, align 8, !tbaa !11
  %1247 = fmul double 0x3FF08654A2D4F6D8, %1246
  %1248 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1238, double %1247)
  %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 17, %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 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1256, double %1248)
  %1258 = load ptr, ptr %7, align 8, !tbaa !9
  %1259 = load i32, ptr %12, align 4, !tbaa !5
  %1260 = load i32, ptr %8, align 4, !tbaa !5
  %1261 = mul nsw i32 36, %1260
  %1262 = add nsw i32 %1259, %1261
  %1263 = sext i32 %1262 to i64
  %1264 = getelementptr inbounds double, ptr %1258, i64 %1263
  %1265 = load double, ptr %1264, align 8, !tbaa !11
  %1266 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1265, double %1257)
  %1267 = load ptr, ptr %7, align 8, !tbaa !9
  %1268 = load i32, ptr %12, align 4, !tbaa !5
  %1269 = load i32, ptr %8, align 4, !tbaa !5
  %1270 = mul nsw i32 39, %1269
  %1271 = add nsw i32 %1268, %1270
  %1272 = sext i32 %1271 to i64
  %1273 = getelementptr inbounds double, ptr %1267, i64 %1272
  %1274 = load double, ptr %1273, align 8, !tbaa !11
  %1275 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %1274, double %1266)
  %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 42, %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 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1283, double %1275)
  %1285 = load ptr, ptr %7, align 8, !tbaa !9
  %1286 = load i32, ptr %12, align 4, !tbaa !5
  %1287 = load i32, ptr %8, align 4, !tbaa !5
  %1288 = mul nsw i32 60, %1287
  %1289 = add nsw i32 %1286, %1288
  %1290 = sext i32 %1289 to i64
  %1291 = getelementptr inbounds double, ptr %1285, i64 %1290
  %1292 = load double, ptr %1291, align 8, !tbaa !11
  %1293 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1292, double %1284)
  %1294 = load ptr, ptr %7, align 8, !tbaa !9
  %1295 = load i32, ptr %12, align 4, !tbaa !5
  %1296 = load i32, ptr %8, align 4, !tbaa !5
  %1297 = mul nsw i32 78, %1296
  %1298 = add nsw i32 %1295, %1297
  %1299 = sext i32 %1298 to i64
  %1300 = getelementptr inbounds double, ptr %1294, i64 %1299
  %1301 = load double, ptr %1300, align 8, !tbaa !11
  %1302 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1301, double %1293)
  store double %1302, ptr %11, align 8, !tbaa !11
  %1303 = load double, ptr %11, align 8, !tbaa !11
  %1304 = load ptr, ptr %9, align 8, !tbaa !9
  %1305 = load i32, ptr %12, align 4, !tbaa !5
  %1306 = load i32, ptr %10, align 4, !tbaa !5
  %1307 = mul nsw i32 15, %1306
  %1308 = add nsw i32 %1305, %1307
  %1309 = sext i32 %1308 to i64
  %1310 = getelementptr inbounds double, ptr %1304, i64 %1309
  %1311 = load double, ptr %1310, align 8, !tbaa !11
  %1312 = fadd double %1311, %1303
  store double %1312, ptr %1310, align 8, !tbaa !11
  %1313 = load ptr, ptr %7, align 8, !tbaa !9
  %1314 = load i32, ptr %12, align 4, !tbaa !5
  %1315 = load i32, ptr %8, align 4, !tbaa !5
  %1316 = mul nsw i32 15, %1315
  %1317 = add nsw i32 %1314, %1316
  %1318 = sext i32 %1317 to i64
  %1319 = getelementptr inbounds double, ptr %1313, i64 %1318
  %1320 = load double, ptr %1319, align 8, !tbaa !11
  %1321 = load ptr, ptr %7, align 8, !tbaa !9
  %1322 = load i32, ptr %12, align 4, !tbaa !5
  %1323 = load i32, ptr %8, align 4, !tbaa !5
  %1324 = mul nsw i32 17, %1323
  %1325 = add nsw i32 %1322, %1324
  %1326 = sext i32 %1325 to i64
  %1327 = getelementptr inbounds double, ptr %1321, i64 %1326
  %1328 = load double, ptr %1327, align 8, !tbaa !11
  %1329 = fmul double 0x3FF9D1E43E6CC1B5, %1328
  %1330 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1320, double %1329)
  %1331 = load ptr, ptr %7, align 8, !tbaa !9
  %1332 = load i32, ptr %12, align 4, !tbaa !5
  %1333 = load i32, ptr %8, align 4, !tbaa !5
  %1334 = mul nsw i32 37, %1333
  %1335 = add nsw i32 %1332, %1334
  %1336 = sext i32 %1335 to i64
  %1337 = getelementptr inbounds double, ptr %1331, i64 %1336
  %1338 = load double, ptr %1337, align 8, !tbaa !11
  %1339 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1338, double %1330)
  %1340 = load ptr, ptr %7, align 8, !tbaa !9
  %1341 = load i32, ptr %12, align 4, !tbaa !5
  %1342 = load i32, ptr %8, align 4, !tbaa !5
  %1343 = mul nsw i32 40, %1342
  %1344 = add nsw i32 %1341, %1343
  %1345 = sext i32 %1344 to i64
  %1346 = getelementptr inbounds double, ptr %1340, i64 %1345
  %1347 = load double, ptr %1346, align 8, !tbaa !11
  %1348 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %1347, double %1339)
  %1349 = load ptr, ptr %7, align 8, !tbaa !9
  %1350 = load i32, ptr %12, align 4, !tbaa !5
  %1351 = load i32, ptr %8, align 4, !tbaa !5
  %1352 = mul nsw i32 43, %1351
  %1353 = add nsw i32 %1350, %1352
  %1354 = sext i32 %1353 to i64
  %1355 = getelementptr inbounds double, ptr %1349, i64 %1354
  %1356 = load double, ptr %1355, align 8, !tbaa !11
  %1357 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1356, double %1348)
  %1358 = load ptr, ptr %7, align 8, !tbaa !9
  %1359 = load i32, ptr %12, align 4, !tbaa !5
  %1360 = load i32, ptr %8, align 4, !tbaa !5
  %1361 = mul nsw i32 61, %1360
  %1362 = add nsw i32 %1359, %1361
  %1363 = sext i32 %1362 to i64
  %1364 = getelementptr inbounds double, ptr %1358, i64 %1363
  %1365 = load double, ptr %1364, align 8, !tbaa !11
  %1366 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1365, double %1357)
  %1367 = load ptr, ptr %7, align 8, !tbaa !9
  %1368 = load i32, ptr %12, align 4, !tbaa !5
  %1369 = load i32, ptr %8, align 4, !tbaa !5
  %1370 = mul nsw i32 79, %1369
  %1371 = add nsw i32 %1368, %1370
  %1372 = sext i32 %1371 to i64
  %1373 = getelementptr inbounds double, ptr %1367, i64 %1372
  %1374 = load double, ptr %1373, align 8, !tbaa !11
  %1375 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1374, double %1366)
  store double %1375, ptr %11, align 8, !tbaa !11
  %1376 = load double, ptr %11, align 8, !tbaa !11
  %1377 = load ptr, ptr %9, align 8, !tbaa !9
  %1378 = load i32, ptr %12, align 4, !tbaa !5
  %1379 = load i32, ptr %10, align 4, !tbaa !5
  %1380 = mul nsw i32 16, %1379
  %1381 = add nsw i32 %1378, %1380
  %1382 = sext i32 %1381 to i64
  %1383 = getelementptr inbounds double, ptr %1377, i64 %1382
  %1384 = load double, ptr %1383, align 8, !tbaa !11
  %1385 = fadd double %1384, %1376
  store double %1385, ptr %1383, align 8, !tbaa !11
  %1386 = load ptr, ptr %7, align 8, !tbaa !9
  %1387 = load i32, ptr %12, align 4, !tbaa !5
  %1388 = load i32, ptr %8, align 4, !tbaa !5
  %1389 = mul nsw i32 15, %1388
  %1390 = add nsw i32 %1387, %1389
  %1391 = sext i32 %1390 to i64
  %1392 = getelementptr inbounds double, ptr %1386, i64 %1391
  %1393 = load double, ptr %1392, align 8, !tbaa !11
  %1394 = load ptr, ptr %7, align 8, !tbaa !9
  %1395 = load i32, ptr %12, align 4, !tbaa !5
  %1396 = load i32, ptr %8, align 4, !tbaa !5
  %1397 = mul nsw i32 16, %1396
  %1398 = add nsw i32 %1395, %1397
  %1399 = sext i32 %1398 to i64
  %1400 = getelementptr inbounds double, ptr %1394, i64 %1399
  %1401 = load double, ptr %1400, align 8, !tbaa !11
  %1402 = fmul double 0xBFF08654A2D4F6D8, %1401
  %1403 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1393, double %1402)
  %1404 = load ptr, ptr %7, align 8, !tbaa !9
  %1405 = load i32, ptr %12, align 4, !tbaa !5
  %1406 = load i32, ptr %8, align 4, !tbaa !5
  %1407 = mul nsw i32 17, %1406
  %1408 = add nsw i32 %1405, %1407
  %1409 = sext i32 %1408 to i64
  %1410 = getelementptr inbounds double, ptr %1404, i64 %1409
  %1411 = load double, ptr %1410, align 8, !tbaa !11
  %1412 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1411, double %1403)
  %1413 = load ptr, ptr %7, align 8, !tbaa !9
  %1414 = load i32, ptr %12, align 4, !tbaa !5
  %1415 = load i32, ptr %8, align 4, !tbaa !5
  %1416 = mul nsw i32 38, %1415
  %1417 = add nsw i32 %1414, %1416
  %1418 = sext i32 %1417 to i64
  %1419 = getelementptr inbounds double, ptr %1413, i64 %1418
  %1420 = load double, ptr %1419, align 8, !tbaa !11
  %1421 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1420, double %1412)
  %1422 = load ptr, ptr %7, align 8, !tbaa !9
  %1423 = load i32, ptr %12, align 4, !tbaa !5
  %1424 = load i32, ptr %8, align 4, !tbaa !5
  %1425 = mul nsw i32 41, %1424
  %1426 = add nsw i32 %1423, %1425
  %1427 = sext i32 %1426 to i64
  %1428 = getelementptr inbounds double, ptr %1422, i64 %1427
  %1429 = load double, ptr %1428, align 8, !tbaa !11
  %1430 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %1429, double %1421)
  %1431 = load ptr, ptr %7, align 8, !tbaa !9
  %1432 = load i32, ptr %12, align 4, !tbaa !5
  %1433 = load i32, ptr %8, align 4, !tbaa !5
  %1434 = mul nsw i32 44, %1433
  %1435 = add nsw i32 %1432, %1434
  %1436 = sext i32 %1435 to i64
  %1437 = getelementptr inbounds double, ptr %1431, i64 %1436
  %1438 = load double, ptr %1437, align 8, !tbaa !11
  %1439 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1438, double %1430)
  %1440 = load ptr, ptr %7, align 8, !tbaa !9
  %1441 = load i32, ptr %12, align 4, !tbaa !5
  %1442 = load i32, ptr %8, align 4, !tbaa !5
  %1443 = mul nsw i32 62, %1442
  %1444 = add nsw i32 %1441, %1443
  %1445 = sext i32 %1444 to i64
  %1446 = getelementptr inbounds double, ptr %1440, i64 %1445
  %1447 = load double, ptr %1446, align 8, !tbaa !11
  %1448 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1447, double %1439)
  %1449 = load ptr, ptr %7, align 8, !tbaa !9
  %1450 = load i32, ptr %12, align 4, !tbaa !5
  %1451 = load i32, ptr %8, align 4, !tbaa !5
  %1452 = mul nsw i32 80, %1451
  %1453 = add nsw i32 %1450, %1452
  %1454 = sext i32 %1453 to i64
  %1455 = getelementptr inbounds double, ptr %1449, i64 %1454
  %1456 = load double, ptr %1455, align 8, !tbaa !11
  %1457 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1456, double %1448)
  store double %1457, ptr %11, align 8, !tbaa !11
  %1458 = load double, ptr %11, align 8, !tbaa !11
  %1459 = load ptr, ptr %9, align 8, !tbaa !9
  %1460 = load i32, ptr %12, align 4, !tbaa !5
  %1461 = load i32, ptr %10, align 4, !tbaa !5
  %1462 = mul nsw i32 17, %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 = fadd double %1466, %1458
  store double %1467, ptr %1465, align 8, !tbaa !11
  %1468 = load ptr, ptr %7, align 8, !tbaa !9
  %1469 = load i32, ptr %12, align 4, !tbaa !5
  %1470 = load i32, ptr %8, align 4, !tbaa !5
  %1471 = mul nsw i32 18, %1470
  %1472 = add nsw i32 %1469, %1471
  %1473 = sext i32 %1472 to i64
  %1474 = getelementptr inbounds double, ptr %1468, i64 %1473
  %1475 = load double, ptr %1474, align 8, !tbaa !11
  %1476 = load ptr, ptr %7, align 8, !tbaa !9
  %1477 = load i32, ptr %12, align 4, !tbaa !5
  %1478 = load i32, ptr %8, align 4, !tbaa !5
  %1479 = mul nsw i32 19, %1478
  %1480 = add nsw i32 %1477, %1479
  %1481 = sext i32 %1480 to i64
  %1482 = getelementptr inbounds double, ptr %1476, i64 %1481
  %1483 = load double, ptr %1482, align 8, !tbaa !11
  %1484 = fmul double 0x3FF08654A2D4F6D8, %1483
  %1485 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1475, double %1484)
  %1486 = load ptr, ptr %7, align 8, !tbaa !9
  %1487 = load i32, ptr %12, align 4, !tbaa !5
  %1488 = load i32, ptr %8, align 4, !tbaa !5
  %1489 = mul nsw i32 20, %1488
  %1490 = add nsw i32 %1487, %1489
  %1491 = sext i32 %1490 to i64
  %1492 = getelementptr inbounds double, ptr %1486, i64 %1491
  %1493 = load double, ptr %1492, align 8, !tbaa !11
  %1494 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1493, double %1485)
  %1495 = load ptr, ptr %7, align 8, !tbaa !9
  %1496 = load i32, ptr %12, align 4, !tbaa !5
  %1497 = load i32, ptr %8, align 4, !tbaa !5
  %1498 = mul nsw i32 45, %1497
  %1499 = add nsw i32 %1496, %1498
  %1500 = sext i32 %1499 to i64
  %1501 = getelementptr inbounds double, ptr %1495, i64 %1500
  %1502 = load double, ptr %1501, align 8, !tbaa !11
  %1503 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1502, double %1494)
  %1504 = load ptr, ptr %7, align 8, !tbaa !9
  %1505 = load i32, ptr %12, align 4, !tbaa !5
  %1506 = load i32, ptr %8, align 4, !tbaa !5
  %1507 = mul nsw i32 48, %1506
  %1508 = add nsw i32 %1505, %1507
  %1509 = sext i32 %1508 to i64
  %1510 = getelementptr inbounds double, ptr %1504, i64 %1509
  %1511 = load double, ptr %1510, align 8, !tbaa !11
  %1512 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %1511, double %1503)
  %1513 = load ptr, ptr %7, align 8, !tbaa !9
  %1514 = load i32, ptr %12, align 4, !tbaa !5
  %1515 = load i32, ptr %8, align 4, !tbaa !5
  %1516 = mul nsw i32 51, %1515
  %1517 = add nsw i32 %1514, %1516
  %1518 = sext i32 %1517 to i64
  %1519 = getelementptr inbounds double, ptr %1513, i64 %1518
  %1520 = load double, ptr %1519, align 8, !tbaa !11
  %1521 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1520, double %1512)
  %1522 = load ptr, ptr %7, align 8, !tbaa !9
  %1523 = load i32, ptr %12, align 4, !tbaa !5
  %1524 = load i32, ptr %8, align 4, !tbaa !5
  %1525 = mul nsw i32 54, %1524
  %1526 = add nsw i32 %1523, %1525
  %1527 = sext i32 %1526 to i64
  %1528 = getelementptr inbounds double, ptr %1522, i64 %1527
  %1529 = load double, ptr %1528, align 8, !tbaa !11
  %1530 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1529, double %1521)
  %1531 = load ptr, ptr %7, align 8, !tbaa !9
  %1532 = load i32, ptr %12, align 4, !tbaa !5
  %1533 = load i32, ptr %8, align 4, !tbaa !5
  %1534 = mul nsw i32 63, %1533
  %1535 = add nsw i32 %1532, %1534
  %1536 = sext i32 %1535 to i64
  %1537 = getelementptr inbounds double, ptr %1531, i64 %1536
  %1538 = load double, ptr %1537, align 8, !tbaa !11
  %1539 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %1538, double %1530)
  %1540 = load ptr, ptr %7, align 8, !tbaa !9
  %1541 = load i32, ptr %12, align 4, !tbaa !5
  %1542 = load i32, ptr %8, align 4, !tbaa !5
  %1543 = mul nsw i32 72, %1542
  %1544 = add nsw i32 %1541, %1543
  %1545 = sext i32 %1544 to i64
  %1546 = getelementptr inbounds double, ptr %1540, i64 %1545
  %1547 = load double, ptr %1546, align 8, !tbaa !11
  %1548 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1547, double %1539)
  store double %1548, ptr %11, align 8, !tbaa !11
  %1549 = load double, ptr %11, align 8, !tbaa !11
  %1550 = load ptr, ptr %9, align 8, !tbaa !9
  %1551 = load i32, ptr %12, align 4, !tbaa !5
  %1552 = load i32, ptr %10, align 4, !tbaa !5
  %1553 = mul nsw i32 18, %1552
  %1554 = add nsw i32 %1551, %1553
  %1555 = sext i32 %1554 to i64
  %1556 = getelementptr inbounds double, ptr %1550, i64 %1555
  %1557 = load double, ptr %1556, align 8, !tbaa !11
  %1558 = fadd double %1557, %1549
  store double %1558, ptr %1556, align 8, !tbaa !11
  %1559 = load ptr, ptr %7, align 8, !tbaa !9
  %1560 = load i32, ptr %12, align 4, !tbaa !5
  %1561 = load i32, ptr %8, align 4, !tbaa !5
  %1562 = mul nsw i32 18, %1561
  %1563 = add nsw i32 %1560, %1562
  %1564 = sext i32 %1563 to i64
  %1565 = getelementptr inbounds double, ptr %1559, i64 %1564
  %1566 = load double, ptr %1565, align 8, !tbaa !11
  %1567 = load ptr, ptr %7, align 8, !tbaa !9
  %1568 = load i32, ptr %12, align 4, !tbaa !5
  %1569 = load i32, ptr %8, align 4, !tbaa !5
  %1570 = mul nsw i32 20, %1569
  %1571 = add nsw i32 %1568, %1570
  %1572 = sext i32 %1571 to i64
  %1573 = getelementptr inbounds double, ptr %1567, i64 %1572
  %1574 = load double, ptr %1573, align 8, !tbaa !11
  %1575 = fmul double 0x3FF9D1E43E6CC1B5, %1574
  %1576 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1566, double %1575)
  %1577 = load ptr, ptr %7, align 8, !tbaa !9
  %1578 = load i32, ptr %12, align 4, !tbaa !5
  %1579 = load i32, ptr %8, align 4, !tbaa !5
  %1580 = mul nsw i32 46, %1579
  %1581 = add nsw i32 %1578, %1580
  %1582 = sext i32 %1581 to i64
  %1583 = getelementptr inbounds double, ptr %1577, i64 %1582
  %1584 = load double, ptr %1583, align 8, !tbaa !11
  %1585 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1584, double %1576)
  %1586 = load ptr, ptr %7, align 8, !tbaa !9
  %1587 = load i32, ptr %12, align 4, !tbaa !5
  %1588 = load i32, ptr %8, align 4, !tbaa !5
  %1589 = mul nsw i32 49, %1588
  %1590 = add nsw i32 %1587, %1589
  %1591 = sext i32 %1590 to i64
  %1592 = getelementptr inbounds double, ptr %1586, i64 %1591
  %1593 = load double, ptr %1592, align 8, !tbaa !11
  %1594 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %1593, double %1585)
  %1595 = load ptr, ptr %7, align 8, !tbaa !9
  %1596 = load i32, ptr %12, align 4, !tbaa !5
  %1597 = load i32, ptr %8, align 4, !tbaa !5
  %1598 = mul nsw i32 52, %1597
  %1599 = add nsw i32 %1596, %1598
  %1600 = sext i32 %1599 to i64
  %1601 = getelementptr inbounds double, ptr %1595, i64 %1600
  %1602 = load double, ptr %1601, align 8, !tbaa !11
  %1603 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1602, double %1594)
  %1604 = load ptr, ptr %7, align 8, !tbaa !9
  %1605 = load i32, ptr %12, align 4, !tbaa !5
  %1606 = load i32, ptr %8, align 4, !tbaa !5
  %1607 = mul nsw i32 55, %1606
  %1608 = add nsw i32 %1605, %1607
  %1609 = sext i32 %1608 to i64
  %1610 = getelementptr inbounds double, ptr %1604, i64 %1609
  %1611 = load double, ptr %1610, align 8, !tbaa !11
  %1612 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1611, double %1603)
  %1613 = load ptr, ptr %7, align 8, !tbaa !9
  %1614 = load i32, ptr %12, align 4, !tbaa !5
  %1615 = load i32, ptr %8, align 4, !tbaa !5
  %1616 = mul nsw i32 64, %1615
  %1617 = add nsw i32 %1614, %1616
  %1618 = sext i32 %1617 to i64
  %1619 = getelementptr inbounds double, ptr %1613, i64 %1618
  %1620 = load double, ptr %1619, align 8, !tbaa !11
  %1621 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %1620, double %1612)
  %1622 = load ptr, ptr %7, align 8, !tbaa !9
  %1623 = load i32, ptr %12, align 4, !tbaa !5
  %1624 = load i32, ptr %8, align 4, !tbaa !5
  %1625 = mul nsw i32 73, %1624
  %1626 = add nsw i32 %1623, %1625
  %1627 = sext i32 %1626 to i64
  %1628 = getelementptr inbounds double, ptr %1622, i64 %1627
  %1629 = load double, ptr %1628, align 8, !tbaa !11
  %1630 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1629, double %1621)
  store double %1630, ptr %11, align 8, !tbaa !11
  %1631 = load double, ptr %11, align 8, !tbaa !11
  %1632 = load ptr, ptr %9, align 8, !tbaa !9
  %1633 = load i32, ptr %12, align 4, !tbaa !5
  %1634 = load i32, ptr %10, align 4, !tbaa !5
  %1635 = mul nsw i32 19, %1634
  %1636 = add nsw i32 %1633, %1635
  %1637 = sext i32 %1636 to i64
  %1638 = getelementptr inbounds double, ptr %1632, i64 %1637
  %1639 = load double, ptr %1638, align 8, !tbaa !11
  %1640 = fadd double %1639, %1631
  store double %1640, ptr %1638, align 8, !tbaa !11
  %1641 = load ptr, ptr %7, align 8, !tbaa !9
  %1642 = load i32, ptr %12, align 4, !tbaa !5
  %1643 = load i32, ptr %8, align 4, !tbaa !5
  %1644 = mul nsw i32 18, %1643
  %1645 = add nsw i32 %1642, %1644
  %1646 = sext i32 %1645 to i64
  %1647 = getelementptr inbounds double, ptr %1641, i64 %1646
  %1648 = load double, ptr %1647, align 8, !tbaa !11
  %1649 = load ptr, ptr %7, align 8, !tbaa !9
  %1650 = load i32, ptr %12, align 4, !tbaa !5
  %1651 = load i32, ptr %8, align 4, !tbaa !5
  %1652 = mul nsw i32 19, %1651
  %1653 = add nsw i32 %1650, %1652
  %1654 = sext i32 %1653 to i64
  %1655 = getelementptr inbounds double, ptr %1649, i64 %1654
  %1656 = load double, ptr %1655, align 8, !tbaa !11
  %1657 = fmul double 0xBFF08654A2D4F6D8, %1656
  %1658 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1648, double %1657)
  %1659 = load ptr, ptr %7, align 8, !tbaa !9
  %1660 = load i32, ptr %12, align 4, !tbaa !5
  %1661 = load i32, ptr %8, align 4, !tbaa !5
  %1662 = mul nsw i32 20, %1661
  %1663 = add nsw i32 %1660, %1662
  %1664 = sext i32 %1663 to i64
  %1665 = getelementptr inbounds double, ptr %1659, i64 %1664
  %1666 = load double, ptr %1665, align 8, !tbaa !11
  %1667 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1666, double %1658)
  %1668 = load ptr, ptr %7, align 8, !tbaa !9
  %1669 = load i32, ptr %12, align 4, !tbaa !5
  %1670 = load i32, ptr %8, align 4, !tbaa !5
  %1671 = mul nsw i32 47, %1670
  %1672 = add nsw i32 %1669, %1671
  %1673 = sext i32 %1672 to i64
  %1674 = getelementptr inbounds double, ptr %1668, i64 %1673
  %1675 = load double, ptr %1674, align 8, !tbaa !11
  %1676 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1675, double %1667)
  %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 50, %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 = call double @llvm.fmuladd.f64(double 0x3FF08654A2D4F6D8, double %1684, double %1676)
  %1686 = load ptr, ptr %7, align 8, !tbaa !9
  %1687 = load i32, ptr %12, align 4, !tbaa !5
  %1688 = load i32, ptr %8, align 4, !tbaa !5
  %1689 = mul nsw i32 53, %1688
  %1690 = add nsw i32 %1687, %1689
  %1691 = sext i32 %1690 to i64
  %1692 = getelementptr inbounds double, ptr %1686, i64 %1691
  %1693 = load double, ptr %1692, align 8, !tbaa !11
  %1694 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1693, double %1685)
  %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 56, %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 0x3FE4A7E9CB8A3491, double %1702, double %1694)
  %1704 = load ptr, ptr %7, align 8, !tbaa !9
  %1705 = load i32, ptr %12, align 4, !tbaa !5
  %1706 = load i32, ptr %8, align 4, !tbaa !5
  %1707 = mul nsw i32 65, %1706
  %1708 = add nsw i32 %1705, %1707
  %1709 = sext i32 %1708 to i64
  %1710 = getelementptr inbounds double, ptr %1704, i64 %1709
  %1711 = load double, ptr %1710, align 8, !tbaa !11
  %1712 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %1711, double %1703)
  %1713 = load ptr, ptr %7, align 8, !tbaa !9
  %1714 = load i32, ptr %12, align 4, !tbaa !5
  %1715 = load i32, ptr %8, align 4, !tbaa !5
  %1716 = mul nsw i32 74, %1715
  %1717 = add nsw i32 %1714, %1716
  %1718 = sext i32 %1717 to i64
  %1719 = getelementptr inbounds double, ptr %1713, i64 %1718
  %1720 = load double, ptr %1719, align 8, !tbaa !11
  %1721 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1720, double %1712)
  store double %1721, ptr %11, align 8, !tbaa !11
  %1722 = load double, ptr %11, align 8, !tbaa !11
  %1723 = load ptr, ptr %9, align 8, !tbaa !9
  %1724 = load i32, ptr %12, align 4, !tbaa !5
  %1725 = load i32, ptr %10, align 4, !tbaa !5
  %1726 = mul nsw i32 20, %1725
  %1727 = add nsw i32 %1724, %1726
  %1728 = sext i32 %1727 to i64
  %1729 = getelementptr inbounds double, ptr %1723, i64 %1728
  %1730 = load double, ptr %1729, align 8, !tbaa !11
  %1731 = fadd double %1730, %1722
  store double %1731, ptr %1729, align 8, !tbaa !11
  %1732 = load ptr, ptr %7, align 8, !tbaa !9
  %1733 = load i32, ptr %12, align 4, !tbaa !5
  %1734 = load i32, ptr %8, align 4, !tbaa !5
  %1735 = mul nsw i32 21, %1734
  %1736 = add nsw i32 %1733, %1735
  %1737 = sext i32 %1736 to i64
  %1738 = getelementptr inbounds double, ptr %1732, i64 %1737
  %1739 = load double, ptr %1738, align 8, !tbaa !11
  %1740 = load ptr, ptr %7, align 8, !tbaa !9
  %1741 = load i32, ptr %12, align 4, !tbaa !5
  %1742 = load i32, ptr %8, align 4, !tbaa !5
  %1743 = mul nsw i32 22, %1742
  %1744 = add nsw i32 %1741, %1743
  %1745 = sext i32 %1744 to i64
  %1746 = getelementptr inbounds double, ptr %1740, i64 %1745
  %1747 = load double, ptr %1746, align 8, !tbaa !11
  %1748 = fmul double 0x3FF08654A2D4F6D8, %1747
  %1749 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1739, double %1748)
  %1750 = load ptr, ptr %7, align 8, !tbaa !9
  %1751 = load i32, ptr %12, align 4, !tbaa !5
  %1752 = load i32, ptr %8, align 4, !tbaa !5
  %1753 = mul nsw i32 23, %1752
  %1754 = add nsw i32 %1751, %1753
  %1755 = sext i32 %1754 to i64
  %1756 = getelementptr inbounds double, ptr %1750, i64 %1755
  %1757 = load double, ptr %1756, align 8, !tbaa !11
  %1758 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1757, double %1749)
  %1759 = load ptr, ptr %7, align 8, !tbaa !9
  %1760 = load i32, ptr %12, align 4, !tbaa !5
  %1761 = load i32, ptr %8, align 4, !tbaa !5
  %1762 = mul nsw i32 45, %1761
  %1763 = add nsw i32 %1760, %1762
  %1764 = sext i32 %1763 to i64
  %1765 = getelementptr inbounds double, ptr %1759, i64 %1764
  %1766 = load double, ptr %1765, align 8, !tbaa !11
  %1767 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1766, double %1758)
  %1768 = load ptr, ptr %7, align 8, !tbaa !9
  %1769 = load i32, ptr %12, align 4, !tbaa !5
  %1770 = load i32, ptr %8, align 4, !tbaa !5
  %1771 = mul nsw i32 51, %1770
  %1772 = add nsw i32 %1769, %1771
  %1773 = sext i32 %1772 to i64
  %1774 = getelementptr inbounds double, ptr %1768, i64 %1773
  %1775 = load double, ptr %1774, align 8, !tbaa !11
  %1776 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1775, double %1767)
  %1777 = load ptr, ptr %7, align 8, !tbaa !9
  %1778 = load i32, ptr %12, align 4, !tbaa !5
  %1779 = load i32, ptr %8, align 4, !tbaa !5
  %1780 = mul nsw i32 57, %1779
  %1781 = add nsw i32 %1778, %1780
  %1782 = sext i32 %1781 to i64
  %1783 = getelementptr inbounds double, ptr %1777, i64 %1782
  %1784 = load double, ptr %1783, align 8, !tbaa !11
  %1785 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1784, double %1776)
  %1786 = load ptr, ptr %7, align 8, !tbaa !9
  %1787 = load i32, ptr %12, align 4, !tbaa !5
  %1788 = load i32, ptr %8, align 4, !tbaa !5
  %1789 = mul nsw i32 66, %1788
  %1790 = add nsw i32 %1787, %1789
  %1791 = sext i32 %1790 to i64
  %1792 = getelementptr inbounds double, ptr %1786, i64 %1791
  %1793 = load double, ptr %1792, align 8, !tbaa !11
  %1794 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %1793, double %1785)
  %1795 = load ptr, ptr %7, align 8, !tbaa !9
  %1796 = load i32, ptr %12, align 4, !tbaa !5
  %1797 = load i32, ptr %8, align 4, !tbaa !5
  %1798 = mul nsw i32 75, %1797
  %1799 = add nsw i32 %1796, %1798
  %1800 = sext i32 %1799 to i64
  %1801 = getelementptr inbounds double, ptr %1795, i64 %1800
  %1802 = load double, ptr %1801, align 8, !tbaa !11
  %1803 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1802, double %1794)
  store double %1803, ptr %11, align 8, !tbaa !11
  %1804 = load double, ptr %11, align 8, !tbaa !11
  %1805 = load ptr, ptr %9, align 8, !tbaa !9
  %1806 = load i32, ptr %12, align 4, !tbaa !5
  %1807 = load i32, ptr %10, align 4, !tbaa !5
  %1808 = mul nsw i32 21, %1807
  %1809 = add nsw i32 %1806, %1808
  %1810 = sext i32 %1809 to i64
  %1811 = getelementptr inbounds double, ptr %1805, i64 %1810
  %1812 = load double, ptr %1811, align 8, !tbaa !11
  %1813 = fadd double %1812, %1804
  store double %1813, ptr %1811, align 8, !tbaa !11
  %1814 = load ptr, ptr %7, align 8, !tbaa !9
  %1815 = load i32, ptr %12, align 4, !tbaa !5
  %1816 = load i32, ptr %8, align 4, !tbaa !5
  %1817 = mul nsw i32 21, %1816
  %1818 = add nsw i32 %1815, %1817
  %1819 = sext i32 %1818 to i64
  %1820 = getelementptr inbounds double, ptr %1814, i64 %1819
  %1821 = load double, ptr %1820, align 8, !tbaa !11
  %1822 = load ptr, ptr %7, align 8, !tbaa !9
  %1823 = load i32, ptr %12, align 4, !tbaa !5
  %1824 = load i32, ptr %8, align 4, !tbaa !5
  %1825 = mul nsw i32 23, %1824
  %1826 = add nsw i32 %1823, %1825
  %1827 = sext i32 %1826 to i64
  %1828 = getelementptr inbounds double, ptr %1822, i64 %1827
  %1829 = load double, ptr %1828, align 8, !tbaa !11
  %1830 = fmul double 0x3FF9D1E43E6CC1B5, %1829
  %1831 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1821, double %1830)
  %1832 = load ptr, ptr %7, align 8, !tbaa !9
  %1833 = load i32, ptr %12, align 4, !tbaa !5
  %1834 = load i32, ptr %8, align 4, !tbaa !5
  %1835 = mul nsw i32 46, %1834
  %1836 = add nsw i32 %1833, %1835
  %1837 = sext i32 %1836 to i64
  %1838 = getelementptr inbounds double, ptr %1832, i64 %1837
  %1839 = load double, ptr %1838, align 8, !tbaa !11
  %1840 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1839, double %1831)
  %1841 = load ptr, ptr %7, align 8, !tbaa !9
  %1842 = load i32, ptr %12, align 4, !tbaa !5
  %1843 = load i32, ptr %8, align 4, !tbaa !5
  %1844 = mul nsw i32 52, %1843
  %1845 = add nsw i32 %1842, %1844
  %1846 = sext i32 %1845 to i64
  %1847 = getelementptr inbounds double, ptr %1841, i64 %1846
  %1848 = load double, ptr %1847, align 8, !tbaa !11
  %1849 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1848, double %1840)
  %1850 = load ptr, ptr %7, align 8, !tbaa !9
  %1851 = load i32, ptr %12, align 4, !tbaa !5
  %1852 = load i32, ptr %8, align 4, !tbaa !5
  %1853 = mul nsw i32 58, %1852
  %1854 = add nsw i32 %1851, %1853
  %1855 = sext i32 %1854 to i64
  %1856 = getelementptr inbounds double, ptr %1850, i64 %1855
  %1857 = load double, ptr %1856, align 8, !tbaa !11
  %1858 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1857, double %1849)
  %1859 = load ptr, ptr %7, align 8, !tbaa !9
  %1860 = load i32, ptr %12, align 4, !tbaa !5
  %1861 = load i32, ptr %8, align 4, !tbaa !5
  %1862 = mul nsw i32 67, %1861
  %1863 = add nsw i32 %1860, %1862
  %1864 = sext i32 %1863 to i64
  %1865 = getelementptr inbounds double, ptr %1859, i64 %1864
  %1866 = load double, ptr %1865, align 8, !tbaa !11
  %1867 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %1866, double %1858)
  %1868 = load ptr, ptr %7, align 8, !tbaa !9
  %1869 = load i32, ptr %12, align 4, !tbaa !5
  %1870 = load i32, ptr %8, align 4, !tbaa !5
  %1871 = mul nsw i32 76, %1870
  %1872 = add nsw i32 %1869, %1871
  %1873 = sext i32 %1872 to i64
  %1874 = getelementptr inbounds double, ptr %1868, i64 %1873
  %1875 = load double, ptr %1874, align 8, !tbaa !11
  %1876 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1875, double %1867)
  store double %1876, ptr %11, align 8, !tbaa !11
  %1877 = load double, ptr %11, align 8, !tbaa !11
  %1878 = load ptr, ptr %9, align 8, !tbaa !9
  %1879 = load i32, ptr %12, align 4, !tbaa !5
  %1880 = load i32, ptr %10, align 4, !tbaa !5
  %1881 = mul nsw i32 22, %1880
  %1882 = add nsw i32 %1879, %1881
  %1883 = sext i32 %1882 to i64
  %1884 = getelementptr inbounds double, ptr %1878, i64 %1883
  %1885 = load double, ptr %1884, align 8, !tbaa !11
  %1886 = fadd double %1885, %1877
  store double %1886, ptr %1884, 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 21, %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 22, %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 0xBFF08654A2D4F6D8, %1902
  %1904 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, 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 23, %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 0xBFFEFBDEB14F4ED8, double %1912, double %1904)
  %1914 = load ptr, ptr %7, align 8, !tbaa !9
  %1915 = load i32, ptr %12, align 4, !tbaa !5
  %1916 = load i32, ptr %8, align 4, !tbaa !5
  %1917 = mul nsw i32 47, %1916
  %1918 = add nsw i32 %1915, %1917
  %1919 = sext i32 %1918 to i64
  %1920 = getelementptr inbounds double, ptr %1914, i64 %1919
  %1921 = load double, ptr %1920, align 8, !tbaa !11
  %1922 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %1921, double %1913)
  %1923 = load ptr, ptr %7, align 8, !tbaa !9
  %1924 = load i32, ptr %12, align 4, !tbaa !5
  %1925 = load i32, ptr %8, align 4, !tbaa !5
  %1926 = mul nsw i32 53, %1925
  %1927 = add nsw i32 %1924, %1926
  %1928 = sext i32 %1927 to i64
  %1929 = getelementptr inbounds double, ptr %1923, i64 %1928
  %1930 = load double, ptr %1929, align 8, !tbaa !11
  %1931 = call double @llvm.fmuladd.f64(double 0x3FF9D1E43E6CC1B5, double %1930, double %1922)
  %1932 = load ptr, ptr %7, align 8, !tbaa !9
  %1933 = load i32, ptr %12, align 4, !tbaa !5
  %1934 = load i32, ptr %8, align 4, !tbaa !5
  %1935 = mul nsw i32 59, %1934
  %1936 = add nsw i32 %1933, %1935
  %1937 = sext i32 %1936 to i64
  %1938 = getelementptr inbounds double, ptr %1932, i64 %1937
  %1939 = load double, ptr %1938, align 8, !tbaa !11
  %1940 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %1939, double %1931)
  %1941 = load ptr, ptr %7, align 8, !tbaa !9
  %1942 = load i32, ptr %12, align 4, !tbaa !5
  %1943 = load i32, ptr %8, align 4, !tbaa !5
  %1944 = mul nsw i32 68, %1943
  %1945 = add nsw i32 %1942, %1944
  %1946 = sext i32 %1945 to i64
  %1947 = getelementptr inbounds double, ptr %1941, i64 %1946
  %1948 = load double, ptr %1947, align 8, !tbaa !11
  %1949 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %1948, double %1940)
  %1950 = load ptr, ptr %7, align 8, !tbaa !9
  %1951 = load i32, ptr %12, align 4, !tbaa !5
  %1952 = load i32, ptr %8, align 4, !tbaa !5
  %1953 = mul nsw i32 77, %1952
  %1954 = add nsw i32 %1951, %1953
  %1955 = sext i32 %1954 to i64
  %1956 = getelementptr inbounds double, ptr %1950, i64 %1955
  %1957 = load double, ptr %1956, align 8, !tbaa !11
  %1958 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %1957, double %1949)
  store double %1958, ptr %11, align 8, !tbaa !11
  %1959 = load double, ptr %11, align 8, !tbaa !11
  %1960 = load ptr, ptr %9, align 8, !tbaa !9
  %1961 = load i32, ptr %12, align 4, !tbaa !5
  %1962 = load i32, ptr %10, align 4, !tbaa !5
  %1963 = mul nsw i32 23, %1962
  %1964 = add nsw i32 %1961, %1963
  %1965 = sext i32 %1964 to i64
  %1966 = getelementptr inbounds double, ptr %1960, i64 %1965
  %1967 = load double, ptr %1966, align 8, !tbaa !11
  %1968 = fadd double %1967, %1959
  store double %1968, ptr %1966, align 8, !tbaa !11
  %1969 = load ptr, ptr %7, align 8, !tbaa !9
  %1970 = load i32, ptr %12, align 4, !tbaa !5
  %1971 = load i32, ptr %8, align 4, !tbaa !5
  %1972 = mul nsw i32 24, %1971
  %1973 = add nsw i32 %1970, %1972
  %1974 = sext i32 %1973 to i64
  %1975 = getelementptr inbounds double, ptr %1969, i64 %1974
  %1976 = load double, ptr %1975, align 8, !tbaa !11
  %1977 = load ptr, ptr %7, align 8, !tbaa !9
  %1978 = load i32, ptr %12, align 4, !tbaa !5
  %1979 = load i32, ptr %8, align 4, !tbaa !5
  %1980 = mul nsw i32 25, %1979
  %1981 = add nsw i32 %1978, %1980
  %1982 = sext i32 %1981 to i64
  %1983 = getelementptr inbounds double, ptr %1977, i64 %1982
  %1984 = load double, ptr %1983, align 8, !tbaa !11
  %1985 = fmul double 0x3FF08654A2D4F6D8, %1984
  %1986 = call double @llvm.fmuladd.f64(double 0x3FFEFBDEB14F4EDC, double %1976, double %1985)
  %1987 = load ptr, ptr %7, align 8, !tbaa !9
  %1988 = load i32, ptr %12, align 4, !tbaa !5
  %1989 = load i32, ptr %8, align 4, !tbaa !5
  %1990 = mul nsw i32 26, %1989
  %1991 = add nsw i32 %1988, %1990
  %1992 = sext i32 %1991 to i64
  %1993 = getelementptr inbounds double, ptr %1987, i64 %1992
  %1994 = load double, ptr %1993, align 8, !tbaa !11
  %1995 = call double @llvm.fmuladd.f64(double 0xBFE4A7E9CB8A3491, double %1994, double %1986)
  %1996 = load ptr, ptr %7, align 8, !tbaa !9
  %1997 = load i32, ptr %12, align 4, !tbaa !5
  %1998 = load i32, ptr %8, align 4, !tbaa !5
  %1999 = mul nsw i32 45, %1998
  %2000 = add nsw i32 %1997, %1999
  %2001 = sext i32 %2000 to i64
  %2002 = getelementptr inbounds double, ptr %1996, i64 %2001
  %2003 = load double, ptr %2002, align 8, !tbaa !11
  %2004 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2003, double %1995)
  %2005 = load ptr, ptr %7, align 8, !tbaa !9
  %2006 = load i32, ptr %12, align 4, !tbaa !5
  %2007 = load i32, ptr %8, align 4, !tbaa !5
  %2008 = mul nsw i32 48, %2007
  %2009 = add nsw i32 %2006, %2008
  %2010 = sext i32 %2009 to i64
  %2011 = getelementptr inbounds double, ptr %2005, i64 %2010
  %2012 = load double, ptr %2011, align 8, !tbaa !11
  %2013 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %2012, double %2004)
  %2014 = load ptr, ptr %7, align 8, !tbaa !9
  %2015 = load i32, ptr %12, align 4, !tbaa !5
  %2016 = load i32, ptr %8, align 4, !tbaa !5
  %2017 = mul nsw i32 51, %2016
  %2018 = add nsw i32 %2015, %2017
  %2019 = sext i32 %2018 to i64
  %2020 = getelementptr inbounds double, ptr %2014, i64 %2019
  %2021 = load double, ptr %2020, align 8, !tbaa !11
  %2022 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2021, double %2013)
  %2023 = load ptr, ptr %7, align 8, !tbaa !9
  %2024 = load i32, ptr %12, align 4, !tbaa !5
  %2025 = load i32, ptr %8, align 4, !tbaa !5
  %2026 = mul nsw i32 60, %2025
  %2027 = add nsw i32 %2024, %2026
  %2028 = sext i32 %2027 to i64
  %2029 = getelementptr inbounds double, ptr %2023, i64 %2028
  %2030 = load double, ptr %2029, align 8, !tbaa !11
  %2031 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2030, double %2022)
  %2032 = load ptr, ptr %7, align 8, !tbaa !9
  %2033 = load i32, ptr %12, align 4, !tbaa !5
  %2034 = load i32, ptr %8, align 4, !tbaa !5
  %2035 = mul nsw i32 69, %2034
  %2036 = add nsw i32 %2033, %2035
  %2037 = sext i32 %2036 to i64
  %2038 = getelementptr inbounds double, ptr %2032, i64 %2037
  %2039 = load double, ptr %2038, align 8, !tbaa !11
  %2040 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %2039, double %2031)
  %2041 = load ptr, ptr %7, align 8, !tbaa !9
  %2042 = load i32, ptr %12, align 4, !tbaa !5
  %2043 = load i32, ptr %8, align 4, !tbaa !5
  %2044 = mul nsw i32 78, %2043
  %2045 = add nsw i32 %2042, %2044
  %2046 = sext i32 %2045 to i64
  %2047 = getelementptr inbounds double, ptr %2041, i64 %2046
  %2048 = load double, ptr %2047, align 8, !tbaa !11
  %2049 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2048, double %2040)
  store double %2049, ptr %11, align 8, !tbaa !11
  %2050 = load double, ptr %11, align 8, !tbaa !11
  %2051 = load ptr, ptr %9, align 8, !tbaa !9
  %2052 = load i32, ptr %12, align 4, !tbaa !5
  %2053 = load i32, ptr %10, align 4, !tbaa !5
  %2054 = mul nsw i32 24, %2053
  %2055 = add nsw i32 %2052, %2054
  %2056 = sext i32 %2055 to i64
  %2057 = getelementptr inbounds double, ptr %2051, i64 %2056
  %2058 = load double, ptr %2057, align 8, !tbaa !11
  %2059 = fadd double %2058, %2050
  store double %2059, ptr %2057, align 8, !tbaa !11
  %2060 = load ptr, ptr %7, align 8, !tbaa !9
  %2061 = load i32, ptr %12, align 4, !tbaa !5
  %2062 = load i32, ptr %8, align 4, !tbaa !5
  %2063 = mul nsw i32 24, %2062
  %2064 = add nsw i32 %2061, %2063
  %2065 = sext i32 %2064 to i64
  %2066 = getelementptr inbounds double, ptr %2060, i64 %2065
  %2067 = load double, ptr %2066, align 8, !tbaa !11
  %2068 = load ptr, ptr %7, align 8, !tbaa !9
  %2069 = load i32, ptr %12, align 4, !tbaa !5
  %2070 = load i32, ptr %8, align 4, !tbaa !5
  %2071 = mul nsw i32 26, %2070
  %2072 = add nsw i32 %2069, %2071
  %2073 = sext i32 %2072 to i64
  %2074 = getelementptr inbounds double, ptr %2068, i64 %2073
  %2075 = load double, ptr %2074, align 8, !tbaa !11
  %2076 = fmul double 0x3FF9D1E43E6CC1B5, %2075
  %2077 = call double @llvm.fmuladd.f64(double 0xBFF9D1E43E6CC1B5, double %2067, double %2076)
  %2078 = load ptr, ptr %7, align 8, !tbaa !9
  %2079 = load i32, ptr %12, align 4, !tbaa !5
  %2080 = load i32, ptr %8, align 4, !tbaa !5
  %2081 = mul nsw i32 46, %2080
  %2082 = add nsw i32 %2079, %2081
  %2083 = sext i32 %2082 to i64
  %2084 = getelementptr inbounds double, ptr %2078, i64 %2083
  %2085 = load double, ptr %2084, align 8, !tbaa !11
  %2086 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2085, double %2077)
  %2087 = load ptr, ptr %7, align 8, !tbaa !9
  %2088 = load i32, ptr %12, align 4, !tbaa !5
  %2089 = load i32, ptr %8, align 4, !tbaa !5
  %2090 = mul nsw i32 49, %2089
  %2091 = add nsw i32 %2088, %2090
  %2092 = sext i32 %2091 to i64
  %2093 = getelementptr inbounds double, ptr %2087, i64 %2092
  %2094 = load double, ptr %2093, align 8, !tbaa !11
  %2095 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %2094, double %2086)
  %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 52, %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 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2103, double %2095)
  %2105 = load ptr, ptr %7, align 8, !tbaa !9
  %2106 = load i32, ptr %12, align 4, !tbaa !5
  %2107 = load i32, ptr %8, align 4, !tbaa !5
  %2108 = mul nsw i32 61, %2107
  %2109 = add nsw i32 %2106, %2108
  %2110 = sext i32 %2109 to i64
  %2111 = getelementptr inbounds double, ptr %2105, i64 %2110
  %2112 = load double, ptr %2111, align 8, !tbaa !11
  %2113 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2112, double %2104)
  %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 70, %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 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %2121, double %2113)
  %2123 = load ptr, ptr %7, align 8, !tbaa !9
  %2124 = load i32, ptr %12, align 4, !tbaa !5
  %2125 = load i32, ptr %8, align 4, !tbaa !5
  %2126 = mul nsw i32 79, %2125
  %2127 = add nsw i32 %2124, %2126
  %2128 = sext i32 %2127 to i64
  %2129 = getelementptr inbounds double, ptr %2123, i64 %2128
  %2130 = load double, ptr %2129, align 8, !tbaa !11
  %2131 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2130, double %2122)
  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 25, %2135
  %2137 = add nsw i32 %2134, %2136
  %2138 = sext i32 %2137 to i64
  %2139 = getelementptr inbounds double, ptr %2133, i64 %2138
  %2140 = load double, ptr %2139, align 8, !tbaa !11
  %2141 = fadd double %2140, %2132
  store double %2141, ptr %2139, align 8, !tbaa !11
  %2142 = load ptr, ptr %7, align 8, !tbaa !9
  %2143 = load i32, ptr %12, align 4, !tbaa !5
  %2144 = load i32, ptr %8, align 4, !tbaa !5
  %2145 = mul nsw i32 24, %2144
  %2146 = add nsw i32 %2143, %2145
  %2147 = sext i32 %2146 to i64
  %2148 = getelementptr inbounds double, ptr %2142, i64 %2147
  %2149 = load double, ptr %2148, align 8, !tbaa !11
  %2150 = load ptr, ptr %7, align 8, !tbaa !9
  %2151 = load i32, ptr %12, align 4, !tbaa !5
  %2152 = load i32, ptr %8, align 4, !tbaa !5
  %2153 = mul nsw i32 25, %2152
  %2154 = add nsw i32 %2151, %2153
  %2155 = sext i32 %2154 to i64
  %2156 = getelementptr inbounds double, ptr %2150, i64 %2155
  %2157 = load double, ptr %2156, align 8, !tbaa !11
  %2158 = fmul double 0xBFF08654A2D4F6D8, %2157
  %2159 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2149, double %2158)
  %2160 = load ptr, ptr %7, align 8, !tbaa !9
  %2161 = load i32, ptr %12, align 4, !tbaa !5
  %2162 = load i32, ptr %8, align 4, !tbaa !5
  %2163 = mul nsw i32 26, %2162
  %2164 = add nsw i32 %2161, %2163
  %2165 = sext i32 %2164 to i64
  %2166 = getelementptr inbounds double, ptr %2160, i64 %2165
  %2167 = load double, ptr %2166, align 8, !tbaa !11
  %2168 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2167, double %2159)
  %2169 = load ptr, ptr %7, align 8, !tbaa !9
  %2170 = load i32, ptr %12, align 4, !tbaa !5
  %2171 = load i32, ptr %8, align 4, !tbaa !5
  %2172 = mul nsw i32 47, %2171
  %2173 = add nsw i32 %2170, %2172
  %2174 = sext i32 %2173 to i64
  %2175 = getelementptr inbounds double, ptr %2169, i64 %2174
  %2176 = load double, ptr %2175, align 8, !tbaa !11
  %2177 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2176, double %2168)
  %2178 = load ptr, ptr %7, align 8, !tbaa !9
  %2179 = load i32, ptr %12, align 4, !tbaa !5
  %2180 = load i32, ptr %8, align 4, !tbaa !5
  %2181 = mul nsw i32 50, %2180
  %2182 = add nsw i32 %2179, %2181
  %2183 = sext i32 %2182 to i64
  %2184 = getelementptr inbounds double, ptr %2178, i64 %2183
  %2185 = load double, ptr %2184, align 8, !tbaa !11
  %2186 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %2185, double %2177)
  %2187 = load ptr, ptr %7, align 8, !tbaa !9
  %2188 = load i32, ptr %12, align 4, !tbaa !5
  %2189 = load i32, ptr %8, align 4, !tbaa !5
  %2190 = mul nsw i32 53, %2189
  %2191 = add nsw i32 %2188, %2190
  %2192 = sext i32 %2191 to i64
  %2193 = getelementptr inbounds double, ptr %2187, i64 %2192
  %2194 = load double, ptr %2193, align 8, !tbaa !11
  %2195 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2194, double %2186)
  %2196 = load ptr, ptr %7, align 8, !tbaa !9
  %2197 = load i32, ptr %12, align 4, !tbaa !5
  %2198 = load i32, ptr %8, align 4, !tbaa !5
  %2199 = mul nsw i32 62, %2198
  %2200 = add nsw i32 %2197, %2199
  %2201 = sext i32 %2200 to i64
  %2202 = getelementptr inbounds double, ptr %2196, i64 %2201
  %2203 = load double, ptr %2202, align 8, !tbaa !11
  %2204 = call double @llvm.fmuladd.f64(double 0x3FE4A7E9CB8A3491, double %2203, double %2195)
  %2205 = load ptr, ptr %7, align 8, !tbaa !9
  %2206 = load i32, ptr %12, align 4, !tbaa !5
  %2207 = load i32, ptr %8, align 4, !tbaa !5
  %2208 = mul nsw i32 71, %2207
  %2209 = add nsw i32 %2206, %2208
  %2210 = sext i32 %2209 to i64
  %2211 = getelementptr inbounds double, ptr %2205, i64 %2210
  %2212 = load double, ptr %2211, align 8, !tbaa !11
  %2213 = call double @llvm.fmuladd.f64(double 0xBFF08654A2D4F6D8, double %2212, double %2204)
  %2214 = load ptr, ptr %7, align 8, !tbaa !9
  %2215 = load i32, ptr %12, align 4, !tbaa !5
  %2216 = load i32, ptr %8, align 4, !tbaa !5
  %2217 = mul nsw i32 80, %2216
  %2218 = add nsw i32 %2215, %2217
  %2219 = sext i32 %2218 to i64
  %2220 = getelementptr inbounds double, ptr %2214, i64 %2219
  %2221 = load double, ptr %2220, align 8, !tbaa !11
  %2222 = call double @llvm.fmuladd.f64(double 0xBFFEFBDEB14F4ED8, double %2221, double %2213)
  store double %2222, ptr %11, align 8, !tbaa !11
  %2223 = load double, ptr %11, align 8, !tbaa !11
  %2224 = load ptr, ptr %9, align 8, !tbaa !9
  %2225 = load i32, ptr %12, align 4, !tbaa !5
  %2226 = load i32, ptr %10, align 4, !tbaa !5
  %2227 = mul nsw i32 26, %2226
  %2228 = add nsw i32 %2225, %2227
  %2229 = sext i32 %2228 to i64
  %2230 = getelementptr inbounds double, ptr %2224, i64 %2229
  %2231 = load double, ptr %2230, align 8, !tbaa !11
  %2232 = fadd double %2231, %2223
  store double %2232, ptr %2230, align 8, !tbaa !11
  br label %2233

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

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

.lr.ph:                                           ; preds = %5
  %7 = shl nsw i32 %2, 1
  %8 = mul nsw i32 %2, 27
  %9 = mul nsw i32 %2, 30
  %10 = mul nsw i32 %2, 33
  %11 = mul nsw i32 %2, 54
  %12 = mul nsw i32 %2, 63
  %13 = mul nsw i32 %2, 72
  %14 = mul nsw i32 %2, 28
  %15 = mul nsw i32 %2, 31
  %16 = mul nsw i32 %2, 34
  %17 = mul nsw i32 %2, 55
  %18 = shl nsw i32 %2, 6
  %19 = mul nsw i32 %2, 73
  %20 = mul nsw i32 %2, 29
  %21 = shl nsw i32 %2, 5
  %22 = mul nsw i32 %2, 35
  %23 = mul nsw i32 %2, 56
  %24 = mul nsw i32 %2, 65
  %25 = mul nsw i32 %2, 74
  %26 = shl nsw i32 %4, 1
  %27 = mul nsw i32 %2, 3
  %28 = shl nsw i32 %2, 2
  %29 = mul nsw i32 %2, 5
  %30 = mul nsw i32 %2, 57
  %31 = mul nsw i32 %2, 66
  %32 = mul nsw i32 %2, 75
  %33 = mul nsw i32 %4, 3
  %34 = mul nsw i32 %2, 58
  %35 = mul nsw i32 %2, 67
  %36 = mul nsw i32 %2, 76
  %37 = shl nsw i32 %4, 2
  %38 = mul nsw i32 %2, 59
  %39 = mul nsw i32 %2, 68
  %40 = mul nsw i32 %2, 77
  %41 = mul nsw i32 %4, 5
  %42 = mul nsw i32 %2, 6
  %43 = mul nsw i32 %2, 7
  %44 = shl nsw i32 %2, 3
  %45 = mul nsw i32 %2, 60
  %46 = mul nsw i32 %2, 69
  %47 = mul nsw i32 %2, 78
  %48 = mul nsw i32 %4, 6
  %49 = mul nsw i32 %2, 61
  %50 = mul nsw i32 %2, 70
  %51 = mul nsw i32 %2, 79
  %52 = mul nsw i32 %4, 7
  %53 = mul nsw i32 %2, 62
  %54 = mul nsw i32 %2, 71
  %55 = mul nsw i32 %2, 80
  %56 = shl nsw i32 %4, 3
  %57 = mul nsw i32 %2, 9
  %58 = mul nsw i32 %2, 10
  %59 = mul nsw i32 %2, 11
  %60 = mul nsw i32 %2, 36
  %61 = mul nsw i32 %2, 39
  %62 = mul nsw i32 %2, 42
  %63 = mul nsw i32 %4, 9
  %64 = mul nsw i32 %2, 37
  %65 = mul nsw i32 %2, 40
  %66 = mul nsw i32 %2, 43
  %67 = mul nsw i32 %4, 10
  %68 = mul nsw i32 %2, 38
  %69 = mul nsw i32 %2, 41
  %70 = mul nsw i32 %2, 44
  %71 = mul nsw i32 %4, 11
  %72 = mul nsw i32 %2, 12
  %73 = mul nsw i32 %2, 13
  %74 = mul nsw i32 %2, 14
  %75 = mul nsw i32 %4, 12
  %76 = mul nsw i32 %4, 13
  %77 = mul nsw i32 %4, 14
  %78 = mul nsw i32 %2, 15
  %79 = shl nsw i32 %2, 4
  %80 = mul nsw i32 %2, 17
  %81 = mul nsw i32 %4, 15
  %82 = shl nsw i32 %4, 4
  %83 = mul nsw i32 %4, 17
  %84 = mul nsw i32 %2, 18
  %85 = mul nsw i32 %2, 19
  %86 = mul nsw i32 %2, 20
  %87 = mul nsw i32 %2, 45
  %88 = mul nsw i32 %2, 48
  %89 = mul nsw i32 %2, 51
  %90 = mul nsw i32 %4, 18
  %91 = mul nsw i32 %2, 46
  %92 = mul nsw i32 %2, 49
  %93 = mul nsw i32 %2, 52
  %94 = mul nsw i32 %4, 19
  %95 = mul nsw i32 %2, 47
  %96 = mul nsw i32 %2, 50
  %97 = mul nsw i32 %2, 53
  %98 = mul nsw i32 %4, 20
  %99 = mul nsw i32 %2, 21
  %100 = mul nsw i32 %2, 22
  %101 = mul nsw i32 %2, 23
  %102 = mul nsw i32 %4, 21
  %103 = mul nsw i32 %4, 22
  %104 = mul nsw i32 %4, 23
  %105 = mul nsw i32 %2, 24
  %106 = mul nsw i32 %2, 25
  %107 = mul nsw i32 %2, 26
  %108 = mul nsw i32 %4, 24
  %109 = mul nsw i32 %4, 25
  %110 = mul nsw i32 %4, 26
  %111 = sext i32 %2 to i64
  %112 = sext i32 %7 to i64
  %113 = sext i32 %8 to i64
  %114 = sext i32 %9 to i64
  %115 = sext i32 %10 to i64
  %116 = sext i32 %11 to i64
  %117 = sext i32 %12 to i64
  %118 = sext i32 %13 to i64
  %119 = sext i32 %14 to i64
  %120 = sext i32 %15 to i64
  %121 = sext i32 %16 to i64
  %122 = sext i32 %17 to i64
  %123 = sext i32 %18 to i64
  %124 = sext i32 %19 to i64
  %125 = sext i32 %4 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.gep760 = getelementptr double, ptr %1, i64 %112
  %invariant.gep762 = getelementptr double, ptr %1, i64 %113
  %invariant.gep764 = getelementptr double, ptr %1, i64 %114
  %invariant.gep766 = getelementptr double, ptr %1, i64 %115
  %invariant.gep768 = getelementptr double, ptr %1, i64 %116
  %invariant.gep770 = getelementptr double, ptr %1, i64 %117
  %invariant.gep772 = getelementptr double, ptr %1, i64 %118
  %invariant.gep774 = getelementptr double, ptr %1, i64 %119
  %invariant.gep776 = getelementptr double, ptr %1, i64 %120
  %invariant.gep778 = getelementptr double, ptr %1, i64 %121
  %invariant.gep780 = getelementptr double, ptr %1, i64 %122
  %invariant.gep782 = getelementptr double, ptr %1, i64 %123
  %invariant.gep784 = getelementptr double, ptr %1, i64 %124
  %invariant.gep786 = getelementptr double, ptr %3, i64 %125
  %invariant.gep788 = getelementptr double, ptr %1, i64 %126
  %invariant.gep790 = getelementptr double, ptr %1, i64 %127
  %invariant.gep792 = getelementptr double, ptr %1, i64 %128
  %invariant.gep794 = getelementptr double, ptr %1, i64 %129
  %invariant.gep796 = getelementptr double, ptr %1, i64 %130
  %invariant.gep798 = getelementptr double, ptr %1, i64 %131
  %invariant.gep800 = getelementptr double, ptr %3, i64 %132
  %invariant.gep802 = getelementptr double, ptr %1, i64 %133
  %invariant.gep804 = getelementptr double, ptr %1, i64 %134
  %invariant.gep806 = getelementptr double, ptr %1, i64 %135
  %invariant.gep808 = getelementptr double, ptr %1, i64 %136
  %invariant.gep810 = getelementptr double, ptr %1, i64 %137
  %invariant.gep812 = getelementptr double, ptr %1, i64 %138
  %invariant.gep814 = getelementptr double, ptr %3, i64 %139
  %invariant.gep816 = getelementptr double, ptr %1, i64 %140
  %invariant.gep818 = getelementptr double, ptr %1, i64 %141
  %invariant.gep820 = getelementptr double, ptr %1, i64 %142
  %invariant.gep822 = getelementptr double, ptr %3, i64 %143
  %invariant.gep824 = getelementptr double, ptr %1, i64 %144
  %invariant.gep826 = getelementptr double, ptr %1, i64 %145
  %invariant.gep828 = getelementptr double, ptr %1, i64 %146
  %invariant.gep830 = getelementptr double, ptr %3, i64 %147
  %invariant.gep832 = getelementptr double, ptr %1, i64 %148
  %invariant.gep834 = getelementptr double, ptr %1, i64 %149
  %invariant.gep836 = getelementptr double, ptr %1, i64 %150
  %invariant.gep838 = getelementptr double, ptr %1, i64 %151
  %invariant.gep840 = getelementptr double, ptr %1, i64 %152
  %invariant.gep842 = getelementptr double, ptr %1, i64 %153
  %invariant.gep844 = getelementptr double, ptr %3, i64 %154
  %invariant.gep846 = getelementptr double, ptr %1, i64 %155
  %invariant.gep848 = getelementptr double, ptr %1, i64 %156
  %invariant.gep850 = getelementptr double, ptr %1, i64 %157
  %invariant.gep852 = getelementptr double, ptr %3, i64 %158
  %invariant.gep854 = getelementptr double, ptr %1, i64 %159
  %invariant.gep856 = getelementptr double, ptr %1, i64 %160
  %invariant.gep858 = getelementptr double, ptr %1, i64 %161
  %invariant.gep860 = getelementptr double, ptr %3, i64 %162
  %invariant.gep862 = getelementptr double, ptr %1, i64 %163
  %invariant.gep864 = getelementptr double, ptr %1, i64 %164
  %invariant.gep866 = getelementptr double, ptr %1, i64 %165
  %invariant.gep868 = getelementptr double, ptr %1, i64 %166
  %invariant.gep870 = getelementptr double, ptr %1, i64 %167
  %invariant.gep872 = getelementptr double, ptr %1, i64 %168
  %invariant.gep874 = getelementptr double, ptr %3, i64 %169
  %invariant.gep876 = getelementptr double, ptr %1, i64 %170
  %invariant.gep878 = getelementptr double, ptr %1, i64 %171
  %invariant.gep880 = getelementptr double, ptr %1, i64 %172
  %invariant.gep882 = getelementptr double, ptr %3, i64 %173
  %invariant.gep884 = getelementptr double, ptr %1, i64 %174
  %invariant.gep886 = getelementptr double, ptr %1, i64 %175
  %invariant.gep888 = getelementptr double, ptr %1, i64 %176
  %invariant.gep890 = getelementptr double, ptr %3, i64 %177
  %invariant.gep892 = getelementptr double, ptr %1, i64 %178
  %invariant.gep894 = getelementptr double, ptr %1, i64 %179
  %invariant.gep896 = getelementptr double, ptr %1, i64 %180
  %invariant.gep898 = getelementptr double, ptr %3, i64 %181
  %invariant.gep900 = getelementptr double, ptr %3, i64 %182
  %invariant.gep902 = getelementptr double, ptr %3, i64 %183
  %invariant.gep904 = getelementptr double, ptr %1, i64 %184
  %invariant.gep906 = getelementptr double, ptr %1, i64 %185
  %invariant.gep908 = getelementptr double, ptr %1, i64 %186
  %invariant.gep910 = getelementptr double, ptr %3, i64 %187
  %invariant.gep912 = getelementptr double, ptr %3, i64 %188
  %invariant.gep914 = getelementptr double, ptr %3, i64 %189
  %invariant.gep916 = getelementptr double, ptr %1, i64 %190
  %invariant.gep918 = getelementptr double, ptr %1, i64 %191
  %invariant.gep920 = getelementptr double, ptr %1, i64 %192
  %invariant.gep922 = getelementptr double, ptr %1, i64 %193
  %invariant.gep924 = getelementptr double, ptr %1, i64 %194
  %invariant.gep926 = getelementptr double, ptr %1, i64 %195
  %invariant.gep928 = getelementptr double, ptr %3, i64 %196
  %invariant.gep930 = getelementptr double, ptr %1, i64 %197
  %invariant.gep932 = getelementptr double, ptr %1, i64 %198
  %invariant.gep934 = getelementptr double, ptr %1, i64 %199
  %invariant.gep936 = getelementptr double, ptr %3, i64 %200
  %invariant.gep938 = getelementptr double, ptr %1, i64 %201
  %invariant.gep940 = getelementptr double, ptr %1, i64 %202
  %invariant.gep942 = getelementptr double, ptr %1, i64 %203
  %invariant.gep944 = getelementptr double, ptr %3, i64 %204
  %invariant.gep946 = getelementptr double, ptr %1, i64 %205
  %invariant.gep948 = getelementptr double, ptr %1, i64 %206
  %invariant.gep950 = getelementptr double, ptr %1, i64 %207
  %invariant.gep952 = getelementptr double, ptr %3, i64 %208
  %invariant.gep954 = getelementptr double, ptr %3, i64 %209
  %invariant.gep956 = getelementptr double, ptr %3, i64 %210
  %invariant.gep958 = getelementptr double, ptr %1, i64 %211
  %invariant.gep960 = getelementptr double, ptr %1, i64 %212
  %invariant.gep962 = getelementptr double, ptr %1, i64 %213
  %invariant.gep964 = getelementptr double, ptr %3, i64 %214
  %invariant.gep966 = getelementptr double, ptr %3, i64 %215
  %invariant.gep968 = 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)
  %gep761 = getelementptr double, ptr %invariant.gep760, i64 %indvars.iv
  %223 = load double, ptr %gep761, align 8, !tbaa !5
  %224 = tail call double @llvm.fmuladd.f64(double %223, double 0xBFE4A7E9CB8A3491, double %222)
  %gep763 = getelementptr double, ptr %invariant.gep762, i64 %indvars.iv
  %225 = load double, ptr %gep763, align 8, !tbaa !5
  %226 = tail call double @llvm.fmuladd.f64(double %225, double 0x3FFEFBDEB14F4EDC, double %224)
  %gep765 = getelementptr double, ptr %invariant.gep764, i64 %indvars.iv
  %227 = load double, ptr %gep765, align 8, !tbaa !5
  %228 = tail call double @llvm.fmuladd.f64(double %227, double 0x3FF08654A2D4F6D8, double %226)
  %gep767 = getelementptr double, ptr %invariant.gep766, i64 %indvars.iv
  %229 = load double, ptr %gep767, align 8, !tbaa !5
  %230 = tail call double @llvm.fmuladd.f64(double %229, double 0xBFE4A7E9CB8A3491, double %228)
  %gep769 = getelementptr double, ptr %invariant.gep768, i64 %indvars.iv
  %231 = load double, ptr %gep769, align 8, !tbaa !5
  %232 = tail call double @llvm.fmuladd.f64(double %231, double 0x3FFEFBDEB14F4EDC, double %230)
  %gep771 = getelementptr double, ptr %invariant.gep770, i64 %indvars.iv
  %233 = load double, ptr %gep771, align 8, !tbaa !5
  %234 = tail call double @llvm.fmuladd.f64(double %233, double 0x3FF08654A2D4F6D8, double %232)
  %gep773 = getelementptr double, ptr %invariant.gep772, i64 %indvars.iv
  %235 = load double, ptr %gep773, align 8, !tbaa !5
  %236 = tail call double @llvm.fmuladd.f64(double %235, double 0xBFE4A7E9CB8A3491, double %234)
  %237 = getelementptr inbounds double, ptr %3, i64 %indvars.iv
  %238 = load double, ptr %237, align 8, !tbaa !5
  %239 = fadd double %238, %236
  store double %239, ptr %237, align 8, !tbaa !5
  %240 = fmul double %223, 0x3FF9D1E43E6CC1B5
  %241 = tail call double @llvm.fmuladd.f64(double %219, double 0xBFF9D1E43E6CC1B5, double %240)
  %gep775 = getelementptr double, ptr %invariant.gep774, i64 %indvars.iv
  %242 = load double, ptr %gep775, align 8, !tbaa !5
  %243 = tail call double @llvm.fmuladd.f64(double %242, double 0x3FFEFBDEB14F4EDC, double %241)
  %gep777 = getelementptr double, ptr %invariant.gep776, i64 %indvars.iv
  %244 = load double, ptr %gep777, align 8, !tbaa !5
  %245 = tail call double @llvm.fmuladd.f64(double %244, double 0x3FF08654A2D4F6D8, double %243)
  %gep779 = getelementptr double, ptr %invariant.gep778, i64 %indvars.iv
  %246 = load double, ptr %gep779, align 8, !tbaa !5
  %247 = tail call double @llvm.fmuladd.f64(double %246, double 0xBFE4A7E9CB8A3491, double %245)
  %gep781 = getelementptr double, ptr %invariant.gep780, i64 %indvars.iv
  %248 = load double, ptr %gep781, align 8, !tbaa !5
  %249 = tail call double @llvm.fmuladd.f64(double %248, double 0x3FFEFBDEB14F4EDC, double %247)
  %gep783 = getelementptr double, ptr %invariant.gep782, i64 %indvars.iv
  %250 = load double, ptr %gep783, align 8, !tbaa !5
  %251 = tail call double @llvm.fmuladd.f64(double %250, double 0x3FF08654A2D4F6D8, double %249)
  %gep785 = getelementptr double, ptr %invariant.gep784, i64 %indvars.iv
  %252 = load double, ptr %gep785, align 8, !tbaa !5
  %253 = tail call double @llvm.fmuladd.f64(double %252, double 0xBFE4A7E9CB8A3491, double %251)
  %gep787 = getelementptr double, ptr %invariant.gep786, i64 %indvars.iv
  %254 = load double, ptr %gep787, align 8, !tbaa !5
  %255 = fadd double %254, %253
  store double %255, ptr %gep787, align 8, !tbaa !5
  %256 = fmul double %220, 0xBFF08654A2D4F6D8
  %257 = tail call double @llvm.fmuladd.f64(double %219, double 0x3FE4A7E9CB8A3491, double %256)
  %258 = tail call double @llvm.fmuladd.f64(double %223, double 0xBFFEFBDEB14F4ED8, double %257)
  %gep789 = getelementptr double, ptr %invariant.gep788, i64 %indvars.iv
  %259 = load double, ptr %gep789, align 8, !tbaa !5
  %260 = tail call double @llvm.fmuladd.f64(double %259, double 0x3FFEFBDEB14F4EDC, double %258)
  %gep791 = getelementptr double, ptr %invariant.gep790, i64 %indvars.iv
  %261 = load double, ptr %gep791, align 8, !tbaa !5
  %262 = tail call double @llvm.fmuladd.f64(double %261, double 0x3FF08654A2D4F6D8, double %260)
  %gep793 = getelementptr double, ptr %invariant.gep792, i64 %indvars.iv
  %263 = load double, ptr %gep793, align 8, !tbaa !5
  %264 = tail call double @llvm.fmuladd.f64(double %263, double 0xBFE4A7E9CB8A3491, double %262)
  %gep795 = getelementptr double, ptr %invariant.gep794, i64 %indvars.iv
  %265 = load double, ptr %gep795, align 8, !tbaa !5
  %266 = tail call double @llvm.fmuladd.f64(double %265, double 0x3FFEFBDEB14F4EDC, double %264)
  %gep797 = getelementptr double, ptr %invariant.gep796, i64 %indvars.iv
  %267 = load double, ptr %gep797, align 8, !tbaa !5
  %268 = tail call double @llvm.fmuladd.f64(double %267, double 0x3FF08654A2D4F6D8, double %266)
  %gep799 = getelementptr double, ptr %invariant.gep798, i64 %indvars.iv
  %269 = load double, ptr %gep799, align 8, !tbaa !5
  %270 = tail call double @llvm.fmuladd.f64(double %269, double 0xBFE4A7E9CB8A3491, double %268)
  %gep801 = getelementptr double, ptr %invariant.gep800, i64 %indvars.iv
  %271 = load double, ptr %gep801, align 8, !tbaa !5
  %272 = fadd double %271, %270
  store double %272, ptr %gep801, align 8, !tbaa !5
  %gep803 = getelementptr double, ptr %invariant.gep802, i64 %indvars.iv
  %273 = load double, ptr %gep803, align 8, !tbaa !5
  %gep805 = getelementptr double, ptr %invariant.gep804, i64 %indvars.iv
  %274 = load double, ptr %gep805, align 8, !tbaa !5
  %275 = fmul double %274, 0x3FF08654A2D4F6D8
  %276 = tail call double @llvm.fmuladd.f64(double %273, double 0x3FFEFBDEB14F4EDC, double %275)
  %gep807 = getelementptr double, ptr %invariant.gep806, i64 %indvars.iv
  %277 = load double, ptr %gep807, align 8, !tbaa !5
  %278 = tail call double @llvm.fmuladd.f64(double %277, double 0xBFE4A7E9CB8A3491, double %276)
  %279 = tail call double @llvm.fmuladd.f64(double %225, double 0xBFF9D1E43E6CC1B5, double %278)
  %280 = tail call double @llvm.fmuladd.f64(double %229, double 0x3FF9D1E43E6CC1B5, double %279)
  %gep809 = getelementptr double, ptr %invariant.gep808, i64 %indvars.iv
  %281 = load double, ptr %gep809, align 8, !tbaa !5
  %282 = tail call double @llvm.fmuladd.f64(double %281, double 0x3FFEFBDEB14F4EDC, double %280)
  %gep811 = getelementptr double, ptr %invariant.gep810, i64 %indvars.iv
  %283 = load double, ptr %gep811, align 8, !tbaa !5
  %284 = tail call double @llvm.fmuladd.f64(double %283, double 0x3FF08654A2D4F6D8, double %282)
  %gep813 = getelementptr double, ptr %invariant.gep812, i64 %indvars.iv
  %285 = load double, ptr %gep813, align 8, !tbaa !5
  %286 = tail call double @llvm.fmuladd.f64(double %285, double 0xBFE4A7E9CB8A3491, double %284)
  %gep815 = getelementptr double, ptr %invariant.gep814, i64 %indvars.iv
  %287 = load double, ptr %gep815, align 8, !tbaa !5
  %288 = fadd double %287, %286
  store double %288, ptr %gep815, align 8, !tbaa !5
  %289 = fmul double %277, 0x3FF9D1E43E6CC1B5
  %290 = tail call double @llvm.fmuladd.f64(double %273, double 0xBFF9D1E43E6CC1B5, double %289)
  %291 = tail call double @llvm.fmuladd.f64(double %242, double 0xBFF9D1E43E6CC1B5, double %290)
  %292 = tail call double @llvm.fmuladd.f64(double %246, double 0x3FF9D1E43E6CC1B5, double %291)
  %gep817 = getelementptr double, ptr %invariant.gep816, i64 %indvars.iv
  %293 = load double, ptr %gep817, align 8, !tbaa !5
  %294 = tail call double @llvm.fmuladd.f64(double %293, double 0x3FFEFBDEB14F4EDC, double %292)
  %gep819 = getelementptr double, ptr %invariant.gep818, i64 %indvars.iv
  %295 = load double, ptr %gep819, align 8, !tbaa !5
  %296 = tail call double @llvm.fmuladd.f64(double %295, double 0x3FF08654A2D4F6D8, double %294)
  %gep821 = getelementptr double, ptr %invariant.gep820, i64 %indvars.iv
  %297 = load double, ptr %gep821, align 8, !tbaa !5
  %298 = tail call double @llvm.fmuladd.f64(double %297, double 0xBFE4A7E9CB8A3491, double %296)
  %gep823 = getelementptr double, ptr %invariant.gep822, i64 %indvars.iv
  %299 = load double, ptr %gep823, align 8, !tbaa !5
  %300 = fadd double %299, %298
  store double %300, ptr %gep823, align 8, !tbaa !5
  %301 = fmul double %274, 0xBFF08654A2D4F6D8
  %302 = tail call double @llvm.fmuladd.f64(double %273, double 0x3FE4A7E9CB8A3491, double %301)
  %303 = tail call double @llvm.fmuladd.f64(double %277, double 0xBFFEFBDEB14F4ED8, double %302)
  %304 = tail call double @llvm.fmuladd.f64(double %259, double 0xBFF9D1E43E6CC1B5, double %303)
  %305 = tail call double @llvm.fmuladd.f64(double %263, double 0x3FF9D1E43E6CC1B5, double %304)
  %gep825 = getelementptr double, ptr %invariant.gep824, i64 %indvars.iv
  %306 = load double, ptr %gep825, align 8, !tbaa !5
  %307 = tail call double @llvm.fmuladd.f64(double %306, double 0x3FFEFBDEB14F4EDC, double %305)
  %gep827 = getelementptr double, ptr %invariant.gep826, i64 %indvars.iv
  %308 = load double, ptr %gep827, align 8, !tbaa !5
  %309 = tail call double @llvm.fmuladd.f64(double %308, double 0x3FF08654A2D4F6D8, double %307)
  %gep829 = getelementptr double, ptr %invariant.gep828, i64 %indvars.iv
  %310 = load double, ptr %gep829, align 8, !tbaa !5
  %311 = tail call double @llvm.fmuladd.f64(double %310, double 0xBFE4A7E9CB8A3491, double %309)
  %gep831 = getelementptr double, ptr %invariant.gep830, i64 %indvars.iv
  %312 = load double, ptr %gep831, align 8, !tbaa !5
  %313 = fadd double %312, %311
  store double %313, ptr %gep831, align 8, !tbaa !5
  %gep833 = getelementptr double, ptr %invariant.gep832, i64 %indvars.iv
  %314 = load double, ptr %gep833, align 8, !tbaa !5
  %gep835 = getelementptr double, ptr %invariant.gep834, i64 %indvars.iv
  %315 = load double, ptr %gep835, align 8, !tbaa !5
  %316 = fmul double %315, 0x3FF08654A2D4F6D8
  %317 = tail call double @llvm.fmuladd.f64(double %314, double 0x3FFEFBDEB14F4EDC, double %316)
  %gep837 = getelementptr double, ptr %invariant.gep836, i64 %indvars.iv
  %318 = load double, ptr %gep837, align 8, !tbaa !5
  %319 = tail call double @llvm.fmuladd.f64(double %318, double 0xBFE4A7E9CB8A3491, double %317)
  %320 = tail call double @llvm.fmuladd.f64(double %225, double 0x3FE4A7E9CB8A3491, double %319)
  %321 = tail call double @llvm.fmuladd.f64(double %227, double 0xBFF08654A2D4F6D8, double %320)
  %322 = tail call double @llvm.fmuladd.f64(double %229, double 0xBFFEFBDEB14F4ED8, double %321)
  %gep839 = getelementptr double, ptr %invariant.gep838, i64 %indvars.iv
  %323 = load double, ptr %gep839, align 8, !tbaa !5
  %324 = tail call double @llvm.fmuladd.f64(double %323, double 0x3FFEFBDEB14F4EDC, double %322)
  %gep841 = getelementptr double, ptr %invariant.gep840, i64 %indvars.iv
  %325 = load double, ptr %gep841, align 8, !tbaa !5
  %326 = tail call double @llvm.fmuladd.f64(double %325, double 0x3FF08654A2D4F6D8, double %324)
  %gep843 = getelementptr double, ptr %invariant.gep842, i64 %indvars.iv
  %327 = load double, ptr %gep843, align 8, !tbaa !5
  %328 = tail call double @llvm.fmuladd.f64(double %327, double 0xBFE4A7E9CB8A3491, double %326)
  %gep845 = getelementptr double, ptr %invariant.gep844, i64 %indvars.iv
  %329 = load double, ptr %gep845, align 8, !tbaa !5
  %330 = fadd double %329, %328
  store double %330, ptr %gep845, align 8, !tbaa !5
  %331 = fmul double %318, 0x3FF9D1E43E6CC1B5
  %332 = tail call double @llvm.fmuladd.f64(double %314, double 0xBFF9D1E43E6CC1B5, double %331)
  %333 = tail call double @llvm.fmuladd.f64(double %242, double 0x3FE4A7E9CB8A3491, double %332)
  %334 = tail call double @llvm.fmuladd.f64(double %244, double 0xBFF08654A2D4F6D8, double %333)
  %335 = tail call double @llvm.fmuladd.f64(double %246, double 0xBFFEFBDEB14F4ED8, double %334)
  %gep847 = getelementptr double, ptr %invariant.gep846, i64 %indvars.iv
  %336 = load double, ptr %gep847, align 8, !tbaa !5
  %337 = tail call double @llvm.fmuladd.f64(double %336, double 0x3FFEFBDEB14F4EDC, double %335)
  %gep849 = getelementptr double, ptr %invariant.gep848, i64 %indvars.iv
  %338 = load double, ptr %gep849, align 8, !tbaa !5
  %339 = tail call double @llvm.fmuladd.f64(double %338, double 0x3FF08654A2D4F6D8, double %337)
  %gep851 = getelementptr double, ptr %invariant.gep850, i64 %indvars.iv
  %340 = load double, ptr %gep851, align 8, !tbaa !5
  %341 = tail call double @llvm.fmuladd.f64(double %340, double 0xBFE4A7E9CB8A3491, double %339)
  %gep853 = getelementptr double, ptr %invariant.gep852, i64 %indvars.iv
  %342 = load double, ptr %gep853, align 8, !tbaa !5
  %343 = fadd double %342, %341
  store double %343, ptr %gep853, align 8, !tbaa !5
  %344 = fmul double %315, 0xBFF08654A2D4F6D8
  %345 = tail call double @llvm.fmuladd.f64(double %314, double 0x3FE4A7E9CB8A3491, double %344)
  %346 = tail call double @llvm.fmuladd.f64(double %318, double 0xBFFEFBDEB14F4ED8, double %345)
  %347 = tail call double @llvm.fmuladd.f64(double %259, double 0x3FE4A7E9CB8A3491, double %346)
  %348 = tail call double @llvm.fmuladd.f64(double %261, double 0xBFF08654A2D4F6D8, double %347)
  %349 = tail call double @llvm.fmuladd.f64(double %263, double 0xBFFEFBDEB14F4ED8, double %348)
  %gep855 = getelementptr double, ptr %invariant.gep854, i64 %indvars.iv
  %350 = load double, ptr %gep855, align 8, !tbaa !5
  %351 = tail call double @llvm.fmuladd.f64(double %350, double 0x3FFEFBDEB14F4EDC, double %349)
  %gep857 = getelementptr double, ptr %invariant.gep856, i64 %indvars.iv
  %352 = load double, ptr %gep857, align 8, !tbaa !5
  %353 = tail call double @llvm.fmuladd.f64(double %352, double 0x3FF08654A2D4F6D8, double %351)
  %gep859 = getelementptr double, ptr %invariant.gep858, i64 %indvars.iv
  %354 = load double, ptr %gep859, align 8, !tbaa !5
  %355 = tail call double @llvm.fmuladd.f64(double %354, double 0xBFE4A7E9CB8A3491, double %353)
  %gep861 = getelementptr double, ptr %invariant.gep860, i64 %indvars.iv
  %356 = load double, ptr %gep861, align 8, !tbaa !5
  %357 = fadd double %356, %355
  store double %357, ptr %gep861, align 8, !tbaa !5
  %gep863 = getelementptr double, ptr %invariant.gep862, i64 %indvars.iv
  %358 = load double, ptr %gep863, align 8, !tbaa !5
  %gep865 = getelementptr double, ptr %invariant.gep864, i64 %indvars.iv
  %359 = load double, ptr %gep865, align 8, !tbaa !5
  %360 = fmul double %359, 0x3FF08654A2D4F6D8
  %361 = tail call double @llvm.fmuladd.f64(double %358, double 0x3FFEFBDEB14F4EDC, double %360)
  %gep867 = getelementptr double, ptr %invariant.gep866, i64 %indvars.iv
  %362 = load double, ptr %gep867, align 8, !tbaa !5
  %363 = tail call double @llvm.fmuladd.f64(double %362, double 0xBFE4A7E9CB8A3491, double %361)
  %gep869 = getelementptr double, ptr %invariant.gep868, i64 %indvars.iv
  %364 = load double, ptr %gep869, align 8, !tbaa !5
  %365 = tail call double @llvm.fmuladd.f64(double %364, double 0x3FFEFBDEB14F4EDC, double %363)
  %gep871 = getelementptr double, ptr %invariant.gep870, i64 %indvars.iv
  %366 = load double, ptr %gep871, align 8, !tbaa !5
  %367 = tail call double @llvm.fmuladd.f64(double %366, double 0x3FF08654A2D4F6D8, double %365)
  %gep873 = getelementptr double, ptr %invariant.gep872, i64 %indvars.iv
  %368 = load double, ptr %gep873, align 8, !tbaa !5
  %369 = tail call double @llvm.fmuladd.f64(double %368, double 0xBFE4A7E9CB8A3491, double %367)
  %370 = tail call double @llvm.fmuladd.f64(double %231, double 0xBFF9D1E43E6CC1B5, double %369)
  %371 = tail call double @llvm.fmuladd.f64(double %235, double 0x3FF9D1E43E6CC1B5, double %370)
  %gep875 = getelementptr double, ptr %invariant.gep874, i64 %indvars.iv
  %372 = load double, ptr %gep875, align 8, !tbaa !5
  %373 = fadd double %372, %371
  store double %373, ptr %gep875, align 8, !tbaa !5
  %374 = fmul double %362, 0x3FF9D1E43E6CC1B5
  %375 = tail call double @llvm.fmuladd.f64(double %358, double 0xBFF9D1E43E6CC1B5, double %374)
  %gep877 = getelementptr double, ptr %invariant.gep876, i64 %indvars.iv
  %376 = load double, ptr %gep877, align 8, !tbaa !5
  %377 = tail call double @llvm.fmuladd.f64(double %376, double 0x3FFEFBDEB14F4EDC, double %375)
  %gep879 = getelementptr double, ptr %invariant.gep878, i64 %indvars.iv
  %378 = load double, ptr %gep879, align 8, !tbaa !5
  %379 = tail call double @llvm.fmuladd.f64(double %378, double 0x3FF08654A2D4F6D8, double %377)
  %gep881 = getelementptr double, ptr %invariant.gep880, i64 %indvars.iv
  %380 = load double, ptr %gep881, align 8, !tbaa !5
  %381 = tail call double @llvm.fmuladd.f64(double %380, double 0xBFE4A7E9CB8A3491, double %379)
  %382 = tail call double @llvm.fmuladd.f64(double %248, double 0xBFF9D1E43E6CC1B5, double %381)
  %383 = tail call double @llvm.fmuladd.f64(double %252, double 0x3FF9D1E43E6CC1B5, double %382)
  %gep883 = getelementptr double, ptr %invariant.gep882, i64 %indvars.iv
  %384 = load double, ptr %gep883, align 8, !tbaa !5
  %385 = fadd double %384, %383
  store double %385, ptr %gep883, align 8, !tbaa !5
  %386 = fmul double %359, 0xBFF08654A2D4F6D8
  %387 = tail call double @llvm.fmuladd.f64(double %358, double 0x3FE4A7E9CB8A3491, double %386)
  %388 = tail call double @llvm.fmuladd.f64(double %362, double 0xBFFEFBDEB14F4ED8, double %387)
  %gep885 = getelementptr double, ptr %invariant.gep884, i64 %indvars.iv
  %389 = load double, ptr %gep885, align 8, !tbaa !5
  %390 = tail call double @llvm.fmuladd.f64(double %389, double 0x3FFEFBDEB14F4EDC, double %388)
  %gep887 = getelementptr double, ptr %invariant.gep886, i64 %indvars.iv
  %391 = load double, ptr %gep887, align 8, !tbaa !5
  %392 = tail call double @llvm.fmuladd.f64(double %391, double 0x3FF08654A2D4F6D8, double %390)
  %gep889 = getelementptr double, ptr %invariant.gep888, i64 %indvars.iv
  %393 = load double, ptr %gep889, align 8, !tbaa !5
  %394 = tail call double @llvm.fmuladd.f64(double %393, double 0xBFE4A7E9CB8A3491, double %392)
  %395 = tail call double @llvm.fmuladd.f64(double %265, double 0xBFF9D1E43E6CC1B5, double %394)
  %396 = tail call double @llvm.fmuladd.f64(double %269, double 0x3FF9D1E43E6CC1B5, double %395)
  %gep891 = getelementptr double, ptr %invariant.gep890, i64 %indvars.iv
  %397 = load double, ptr %gep891, align 8, !tbaa !5
  %398 = fadd double %397, %396
  store double %398, ptr %gep891, align 8, !tbaa !5
  %gep893 = getelementptr double, ptr %invariant.gep892, i64 %indvars.iv
  %399 = load double, ptr %gep893, align 8, !tbaa !5
  %gep895 = getelementptr double, ptr %invariant.gep894, i64 %indvars.iv
  %400 = load double, ptr %gep895, align 8, !tbaa !5
  %401 = fmul double %400, 0x3FF08654A2D4F6D8
  %402 = tail call double @llvm.fmuladd.f64(double %399, double 0x3FFEFBDEB14F4EDC, double %401)
  %gep897 = getelementptr double, ptr %invariant.gep896, i64 %indvars.iv
  %403 = load double, ptr %gep897, align 8, !tbaa !5
  %404 = tail call double @llvm.fmuladd.f64(double %403, double 0xBFE4A7E9CB8A3491, double %402)
  %405 = tail call double @llvm.fmuladd.f64(double %364, double 0xBFF9D1E43E6CC1B5, double %404)
  %406 = tail call double @llvm.fmuladd.f64(double %368, double 0x3FF9D1E43E6CC1B5, double %405)
  %407 = tail call double @llvm.fmuladd.f64(double %281, double 0xBFF9D1E43E6CC1B5, double %406)
  %408 = tail call double @llvm.fmuladd.f64(double %285, double 0x3FF9D1E43E6CC1B5, double %407)
  %gep899 = getelementptr double, ptr %invariant.gep898, i64 %indvars.iv
  %409 = load double, ptr %gep899, align 8, !tbaa !5
  %410 = fadd double %409, %408
  store double %410, ptr %gep899, align 8, !tbaa !5
  %411 = fmul double %403, 0x3FF9D1E43E6CC1B5
  %412 = tail call double @llvm.fmuladd.f64(double %399, double 0xBFF9D1E43E6CC1B5, double %411)
  %413 = tail call double @llvm.fmuladd.f64(double %376, double 0xBFF9D1E43E6CC1B5, double %412)
  %414 = tail call double @llvm.fmuladd.f64(double %380, double 0x3FF9D1E43E6CC1B5, double %413)
  %415 = tail call double @llvm.fmuladd.f64(double %293, double 0xBFF9D1E43E6CC1B5, double %414)
  %416 = tail call double @llvm.fmuladd.f64(double %297, double 0x3FF9D1E43E6CC1B5, double %415)
  %gep901 = getelementptr double, ptr %invariant.gep900, i64 %indvars.iv
  %417 = load double, ptr %gep901, align 8, !tbaa !5
  %418 = fadd double %417, %416
  store double %418, ptr %gep901, align 8, !tbaa !5
  %419 = fmul double %400, 0xBFF08654A2D4F6D8
  %420 = tail call double @llvm.fmuladd.f64(double %399, double 0x3FE4A7E9CB8A3491, double %419)
  %421 = tail call double @llvm.fmuladd.f64(double %403, double 0xBFFEFBDEB14F4ED8, double %420)
  %422 = tail call double @llvm.fmuladd.f64(double %389, double 0xBFF9D1E43E6CC1B5, double %421)
  %423 = tail call double @llvm.fmuladd.f64(double %393, double 0x3FF9D1E43E6CC1B5, double %422)
  %424 = tail call double @llvm.fmuladd.f64(double %306, double 0xBFF9D1E43E6CC1B5, double %423)
  %425 = tail call double @llvm.fmuladd.f64(double %310, double 0x3FF9D1E43E6CC1B5, double %424)
  %gep903 = getelementptr double, ptr %invariant.gep902, i64 %indvars.iv
  %426 = load double, ptr %gep903, align 8, !tbaa !5
  %427 = fadd double %426, %425
  store double %427, ptr %gep903, align 8, !tbaa !5
  %gep905 = getelementptr double, ptr %invariant.gep904, i64 %indvars.iv
  %428 = load double, ptr %gep905, align 8, !tbaa !5
  %gep907 = getelementptr double, ptr %invariant.gep906, i64 %indvars.iv
  %429 = load double, ptr %gep907, align 8, !tbaa !5
  %430 = fmul double %429, 0x3FF08654A2D4F6D8
  %431 = tail call double @llvm.fmuladd.f64(double %428, double 0x3FFEFBDEB14F4EDC, double %430)
  %gep909 = getelementptr double, ptr %invariant.gep908, i64 %indvars.iv
  %432 = load double, ptr %gep909, align 8, !tbaa !5
  %433 = tail call double @llvm.fmuladd.f64(double %432, double 0xBFE4A7E9CB8A3491, double %431)
  %434 = tail call double @llvm.fmuladd.f64(double %364, double 0x3FE4A7E9CB8A3491, double %433)
  %435 = tail call double @llvm.fmuladd.f64(double %366, double 0xBFF08654A2D4F6D8, double %434)
  %436 = tail call double @llvm.fmuladd.f64(double %368, double 0xBFFEFBDEB14F4ED8, double %435)
  %437 = tail call double @llvm.fmuladd.f64(double %323, double 0xBFF9D1E43E6CC1B5, double %436)
  %438 = tail call double @llvm.fmuladd.f64(double %327, double 0x3FF9D1E43E6CC1B5, double %437)
  %gep911 = getelementptr double, ptr %invariant.gep910, i64 %indvars.iv
  %439 = load double, ptr %gep911, align 8, !tbaa !5
  %440 = fadd double %439, %438
  store double %440, ptr %gep911, align 8, !tbaa !5
  %441 = fmul double %432, 0x3FF9D1E43E6CC1B5
  %442 = tail call double @llvm.fmuladd.f64(double %428, double 0xBFF9D1E43E6CC1B5, double %441)
  %443 = tail call double @llvm.fmuladd.f64(double %376, double 0x3FE4A7E9CB8A3491, double %442)
  %444 = tail call double @llvm.fmuladd.f64(double %378, double 0xBFF08654A2D4F6D8, double %443)
  %445 = tail call double @llvm.fmuladd.f64(double %380, double 0xBFFEFBDEB14F4ED8, double %444)
  %446 = tail call double @llvm.fmuladd.f64(double %336, double 0xBFF9D1E43E6CC1B5, double %445)
  %447 = tail call double @llvm.fmuladd.f64(double %340, double 0x3FF9D1E43E6CC1B5, double %446)
  %gep913 = getelementptr double, ptr %invariant.gep912, i64 %indvars.iv
  %448 = load double, ptr %gep913, align 8, !tbaa !5
  %449 = fadd double %448, %447
  store double %449, ptr %gep913, align 8, !tbaa !5
  %450 = fmul double %429, 0xBFF08654A2D4F6D8
  %451 = tail call double @llvm.fmuladd.f64(double %428, double 0x3FE4A7E9CB8A3491, double %450)
  %452 = tail call double @llvm.fmuladd.f64(double %432, double 0xBFFEFBDEB14F4ED8, double %451)
  %453 = tail call double @llvm.fmuladd.f64(double %389, double 0x3FE4A7E9CB8A3491, double %452)
  %454 = tail call double @llvm.fmuladd.f64(double %391, double 0xBFF08654A2D4F6D8, double %453)
  %455 = tail call double @llvm.fmuladd.f64(double %393, double 0xBFFEFBDEB14F4ED8, double %454)
  %456 = tail call double @llvm.fmuladd.f64(double %350, double 0xBFF9D1E43E6CC1B5, double %455)
  %457 = tail call double @llvm.fmuladd.f64(double %354, double 0x3FF9D1E43E6CC1B5, double %456)
  %gep915 = getelementptr double, ptr %invariant.gep914, i64 %indvars.iv
  %458 = load double, ptr %gep915, align 8, !tbaa !5
  %459 = fadd double %458, %457
  store double %459, ptr %gep915, align 8, !tbaa !5
  %gep917 = getelementptr double, ptr %invariant.gep916, i64 %indvars.iv
  %460 = load double, ptr %gep917, align 8, !tbaa !5
  %gep919 = getelementptr double, ptr %invariant.gep918, i64 %indvars.iv
  %461 = load double, ptr %gep919, align 8, !tbaa !5
  %462 = fmul double %461, 0x3FF08654A2D4F6D8
  %463 = tail call double @llvm.fmuladd.f64(double %460, double 0x3FFEFBDEB14F4EDC, double %462)
  %gep921 = getelementptr double, ptr %invariant.gep920, i64 %indvars.iv
  %464 = load double, ptr %gep921, align 8, !tbaa !5
  %465 = tail call double @llvm.fmuladd.f64(double %464, double 0xBFE4A7E9CB8A3491, double %463)
  %gep923 = getelementptr double, ptr %invariant.gep922, i64 %indvars.iv
  %466 = load double, ptr %gep923, align 8, !tbaa !5
  %467 = tail call double @llvm.fmuladd.f64(double %466, double 0x3FFEFBDEB14F4EDC, double %465)
  %gep925 = getelementptr double, ptr %invariant.gep924, i64 %indvars.iv
  %468 = load double, ptr %gep925, align 8, !tbaa !5
  %469 = tail call double @llvm.fmuladd.f64(double %468, double 0x3FF08654A2D4F6D8, double %467)
  %gep927 = getelementptr double, ptr %invariant.gep926, i64 %indvars.iv
  %470 = load double, ptr %gep927, align 8, !tbaa !5
  %471 = tail call double @llvm.fmuladd.f64(double %470, double 0xBFE4A7E9CB8A3491, double %469)
  %472 = tail call double @llvm.fmuladd.f64(double %231, double 0x3FE4A7E9CB8A3491, double %471)
  %473 = tail call double @llvm.fmuladd.f64(double %233, double 0xBFF08654A2D4F6D8, double %472)
  %474 = tail call double @llvm.fmuladd.f64(double %235, double 0xBFFEFBDEB14F4ED8, double %473)
  %gep929 = getelementptr double, ptr %invariant.gep928, i64 %indvars.iv
  %475 = load double, ptr %gep929, align 8, !tbaa !5
  %476 = fadd double %475, %474
  store double %476, ptr %gep929, align 8, !tbaa !5
  %477 = fmul double %464, 0x3FF9D1E43E6CC1B5
  %478 = tail call double @llvm.fmuladd.f64(double %460, double 0xBFF9D1E43E6CC1B5, double %477)
  %gep931 = getelementptr double, ptr %invariant.gep930, i64 %indvars.iv
  %479 = load double, ptr %gep931, align 8, !tbaa !5
  %480 = tail call double @llvm.fmuladd.f64(double %479, double 0x3FFEFBDEB14F4EDC, double %478)
  %gep933 = getelementptr double, ptr %invariant.gep932, i64 %indvars.iv
  %481 = load double, ptr %gep933, align 8, !tbaa !5
  %482 = tail call double @llvm.fmuladd.f64(double %481, double 0x3FF08654A2D4F6D8, double %480)
  %gep935 = getelementptr double, ptr %invariant.gep934, i64 %indvars.iv
  %483 = load double, ptr %gep935, align 8, !tbaa !5
  %484 = tail call double @llvm.fmuladd.f64(double %483, double 0xBFE4A7E9CB8A3491, double %482)
  %485 = tail call double @llvm.fmuladd.f64(double %248, double 0x3FE4A7E9CB8A3491, double %484)
  %486 = tail call double @llvm.fmuladd.f64(double %250, double 0xBFF08654A2D4F6D8, double %485)
  %487 = tail call double @llvm.fmuladd.f64(double %252, double 0xBFFEFBDEB14F4ED8, double %486)
  %gep937 = getelementptr double, ptr %invariant.gep936, i64 %indvars.iv
  %488 = load double, ptr %gep937, align 8, !tbaa !5
  %489 = fadd double %488, %487
  store double %489, ptr %gep937, align 8, !tbaa !5
  %490 = fmul double %461, 0xBFF08654A2D4F6D8
  %491 = tail call double @llvm.fmuladd.f64(double %460, double 0x3FE4A7E9CB8A3491, double %490)
  %492 = tail call double @llvm.fmuladd.f64(double %464, double 0xBFFEFBDEB14F4ED8, double %491)
  %gep939 = getelementptr double, ptr %invariant.gep938, i64 %indvars.iv
  %493 = load double, ptr %gep939, align 8, !tbaa !5
  %494 = tail call double @llvm.fmuladd.f64(double %493, double 0x3FFEFBDEB14F4EDC, double %492)
  %gep941 = getelementptr double, ptr %invariant.gep940, i64 %indvars.iv
  %495 = load double, ptr %gep941, align 8, !tbaa !5
  %496 = tail call double @llvm.fmuladd.f64(double %495, double 0x3FF08654A2D4F6D8, double %494)
  %gep943 = getelementptr double, ptr %invariant.gep942, i64 %indvars.iv
  %497 = load double, ptr %gep943, align 8, !tbaa !5
  %498 = tail call double @llvm.fmuladd.f64(double %497, double 0xBFE4A7E9CB8A3491, double %496)
  %499 = tail call double @llvm.fmuladd.f64(double %265, double 0x3FE4A7E9CB8A3491, double %498)
  %500 = tail call double @llvm.fmuladd.f64(double %267, double 0xBFF08654A2D4F6D8, double %499)
  %501 = tail call double @llvm.fmuladd.f64(double %269, double 0xBFFEFBDEB14F4ED8, double %500)
  %gep945 = getelementptr double, ptr %invariant.gep944, i64 %indvars.iv
  %502 = load double, ptr %gep945, align 8, !tbaa !5
  %503 = fadd double %502, %501
  store double %503, ptr %gep945, align 8, !tbaa !5
  %gep947 = getelementptr double, ptr %invariant.gep946, i64 %indvars.iv
  %504 = load double, ptr %gep947, align 8, !tbaa !5
  %gep949 = getelementptr double, ptr %invariant.gep948, i64 %indvars.iv
  %505 = load double, ptr %gep949, align 8, !tbaa !5
  %506 = fmul double %505, 0x3FF08654A2D4F6D8
  %507 = tail call double @llvm.fmuladd.f64(double %504, double 0x3FFEFBDEB14F4EDC, double %506)
  %gep951 = getelementptr double, ptr %invariant.gep950, i64 %indvars.iv
  %508 = load double, ptr %gep951, align 8, !tbaa !5
  %509 = tail call double @llvm.fmuladd.f64(double %508, double 0xBFE4A7E9CB8A3491, double %507)
  %510 = tail call double @llvm.fmuladd.f64(double %466, double 0xBFF9D1E43E6CC1B5, double %509)
  %511 = tail call double @llvm.fmuladd.f64(double %470, double 0x3FF9D1E43E6CC1B5, double %510)
  %512 = tail call double @llvm.fmuladd.f64(double %281, double 0x3FE4A7E9CB8A3491, double %511)
  %513 = tail call double @llvm.fmuladd.f64(double %283, double 0xBFF08654A2D4F6D8, double %512)
  %514 = tail call double @llvm.fmuladd.f64(double %285, double 0xBFFEFBDEB14F4ED8, double %513)
  %gep953 = getelementptr double, ptr %invariant.gep952, i64 %indvars.iv
  %515 = load double, ptr %gep953, align 8, !tbaa !5
  %516 = fadd double %515, %514
  store double %516, ptr %gep953, align 8, !tbaa !5
  %517 = fmul double %508, 0x3FF9D1E43E6CC1B5
  %518 = tail call double @llvm.fmuladd.f64(double %504, double 0xBFF9D1E43E6CC1B5, double %517)
  %519 = tail call double @llvm.fmuladd.f64(double %479, double 0xBFF9D1E43E6CC1B5, double %518)
  %520 = tail call double @llvm.fmuladd.f64(double %483, double 0x3FF9D1E43E6CC1B5, double %519)
  %521 = tail call double @llvm.fmuladd.f64(double %293, double 0x3FE4A7E9CB8A3491, double %520)
  %522 = tail call double @llvm.fmuladd.f64(double %295, double 0xBFF08654A2D4F6D8, double %521)
  %523 = tail call double @llvm.fmuladd.f64(double %297, double 0xBFFEFBDEB14F4ED8, double %522)
  %gep955 = getelementptr double, ptr %invariant.gep954, i64 %indvars.iv
  %524 = load double, ptr %gep955, align 8, !tbaa !5
  %525 = fadd double %524, %523
  store double %525, ptr %gep955, align 8, !tbaa !5
  %526 = fmul double %505, 0xBFF08654A2D4F6D8
  %527 = tail call double @llvm.fmuladd.f64(double %504, double 0x3FE4A7E9CB8A3491, double %526)
  %528 = tail call double @llvm.fmuladd.f64(double %508, double 0xBFFEFBDEB14F4ED8, double %527)
  %529 = tail call double @llvm.fmuladd.f64(double %493, double 0xBFF9D1E43E6CC1B5, double %528)
  %530 = tail call double @llvm.fmuladd.f64(double %497, double 0x3FF9D1E43E6CC1B5, double %529)
  %531 = tail call double @llvm.fmuladd.f64(double %306, double 0x3FE4A7E9CB8A3491, double %530)
  %532 = tail call double @llvm.fmuladd.f64(double %308, double 0xBFF08654A2D4F6D8, double %531)
  %533 = tail call double @llvm.fmuladd.f64(double %310, double 0xBFFEFBDEB14F4ED8, double %532)
  %gep957 = getelementptr double, ptr %invariant.gep956, i64 %indvars.iv
  %534 = load double, ptr %gep957, align 8, !tbaa !5
  %535 = fadd double %534, %533
  store double %535, ptr %gep957, align 8, !tbaa !5
  %gep959 = getelementptr double, ptr %invariant.gep958, i64 %indvars.iv
  %536 = load double, ptr %gep959, align 8, !tbaa !5
  %gep961 = getelementptr double, ptr %invariant.gep960, i64 %indvars.iv
  %537 = load double, ptr %gep961, align 8, !tbaa !5
  %538 = fmul double %537, 0x3FF08654A2D4F6D8
  %539 = tail call double @llvm.fmuladd.f64(double %536, double 0x3FFEFBDEB14F4EDC, double %538)
  %gep963 = getelementptr double, ptr %invariant.gep962, i64 %indvars.iv
  %540 = load double, ptr %gep963, align 8, !tbaa !5
  %541 = tail call double @llvm.fmuladd.f64(double %540, double 0xBFE4A7E9CB8A3491, double %539)
  %542 = tail call double @llvm.fmuladd.f64(double %466, double 0x3FE4A7E9CB8A3491, double %541)
  %543 = tail call double @llvm.fmuladd.f64(double %468, double 0xBFF08654A2D4F6D8, double %542)
  %544 = tail call double @llvm.fmuladd.f64(double %470, double 0xBFFEFBDEB14F4ED8, double %543)
  %545 = tail call double @llvm.fmuladd.f64(double %323, double 0x3FE4A7E9CB8A3491, double %544)
  %546 = tail call double @llvm.fmuladd.f64(double %325, double 0xBFF08654A2D4F6D8, double %545)
  %547 = tail call double @llvm.fmuladd.f64(double %327, double 0xBFFEFBDEB14F4ED8, double %546)
  %gep965 = getelementptr double, ptr %invariant.gep964, i64 %indvars.iv
  %548 = load double, ptr %gep965, align 8, !tbaa !5
  %549 = fadd double %548, %547
  store double %549, ptr %gep965, align 8, !tbaa !5
  %550 = fmul double %540, 0x3FF9D1E43E6CC1B5
  %551 = tail call double @llvm.fmuladd.f64(double %536, double 0xBFF9D1E43E6CC1B5, double %550)
  %552 = tail call double @llvm.fmuladd.f64(double %479, double 0x3FE4A7E9CB8A3491, double %551)
  %553 = tail call double @llvm.fmuladd.f64(double %481, double 0xBFF08654A2D4F6D8, double %552)
  %554 = tail call double @llvm.fmuladd.f64(double %483, double 0xBFFEFBDEB14F4ED8, double %553)
  %555 = tail call double @llvm.fmuladd.f64(double %336, double 0x3FE4A7E9CB8A3491, double %554)
  %556 = tail call double @llvm.fmuladd.f64(double %338, double 0xBFF08654A2D4F6D8, double %555)
  %557 = tail call double @llvm.fmuladd.f64(double %340, double 0xBFFEFBDEB14F4ED8, double %556)
  %gep967 = getelementptr double, ptr %invariant.gep966, i64 %indvars.iv
  %558 = load double, ptr %gep967, align 8, !tbaa !5
  %559 = fadd double %558, %557
  store double %559, ptr %gep967, align 8, !tbaa !5
  %560 = fmul double %537, 0xBFF08654A2D4F6D8
  %561 = tail call double @llvm.fmuladd.f64(double %536, double 0x3FE4A7E9CB8A3491, double %560)
  %562 = tail call double @llvm.fmuladd.f64(double %540, double 0xBFFEFBDEB14F4ED8, double %561)
  %563 = tail call double @llvm.fmuladd.f64(double %493, double 0x3FE4A7E9CB8A3491, double %562)
  %564 = tail call double @llvm.fmuladd.f64(double %495, double 0xBFF08654A2D4F6D8, double %563)
  %565 = tail call double @llvm.fmuladd.f64(double %497, double 0xBFFEFBDEB14F4ED8, double %564)
  %566 = tail call double @llvm.fmuladd.f64(double %350, double 0x3FE4A7E9CB8A3491, double %565)
  %567 = tail call double @llvm.fmuladd.f64(double %352, double 0xBFF08654A2D4F6D8, double %566)
  %568 = tail call double @llvm.fmuladd.f64(double %354, double 0xBFFEFBDEB14F4ED8, double %567)
  %gep969 = getelementptr double, ptr %invariant.gep968, i64 %indvars.iv
  %569 = load double, ptr %gep969, align 8, !tbaa !5
  %570 = fadd double %569, %568
  store double %570, ptr %gep969, 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