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

13:                                               ; preds = %2125, %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 %2128

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

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

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

.lr.ph:                                           ; preds = %5
  %7 = mul nsw i32 %2, 18
  %8 = mul nsw i32 %2, 29
  %9 = shl nsw i32 %4, 1
  %10 = mul nsw i32 %2, 19
  %11 = mul nsw i32 %2, 28
  %12 = mul nsw i32 %4, 3
  %13 = shl nsw i32 %4, 2
  %14 = mul nsw i32 %4, 5
  %15 = mul nsw i32 %2, 20
  %16 = mul nsw i32 %2, 27
  %17 = mul nsw i32 %4, 6
  %18 = mul nsw i32 %4, 7
  %19 = shl nsw i32 %4, 3
  %20 = mul nsw i32 %2, 21
  %21 = shl nsw i32 %2, 5
  %22 = mul nsw i32 %4, 9
  %23 = mul nsw i32 %4, 10
  %24 = mul nsw i32 %4, 11
  %25 = mul nsw i32 %2, 22
  %26 = mul nsw i32 %2, 31
  %27 = mul nsw i32 %4, 12
  %28 = mul nsw i32 %4, 13
  %29 = mul nsw i32 %4, 14
  %30 = mul nsw i32 %2, 23
  %31 = mul nsw i32 %2, 30
  %32 = mul nsw i32 %4, 15
  %33 = shl nsw i32 %4, 4
  %34 = mul nsw i32 %4, 17
  %35 = mul nsw i32 %2, 24
  %36 = mul nsw i32 %2, 35
  %37 = mul nsw i32 %4, 18
  %38 = mul nsw i32 %4, 19
  %39 = mul nsw i32 %4, 20
  %40 = mul nsw i32 %2, 25
  %41 = mul nsw i32 %2, 34
  %42 = mul nsw i32 %4, 21
  %43 = mul nsw i32 %4, 22
  %44 = mul nsw i32 %4, 23
  %45 = mul nsw i32 %2, 26
  %46 = mul nsw i32 %2, 33
  %47 = mul nsw i32 %4, 24
  %48 = mul nsw i32 %4, 25
  %49 = mul nsw i32 %4, 26
  %50 = mul nsw i32 %2, 38
  %51 = mul nsw i32 %2, 45
  %52 = mul nsw i32 %4, 27
  %53 = mul nsw i32 %2, 37
  %54 = mul nsw i32 %2, 46
  %55 = mul nsw i32 %4, 28
  %56 = mul nsw i32 %2, 36
  %57 = mul nsw i32 %2, 47
  %58 = mul nsw i32 %4, 29
  %59 = mul nsw i32 %4, 30
  %60 = mul nsw i32 %4, 31
  %61 = shl nsw i32 %4, 5
  %62 = mul nsw i32 %4, 33
  %63 = mul nsw i32 %4, 34
  %64 = mul nsw i32 %4, 35
  %65 = mul nsw i32 %2, 41
  %66 = mul nsw i32 %2, 48
  %67 = mul nsw i32 %4, 36
  %68 = mul nsw i32 %2, 40
  %69 = mul nsw i32 %2, 49
  %70 = mul nsw i32 %4, 37
  %71 = mul nsw i32 %2, 39
  %72 = mul nsw i32 %2, 50
  %73 = mul nsw i32 %4, 38
  %74 = mul nsw i32 %4, 39
  %75 = mul nsw i32 %4, 40
  %76 = mul nsw i32 %4, 41
  %77 = mul nsw i32 %4, 42
  %78 = mul nsw i32 %4, 43
  %79 = mul nsw i32 %4, 44
  %80 = mul nsw i32 %2, 44
  %81 = mul nsw i32 %2, 51
  %82 = mul nsw i32 %4, 45
  %83 = mul nsw i32 %2, 43
  %84 = mul nsw i32 %2, 52
  %85 = mul nsw i32 %4, 46
  %86 = mul nsw i32 %2, 42
  %87 = mul nsw i32 %2, 53
  %88 = mul nsw i32 %4, 47
  %89 = mul nsw i32 %4, 48
  %90 = mul nsw i32 %4, 49
  %91 = mul nsw i32 %4, 50
  %92 = mul nsw i32 %4, 51
  %93 = mul nsw i32 %4, 52
  %94 = mul nsw i32 %4, 53
  %95 = mul nsw i32 %2, 11
  %96 = mul nsw i32 %4, 54
  %97 = mul nsw i32 %2, 10
  %98 = mul nsw i32 %4, 55
  %99 = shl nsw i32 %2, 1
  %100 = mul nsw i32 %2, 9
  %101 = mul nsw i32 %4, 56
  %102 = mul nsw i32 %2, 3
  %103 = mul nsw i32 %2, 14
  %104 = mul nsw i32 %4, 57
  %105 = shl nsw i32 %2, 2
  %106 = mul nsw i32 %2, 13
  %107 = mul nsw i32 %4, 58
  %108 = mul nsw i32 %2, 5
  %109 = mul nsw i32 %2, 12
  %110 = mul nsw i32 %4, 59
  %111 = mul nsw i32 %2, 6
  %112 = mul nsw i32 %2, 17
  %113 = mul nsw i32 %4, 60
  %114 = mul nsw i32 %2, 7
  %115 = shl nsw i32 %2, 4
  %116 = mul nsw i32 %4, 61
  %117 = shl nsw i32 %2, 3
  %118 = mul nsw i32 %2, 15
  %119 = mul nsw i32 %4, 62
  %120 = mul nsw i32 %4, 63
  %121 = shl nsw i32 %4, 6
  %122 = mul nsw i32 %4, 65
  %123 = mul nsw i32 %4, 66
  %124 = mul nsw i32 %4, 67
  %125 = mul nsw i32 %4, 68
  %126 = mul nsw i32 %4, 69
  %127 = mul nsw i32 %4, 70
  %128 = mul nsw i32 %4, 71
  %129 = mul nsw i32 %4, 72
  %130 = mul nsw i32 %4, 73
  %131 = mul nsw i32 %4, 74
  %132 = mul nsw i32 %4, 75
  %133 = mul nsw i32 %4, 76
  %134 = mul nsw i32 %4, 77
  %135 = mul nsw i32 %4, 78
  %136 = mul nsw i32 %4, 79
  %137 = mul nsw i32 %4, 80
  %138 = sext i32 %7 to i64
  %139 = sext i32 %8 to i64
  %140 = sext i32 %4 to i64
  %141 = sext i32 %9 to i64
  %142 = sext i32 %10 to i64
  %143 = sext i32 %11 to i64
  %144 = sext i32 %12 to i64
  %145 = sext i32 %13 to i64
  %146 = sext i32 %14 to i64
  %147 = sext i32 %15 to i64
  %148 = sext i32 %16 to i64
  %149 = sext i32 %17 to i64
  %150 = sext i32 %18 to i64
  %151 = sext i32 %19 to i64
  %152 = sext i32 %20 to i64
  %153 = sext i32 %21 to i64
  %154 = sext i32 %22 to i64
  %155 = sext i32 %23 to i64
  %156 = sext i32 %24 to i64
  %157 = sext i32 %25 to i64
  %158 = sext i32 %26 to i64
  %159 = sext i32 %27 to i64
  %160 = sext i32 %28 to i64
  %161 = sext i32 %29 to i64
  %162 = sext i32 %30 to i64
  %163 = sext i32 %31 to i64
  %164 = sext i32 %32 to i64
  %165 = sext i32 %33 to i64
  %166 = sext i32 %34 to i64
  %167 = sext i32 %35 to i64
  %168 = sext i32 %36 to i64
  %169 = sext i32 %37 to i64
  %170 = sext i32 %38 to i64
  %171 = sext i32 %39 to i64
  %172 = sext i32 %40 to i64
  %173 = sext i32 %41 to i64
  %174 = sext i32 %42 to i64
  %175 = sext i32 %43 to i64
  %176 = sext i32 %44 to i64
  %177 = sext i32 %45 to i64
  %178 = sext i32 %46 to i64
  %179 = sext i32 %47 to i64
  %180 = sext i32 %48 to i64
  %181 = sext i32 %49 to i64
  %182 = sext i32 %50 to i64
  %183 = sext i32 %51 to i64
  %184 = sext i32 %52 to i64
  %185 = sext i32 %53 to i64
  %186 = sext i32 %54 to i64
  %187 = sext i32 %55 to i64
  %188 = sext i32 %56 to i64
  %189 = sext i32 %57 to i64
  %190 = sext i32 %58 to i64
  %191 = sext i32 %59 to i64
  %192 = sext i32 %60 to i64
  %193 = sext i32 %61 to i64
  %194 = sext i32 %62 to i64
  %195 = sext i32 %63 to i64
  %196 = sext i32 %64 to i64
  %197 = sext i32 %65 to i64
  %198 = sext i32 %66 to i64
  %199 = sext i32 %67 to i64
  %200 = sext i32 %68 to i64
  %201 = sext i32 %69 to i64
  %202 = sext i32 %70 to i64
  %203 = sext i32 %71 to i64
  %204 = sext i32 %72 to i64
  %205 = sext i32 %73 to i64
  %206 = sext i32 %74 to i64
  %207 = sext i32 %75 to i64
  %208 = sext i32 %76 to i64
  %209 = sext i32 %77 to i64
  %210 = sext i32 %78 to i64
  %211 = sext i32 %79 to i64
  %212 = sext i32 %80 to i64
  %213 = sext i32 %81 to i64
  %214 = sext i32 %82 to i64
  %215 = sext i32 %83 to i64
  %216 = sext i32 %84 to i64
  %217 = sext i32 %85 to i64
  %218 = sext i32 %86 to i64
  %219 = sext i32 %87 to i64
  %220 = sext i32 %88 to i64
  %221 = sext i32 %89 to i64
  %222 = sext i32 %90 to i64
  %223 = sext i32 %91 to i64
  %224 = sext i32 %92 to i64
  %225 = sext i32 %93 to i64
  %226 = sext i32 %94 to i64
  %227 = sext i32 %95 to i64
  %228 = sext i32 %96 to i64
  %229 = sext i32 %2 to i64
  %230 = sext i32 %97 to i64
  %231 = sext i32 %98 to i64
  %232 = sext i32 %99 to i64
  %233 = sext i32 %100 to i64
  %234 = sext i32 %101 to i64
  %235 = sext i32 %102 to i64
  %236 = sext i32 %103 to i64
  %237 = sext i32 %104 to i64
  %238 = sext i32 %105 to i64
  %239 = sext i32 %106 to i64
  %240 = sext i32 %107 to i64
  %241 = sext i32 %108 to i64
  %242 = sext i32 %109 to i64
  %243 = sext i32 %110 to i64
  %244 = sext i32 %111 to i64
  %245 = sext i32 %112 to i64
  %246 = sext i32 %113 to i64
  %247 = sext i32 %114 to i64
  %248 = sext i32 %115 to i64
  %249 = sext i32 %116 to i64
  %250 = sext i32 %117 to i64
  %251 = sext i32 %118 to i64
  %252 = sext i32 %119 to i64
  %253 = sext i32 %120 to i64
  %254 = sext i32 %121 to i64
  %255 = sext i32 %122 to i64
  %256 = sext i32 %123 to i64
  %257 = sext i32 %124 to i64
  %258 = sext i32 %125 to i64
  %259 = sext i32 %126 to i64
  %260 = sext i32 %127 to i64
  %261 = sext i32 %128 to i64
  %262 = sext i32 %129 to i64
  %263 = sext i32 %130 to i64
  %264 = sext i32 %131 to i64
  %265 = sext i32 %132 to i64
  %266 = sext i32 %133 to i64
  %267 = sext i32 %134 to i64
  %268 = sext i32 %135 to i64
  %269 = sext i32 %136 to i64
  %270 = sext i32 %137 to i64
  %wide.trip.count = zext nneg i32 %0 to i64
  %invariant.gep = getelementptr double, ptr %1, i64 %138
  %invariant.gep814 = getelementptr double, ptr %1, i64 %139
  %invariant.gep816 = getelementptr double, ptr %3, i64 %140
  %invariant.gep818 = getelementptr double, ptr %3, i64 %141
  %invariant.gep820 = getelementptr double, ptr %1, i64 %142
  %invariant.gep822 = getelementptr double, ptr %1, i64 %143
  %invariant.gep824 = getelementptr double, ptr %3, i64 %144
  %invariant.gep826 = getelementptr double, ptr %3, i64 %145
  %invariant.gep828 = getelementptr double, ptr %3, i64 %146
  %invariant.gep830 = getelementptr double, ptr %1, i64 %147
  %invariant.gep832 = getelementptr double, ptr %1, i64 %148
  %invariant.gep834 = getelementptr double, ptr %3, i64 %149
  %invariant.gep836 = getelementptr double, ptr %3, i64 %150
  %invariant.gep838 = getelementptr double, ptr %3, 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 %3, i64 %155
  %invariant.gep848 = getelementptr double, ptr %3, i64 %156
  %invariant.gep850 = getelementptr double, ptr %1, i64 %157
  %invariant.gep852 = getelementptr double, ptr %1, i64 %158
  %invariant.gep854 = getelementptr double, ptr %3, i64 %159
  %invariant.gep856 = getelementptr double, ptr %3, i64 %160
  %invariant.gep858 = getelementptr double, ptr %3, i64 %161
  %invariant.gep860 = getelementptr double, ptr %1, i64 %162
  %invariant.gep862 = getelementptr double, ptr %1, i64 %163
  %invariant.gep864 = getelementptr double, ptr %3, i64 %164
  %invariant.gep866 = getelementptr double, ptr %3, i64 %165
  %invariant.gep868 = getelementptr double, ptr %3, 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 %3, i64 %170
  %invariant.gep878 = getelementptr double, ptr %3, i64 %171
  %invariant.gep880 = getelementptr double, ptr %1, i64 %172
  %invariant.gep882 = getelementptr double, ptr %1, i64 %173
  %invariant.gep884 = getelementptr double, ptr %3, i64 %174
  %invariant.gep886 = getelementptr double, ptr %3, i64 %175
  %invariant.gep888 = getelementptr double, ptr %3, i64 %176
  %invariant.gep890 = getelementptr double, ptr %1, i64 %177
  %invariant.gep892 = getelementptr double, ptr %1, i64 %178
  %invariant.gep894 = getelementptr double, ptr %3, i64 %179
  %invariant.gep896 = getelementptr double, ptr %3, i64 %180
  %invariant.gep898 = getelementptr double, ptr %3, i64 %181
  %invariant.gep900 = getelementptr double, ptr %1, i64 %182
  %invariant.gep902 = getelementptr double, ptr %1, i64 %183
  %invariant.gep904 = getelementptr double, ptr %3, 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 %1, i64 %188
  %invariant.gep914 = getelementptr double, ptr %1, i64 %189
  %invariant.gep916 = getelementptr double, ptr %3, i64 %190
  %invariant.gep918 = getelementptr double, ptr %3, i64 %191
  %invariant.gep920 = getelementptr double, ptr %3, i64 %192
  %invariant.gep922 = getelementptr double, ptr %3, i64 %193
  %invariant.gep924 = getelementptr double, ptr %3, i64 %194
  %invariant.gep926 = getelementptr double, ptr %3, 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 %3, i64 %199
  %invariant.gep936 = getelementptr double, ptr %1, i64 %200
  %invariant.gep938 = getelementptr double, ptr %1, i64 %201
  %invariant.gep940 = getelementptr double, ptr %3, i64 %202
  %invariant.gep942 = getelementptr double, ptr %1, i64 %203
  %invariant.gep944 = getelementptr double, ptr %1, i64 %204
  %invariant.gep946 = getelementptr double, ptr %3, i64 %205
  %invariant.gep948 = getelementptr double, ptr %3, i64 %206
  %invariant.gep950 = getelementptr double, ptr %3, 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 %3, 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 %1, i64 %215
  %invariant.gep968 = getelementptr double, ptr %1, i64 %216
  %invariant.gep970 = getelementptr double, ptr %3, i64 %217
  %invariant.gep972 = getelementptr double, ptr %1, i64 %218
  %invariant.gep974 = getelementptr double, ptr %1, i64 %219
  %invariant.gep976 = getelementptr double, ptr %3, i64 %220
  %invariant.gep978 = getelementptr double, ptr %3, i64 %221
  %invariant.gep980 = getelementptr double, ptr %3, i64 %222
  %invariant.gep982 = getelementptr double, ptr %3, i64 %223
  %invariant.gep984 = getelementptr double, ptr %3, i64 %224
  %invariant.gep986 = getelementptr double, ptr %3, i64 %225
  %invariant.gep988 = getelementptr double, ptr %3, i64 %226
  %invariant.gep990 = getelementptr double, ptr %1, i64 %227
  %invariant.gep992 = getelementptr double, ptr %3, i64 %228
  %invariant.gep994 = getelementptr double, ptr %1, i64 %229
  %invariant.gep996 = getelementptr double, ptr %1, i64 %230
  %invariant.gep998 = getelementptr double, ptr %3, i64 %231
  %invariant.gep1000 = getelementptr double, ptr %1, i64 %232
  %invariant.gep1002 = getelementptr double, ptr %1, i64 %233
  %invariant.gep1004 = getelementptr double, ptr %3, i64 %234
  %invariant.gep1006 = getelementptr double, ptr %1, i64 %235
  %invariant.gep1008 = getelementptr double, ptr %1, i64 %236
  %invariant.gep1010 = getelementptr double, ptr %3, i64 %237
  %invariant.gep1012 = getelementptr double, ptr %1, i64 %238
  %invariant.gep1014 = getelementptr double, ptr %1, i64 %239
  %invariant.gep1016 = getelementptr double, ptr %3, i64 %240
  %invariant.gep1018 = getelementptr double, ptr %1, i64 %241
  %invariant.gep1020 = getelementptr double, ptr %1, i64 %242
  %invariant.gep1022 = getelementptr double, ptr %3, i64 %243
  %invariant.gep1024 = getelementptr double, ptr %1, i64 %244
  %invariant.gep1026 = getelementptr double, ptr %1, i64 %245
  %invariant.gep1028 = getelementptr double, ptr %3, i64 %246
  %invariant.gep1030 = getelementptr double, ptr %1, i64 %247
  %invariant.gep1032 = getelementptr double, ptr %1, i64 %248
  %invariant.gep1034 = getelementptr double, ptr %3, i64 %249
  %invariant.gep1036 = getelementptr double, ptr %1, i64 %250
  %invariant.gep1038 = getelementptr double, ptr %1, i64 %251
  %invariant.gep1040 = getelementptr double, ptr %3, i64 %252
  %invariant.gep1042 = getelementptr double, ptr %3, i64 %253
  %invariant.gep1044 = getelementptr double, ptr %3, i64 %254
  %invariant.gep1046 = getelementptr double, ptr %3, i64 %255
  %invariant.gep1048 = getelementptr double, ptr %3, i64 %256
  %invariant.gep1050 = getelementptr double, ptr %3, i64 %257
  %invariant.gep1052 = getelementptr double, ptr %3, i64 %258
  %invariant.gep1054 = getelementptr double, ptr %3, i64 %259
  %invariant.gep1056 = getelementptr double, ptr %3, i64 %260
  %invariant.gep1058 = getelementptr double, ptr %3, i64 %261
  %invariant.gep1060 = getelementptr double, ptr %3, i64 %262
  %invariant.gep1062 = getelementptr double, ptr %3, i64 %263
  %invariant.gep1064 = getelementptr double, ptr %3, i64 %264
  %invariant.gep1066 = getelementptr double, ptr %3, i64 %265
  %invariant.gep1068 = getelementptr double, ptr %3, i64 %266
  %invariant.gep1070 = getelementptr double, ptr %3, i64 %267
  %invariant.gep1072 = getelementptr double, ptr %3, i64 %268
  %invariant.gep1074 = getelementptr double, ptr %3, i64 %269
  %invariant.gep1076 = getelementptr double, ptr %3, i64 %270
  br label %271

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

271:                                              ; preds = %.lr.ph, %271
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %271 ]
  %gep = getelementptr double, ptr %invariant.gep, i64 %indvars.iv
  %272 = load double, ptr %gep, align 8, !tbaa !5
  %gep815 = getelementptr double, ptr %invariant.gep814, i64 %indvars.iv
  %273 = load double, ptr %gep815, align 8, !tbaa !5
  %274 = fmul double %273, 0x3FD5A3832341A92A
  %275 = tail call double @llvm.fmuladd.f64(double %272, double 0xC0054B8F9B97CADD, double %274)
  %276 = getelementptr inbounds double, ptr %3, i64 %indvars.iv
  store double %275, ptr %276, align 8, !tbaa !5
  %277 = fmul double %273, 0xBFE8000000000002
  %278 = tail call double @llvm.fmuladd.f64(double %272, double 0x3FE8000000000002, double %277)
  %gep817 = getelementptr double, ptr %invariant.gep816, i64 %indvars.iv
  store double %278, ptr %gep817, align 8, !tbaa !5
  %279 = fmul double %273, 0x40054B8F9B97CADD
  %280 = tail call double @llvm.fmuladd.f64(double %272, double 0xBFD5A3832341A92A, double %279)
  %gep819 = getelementptr double, ptr %invariant.gep818, i64 %indvars.iv
  store double %280, ptr %gep819, align 8, !tbaa !5
  %gep821 = getelementptr double, ptr %invariant.gep820, i64 %indvars.iv
  %281 = load double, ptr %gep821, align 8, !tbaa !5
  %gep823 = getelementptr double, ptr %invariant.gep822, i64 %indvars.iv
  %282 = load double, ptr %gep823, align 8, !tbaa !5
  %283 = fmul double %282, 0x3FD5A3832341A92A
  %284 = tail call double @llvm.fmuladd.f64(double %281, double 0xC0054B8F9B97CADD, double %283)
  %gep825 = getelementptr double, ptr %invariant.gep824, i64 %indvars.iv
  store double %284, ptr %gep825, align 8, !tbaa !5
  %285 = fmul double %282, 0xBFE8000000000002
  %286 = tail call double @llvm.fmuladd.f64(double %281, double 0x3FE8000000000002, double %285)
  %gep827 = getelementptr double, ptr %invariant.gep826, i64 %indvars.iv
  store double %286, ptr %gep827, align 8, !tbaa !5
  %287 = fmul double %282, 0x40054B8F9B97CADD
  %288 = tail call double @llvm.fmuladd.f64(double %281, double 0xBFD5A3832341A92A, double %287)
  %gep829 = getelementptr double, ptr %invariant.gep828, i64 %indvars.iv
  store double %288, ptr %gep829, align 8, !tbaa !5
  %gep831 = getelementptr double, ptr %invariant.gep830, i64 %indvars.iv
  %289 = load double, ptr %gep831, align 8, !tbaa !5
  %gep833 = getelementptr double, ptr %invariant.gep832, i64 %indvars.iv
  %290 = load double, ptr %gep833, align 8, !tbaa !5
  %291 = fmul double %290, 0x3FD5A3832341A92A
  %292 = tail call double @llvm.fmuladd.f64(double %289, double 0xC0054B8F9B97CADD, double %291)
  %gep835 = getelementptr double, ptr %invariant.gep834, i64 %indvars.iv
  store double %292, ptr %gep835, align 8, !tbaa !5
  %293 = fmul double %290, 0xBFE8000000000002
  %294 = tail call double @llvm.fmuladd.f64(double %289, double 0x3FE8000000000002, double %293)
  %gep837 = getelementptr double, ptr %invariant.gep836, i64 %indvars.iv
  store double %294, ptr %gep837, align 8, !tbaa !5
  %295 = fmul double %290, 0x40054B8F9B97CADD
  %296 = tail call double @llvm.fmuladd.f64(double %289, double 0xBFD5A3832341A92A, double %295)
  %gep839 = getelementptr double, ptr %invariant.gep838, i64 %indvars.iv
  store double %296, ptr %gep839, align 8, !tbaa !5
  %gep841 = getelementptr double, ptr %invariant.gep840, i64 %indvars.iv
  %297 = load double, ptr %gep841, align 8, !tbaa !5
  %gep843 = getelementptr double, ptr %invariant.gep842, i64 %indvars.iv
  %298 = load double, ptr %gep843, align 8, !tbaa !5
  %299 = fmul double %298, 0x3FD5A3832341A92A
  %300 = tail call double @llvm.fmuladd.f64(double %297, double 0xC0054B8F9B97CADD, double %299)
  %gep845 = getelementptr double, ptr %invariant.gep844, i64 %indvars.iv
  store double %300, ptr %gep845, align 8, !tbaa !5
  %301 = fmul double %298, 0xBFE8000000000002
  %302 = tail call double @llvm.fmuladd.f64(double %297, double 0x3FE8000000000002, double %301)
  %gep847 = getelementptr double, ptr %invariant.gep846, i64 %indvars.iv
  store double %302, ptr %gep847, align 8, !tbaa !5
  %303 = fmul double %298, 0x40054B8F9B97CADD
  %304 = tail call double @llvm.fmuladd.f64(double %297, double 0xBFD5A3832341A92A, double %303)
  %gep849 = getelementptr double, ptr %invariant.gep848, i64 %indvars.iv
  store double %304, ptr %gep849, align 8, !tbaa !5
  %gep851 = getelementptr double, ptr %invariant.gep850, i64 %indvars.iv
  %305 = load double, ptr %gep851, align 8, !tbaa !5
  %gep853 = getelementptr double, ptr %invariant.gep852, i64 %indvars.iv
  %306 = load double, ptr %gep853, align 8, !tbaa !5
  %307 = fmul double %306, 0x3FD5A3832341A92A
  %308 = tail call double @llvm.fmuladd.f64(double %305, double 0xC0054B8F9B97CADD, double %307)
  %gep855 = getelementptr double, ptr %invariant.gep854, i64 %indvars.iv
  store double %308, ptr %gep855, align 8, !tbaa !5
  %309 = fmul double %306, 0xBFE8000000000002
  %310 = tail call double @llvm.fmuladd.f64(double %305, double 0x3FE8000000000002, double %309)
  %gep857 = getelementptr double, ptr %invariant.gep856, i64 %indvars.iv
  store double %310, ptr %gep857, align 8, !tbaa !5
  %311 = fmul double %306, 0x40054B8F9B97CADD
  %312 = tail call double @llvm.fmuladd.f64(double %305, double 0xBFD5A3832341A92A, double %311)
  %gep859 = getelementptr double, ptr %invariant.gep858, i64 %indvars.iv
  store double %312, ptr %gep859, align 8, !tbaa !5
  %gep861 = getelementptr double, ptr %invariant.gep860, i64 %indvars.iv
  %313 = load double, ptr %gep861, align 8, !tbaa !5
  %gep863 = getelementptr double, ptr %invariant.gep862, i64 %indvars.iv
  %314 = load double, ptr %gep863, align 8, !tbaa !5
  %315 = fmul double %314, 0x3FD5A3832341A92A
  %316 = tail call double @llvm.fmuladd.f64(double %313, double 0xC0054B8F9B97CADD, double %315)
  %gep865 = getelementptr double, ptr %invariant.gep864, i64 %indvars.iv
  store double %316, ptr %gep865, align 8, !tbaa !5
  %317 = fmul double %314, 0xBFE8000000000002
  %318 = tail call double @llvm.fmuladd.f64(double %313, double 0x3FE8000000000002, double %317)
  %gep867 = getelementptr double, ptr %invariant.gep866, i64 %indvars.iv
  store double %318, ptr %gep867, align 8, !tbaa !5
  %319 = fmul double %314, 0x40054B8F9B97CADD
  %320 = tail call double @llvm.fmuladd.f64(double %313, double 0xBFD5A3832341A92A, double %319)
  %gep869 = getelementptr double, ptr %invariant.gep868, i64 %indvars.iv
  store double %320, ptr %gep869, align 8, !tbaa !5
  %gep871 = getelementptr double, ptr %invariant.gep870, i64 %indvars.iv
  %321 = load double, ptr %gep871, align 8, !tbaa !5
  %gep873 = getelementptr double, ptr %invariant.gep872, i64 %indvars.iv
  %322 = load double, ptr %gep873, align 8, !tbaa !5
  %323 = fmul double %322, 0x3FD5A3832341A92A
  %324 = tail call double @llvm.fmuladd.f64(double %321, double 0xC0054B8F9B97CADD, double %323)
  %gep875 = getelementptr double, ptr %invariant.gep874, i64 %indvars.iv
  store double %324, ptr %gep875, align 8, !tbaa !5
  %325 = fmul double %322, 0xBFE8000000000002
  %326 = tail call double @llvm.fmuladd.f64(double %321, double 0x3FE8000000000002, double %325)
  %gep877 = getelementptr double, ptr %invariant.gep876, i64 %indvars.iv
  store double %326, ptr %gep877, align 8, !tbaa !5
  %327 = fmul double %322, 0x40054B8F9B97CADD
  %328 = tail call double @llvm.fmuladd.f64(double %321, double 0xBFD5A3832341A92A, double %327)
  %gep879 = getelementptr double, ptr %invariant.gep878, i64 %indvars.iv
  store double %328, ptr %gep879, align 8, !tbaa !5
  %gep881 = getelementptr double, ptr %invariant.gep880, i64 %indvars.iv
  %329 = load double, ptr %gep881, align 8, !tbaa !5
  %gep883 = getelementptr double, ptr %invariant.gep882, i64 %indvars.iv
  %330 = load double, ptr %gep883, align 8, !tbaa !5
  %331 = fmul double %330, 0x3FD5A3832341A92A
  %332 = tail call double @llvm.fmuladd.f64(double %329, double 0xC0054B8F9B97CADD, double %331)
  %gep885 = getelementptr double, ptr %invariant.gep884, i64 %indvars.iv
  store double %332, ptr %gep885, align 8, !tbaa !5
  %333 = fmul double %330, 0xBFE8000000000002
  %334 = tail call double @llvm.fmuladd.f64(double %329, double 0x3FE8000000000002, double %333)
  %gep887 = getelementptr double, ptr %invariant.gep886, i64 %indvars.iv
  store double %334, ptr %gep887, align 8, !tbaa !5
  %335 = fmul double %330, 0x40054B8F9B97CADD
  %336 = tail call double @llvm.fmuladd.f64(double %329, double 0xBFD5A3832341A92A, double %335)
  %gep889 = getelementptr double, ptr %invariant.gep888, i64 %indvars.iv
  store double %336, ptr %gep889, align 8, !tbaa !5
  %gep891 = getelementptr double, ptr %invariant.gep890, i64 %indvars.iv
  %337 = load double, ptr %gep891, align 8, !tbaa !5
  %gep893 = getelementptr double, ptr %invariant.gep892, i64 %indvars.iv
  %338 = load double, ptr %gep893, align 8, !tbaa !5
  %339 = fmul double %338, 0x3FD5A3832341A92A
  %340 = tail call double @llvm.fmuladd.f64(double %337, double 0xC0054B8F9B97CADD, double %339)
  %gep895 = getelementptr double, ptr %invariant.gep894, i64 %indvars.iv
  store double %340, ptr %gep895, align 8, !tbaa !5
  %341 = fmul double %338, 0xBFE8000000000002
  %342 = tail call double @llvm.fmuladd.f64(double %337, double 0x3FE8000000000002, double %341)
  %gep897 = getelementptr double, ptr %invariant.gep896, i64 %indvars.iv
  store double %342, ptr %gep897, align 8, !tbaa !5
  %343 = fmul double %338, 0x40054B8F9B97CADD
  %344 = tail call double @llvm.fmuladd.f64(double %337, double 0xBFD5A3832341A92A, double %343)
  %gep899 = getelementptr double, ptr %invariant.gep898, i64 %indvars.iv
  store double %344, ptr %gep899, align 8, !tbaa !5
  %gep901 = getelementptr double, ptr %invariant.gep900, i64 %indvars.iv
  %345 = load double, ptr %gep901, align 8, !tbaa !5
  %gep903 = getelementptr double, ptr %invariant.gep902, i64 %indvars.iv
  %346 = load double, ptr %gep903, align 8, !tbaa !5
  %347 = fmul double %346, 0x3FD5A3832341A92A
  %348 = tail call double @llvm.fmuladd.f64(double %345, double 0xC0054B8F9B97CADD, double %347)
  %gep905 = getelementptr double, ptr %invariant.gep904, i64 %indvars.iv
  store double %348, ptr %gep905, align 8, !tbaa !5
  %gep907 = getelementptr double, ptr %invariant.gep906, i64 %indvars.iv
  %349 = load double, ptr %gep907, align 8, !tbaa !5
  %gep909 = getelementptr double, ptr %invariant.gep908, i64 %indvars.iv
  %350 = load double, ptr %gep909, align 8, !tbaa !5
  %351 = fmul double %350, 0x3FD5A3832341A92A
  %352 = tail call double @llvm.fmuladd.f64(double %349, double 0xC0054B8F9B97CADD, double %351)
  %gep911 = getelementptr double, ptr %invariant.gep910, i64 %indvars.iv
  store double %352, ptr %gep911, align 8, !tbaa !5
  %gep913 = getelementptr double, ptr %invariant.gep912, i64 %indvars.iv
  %353 = load double, ptr %gep913, align 8, !tbaa !5
  %gep915 = getelementptr double, ptr %invariant.gep914, i64 %indvars.iv
  %354 = load double, ptr %gep915, align 8, !tbaa !5
  %355 = fmul double %354, 0x3FD5A3832341A92A
  %356 = tail call double @llvm.fmuladd.f64(double %353, double 0xC0054B8F9B97CADD, double %355)
  %gep917 = getelementptr double, ptr %invariant.gep916, i64 %indvars.iv
  store double %356, ptr %gep917, align 8, !tbaa !5
  %357 = fmul double %346, 0xBFE8000000000002
  %358 = tail call double @llvm.fmuladd.f64(double %345, double 0x3FE8000000000002, double %357)
  %gep919 = getelementptr double, ptr %invariant.gep918, i64 %indvars.iv
  store double %358, ptr %gep919, align 8, !tbaa !5
  %359 = fmul double %350, 0xBFE8000000000002
  %360 = tail call double @llvm.fmuladd.f64(double %349, double 0x3FE8000000000002, double %359)
  %gep921 = getelementptr double, ptr %invariant.gep920, i64 %indvars.iv
  store double %360, ptr %gep921, align 8, !tbaa !5
  %361 = fmul double %354, 0xBFE8000000000002
  %362 = tail call double @llvm.fmuladd.f64(double %353, double 0x3FE8000000000002, double %361)
  %gep923 = getelementptr double, ptr %invariant.gep922, i64 %indvars.iv
  store double %362, ptr %gep923, align 8, !tbaa !5
  %363 = fmul double %346, 0x40054B8F9B97CADD
  %364 = tail call double @llvm.fmuladd.f64(double %345, double 0xBFD5A3832341A92A, double %363)
  %gep925 = getelementptr double, ptr %invariant.gep924, i64 %indvars.iv
  store double %364, ptr %gep925, align 8, !tbaa !5
  %365 = fmul double %350, 0x40054B8F9B97CADD
  %366 = tail call double @llvm.fmuladd.f64(double %349, double 0xBFD5A3832341A92A, double %365)
  %gep927 = getelementptr double, ptr %invariant.gep926, i64 %indvars.iv
  store double %366, ptr %gep927, align 8, !tbaa !5
  %367 = fmul double %354, 0x40054B8F9B97CADD
  %368 = tail call double @llvm.fmuladd.f64(double %353, double 0xBFD5A3832341A92A, double %367)
  %gep929 = getelementptr double, ptr %invariant.gep928, i64 %indvars.iv
  store double %368, ptr %gep929, align 8, !tbaa !5
  %gep931 = getelementptr double, ptr %invariant.gep930, i64 %indvars.iv
  %369 = load double, ptr %gep931, align 8, !tbaa !5
  %gep933 = getelementptr double, ptr %invariant.gep932, i64 %indvars.iv
  %370 = load double, ptr %gep933, align 8, !tbaa !5
  %371 = fmul double %370, 0x3FD5A3832341A92A
  %372 = tail call double @llvm.fmuladd.f64(double %369, double 0xC0054B8F9B97CADD, double %371)
  %gep935 = getelementptr double, ptr %invariant.gep934, i64 %indvars.iv
  store double %372, ptr %gep935, align 8, !tbaa !5
  %gep937 = getelementptr double, ptr %invariant.gep936, i64 %indvars.iv
  %373 = load double, ptr %gep937, align 8, !tbaa !5
  %gep939 = getelementptr double, ptr %invariant.gep938, i64 %indvars.iv
  %374 = load double, ptr %gep939, align 8, !tbaa !5
  %375 = fmul double %374, 0x3FD5A3832341A92A
  %376 = tail call double @llvm.fmuladd.f64(double %373, double 0xC0054B8F9B97CADD, double %375)
  %gep941 = getelementptr double, ptr %invariant.gep940, i64 %indvars.iv
  store double %376, ptr %gep941, align 8, !tbaa !5
  %gep943 = getelementptr double, ptr %invariant.gep942, i64 %indvars.iv
  %377 = load double, ptr %gep943, align 8, !tbaa !5
  %gep945 = getelementptr double, ptr %invariant.gep944, i64 %indvars.iv
  %378 = load double, ptr %gep945, align 8, !tbaa !5
  %379 = fmul double %378, 0x3FD5A3832341A92A
  %380 = tail call double @llvm.fmuladd.f64(double %377, double 0xC0054B8F9B97CADD, double %379)
  %gep947 = getelementptr double, ptr %invariant.gep946, i64 %indvars.iv
  store double %380, ptr %gep947, align 8, !tbaa !5
  %381 = fmul double %370, 0xBFE8000000000002
  %382 = tail call double @llvm.fmuladd.f64(double %369, double 0x3FE8000000000002, double %381)
  %gep949 = getelementptr double, ptr %invariant.gep948, i64 %indvars.iv
  store double %382, ptr %gep949, align 8, !tbaa !5
  %383 = fmul double %374, 0xBFE8000000000002
  %384 = tail call double @llvm.fmuladd.f64(double %373, double 0x3FE8000000000002, double %383)
  %gep951 = getelementptr double, ptr %invariant.gep950, i64 %indvars.iv
  store double %384, ptr %gep951, align 8, !tbaa !5
  %385 = fmul double %378, 0xBFE8000000000002
  %386 = tail call double @llvm.fmuladd.f64(double %377, double 0x3FE8000000000002, double %385)
  %gep953 = getelementptr double, ptr %invariant.gep952, i64 %indvars.iv
  store double %386, ptr %gep953, align 8, !tbaa !5
  %387 = fmul double %370, 0x40054B8F9B97CADD
  %388 = tail call double @llvm.fmuladd.f64(double %369, double 0xBFD5A3832341A92A, double %387)
  %gep955 = getelementptr double, ptr %invariant.gep954, i64 %indvars.iv
  store double %388, ptr %gep955, align 8, !tbaa !5
  %389 = fmul double %374, 0x40054B8F9B97CADD
  %390 = tail call double @llvm.fmuladd.f64(double %373, double 0xBFD5A3832341A92A, double %389)
  %gep957 = getelementptr double, ptr %invariant.gep956, i64 %indvars.iv
  store double %390, ptr %gep957, align 8, !tbaa !5
  %391 = fmul double %378, 0x40054B8F9B97CADD
  %392 = tail call double @llvm.fmuladd.f64(double %377, double 0xBFD5A3832341A92A, double %391)
  %gep959 = getelementptr double, ptr %invariant.gep958, i64 %indvars.iv
  store double %392, ptr %gep959, align 8, !tbaa !5
  %gep961 = getelementptr double, ptr %invariant.gep960, i64 %indvars.iv
  %393 = load double, ptr %gep961, align 8, !tbaa !5
  %gep963 = getelementptr double, ptr %invariant.gep962, i64 %indvars.iv
  %394 = load double, ptr %gep963, align 8, !tbaa !5
  %395 = fmul double %394, 0x3FD5A3832341A92A
  %396 = tail call double @llvm.fmuladd.f64(double %393, double 0xC0054B8F9B97CADD, double %395)
  %gep965 = getelementptr double, ptr %invariant.gep964, i64 %indvars.iv
  store double %396, ptr %gep965, align 8, !tbaa !5
  %gep967 = getelementptr double, ptr %invariant.gep966, i64 %indvars.iv
  %397 = load double, ptr %gep967, align 8, !tbaa !5
  %gep969 = getelementptr double, ptr %invariant.gep968, i64 %indvars.iv
  %398 = load double, ptr %gep969, align 8, !tbaa !5
  %399 = fmul double %398, 0x3FD5A3832341A92A
  %400 = tail call double @llvm.fmuladd.f64(double %397, double 0xC0054B8F9B97CADD, double %399)
  %gep971 = getelementptr double, ptr %invariant.gep970, i64 %indvars.iv
  store double %400, ptr %gep971, align 8, !tbaa !5
  %gep973 = getelementptr double, ptr %invariant.gep972, i64 %indvars.iv
  %401 = load double, ptr %gep973, align 8, !tbaa !5
  %gep975 = getelementptr double, ptr %invariant.gep974, i64 %indvars.iv
  %402 = load double, ptr %gep975, align 8, !tbaa !5
  %403 = fmul double %402, 0x3FD5A3832341A92A
  %404 = tail call double @llvm.fmuladd.f64(double %401, double 0xC0054B8F9B97CADD, double %403)
  %gep977 = getelementptr double, ptr %invariant.gep976, i64 %indvars.iv
  store double %404, ptr %gep977, align 8, !tbaa !5
  %405 = fmul double %394, 0xBFE8000000000002
  %406 = tail call double @llvm.fmuladd.f64(double %393, double 0x3FE8000000000002, double %405)
  %gep979 = getelementptr double, ptr %invariant.gep978, i64 %indvars.iv
  store double %406, ptr %gep979, align 8, !tbaa !5
  %407 = fmul double %398, 0xBFE8000000000002
  %408 = tail call double @llvm.fmuladd.f64(double %397, double 0x3FE8000000000002, double %407)
  %gep981 = getelementptr double, ptr %invariant.gep980, i64 %indvars.iv
  store double %408, ptr %gep981, align 8, !tbaa !5
  %409 = fmul double %402, 0xBFE8000000000002
  %410 = tail call double @llvm.fmuladd.f64(double %401, double 0x3FE8000000000002, double %409)
  %gep983 = getelementptr double, ptr %invariant.gep982, i64 %indvars.iv
  store double %410, ptr %gep983, align 8, !tbaa !5
  %411 = fmul double %394, 0x40054B8F9B97CADD
  %412 = tail call double @llvm.fmuladd.f64(double %393, double 0xBFD5A3832341A92A, double %411)
  %gep985 = getelementptr double, ptr %invariant.gep984, i64 %indvars.iv
  store double %412, ptr %gep985, align 8, !tbaa !5
  %413 = fmul double %398, 0x40054B8F9B97CADD
  %414 = tail call double @llvm.fmuladd.f64(double %397, double 0xBFD5A3832341A92A, double %413)
  %gep987 = getelementptr double, ptr %invariant.gep986, i64 %indvars.iv
  store double %414, ptr %gep987, align 8, !tbaa !5
  %415 = fmul double %402, 0x40054B8F9B97CADD
  %416 = tail call double @llvm.fmuladd.f64(double %401, double 0xBFD5A3832341A92A, double %415)
  %gep989 = getelementptr double, ptr %invariant.gep988, i64 %indvars.iv
  store double %416, ptr %gep989, align 8, !tbaa !5
  %417 = getelementptr inbounds double, ptr %1, i64 %indvars.iv
  %418 = load double, ptr %417, align 8, !tbaa !5
  %gep991 = getelementptr double, ptr %invariant.gep990, i64 %indvars.iv
  %419 = load double, ptr %gep991, align 8, !tbaa !5
  %420 = fmul double %419, 0x3FD5A3832341A92A
  %421 = tail call double @llvm.fmuladd.f64(double %418, double 0xC0054B8F9B97CADD, double %420)
  %gep993 = getelementptr double, ptr %invariant.gep992, i64 %indvars.iv
  store double %421, ptr %gep993, align 8, !tbaa !5
  %gep995 = getelementptr double, ptr %invariant.gep994, i64 %indvars.iv
  %422 = load double, ptr %gep995, align 8, !tbaa !5
  %gep997 = getelementptr double, ptr %invariant.gep996, i64 %indvars.iv
  %423 = load double, ptr %gep997, align 8, !tbaa !5
  %424 = fmul double %423, 0x3FD5A3832341A92A
  %425 = tail call double @llvm.fmuladd.f64(double %422, double 0xC0054B8F9B97CADD, double %424)
  %gep999 = getelementptr double, ptr %invariant.gep998, i64 %indvars.iv
  store double %425, ptr %gep999, align 8, !tbaa !5
  %gep1001 = getelementptr double, ptr %invariant.gep1000, i64 %indvars.iv
  %426 = load double, ptr %gep1001, align 8, !tbaa !5
  %gep1003 = getelementptr double, ptr %invariant.gep1002, i64 %indvars.iv
  %427 = load double, ptr %gep1003, align 8, !tbaa !5
  %428 = fmul double %427, 0x3FD5A3832341A92A
  %429 = tail call double @llvm.fmuladd.f64(double %426, double 0xC0054B8F9B97CADD, double %428)
  %gep1005 = getelementptr double, ptr %invariant.gep1004, i64 %indvars.iv
  store double %429, ptr %gep1005, align 8, !tbaa !5
  %gep1007 = getelementptr double, ptr %invariant.gep1006, i64 %indvars.iv
  %430 = load double, ptr %gep1007, align 8, !tbaa !5
  %gep1009 = getelementptr double, ptr %invariant.gep1008, i64 %indvars.iv
  %431 = load double, ptr %gep1009, align 8, !tbaa !5
  %432 = fmul double %431, 0x3FD5A3832341A92A
  %433 = tail call double @llvm.fmuladd.f64(double %430, double 0xC0054B8F9B97CADD, double %432)
  %gep1011 = getelementptr double, ptr %invariant.gep1010, i64 %indvars.iv
  store double %433, ptr %gep1011, align 8, !tbaa !5
  %gep1013 = getelementptr double, ptr %invariant.gep1012, i64 %indvars.iv
  %434 = load double, ptr %gep1013, align 8, !tbaa !5
  %gep1015 = getelementptr double, ptr %invariant.gep1014, i64 %indvars.iv
  %435 = load double, ptr %gep1015, align 8, !tbaa !5
  %436 = fmul double %435, 0x3FD5A3832341A92A
  %437 = tail call double @llvm.fmuladd.f64(double %434, double 0xC0054B8F9B97CADD, double %436)
  %gep1017 = getelementptr double, ptr %invariant.gep1016, i64 %indvars.iv
  store double %437, ptr %gep1017, align 8, !tbaa !5
  %gep1019 = getelementptr double, ptr %invariant.gep1018, i64 %indvars.iv
  %438 = load double, ptr %gep1019, align 8, !tbaa !5
  %gep1021 = getelementptr double, ptr %invariant.gep1020, i64 %indvars.iv
  %439 = load double, ptr %gep1021, align 8, !tbaa !5
  %440 = fmul double %439, 0x3FD5A3832341A92A
  %441 = tail call double @llvm.fmuladd.f64(double %438, double 0xC0054B8F9B97CADD, double %440)
  %gep1023 = getelementptr double, ptr %invariant.gep1022, i64 %indvars.iv
  store double %441, ptr %gep1023, align 8, !tbaa !5
  %gep1025 = getelementptr double, ptr %invariant.gep1024, i64 %indvars.iv
  %442 = load double, ptr %gep1025, align 8, !tbaa !5
  %gep1027 = getelementptr double, ptr %invariant.gep1026, i64 %indvars.iv
  %443 = load double, ptr %gep1027, align 8, !tbaa !5
  %444 = fmul double %443, 0x3FD5A3832341A92A
  %445 = tail call double @llvm.fmuladd.f64(double %442, double 0xC0054B8F9B97CADD, double %444)
  %gep1029 = getelementptr double, ptr %invariant.gep1028, i64 %indvars.iv
  store double %445, ptr %gep1029, align 8, !tbaa !5
  %gep1031 = getelementptr double, ptr %invariant.gep1030, i64 %indvars.iv
  %446 = load double, ptr %gep1031, align 8, !tbaa !5
  %gep1033 = getelementptr double, ptr %invariant.gep1032, i64 %indvars.iv
  %447 = load double, ptr %gep1033, align 8, !tbaa !5
  %448 = fmul double %447, 0x3FD5A3832341A92A
  %449 = tail call double @llvm.fmuladd.f64(double %446, double 0xC0054B8F9B97CADD, double %448)
  %gep1035 = getelementptr double, ptr %invariant.gep1034, i64 %indvars.iv
  store double %449, ptr %gep1035, align 8, !tbaa !5
  %gep1037 = getelementptr double, ptr %invariant.gep1036, i64 %indvars.iv
  %450 = load double, ptr %gep1037, align 8, !tbaa !5
  %gep1039 = getelementptr double, ptr %invariant.gep1038, i64 %indvars.iv
  %451 = load double, ptr %gep1039, align 8, !tbaa !5
  %452 = fmul double %451, 0x3FD5A3832341A92A
  %453 = tail call double @llvm.fmuladd.f64(double %450, double 0xC0054B8F9B97CADD, double %452)
  %gep1041 = getelementptr double, ptr %invariant.gep1040, i64 %indvars.iv
  store double %453, ptr %gep1041, align 8, !tbaa !5
  %454 = fmul double %419, 0xBFE8000000000002
  %455 = tail call double @llvm.fmuladd.f64(double %418, double 0x3FE8000000000002, double %454)
  %gep1043 = getelementptr double, ptr %invariant.gep1042, i64 %indvars.iv
  store double %455, ptr %gep1043, align 8, !tbaa !5
  %456 = fmul double %423, 0xBFE8000000000002
  %457 = tail call double @llvm.fmuladd.f64(double %422, double 0x3FE8000000000002, double %456)
  %gep1045 = getelementptr double, ptr %invariant.gep1044, i64 %indvars.iv
  store double %457, ptr %gep1045, align 8, !tbaa !5
  %458 = fmul double %427, 0xBFE8000000000002
  %459 = tail call double @llvm.fmuladd.f64(double %426, double 0x3FE8000000000002, double %458)
  %gep1047 = getelementptr double, ptr %invariant.gep1046, i64 %indvars.iv
  store double %459, ptr %gep1047, align 8, !tbaa !5
  %460 = fmul double %431, 0xBFE8000000000002
  %461 = tail call double @llvm.fmuladd.f64(double %430, double 0x3FE8000000000002, double %460)
  %gep1049 = getelementptr double, ptr %invariant.gep1048, i64 %indvars.iv
  store double %461, ptr %gep1049, align 8, !tbaa !5
  %462 = fmul double %435, 0xBFE8000000000002
  %463 = tail call double @llvm.fmuladd.f64(double %434, double 0x3FE8000000000002, double %462)
  %gep1051 = getelementptr double, ptr %invariant.gep1050, i64 %indvars.iv
  store double %463, ptr %gep1051, align 8, !tbaa !5
  %464 = fmul double %439, 0xBFE8000000000002
  %465 = tail call double @llvm.fmuladd.f64(double %438, double 0x3FE8000000000002, double %464)
  %gep1053 = getelementptr double, ptr %invariant.gep1052, i64 %indvars.iv
  store double %465, ptr %gep1053, align 8, !tbaa !5
  %466 = fmul double %443, 0xBFE8000000000002
  %467 = tail call double @llvm.fmuladd.f64(double %442, double 0x3FE8000000000002, double %466)
  %gep1055 = getelementptr double, ptr %invariant.gep1054, i64 %indvars.iv
  store double %467, ptr %gep1055, align 8, !tbaa !5
  %468 = fmul double %447, 0xBFE8000000000002
  %469 = tail call double @llvm.fmuladd.f64(double %446, double 0x3FE8000000000002, double %468)
  %gep1057 = getelementptr double, ptr %invariant.gep1056, i64 %indvars.iv
  store double %469, ptr %gep1057, align 8, !tbaa !5
  %470 = fmul double %451, 0xBFE8000000000002
  %471 = tail call double @llvm.fmuladd.f64(double %450, double 0x3FE8000000000002, double %470)
  %gep1059 = getelementptr double, ptr %invariant.gep1058, i64 %indvars.iv
  store double %471, ptr %gep1059, align 8, !tbaa !5
  %472 = fmul double %419, 0x40054B8F9B97CADD
  %473 = tail call double @llvm.fmuladd.f64(double %418, double 0xBFD5A3832341A92A, double %472)
  %gep1061 = getelementptr double, ptr %invariant.gep1060, i64 %indvars.iv
  store double %473, ptr %gep1061, align 8, !tbaa !5
  %474 = fmul double %423, 0x40054B8F9B97CADD
  %475 = tail call double @llvm.fmuladd.f64(double %422, double 0xBFD5A3832341A92A, double %474)
  %gep1063 = getelementptr double, ptr %invariant.gep1062, i64 %indvars.iv
  store double %475, ptr %gep1063, align 8, !tbaa !5
  %476 = fmul double %427, 0x40054B8F9B97CADD
  %477 = tail call double @llvm.fmuladd.f64(double %426, double 0xBFD5A3832341A92A, double %476)
  %gep1065 = getelementptr double, ptr %invariant.gep1064, i64 %indvars.iv
  store double %477, ptr %gep1065, align 8, !tbaa !5
  %478 = fmul double %431, 0x40054B8F9B97CADD
  %479 = tail call double @llvm.fmuladd.f64(double %430, double 0xBFD5A3832341A92A, double %478)
  %gep1067 = getelementptr double, ptr %invariant.gep1066, i64 %indvars.iv
  store double %479, ptr %gep1067, align 8, !tbaa !5
  %480 = fmul double %435, 0x40054B8F9B97CADD
  %481 = tail call double @llvm.fmuladd.f64(double %434, double 0xBFD5A3832341A92A, double %480)
  %gep1069 = getelementptr double, ptr %invariant.gep1068, i64 %indvars.iv
  store double %481, ptr %gep1069, align 8, !tbaa !5
  %482 = fmul double %439, 0x40054B8F9B97CADD
  %483 = tail call double @llvm.fmuladd.f64(double %438, double 0xBFD5A3832341A92A, double %482)
  %gep1071 = getelementptr double, ptr %invariant.gep1070, i64 %indvars.iv
  store double %483, ptr %gep1071, align 8, !tbaa !5
  %484 = fmul double %443, 0x40054B8F9B97CADD
  %485 = tail call double @llvm.fmuladd.f64(double %442, double 0xBFD5A3832341A92A, double %484)
  %gep1073 = getelementptr double, ptr %invariant.gep1072, i64 %indvars.iv
  store double %485, ptr %gep1073, align 8, !tbaa !5
  %486 = fmul double %447, 0x40054B8F9B97CADD
  %487 = tail call double @llvm.fmuladd.f64(double %446, double 0xBFD5A3832341A92A, double %486)
  %gep1075 = getelementptr double, ptr %invariant.gep1074, i64 %indvars.iv
  store double %487, ptr %gep1075, align 8, !tbaa !5
  %488 = fmul double %451, 0x40054B8F9B97CADD
  %489 = tail call double @llvm.fmuladd.f64(double %450, double 0xBFD5A3832341A92A, double %488)
  %gep1077 = getelementptr double, ptr %invariant.gep1076, i64 %indvars.iv
  store double %489, ptr %gep1077, 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 %271, !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