; LLVM IR from aferikoglou/GenHLSOptimizer :: dataset/machsuite-backprop (backprop)

; 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 willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.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: nounwind uwtable
define dso_local void @update_weights(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr noundef %11) #2 {
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca double, align 8
  %28 = alloca double, align 8
  store ptr %0, ptr %13, align 8, !tbaa !5
  store ptr %1, ptr %14, align 8, !tbaa !5
  store ptr %2, ptr %15, align 8, !tbaa !5
  store ptr %3, ptr %16, align 8, !tbaa !5
  store ptr %4, ptr %17, align 8, !tbaa !5
  store ptr %5, ptr %18, align 8, !tbaa !5
  store ptr %6, ptr %19, align 8, !tbaa !5
  store ptr %7, ptr %20, align 8, !tbaa !5
  store ptr %8, ptr %21, align 8, !tbaa !5
  store ptr %9, ptr %22, align 8, !tbaa !5
  store ptr %10, ptr %23, align 8, !tbaa !5
  store ptr %11, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #4
  store double 0.000000e+00, ptr %27, align 8, !tbaa !9
  store double 0.000000e+00, ptr %28, align 8, !tbaa !9
  br label %29

29:                                               ; preds = %12
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %30

30:                                               ; preds = %79, %29
  %31 = load i32, ptr %25, align 4, !tbaa !11
  %32 = icmp slt i32 %31, 13
  br i1 %32, label %33, label %82

33:                                               ; preds = %30
  br label %34

34:                                               ; preds = %33
  store i32 0, ptr %26, align 4, !tbaa !11
  br label %35

35:                                               ; preds = %75, %34
  %36 = load i32, ptr %26, align 4, !tbaa !11
  %37 = icmp slt i32 %36, 64
  br i1 %37, label %38, label %78

38:                                               ; preds = %35
  %39 = load ptr, ptr %16, align 8, !tbaa !5
  %40 = load i32, ptr %25, align 4, !tbaa !11
  %41 = mul nsw i32 %40, 64
  %42 = load i32, ptr %26, align 4, !tbaa !11
  %43 = add nsw i32 %41, %42
  %44 = sext i32 %43 to i64
  %45 = getelementptr inbounds double, ptr %39, i64 %44
  %46 = load double, ptr %45, align 8, !tbaa !9
  %47 = load ptr, ptr %13, align 8, !tbaa !5
  %48 = load i32, ptr %25, align 4, !tbaa !11
  %49 = mul nsw i32 %48, 64
  %50 = load i32, ptr %26, align 4, !tbaa !11
  %51 = add nsw i32 %49, %50
  %52 = sext i32 %51 to i64
  %53 = getelementptr inbounds double, ptr %47, i64 %52
  %54 = load double, ptr %53, align 8, !tbaa !9
  %55 = fneg double %46
  %56 = call double @llvm.fmuladd.f64(double %55, double 1.000000e-02, double %54)
  store double %56, ptr %53, align 8, !tbaa !9
  %57 = load ptr, ptr %13, align 8, !tbaa !5
  %58 = load i32, ptr %25, align 4, !tbaa !11
  %59 = mul nsw i32 %58, 64
  %60 = load i32, ptr %26, align 4, !tbaa !11
  %61 = add nsw i32 %59, %60
  %62 = sext i32 %61 to i64
  %63 = getelementptr inbounds double, ptr %57, i64 %62
  %64 = load double, ptr %63, align 8, !tbaa !9
  %65 = load ptr, ptr %13, align 8, !tbaa !5
  %66 = load i32, ptr %25, align 4, !tbaa !11
  %67 = mul nsw i32 %66, 64
  %68 = load i32, ptr %26, align 4, !tbaa !11
  %69 = add nsw i32 %67, %68
  %70 = sext i32 %69 to i64
  %71 = getelementptr inbounds double, ptr %65, i64 %70
  %72 = load double, ptr %71, align 8, !tbaa !9
  %73 = load double, ptr %27, align 8, !tbaa !9
  %74 = call double @llvm.fmuladd.f64(double %64, double %72, double %73)
  store double %74, ptr %27, align 8, !tbaa !9
  br label %75

75:                                               ; preds = %38
  %76 = load i32, ptr %26, align 4, !tbaa !11
  %77 = add nsw i32 %76, 1
  store i32 %77, ptr %26, align 4, !tbaa !11
  br label %35, !llvm.loop !13

78:                                               ; preds = %35
  br label %79

79:                                               ; preds = %78
  %80 = load i32, ptr %25, align 4, !tbaa !11
  %81 = add nsw i32 %80, 1
  store i32 %81, ptr %25, align 4, !tbaa !11
  br label %30, !llvm.loop !15

82:                                               ; preds = %30
  br label %83

83:                                               ; preds = %82
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %84

84:                                               ; preds = %112, %83
  %85 = load i32, ptr %25, align 4, !tbaa !11
  %86 = icmp slt i32 %85, 64
  br i1 %86, label %87, label %115

87:                                               ; preds = %84
  %88 = load ptr, ptr %22, align 8, !tbaa !5
  %89 = load i32, ptr %25, align 4, !tbaa !11
  %90 = sext i32 %89 to i64
  %91 = getelementptr inbounds double, ptr %88, i64 %90
  %92 = load double, ptr %91, align 8, !tbaa !9
  %93 = load ptr, ptr %19, align 8, !tbaa !5
  %94 = load i32, ptr %25, align 4, !tbaa !11
  %95 = sext i32 %94 to i64
  %96 = getelementptr inbounds double, ptr %93, i64 %95
  %97 = load double, ptr %96, align 8, !tbaa !9
  %98 = fneg double %92
  %99 = call double @llvm.fmuladd.f64(double %98, double 1.000000e-02, double %97)
  store double %99, ptr %96, align 8, !tbaa !9
  %100 = load ptr, ptr %19, align 8, !tbaa !5
  %101 = load i32, ptr %25, align 4, !tbaa !11
  %102 = sext i32 %101 to i64
  %103 = getelementptr inbounds double, ptr %100, i64 %102
  %104 = load double, ptr %103, align 8, !tbaa !9
  %105 = load ptr, ptr %19, align 8, !tbaa !5
  %106 = load i32, ptr %25, align 4, !tbaa !11
  %107 = sext i32 %106 to i64
  %108 = getelementptr inbounds double, ptr %105, i64 %107
  %109 = load double, ptr %108, align 8, !tbaa !9
  %110 = load double, ptr %28, align 8, !tbaa !9
  %111 = call double @llvm.fmuladd.f64(double %104, double %109, double %110)
  store double %111, ptr %28, align 8, !tbaa !9
  br label %112

112:                                              ; preds = %87
  %113 = load i32, ptr %25, align 4, !tbaa !11
  %114 = add nsw i32 %113, 1
  store i32 %114, ptr %25, align 4, !tbaa !11
  br label %84, !llvm.loop !16

115:                                              ; preds = %84
  %116 = load double, ptr %27, align 8, !tbaa !9
  %117 = call double @sqrt(double noundef %116) #4
  store double %117, ptr %27, align 8, !tbaa !9
  %118 = load double, ptr %28, align 8, !tbaa !9
  %119 = call double @sqrt(double noundef %118) #4
  store double %119, ptr %28, align 8, !tbaa !9
  br label %120

120:                                              ; preds = %115
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %121

121:                                              ; preds = %151, %120
  %122 = load i32, ptr %25, align 4, !tbaa !11
  %123 = icmp slt i32 %122, 13
  br i1 %123, label %124, label %154

124:                                              ; preds = %121
  br label %125

125:                                              ; preds = %124
  store i32 0, ptr %26, align 4, !tbaa !11
  br label %126

126:                                              ; preds = %147, %125
  %127 = load i32, ptr %26, align 4, !tbaa !11
  %128 = icmp slt i32 %127, 64
  br i1 %128, label %129, label %150

129:                                              ; preds = %126
  %130 = load ptr, ptr %13, align 8, !tbaa !5
  %131 = load i32, ptr %25, align 4, !tbaa !11
  %132 = mul nsw i32 %131, 64
  %133 = load i32, ptr %26, align 4, !tbaa !11
  %134 = add nsw i32 %132, %133
  %135 = sext i32 %134 to i64
  %136 = getelementptr inbounds double, ptr %130, i64 %135
  %137 = load double, ptr %136, align 8, !tbaa !9
  %138 = load double, ptr %27, align 8, !tbaa !9
  %139 = fdiv double %137, %138
  %140 = load ptr, ptr %13, align 8, !tbaa !5
  %141 = load i32, ptr %25, align 4, !tbaa !11
  %142 = mul nsw i32 %141, 64
  %143 = load i32, ptr %26, align 4, !tbaa !11
  %144 = add nsw i32 %142, %143
  %145 = sext i32 %144 to i64
  %146 = getelementptr inbounds double, ptr %140, i64 %145
  store double %139, ptr %146, align 8, !tbaa !9
  br label %147

147:                                              ; preds = %129
  %148 = load i32, ptr %26, align 4, !tbaa !11
  %149 = add nsw i32 %148, 1
  store i32 %149, ptr %26, align 4, !tbaa !11
  br label %126, !llvm.loop !17

150:                                              ; preds = %126
  br label %151

151:                                              ; preds = %150
  %152 = load i32, ptr %25, align 4, !tbaa !11
  %153 = add nsw i32 %152, 1
  store i32 %153, ptr %25, align 4, !tbaa !11
  br label %121, !llvm.loop !18

154:                                              ; preds = %121
  br label %155

155:                                              ; preds = %154
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %156

156:                                              ; preds = %171, %155
  %157 = load i32, ptr %25, align 4, !tbaa !11
  %158 = icmp slt i32 %157, 64
  br i1 %158, label %159, label %174

159:                                              ; preds = %156
  %160 = load ptr, ptr %19, align 8, !tbaa !5
  %161 = load i32, ptr %25, align 4, !tbaa !11
  %162 = sext i32 %161 to i64
  %163 = getelementptr inbounds double, ptr %160, i64 %162
  %164 = load double, ptr %163, align 8, !tbaa !9
  %165 = load double, ptr %28, align 8, !tbaa !9
  %166 = fdiv double %164, %165
  %167 = load ptr, ptr %19, align 8, !tbaa !5
  %168 = load i32, ptr %25, align 4, !tbaa !11
  %169 = sext i32 %168 to i64
  %170 = getelementptr inbounds double, ptr %167, i64 %169
  store double %166, ptr %170, align 8, !tbaa !9
  br label %171

171:                                              ; preds = %159
  %172 = load i32, ptr %25, align 4, !tbaa !11
  %173 = add nsw i32 %172, 1
  store i32 %173, ptr %25, align 4, !tbaa !11
  br label %156, !llvm.loop !19

174:                                              ; preds = %156
  store double 0.000000e+00, ptr %27, align 8, !tbaa !9
  store double 0.000000e+00, ptr %28, align 8, !tbaa !9
  br label %175

175:                                              ; preds = %174
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %176

176:                                              ; preds = %225, %175
  %177 = load i32, ptr %25, align 4, !tbaa !11
  %178 = icmp slt i32 %177, 64
  br i1 %178, label %179, label %228

179:                                              ; preds = %176
  br label %180

180:                                              ; preds = %179
  store i32 0, ptr %26, align 4, !tbaa !11
  br label %181

181:                                              ; preds = %221, %180
  %182 = load i32, ptr %26, align 4, !tbaa !11
  %183 = icmp slt i32 %182, 64
  br i1 %183, label %184, label %224

184:                                              ; preds = %181
  %185 = load ptr, ptr %17, align 8, !tbaa !5
  %186 = load i32, ptr %25, align 4, !tbaa !11
  %187 = mul nsw i32 %186, 64
  %188 = load i32, ptr %26, align 4, !tbaa !11
  %189 = add nsw i32 %187, %188
  %190 = sext i32 %189 to i64
  %191 = getelementptr inbounds double, ptr %185, i64 %190
  %192 = load double, ptr %191, align 8, !tbaa !9
  %193 = load ptr, ptr %14, align 8, !tbaa !5
  %194 = load i32, ptr %25, align 4, !tbaa !11
  %195 = mul nsw i32 %194, 64
  %196 = load i32, ptr %26, align 4, !tbaa !11
  %197 = add nsw i32 %195, %196
  %198 = sext i32 %197 to i64
  %199 = getelementptr inbounds double, ptr %193, i64 %198
  %200 = load double, ptr %199, align 8, !tbaa !9
  %201 = fneg double %192
  %202 = call double @llvm.fmuladd.f64(double %201, double 1.000000e-02, double %200)
  store double %202, ptr %199, align 8, !tbaa !9
  %203 = load ptr, ptr %14, align 8, !tbaa !5
  %204 = load i32, ptr %25, align 4, !tbaa !11
  %205 = mul nsw i32 %204, 64
  %206 = load i32, ptr %26, align 4, !tbaa !11
  %207 = add nsw i32 %205, %206
  %208 = sext i32 %207 to i64
  %209 = getelementptr inbounds double, ptr %203, i64 %208
  %210 = load double, ptr %209, align 8, !tbaa !9
  %211 = load ptr, ptr %14, align 8, !tbaa !5
  %212 = load i32, ptr %25, align 4, !tbaa !11
  %213 = mul nsw i32 %212, 64
  %214 = load i32, ptr %26, align 4, !tbaa !11
  %215 = add nsw i32 %213, %214
  %216 = sext i32 %215 to i64
  %217 = getelementptr inbounds double, ptr %211, i64 %216
  %218 = load double, ptr %217, align 8, !tbaa !9
  %219 = load double, ptr %27, align 8, !tbaa !9
  %220 = call double @llvm.fmuladd.f64(double %210, double %218, double %219)
  store double %220, ptr %27, align 8, !tbaa !9
  br label %221

221:                                              ; preds = %184
  %222 = load i32, ptr %26, align 4, !tbaa !11
  %223 = add nsw i32 %222, 1
  store i32 %223, ptr %26, align 4, !tbaa !11
  br label %181, !llvm.loop !20

224:                                              ; preds = %181
  br label %225

225:                                              ; preds = %224
  %226 = load i32, ptr %25, align 4, !tbaa !11
  %227 = add nsw i32 %226, 1
  store i32 %227, ptr %25, align 4, !tbaa !11
  br label %176, !llvm.loop !21

228:                                              ; preds = %176
  br label %229

229:                                              ; preds = %228
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %230

230:                                              ; preds = %258, %229
  %231 = load i32, ptr %25, align 4, !tbaa !11
  %232 = icmp slt i32 %231, 64
  br i1 %232, label %233, label %261

233:                                              ; preds = %230
  %234 = load ptr, ptr %23, align 8, !tbaa !5
  %235 = load i32, ptr %25, align 4, !tbaa !11
  %236 = sext i32 %235 to i64
  %237 = getelementptr inbounds double, ptr %234, i64 %236
  %238 = load double, ptr %237, align 8, !tbaa !9
  %239 = load ptr, ptr %20, align 8, !tbaa !5
  %240 = load i32, ptr %25, align 4, !tbaa !11
  %241 = sext i32 %240 to i64
  %242 = getelementptr inbounds double, ptr %239, i64 %241
  %243 = load double, ptr %242, align 8, !tbaa !9
  %244 = fneg double %238
  %245 = call double @llvm.fmuladd.f64(double %244, double 1.000000e-02, double %243)
  store double %245, ptr %242, align 8, !tbaa !9
  %246 = load ptr, ptr %20, align 8, !tbaa !5
  %247 = load i32, ptr %25, align 4, !tbaa !11
  %248 = sext i32 %247 to i64
  %249 = getelementptr inbounds double, ptr %246, i64 %248
  %250 = load double, ptr %249, align 8, !tbaa !9
  %251 = load ptr, ptr %20, align 8, !tbaa !5
  %252 = load i32, ptr %25, align 4, !tbaa !11
  %253 = sext i32 %252 to i64
  %254 = getelementptr inbounds double, ptr %251, i64 %253
  %255 = load double, ptr %254, align 8, !tbaa !9
  %256 = load double, ptr %28, align 8, !tbaa !9
  %257 = call double @llvm.fmuladd.f64(double %250, double %255, double %256)
  store double %257, ptr %28, align 8, !tbaa !9
  br label %258

258:                                              ; preds = %233
  %259 = load i32, ptr %25, align 4, !tbaa !11
  %260 = add nsw i32 %259, 1
  store i32 %260, ptr %25, align 4, !tbaa !11
  br label %230, !llvm.loop !22

261:                                              ; preds = %230
  %262 = load double, ptr %27, align 8, !tbaa !9
  %263 = call double @sqrt(double noundef %262) #4
  store double %263, ptr %27, align 8, !tbaa !9
  %264 = load double, ptr %28, align 8, !tbaa !9
  %265 = call double @sqrt(double noundef %264) #4
  store double %265, ptr %28, align 8, !tbaa !9
  br label %266

266:                                              ; preds = %261
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %267

267:                                              ; preds = %297, %266
  %268 = load i32, ptr %25, align 4, !tbaa !11
  %269 = icmp slt i32 %268, 64
  br i1 %269, label %270, label %300

270:                                              ; preds = %267
  br label %271

271:                                              ; preds = %270
  store i32 0, ptr %26, align 4, !tbaa !11
  br label %272

272:                                              ; preds = %293, %271
  %273 = load i32, ptr %26, align 4, !tbaa !11
  %274 = icmp slt i32 %273, 64
  br i1 %274, label %275, label %296

275:                                              ; preds = %272
  %276 = load ptr, ptr %14, align 8, !tbaa !5
  %277 = load i32, ptr %25, align 4, !tbaa !11
  %278 = mul nsw i32 %277, 64
  %279 = load i32, ptr %26, align 4, !tbaa !11
  %280 = add nsw i32 %278, %279
  %281 = sext i32 %280 to i64
  %282 = getelementptr inbounds double, ptr %276, i64 %281
  %283 = load double, ptr %282, align 8, !tbaa !9
  %284 = load double, ptr %27, align 8, !tbaa !9
  %285 = fdiv double %283, %284
  %286 = load ptr, ptr %14, align 8, !tbaa !5
  %287 = load i32, ptr %25, align 4, !tbaa !11
  %288 = mul nsw i32 %287, 64
  %289 = load i32, ptr %26, align 4, !tbaa !11
  %290 = add nsw i32 %288, %289
  %291 = sext i32 %290 to i64
  %292 = getelementptr inbounds double, ptr %286, i64 %291
  store double %285, ptr %292, align 8, !tbaa !9
  br label %293

293:                                              ; preds = %275
  %294 = load i32, ptr %26, align 4, !tbaa !11
  %295 = add nsw i32 %294, 1
  store i32 %295, ptr %26, align 4, !tbaa !11
  br label %272, !llvm.loop !23

296:                                              ; preds = %272
  br label %297

297:                                              ; preds = %296
  %298 = load i32, ptr %25, align 4, !tbaa !11
  %299 = add nsw i32 %298, 1
  store i32 %299, ptr %25, align 4, !tbaa !11
  br label %267, !llvm.loop !24

300:                                              ; preds = %267
  br label %301

301:                                              ; preds = %300
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %302

302:                                              ; preds = %317, %301
  %303 = load i32, ptr %25, align 4, !tbaa !11
  %304 = icmp slt i32 %303, 64
  br i1 %304, label %305, label %320

305:                                              ; preds = %302
  %306 = load ptr, ptr %20, align 8, !tbaa !5
  %307 = load i32, ptr %25, align 4, !tbaa !11
  %308 = sext i32 %307 to i64
  %309 = getelementptr inbounds double, ptr %306, i64 %308
  %310 = load double, ptr %309, align 8, !tbaa !9
  %311 = load double, ptr %28, align 8, !tbaa !9
  %312 = fdiv double %310, %311
  %313 = load ptr, ptr %20, align 8, !tbaa !5
  %314 = load i32, ptr %25, align 4, !tbaa !11
  %315 = sext i32 %314 to i64
  %316 = getelementptr inbounds double, ptr %313, i64 %315
  store double %312, ptr %316, align 8, !tbaa !9
  br label %317

317:                                              ; preds = %305
  %318 = load i32, ptr %25, align 4, !tbaa !11
  %319 = add nsw i32 %318, 1
  store i32 %319, ptr %25, align 4, !tbaa !11
  br label %302, !llvm.loop !25

320:                                              ; preds = %302
  store double 0.000000e+00, ptr %27, align 8, !tbaa !9
  store double 0.000000e+00, ptr %28, align 8, !tbaa !9
  br label %321

321:                                              ; preds = %320
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %322

322:                                              ; preds = %371, %321
  %323 = load i32, ptr %25, align 4, !tbaa !11
  %324 = icmp slt i32 %323, 64
  br i1 %324, label %325, label %374

325:                                              ; preds = %322
  br label %326

326:                                              ; preds = %325
  store i32 0, ptr %26, align 4, !tbaa !11
  br label %327

327:                                              ; preds = %367, %326
  %328 = load i32, ptr %26, align 4, !tbaa !11
  %329 = icmp slt i32 %328, 3
  br i1 %329, label %330, label %370

330:                                              ; preds = %327
  %331 = load ptr, ptr %18, align 8, !tbaa !5
  %332 = load i32, ptr %25, align 4, !tbaa !11
  %333 = mul nsw i32 %332, 3
  %334 = load i32, ptr %26, align 4, !tbaa !11
  %335 = add nsw i32 %333, %334
  %336 = sext i32 %335 to i64
  %337 = getelementptr inbounds double, ptr %331, i64 %336
  %338 = load double, ptr %337, align 8, !tbaa !9
  %339 = load ptr, ptr %15, align 8, !tbaa !5
  %340 = load i32, ptr %25, align 4, !tbaa !11
  %341 = mul nsw i32 %340, 3
  %342 = load i32, ptr %26, align 4, !tbaa !11
  %343 = add nsw i32 %341, %342
  %344 = sext i32 %343 to i64
  %345 = getelementptr inbounds double, ptr %339, i64 %344
  %346 = load double, ptr %345, align 8, !tbaa !9
  %347 = fneg double %338
  %348 = call double @llvm.fmuladd.f64(double %347, double 1.000000e-02, double %346)
  store double %348, ptr %345, align 8, !tbaa !9
  %349 = load ptr, ptr %15, align 8, !tbaa !5
  %350 = load i32, ptr %25, align 4, !tbaa !11
  %351 = mul nsw i32 %350, 3
  %352 = load i32, ptr %26, align 4, !tbaa !11
  %353 = add nsw i32 %351, %352
  %354 = sext i32 %353 to i64
  %355 = getelementptr inbounds double, ptr %349, i64 %354
  %356 = load double, ptr %355, align 8, !tbaa !9
  %357 = load ptr, ptr %15, align 8, !tbaa !5
  %358 = load i32, ptr %25, align 4, !tbaa !11
  %359 = mul nsw i32 %358, 3
  %360 = load i32, ptr %26, align 4, !tbaa !11
  %361 = add nsw i32 %359, %360
  %362 = sext i32 %361 to i64
  %363 = getelementptr inbounds double, ptr %357, i64 %362
  %364 = load double, ptr %363, align 8, !tbaa !9
  %365 = load double, ptr %27, align 8, !tbaa !9
  %366 = call double @llvm.fmuladd.f64(double %356, double %364, double %365)
  store double %366, ptr %27, align 8, !tbaa !9
  br label %367

367:                                              ; preds = %330
  %368 = load i32, ptr %26, align 4, !tbaa !11
  %369 = add nsw i32 %368, 1
  store i32 %369, ptr %26, align 4, !tbaa !11
  br label %327, !llvm.loop !26

370:                                              ; preds = %327
  br label %371

371:                                              ; preds = %370
  %372 = load i32, ptr %25, align 4, !tbaa !11
  %373 = add nsw i32 %372, 1
  store i32 %373, ptr %25, align 4, !tbaa !11
  br label %322, !llvm.loop !27

374:                                              ; preds = %322
  br label %375

375:                                              ; preds = %374
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %376

376:                                              ; preds = %404, %375
  %377 = load i32, ptr %25, align 4, !tbaa !11
  %378 = icmp slt i32 %377, 3
  br i1 %378, label %379, label %407

379:                                              ; preds = %376
  %380 = load ptr, ptr %24, align 8, !tbaa !5
  %381 = load i32, ptr %25, align 4, !tbaa !11
  %382 = sext i32 %381 to i64
  %383 = getelementptr inbounds double, ptr %380, i64 %382
  %384 = load double, ptr %383, align 8, !tbaa !9
  %385 = load ptr, ptr %21, align 8, !tbaa !5
  %386 = load i32, ptr %25, align 4, !tbaa !11
  %387 = sext i32 %386 to i64
  %388 = getelementptr inbounds double, ptr %385, i64 %387
  %389 = load double, ptr %388, align 8, !tbaa !9
  %390 = fneg double %384
  %391 = call double @llvm.fmuladd.f64(double %390, double 1.000000e-02, double %389)
  store double %391, ptr %388, align 8, !tbaa !9
  %392 = load ptr, ptr %21, align 8, !tbaa !5
  %393 = load i32, ptr %25, align 4, !tbaa !11
  %394 = sext i32 %393 to i64
  %395 = getelementptr inbounds double, ptr %392, i64 %394
  %396 = load double, ptr %395, align 8, !tbaa !9
  %397 = load ptr, ptr %21, align 8, !tbaa !5
  %398 = load i32, ptr %25, align 4, !tbaa !11
  %399 = sext i32 %398 to i64
  %400 = getelementptr inbounds double, ptr %397, i64 %399
  %401 = load double, ptr %400, align 8, !tbaa !9
  %402 = load double, ptr %28, align 8, !tbaa !9
  %403 = call double @llvm.fmuladd.f64(double %396, double %401, double %402)
  store double %403, ptr %28, align 8, !tbaa !9
  br label %404

404:                                              ; preds = %379
  %405 = load i32, ptr %25, align 4, !tbaa !11
  %406 = add nsw i32 %405, 1
  store i32 %406, ptr %25, align 4, !tbaa !11
  br label %376, !llvm.loop !28

407:                                              ; preds = %376
  %408 = load double, ptr %27, align 8, !tbaa !9
  %409 = call double @sqrt(double noundef %408) #4
  store double %409, ptr %27, align 8, !tbaa !9
  %410 = load double, ptr %28, align 8, !tbaa !9
  %411 = call double @sqrt(double noundef %410) #4
  store double %411, ptr %28, align 8, !tbaa !9
  br label %412

412:                                              ; preds = %407
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %413

413:                                              ; preds = %443, %412
  %414 = load i32, ptr %25, align 4, !tbaa !11
  %415 = icmp slt i32 %414, 64
  br i1 %415, label %416, label %446

416:                                              ; preds = %413
  br label %417

417:                                              ; preds = %416
  store i32 0, ptr %26, align 4, !tbaa !11
  br label %418

418:                                              ; preds = %439, %417
  %419 = load i32, ptr %26, align 4, !tbaa !11
  %420 = icmp slt i32 %419, 3
  br i1 %420, label %421, label %442

421:                                              ; preds = %418
  %422 = load ptr, ptr %15, align 8, !tbaa !5
  %423 = load i32, ptr %25, align 4, !tbaa !11
  %424 = mul nsw i32 %423, 3
  %425 = load i32, ptr %26, align 4, !tbaa !11
  %426 = add nsw i32 %424, %425
  %427 = sext i32 %426 to i64
  %428 = getelementptr inbounds double, ptr %422, i64 %427
  %429 = load double, ptr %428, align 8, !tbaa !9
  %430 = load double, ptr %27, align 8, !tbaa !9
  %431 = fdiv double %429, %430
  %432 = load ptr, ptr %15, align 8, !tbaa !5
  %433 = load i32, ptr %25, align 4, !tbaa !11
  %434 = mul nsw i32 %433, 3
  %435 = load i32, ptr %26, align 4, !tbaa !11
  %436 = add nsw i32 %434, %435
  %437 = sext i32 %436 to i64
  %438 = getelementptr inbounds double, ptr %432, i64 %437
  store double %431, ptr %438, align 8, !tbaa !9
  br label %439

439:                                              ; preds = %421
  %440 = load i32, ptr %26, align 4, !tbaa !11
  %441 = add nsw i32 %440, 1
  store i32 %441, ptr %26, align 4, !tbaa !11
  br label %418, !llvm.loop !29

442:                                              ; preds = %418
  br label %443

443:                                              ; preds = %442
  %444 = load i32, ptr %25, align 4, !tbaa !11
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr %25, align 4, !tbaa !11
  br label %413, !llvm.loop !30

446:                                              ; preds = %413
  br label %447

447:                                              ; preds = %446
  store i32 0, ptr %25, align 4, !tbaa !11
  br label %448

448:                                              ; preds = %463, %447
  %449 = load i32, ptr %25, align 4, !tbaa !11
  %450 = icmp slt i32 %449, 3
  br i1 %450, label %451, label %466

451:                                              ; preds = %448
  %452 = load ptr, ptr %21, align 8, !tbaa !5
  %453 = load i32, ptr %25, align 4, !tbaa !11
  %454 = sext i32 %453 to i64
  %455 = getelementptr inbounds double, ptr %452, i64 %454
  %456 = load double, ptr %455, align 8, !tbaa !9
  %457 = load double, ptr %28, align 8, !tbaa !9
  %458 = fdiv double %456, %457
  %459 = load ptr, ptr %21, align 8, !tbaa !5
  %460 = load i32, ptr %25, align 4, !tbaa !11
  %461 = sext i32 %460 to i64
  %462 = getelementptr inbounds double, ptr %459, i64 %461
  store double %458, ptr %462, align 8, !tbaa !9
  br label %463

463:                                              ; preds = %451
  %464 = load i32, ptr %25, align 4, !tbaa !11
  %465 = add nsw i32 %464, 1
  store i32 %465, ptr %25, align 4, !tbaa !11
  br label %448, !llvm.loop !31

466:                                              ; preds = %448
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #4
  ret void
}

; Function Attrs: nounwind
declare double @sqrt(double noundef) #3

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 "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 #4 = { 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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}
!23 = distinct !{!23, !14}
!24 = distinct !{!24, !14}
!25 = distinct !{!25, !14}
!26 = distinct !{!26, !14}
!27 = distinct !{!27, !14}
!28 = distinct !{!28, !14}
!29 = distinct !{!29, !14}
!30 = distinct !{!30, !14}
!31 = distinct !{!31, !14}


; 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 nounwind memory(write, argmem: readwrite) uwtable
define dso_local void @update_weights(ptr nocapture noundef %0, ptr nocapture noundef %1, ptr nocapture noundef %2, ptr nocapture noundef readonly %3, ptr nocapture noundef readonly %4, ptr nocapture noundef readonly %5, ptr nocapture noundef %6, ptr nocapture noundef %7, ptr nocapture noundef %8, ptr nocapture noundef readonly %9, ptr nocapture noundef readonly %10, ptr nocapture noundef readonly %11) local_unnamed_addr #1 {
.preheader170:
  br label %12

12:                                               ; preds = %12, %.preheader170
  %indvars.iv = phi i64 [ 0, %.preheader170 ], [ %indvars.iv.next.1511, %12 ]
  %.1144172 = phi double [ 0.000000e+00, %.preheader170 ], [ %26, %12 ]
  %13 = getelementptr inbounds double, ptr %3, i64 %indvars.iv
  %14 = load double, ptr %13, align 8, !tbaa !5
  %15 = getelementptr inbounds double, ptr %0, i64 %indvars.iv
  %16 = load double, ptr %15, align 8, !tbaa !5
  %17 = fneg double %14
  %18 = tail call double @llvm.fmuladd.f64(double %17, double 1.000000e-02, double %16)
  store double %18, ptr %15, align 8, !tbaa !5
  %19 = tail call double @llvm.fmuladd.f64(double %18, double %18, double %.1144172)
  %indvars.iv.next = or disjoint i64 %indvars.iv, 1
  %20 = getelementptr inbounds double, ptr %3, i64 %indvars.iv.next
  %21 = load double, ptr %20, align 8, !tbaa !5
  %22 = getelementptr inbounds double, ptr %0, i64 %indvars.iv.next
  %23 = load double, ptr %22, align 8, !tbaa !5
  %24 = fneg double %21
  %25 = tail call double @llvm.fmuladd.f64(double %24, double 1.000000e-02, double %23)
  store double %25, ptr %22, align 8, !tbaa !5
  %26 = tail call double @llvm.fmuladd.f64(double %25, double %25, double %19)
  %indvars.iv.next.1511 = add nuw nsw i64 %indvars.iv, 2
  %exitcond.not.1 = icmp eq i64 %indvars.iv.next.1511, 64
  br i1 %exitcond.not.1, label %.preheader170.1, label %12, !llvm.loop !9

.preheader170.1:                                  ; preds = %12, %.preheader170.1
  %indvars.iv.1 = phi i64 [ %indvars.iv.next.1.1, %.preheader170.1 ], [ 0, %12 ]
  %.1144172.1 = phi double [ %42, %.preheader170.1 ], [ %26, %12 ]
  %27 = add nuw nsw i64 %indvars.iv.1, 64
  %28 = getelementptr inbounds double, ptr %3, i64 %27
  %29 = load double, ptr %28, align 8, !tbaa !5
  %30 = getelementptr inbounds double, ptr %0, i64 %27
  %31 = load double, ptr %30, align 8, !tbaa !5
  %32 = fneg double %29
  %33 = tail call double @llvm.fmuladd.f64(double %32, double 1.000000e-02, double %31)
  store double %33, ptr %30, align 8, !tbaa !5
  %34 = tail call double @llvm.fmuladd.f64(double %33, double %33, double %.1144172.1)
  %35 = add nuw nsw i64 %indvars.iv.1, 65
  %36 = getelementptr inbounds double, ptr %3, i64 %35
  %37 = load double, ptr %36, align 8, !tbaa !5
  %38 = getelementptr inbounds double, ptr %0, i64 %35
  %39 = load double, ptr %38, align 8, !tbaa !5
  %40 = fneg double %37
  %41 = tail call double @llvm.fmuladd.f64(double %40, double 1.000000e-02, double %39)
  store double %41, ptr %38, align 8, !tbaa !5
  %42 = tail call double @llvm.fmuladd.f64(double %41, double %41, double %34)
  %indvars.iv.next.1.1 = add nuw nsw i64 %indvars.iv.1, 2
  %exitcond.1.not.1 = icmp eq i64 %indvars.iv.next.1.1, 64
  br i1 %exitcond.1.not.1, label %.preheader170.2, label %.preheader170.1, !llvm.loop !9

.preheader170.2:                                  ; preds = %.preheader170.1, %.preheader170.2
  %indvars.iv.2 = phi i64 [ %indvars.iv.next.2.1, %.preheader170.2 ], [ 0, %.preheader170.1 ]
  %.1144172.2 = phi double [ %58, %.preheader170.2 ], [ %42, %.preheader170.1 ]
  %43 = add nuw nsw i64 %indvars.iv.2, 128
  %44 = getelementptr inbounds double, ptr %3, i64 %43
  %45 = load double, ptr %44, align 8, !tbaa !5
  %46 = getelementptr inbounds double, ptr %0, i64 %43
  %47 = load double, ptr %46, align 8, !tbaa !5
  %48 = fneg double %45
  %49 = tail call double @llvm.fmuladd.f64(double %48, double 1.000000e-02, double %47)
  store double %49, ptr %46, align 8, !tbaa !5
  %50 = tail call double @llvm.fmuladd.f64(double %49, double %49, double %.1144172.2)
  %51 = add nuw nsw i64 %indvars.iv.2, 129
  %52 = getelementptr inbounds double, ptr %3, i64 %51
  %53 = load double, ptr %52, align 8, !tbaa !5
  %54 = getelementptr inbounds double, ptr %0, i64 %51
  %55 = load double, ptr %54, align 8, !tbaa !5
  %56 = fneg double %53
  %57 = tail call double @llvm.fmuladd.f64(double %56, double 1.000000e-02, double %55)
  store double %57, ptr %54, align 8, !tbaa !5
  %58 = tail call double @llvm.fmuladd.f64(double %57, double %57, double %50)
  %indvars.iv.next.2.1 = add nuw nsw i64 %indvars.iv.2, 2
  %exitcond.2.not.1 = icmp eq i64 %indvars.iv.next.2.1, 64
  br i1 %exitcond.2.not.1, label %.preheader170.3, label %.preheader170.2, !llvm.loop !9

.preheader170.3:                                  ; preds = %.preheader170.2, %.preheader170.3
  %indvars.iv.3 = phi i64 [ %indvars.iv.next.3.1, %.preheader170.3 ], [ 0, %.preheader170.2 ]
  %.1144172.3 = phi double [ %74, %.preheader170.3 ], [ %58, %.preheader170.2 ]
  %59 = add nuw nsw i64 %indvars.iv.3, 192
  %60 = getelementptr inbounds double, ptr %3, i64 %59
  %61 = load double, ptr %60, align 8, !tbaa !5
  %62 = getelementptr inbounds double, ptr %0, i64 %59
  %63 = load double, ptr %62, align 8, !tbaa !5
  %64 = fneg double %61
  %65 = tail call double @llvm.fmuladd.f64(double %64, double 1.000000e-02, double %63)
  store double %65, ptr %62, align 8, !tbaa !5
  %66 = tail call double @llvm.fmuladd.f64(double %65, double %65, double %.1144172.3)
  %67 = add nuw nsw i64 %indvars.iv.3, 193
  %68 = getelementptr inbounds double, ptr %3, i64 %67
  %69 = load double, ptr %68, align 8, !tbaa !5
  %70 = getelementptr inbounds double, ptr %0, i64 %67
  %71 = load double, ptr %70, align 8, !tbaa !5
  %72 = fneg double %69
  %73 = tail call double @llvm.fmuladd.f64(double %72, double 1.000000e-02, double %71)
  store double %73, ptr %70, align 8, !tbaa !5
  %74 = tail call double @llvm.fmuladd.f64(double %73, double %73, double %66)
  %indvars.iv.next.3.1 = add nuw nsw i64 %indvars.iv.3, 2
  %exitcond.3.not.1 = icmp eq i64 %indvars.iv.next.3.1, 64
  br i1 %exitcond.3.not.1, label %.preheader170.4, label %.preheader170.3, !llvm.loop !9

.preheader170.4:                                  ; preds = %.preheader170.3, %.preheader170.4
  %indvars.iv.4 = phi i64 [ %indvars.iv.next.4.1, %.preheader170.4 ], [ 0, %.preheader170.3 ]
  %.1144172.4 = phi double [ %90, %.preheader170.4 ], [ %74, %.preheader170.3 ]
  %75 = add nuw nsw i64 %indvars.iv.4, 256
  %76 = getelementptr inbounds double, ptr %3, i64 %75
  %77 = load double, ptr %76, align 8, !tbaa !5
  %78 = getelementptr inbounds double, ptr %0, i64 %75
  %79 = load double, ptr %78, align 8, !tbaa !5
  %80 = fneg double %77
  %81 = tail call double @llvm.fmuladd.f64(double %80, double 1.000000e-02, double %79)
  store double %81, ptr %78, align 8, !tbaa !5
  %82 = tail call double @llvm.fmuladd.f64(double %81, double %81, double %.1144172.4)
  %83 = add nuw nsw i64 %indvars.iv.4, 257
  %84 = getelementptr inbounds double, ptr %3, i64 %83
  %85 = load double, ptr %84, align 8, !tbaa !5
  %86 = getelementptr inbounds double, ptr %0, i64 %83
  %87 = load double, ptr %86, align 8, !tbaa !5
  %88 = fneg double %85
  %89 = tail call double @llvm.fmuladd.f64(double %88, double 1.000000e-02, double %87)
  store double %89, ptr %86, align 8, !tbaa !5
  %90 = tail call double @llvm.fmuladd.f64(double %89, double %89, double %82)
  %indvars.iv.next.4.1 = add nuw nsw i64 %indvars.iv.4, 2
  %exitcond.4.not.1 = icmp eq i64 %indvars.iv.next.4.1, 64
  br i1 %exitcond.4.not.1, label %.preheader170.5, label %.preheader170.4, !llvm.loop !9

.preheader170.5:                                  ; preds = %.preheader170.4, %.preheader170.5
  %indvars.iv.5 = phi i64 [ %indvars.iv.next.5.1, %.preheader170.5 ], [ 0, %.preheader170.4 ]
  %.1144172.5 = phi double [ %106, %.preheader170.5 ], [ %90, %.preheader170.4 ]
  %91 = add nuw nsw i64 %indvars.iv.5, 320
  %92 = getelementptr inbounds double, ptr %3, i64 %91
  %93 = load double, ptr %92, align 8, !tbaa !5
  %94 = getelementptr inbounds double, ptr %0, i64 %91
  %95 = load double, ptr %94, align 8, !tbaa !5
  %96 = fneg double %93
  %97 = tail call double @llvm.fmuladd.f64(double %96, double 1.000000e-02, double %95)
  store double %97, ptr %94, align 8, !tbaa !5
  %98 = tail call double @llvm.fmuladd.f64(double %97, double %97, double %.1144172.5)
  %99 = add nuw nsw i64 %indvars.iv.5, 321
  %100 = getelementptr inbounds double, ptr %3, i64 %99
  %101 = load double, ptr %100, align 8, !tbaa !5
  %102 = getelementptr inbounds double, ptr %0, i64 %99
  %103 = load double, ptr %102, align 8, !tbaa !5
  %104 = fneg double %101
  %105 = tail call double @llvm.fmuladd.f64(double %104, double 1.000000e-02, double %103)
  store double %105, ptr %102, align 8, !tbaa !5
  %106 = tail call double @llvm.fmuladd.f64(double %105, double %105, double %98)
  %indvars.iv.next.5.1 = add nuw nsw i64 %indvars.iv.5, 2
  %exitcond.5.not.1 = icmp eq i64 %indvars.iv.next.5.1, 64
  br i1 %exitcond.5.not.1, label %.preheader170.6, label %.preheader170.5, !llvm.loop !9

.preheader170.6:                                  ; preds = %.preheader170.5, %.preheader170.6
  %indvars.iv.6 = phi i64 [ %indvars.iv.next.6.1, %.preheader170.6 ], [ 0, %.preheader170.5 ]
  %.1144172.6 = phi double [ %122, %.preheader170.6 ], [ %106, %.preheader170.5 ]
  %107 = add nuw nsw i64 %indvars.iv.6, 384
  %108 = getelementptr inbounds double, ptr %3, i64 %107
  %109 = load double, ptr %108, align 8, !tbaa !5
  %110 = getelementptr inbounds double, ptr %0, i64 %107
  %111 = load double, ptr %110, align 8, !tbaa !5
  %112 = fneg double %109
  %113 = tail call double @llvm.fmuladd.f64(double %112, double 1.000000e-02, double %111)
  store double %113, ptr %110, align 8, !tbaa !5
  %114 = tail call double @llvm.fmuladd.f64(double %113, double %113, double %.1144172.6)
  %115 = add nuw nsw i64 %indvars.iv.6, 385
  %116 = getelementptr inbounds double, ptr %3, i64 %115
  %117 = load double, ptr %116, align 8, !tbaa !5
  %118 = getelementptr inbounds double, ptr %0, i64 %115
  %119 = load double, ptr %118, align 8, !tbaa !5
  %120 = fneg double %117
  %121 = tail call double @llvm.fmuladd.f64(double %120, double 1.000000e-02, double %119)
  store double %121, ptr %118, align 8, !tbaa !5
  %122 = tail call double @llvm.fmuladd.f64(double %121, double %121, double %114)
  %indvars.iv.next.6.1 = add nuw nsw i64 %indvars.iv.6, 2
  %exitcond.6.not.1 = icmp eq i64 %indvars.iv.next.6.1, 64
  br i1 %exitcond.6.not.1, label %.preheader170.7, label %.preheader170.6, !llvm.loop !9

.preheader170.7:                                  ; preds = %.preheader170.6, %.preheader170.7
  %indvars.iv.7 = phi i64 [ %indvars.iv.next.7.1, %.preheader170.7 ], [ 0, %.preheader170.6 ]
  %.1144172.7 = phi double [ %138, %.preheader170.7 ], [ %122, %.preheader170.6 ]
  %123 = add nuw nsw i64 %indvars.iv.7, 448
  %124 = getelementptr inbounds double, ptr %3, i64 %123
  %125 = load double, ptr %124, align 8, !tbaa !5
  %126 = getelementptr inbounds double, ptr %0, i64 %123
  %127 = load double, ptr %126, align 8, !tbaa !5
  %128 = fneg double %125
  %129 = tail call double @llvm.fmuladd.f64(double %128, double 1.000000e-02, double %127)
  store double %129, ptr %126, align 8, !tbaa !5
  %130 = tail call double @llvm.fmuladd.f64(double %129, double %129, double %.1144172.7)
  %131 = add nuw nsw i64 %indvars.iv.7, 449
  %132 = getelementptr inbounds double, ptr %3, i64 %131
  %133 = load double, ptr %132, align 8, !tbaa !5
  %134 = getelementptr inbounds double, ptr %0, i64 %131
  %135 = load double, ptr %134, align 8, !tbaa !5
  %136 = fneg double %133
  %137 = tail call double @llvm.fmuladd.f64(double %136, double 1.000000e-02, double %135)
  store double %137, ptr %134, align 8, !tbaa !5
  %138 = tail call double @llvm.fmuladd.f64(double %137, double %137, double %130)
  %indvars.iv.next.7.1 = add nuw nsw i64 %indvars.iv.7, 2
  %exitcond.7.not.1 = icmp eq i64 %indvars.iv.next.7.1, 64
  br i1 %exitcond.7.not.1, label %.preheader170.8, label %.preheader170.7, !llvm.loop !9

.preheader170.8:                                  ; preds = %.preheader170.7, %.preheader170.8
  %indvars.iv.8 = phi i64 [ %indvars.iv.next.8.1, %.preheader170.8 ], [ 0, %.preheader170.7 ]
  %.1144172.8 = phi double [ %154, %.preheader170.8 ], [ %138, %.preheader170.7 ]
  %139 = add nuw nsw i64 %indvars.iv.8, 512
  %140 = getelementptr inbounds double, ptr %3, i64 %139
  %141 = load double, ptr %140, align 8, !tbaa !5
  %142 = getelementptr inbounds double, ptr %0, i64 %139
  %143 = load double, ptr %142, align 8, !tbaa !5
  %144 = fneg double %141
  %145 = tail call double @llvm.fmuladd.f64(double %144, double 1.000000e-02, double %143)
  store double %145, ptr %142, align 8, !tbaa !5
  %146 = tail call double @llvm.fmuladd.f64(double %145, double %145, double %.1144172.8)
  %147 = add nuw nsw i64 %indvars.iv.8, 513
  %148 = getelementptr inbounds double, ptr %3, i64 %147
  %149 = load double, ptr %148, align 8, !tbaa !5
  %150 = getelementptr inbounds double, ptr %0, i64 %147
  %151 = load double, ptr %150, align 8, !tbaa !5
  %152 = fneg double %149
  %153 = tail call double @llvm.fmuladd.f64(double %152, double 1.000000e-02, double %151)
  store double %153, ptr %150, align 8, !tbaa !5
  %154 = tail call double @llvm.fmuladd.f64(double %153, double %153, double %146)
  %indvars.iv.next.8.1 = add nuw nsw i64 %indvars.iv.8, 2
  %exitcond.8.not.1 = icmp eq i64 %indvars.iv.next.8.1, 64
  br i1 %exitcond.8.not.1, label %.preheader170.9, label %.preheader170.8, !llvm.loop !9

.preheader170.9:                                  ; preds = %.preheader170.8, %.preheader170.9
  %indvars.iv.9 = phi i64 [ %indvars.iv.next.9.1, %.preheader170.9 ], [ 0, %.preheader170.8 ]
  %.1144172.9 = phi double [ %170, %.preheader170.9 ], [ %154, %.preheader170.8 ]
  %155 = add nuw nsw i64 %indvars.iv.9, 576
  %156 = getelementptr inbounds double, ptr %3, i64 %155
  %157 = load double, ptr %156, align 8, !tbaa !5
  %158 = getelementptr inbounds double, ptr %0, i64 %155
  %159 = load double, ptr %158, align 8, !tbaa !5
  %160 = fneg double %157
  %161 = tail call double @llvm.fmuladd.f64(double %160, double 1.000000e-02, double %159)
  store double %161, ptr %158, align 8, !tbaa !5
  %162 = tail call double @llvm.fmuladd.f64(double %161, double %161, double %.1144172.9)
  %163 = add nuw nsw i64 %indvars.iv.9, 577
  %164 = getelementptr inbounds double, ptr %3, i64 %163
  %165 = load double, ptr %164, align 8, !tbaa !5
  %166 = getelementptr inbounds double, ptr %0, i64 %163
  %167 = load double, ptr %166, align 8, !tbaa !5
  %168 = fneg double %165
  %169 = tail call double @llvm.fmuladd.f64(double %168, double 1.000000e-02, double %167)
  store double %169, ptr %166, align 8, !tbaa !5
  %170 = tail call double @llvm.fmuladd.f64(double %169, double %169, double %162)
  %indvars.iv.next.9.1 = add nuw nsw i64 %indvars.iv.9, 2
  %exitcond.9.not.1 = icmp eq i64 %indvars.iv.next.9.1, 64
  br i1 %exitcond.9.not.1, label %.preheader170.10, label %.preheader170.9, !llvm.loop !9

.preheader170.10:                                 ; preds = %.preheader170.9, %.preheader170.10
  %indvars.iv.10 = phi i64 [ %indvars.iv.next.10.1, %.preheader170.10 ], [ 0, %.preheader170.9 ]
  %.1144172.10 = phi double [ %186, %.preheader170.10 ], [ %170, %.preheader170.9 ]
  %171 = add nuw nsw i64 %indvars.iv.10, 640
  %172 = getelementptr inbounds double, ptr %3, i64 %171
  %173 = load double, ptr %172, align 8, !tbaa !5
  %174 = getelementptr inbounds double, ptr %0, i64 %171
  %175 = load double, ptr %174, align 8, !tbaa !5
  %176 = fneg double %173
  %177 = tail call double @llvm.fmuladd.f64(double %176, double 1.000000e-02, double %175)
  store double %177, ptr %174, align 8, !tbaa !5
  %178 = tail call double @llvm.fmuladd.f64(double %177, double %177, double %.1144172.10)
  %179 = add nuw nsw i64 %indvars.iv.10, 641
  %180 = getelementptr inbounds double, ptr %3, i64 %179
  %181 = load double, ptr %180, align 8, !tbaa !5
  %182 = getelementptr inbounds double, ptr %0, i64 %179
  %183 = load double, ptr %182, align 8, !tbaa !5
  %184 = fneg double %181
  %185 = tail call double @llvm.fmuladd.f64(double %184, double 1.000000e-02, double %183)
  store double %185, ptr %182, align 8, !tbaa !5
  %186 = tail call double @llvm.fmuladd.f64(double %185, double %185, double %178)
  %indvars.iv.next.10.1 = add nuw nsw i64 %indvars.iv.10, 2
  %exitcond.10.not.1 = icmp eq i64 %indvars.iv.next.10.1, 64
  br i1 %exitcond.10.not.1, label %.preheader170.11, label %.preheader170.10, !llvm.loop !9

.preheader170.11:                                 ; preds = %.preheader170.10, %.preheader170.11
  %indvars.iv.11 = phi i64 [ %indvars.iv.next.11.1, %.preheader170.11 ], [ 0, %.preheader170.10 ]
  %.1144172.11 = phi double [ %202, %.preheader170.11 ], [ %186, %.preheader170.10 ]
  %187 = add nuw nsw i64 %indvars.iv.11, 704
  %188 = getelementptr inbounds double, ptr %3, i64 %187
  %189 = load double, ptr %188, align 8, !tbaa !5
  %190 = getelementptr inbounds double, ptr %0, i64 %187
  %191 = load double, ptr %190, align 8, !tbaa !5
  %192 = fneg double %189
  %193 = tail call double @llvm.fmuladd.f64(double %192, double 1.000000e-02, double %191)
  store double %193, ptr %190, align 8, !tbaa !5
  %194 = tail call double @llvm.fmuladd.f64(double %193, double %193, double %.1144172.11)
  %195 = add nuw nsw i64 %indvars.iv.11, 705
  %196 = getelementptr inbounds double, ptr %3, i64 %195
  %197 = load double, ptr %196, align 8, !tbaa !5
  %198 = getelementptr inbounds double, ptr %0, i64 %195
  %199 = load double, ptr %198, align 8, !tbaa !5
  %200 = fneg double %197
  %201 = tail call double @llvm.fmuladd.f64(double %200, double 1.000000e-02, double %199)
  store double %201, ptr %198, align 8, !tbaa !5
  %202 = tail call double @llvm.fmuladd.f64(double %201, double %201, double %194)
  %indvars.iv.next.11.1 = add nuw nsw i64 %indvars.iv.11, 2
  %exitcond.11.not.1 = icmp eq i64 %indvars.iv.next.11.1, 64
  br i1 %exitcond.11.not.1, label %.preheader170.12, label %.preheader170.11, !llvm.loop !9

.preheader170.12:                                 ; preds = %.preheader170.11, %.preheader170.12
  %indvars.iv.12 = phi i64 [ %indvars.iv.next.12.1, %.preheader170.12 ], [ 0, %.preheader170.11 ]
  %.1144172.12 = phi double [ %218, %.preheader170.12 ], [ %202, %.preheader170.11 ]
  %203 = add nuw nsw i64 %indvars.iv.12, 768
  %204 = getelementptr inbounds double, ptr %3, i64 %203
  %205 = load double, ptr %204, align 8, !tbaa !5
  %206 = getelementptr inbounds double, ptr %0, i64 %203
  %207 = load double, ptr %206, align 8, !tbaa !5
  %208 = fneg double %205
  %209 = tail call double @llvm.fmuladd.f64(double %208, double 1.000000e-02, double %207)
  store double %209, ptr %206, align 8, !tbaa !5
  %210 = tail call double @llvm.fmuladd.f64(double %209, double %209, double %.1144172.12)
  %211 = add nuw nsw i64 %indvars.iv.12, 769
  %212 = getelementptr inbounds double, ptr %3, i64 %211
  %213 = load double, ptr %212, align 8, !tbaa !5
  %214 = getelementptr inbounds double, ptr %0, i64 %211
  %215 = load double, ptr %214, align 8, !tbaa !5
  %216 = fneg double %213
  %217 = tail call double @llvm.fmuladd.f64(double %216, double 1.000000e-02, double %215)
  store double %217, ptr %214, align 8, !tbaa !5
  %218 = tail call double @llvm.fmuladd.f64(double %217, double %217, double %210)
  %indvars.iv.next.12.1 = add nuw nsw i64 %indvars.iv.12, 2
  %exitcond.12.not.1 = icmp eq i64 %indvars.iv.next.12.1, 64
  br i1 %exitcond.12.not.1, label %.preheader169, label %.preheader170.12, !llvm.loop !9

.preheader169:                                    ; preds = %.preheader170.12, %.preheader169
  %indvars.iv208 = phi i64 [ %indvars.iv.next209.1, %.preheader169 ], [ 0, %.preheader170.12 ]
  %.0176 = phi double [ %232, %.preheader169 ], [ 0.000000e+00, %.preheader170.12 ]
  %219 = getelementptr inbounds double, ptr %9, i64 %indvars.iv208
  %220 = load double, ptr %219, align 8, !tbaa !5
  %221 = getelementptr inbounds double, ptr %6, i64 %indvars.iv208
  %222 = load double, ptr %221, align 8, !tbaa !5
  %223 = fneg double %220
  %224 = tail call double @llvm.fmuladd.f64(double %223, double 1.000000e-02, double %222)
  store double %224, ptr %221, align 8, !tbaa !5
  %225 = tail call double @llvm.fmuladd.f64(double %224, double %224, double %.0176)
  %indvars.iv.next209 = or disjoint i64 %indvars.iv208, 1
  %226 = getelementptr inbounds double, ptr %9, i64 %indvars.iv.next209
  %227 = load double, ptr %226, align 8, !tbaa !5
  %228 = getelementptr inbounds double, ptr %6, i64 %indvars.iv.next209
  %229 = load double, ptr %228, align 8, !tbaa !5
  %230 = fneg double %227
  %231 = tail call double @llvm.fmuladd.f64(double %230, double 1.000000e-02, double %229)
  store double %231, ptr %228, align 8, !tbaa !5
  %232 = tail call double @llvm.fmuladd.f64(double %231, double %231, double %225)
  %indvars.iv.next209.1 = add nuw nsw i64 %indvars.iv208, 2
  %exitcond211.not.1 = icmp eq i64 %indvars.iv.next209.1, 64
  br i1 %exitcond211.not.1, label %.preheader168, label %.preheader169, !llvm.loop !11

.preheader168:                                    ; preds = %.preheader169
  %233 = tail call double @sqrt(double noundef %218) #3
  %234 = tail call double @sqrt(double noundef %232) #3
  %broadcast.splatinsert = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat = shufflevector <2 x double> %broadcast.splatinsert, <2 x double> poison, <2 x i32> zeroinitializer
  %wide.load = load <2 x double>, ptr %0, align 8, !tbaa !5
  %235 = fdiv <2 x double> %wide.load, %broadcast.splat
  store <2 x double> %235, ptr %0, align 8, !tbaa !5
  %236 = getelementptr inbounds i8, ptr %0, i64 16
  %wide.load.1 = load <2 x double>, ptr %236, align 8, !tbaa !5
  %237 = fdiv <2 x double> %wide.load.1, %broadcast.splat
  store <2 x double> %237, ptr %236, align 8, !tbaa !5
  %238 = getelementptr inbounds i8, ptr %0, i64 32
  %wide.load.2 = load <2 x double>, ptr %238, align 8, !tbaa !5
  %239 = fdiv <2 x double> %wide.load.2, %broadcast.splat
  store <2 x double> %239, ptr %238, align 8, !tbaa !5
  %240 = getelementptr inbounds i8, ptr %0, i64 48
  %wide.load.3 = load <2 x double>, ptr %240, align 8, !tbaa !5
  %241 = fdiv <2 x double> %wide.load.3, %broadcast.splat
  store <2 x double> %241, ptr %240, align 8, !tbaa !5
  %242 = getelementptr inbounds i8, ptr %0, i64 64
  %wide.load.4 = load <2 x double>, ptr %242, align 8, !tbaa !5
  %243 = fdiv <2 x double> %wide.load.4, %broadcast.splat
  store <2 x double> %243, ptr %242, align 8, !tbaa !5
  %244 = getelementptr inbounds i8, ptr %0, i64 80
  %wide.load.5 = load <2 x double>, ptr %244, align 8, !tbaa !5
  %245 = fdiv <2 x double> %wide.load.5, %broadcast.splat
  store <2 x double> %245, ptr %244, align 8, !tbaa !5
  %246 = getelementptr inbounds i8, ptr %0, i64 96
  %wide.load.6 = load <2 x double>, ptr %246, align 8, !tbaa !5
  %247 = fdiv <2 x double> %wide.load.6, %broadcast.splat
  store <2 x double> %247, ptr %246, align 8, !tbaa !5
  %248 = getelementptr inbounds i8, ptr %0, i64 112
  %wide.load.7 = load <2 x double>, ptr %248, align 8, !tbaa !5
  %249 = fdiv <2 x double> %wide.load.7, %broadcast.splat
  store <2 x double> %249, ptr %248, align 8, !tbaa !5
  %250 = getelementptr inbounds i8, ptr %0, i64 128
  %wide.load.8 = load <2 x double>, ptr %250, align 8, !tbaa !5
  %251 = fdiv <2 x double> %wide.load.8, %broadcast.splat
  store <2 x double> %251, ptr %250, align 8, !tbaa !5
  %252 = getelementptr inbounds i8, ptr %0, i64 144
  %wide.load.9 = load <2 x double>, ptr %252, align 8, !tbaa !5
  %253 = fdiv <2 x double> %wide.load.9, %broadcast.splat
  store <2 x double> %253, ptr %252, align 8, !tbaa !5
  %254 = getelementptr inbounds i8, ptr %0, i64 160
  %wide.load.10 = load <2 x double>, ptr %254, align 8, !tbaa !5
  %255 = fdiv <2 x double> %wide.load.10, %broadcast.splat
  store <2 x double> %255, ptr %254, align 8, !tbaa !5
  %256 = getelementptr inbounds i8, ptr %0, i64 176
  %wide.load.11 = load <2 x double>, ptr %256, align 8, !tbaa !5
  %257 = fdiv <2 x double> %wide.load.11, %broadcast.splat
  store <2 x double> %257, ptr %256, align 8, !tbaa !5
  %258 = getelementptr inbounds i8, ptr %0, i64 192
  %wide.load.12 = load <2 x double>, ptr %258, align 8, !tbaa !5
  %259 = fdiv <2 x double> %wide.load.12, %broadcast.splat
  store <2 x double> %259, ptr %258, align 8, !tbaa !5
  %260 = getelementptr inbounds i8, ptr %0, i64 208
  %wide.load.13 = load <2 x double>, ptr %260, align 8, !tbaa !5
  %261 = fdiv <2 x double> %wide.load.13, %broadcast.splat
  store <2 x double> %261, ptr %260, align 8, !tbaa !5
  %262 = getelementptr inbounds i8, ptr %0, i64 224
  %wide.load.14 = load <2 x double>, ptr %262, align 8, !tbaa !5
  %263 = fdiv <2 x double> %wide.load.14, %broadcast.splat
  store <2 x double> %263, ptr %262, align 8, !tbaa !5
  %264 = getelementptr inbounds i8, ptr %0, i64 240
  %wide.load.15 = load <2 x double>, ptr %264, align 8, !tbaa !5
  %265 = fdiv <2 x double> %wide.load.15, %broadcast.splat
  store <2 x double> %265, ptr %264, align 8, !tbaa !5
  %266 = getelementptr inbounds i8, ptr %0, i64 256
  %wide.load.16 = load <2 x double>, ptr %266, align 8, !tbaa !5
  %267 = fdiv <2 x double> %wide.load.16, %broadcast.splat
  store <2 x double> %267, ptr %266, align 8, !tbaa !5
  %268 = getelementptr inbounds i8, ptr %0, i64 272
  %wide.load.17 = load <2 x double>, ptr %268, align 8, !tbaa !5
  %269 = fdiv <2 x double> %wide.load.17, %broadcast.splat
  store <2 x double> %269, ptr %268, align 8, !tbaa !5
  %270 = getelementptr inbounds i8, ptr %0, i64 288
  %wide.load.18 = load <2 x double>, ptr %270, align 8, !tbaa !5
  %271 = fdiv <2 x double> %wide.load.18, %broadcast.splat
  store <2 x double> %271, ptr %270, align 8, !tbaa !5
  %272 = getelementptr inbounds i8, ptr %0, i64 304
  %wide.load.19 = load <2 x double>, ptr %272, align 8, !tbaa !5
  %273 = fdiv <2 x double> %wide.load.19, %broadcast.splat
  store <2 x double> %273, ptr %272, align 8, !tbaa !5
  %274 = getelementptr inbounds i8, ptr %0, i64 320
  %wide.load.20 = load <2 x double>, ptr %274, align 8, !tbaa !5
  %275 = fdiv <2 x double> %wide.load.20, %broadcast.splat
  store <2 x double> %275, ptr %274, align 8, !tbaa !5
  %276 = getelementptr inbounds i8, ptr %0, i64 336
  %wide.load.21 = load <2 x double>, ptr %276, align 8, !tbaa !5
  %277 = fdiv <2 x double> %wide.load.21, %broadcast.splat
  store <2 x double> %277, ptr %276, align 8, !tbaa !5
  %278 = getelementptr inbounds i8, ptr %0, i64 352
  %wide.load.22 = load <2 x double>, ptr %278, align 8, !tbaa !5
  %279 = fdiv <2 x double> %wide.load.22, %broadcast.splat
  store <2 x double> %279, ptr %278, align 8, !tbaa !5
  %280 = getelementptr inbounds i8, ptr %0, i64 368
  %wide.load.23 = load <2 x double>, ptr %280, align 8, !tbaa !5
  %281 = fdiv <2 x double> %wide.load.23, %broadcast.splat
  store <2 x double> %281, ptr %280, align 8, !tbaa !5
  %282 = getelementptr inbounds i8, ptr %0, i64 384
  %wide.load.24 = load <2 x double>, ptr %282, align 8, !tbaa !5
  %283 = fdiv <2 x double> %wide.load.24, %broadcast.splat
  store <2 x double> %283, ptr %282, align 8, !tbaa !5
  %284 = getelementptr inbounds i8, ptr %0, i64 400
  %wide.load.25 = load <2 x double>, ptr %284, align 8, !tbaa !5
  %285 = fdiv <2 x double> %wide.load.25, %broadcast.splat
  store <2 x double> %285, ptr %284, align 8, !tbaa !5
  %286 = getelementptr inbounds i8, ptr %0, i64 416
  %wide.load.26 = load <2 x double>, ptr %286, align 8, !tbaa !5
  %287 = fdiv <2 x double> %wide.load.26, %broadcast.splat
  store <2 x double> %287, ptr %286, align 8, !tbaa !5
  %288 = getelementptr inbounds i8, ptr %0, i64 432
  %wide.load.27 = load <2 x double>, ptr %288, align 8, !tbaa !5
  %289 = fdiv <2 x double> %wide.load.27, %broadcast.splat
  store <2 x double> %289, ptr %288, align 8, !tbaa !5
  %290 = getelementptr inbounds i8, ptr %0, i64 448
  %wide.load.28 = load <2 x double>, ptr %290, align 8, !tbaa !5
  %291 = fdiv <2 x double> %wide.load.28, %broadcast.splat
  store <2 x double> %291, ptr %290, align 8, !tbaa !5
  %292 = getelementptr inbounds i8, ptr %0, i64 464
  %wide.load.29 = load <2 x double>, ptr %292, align 8, !tbaa !5
  %293 = fdiv <2 x double> %wide.load.29, %broadcast.splat
  store <2 x double> %293, ptr %292, align 8, !tbaa !5
  %294 = getelementptr inbounds i8, ptr %0, i64 480
  %wide.load.30 = load <2 x double>, ptr %294, align 8, !tbaa !5
  %295 = fdiv <2 x double> %wide.load.30, %broadcast.splat
  store <2 x double> %295, ptr %294, align 8, !tbaa !5
  %296 = getelementptr inbounds i8, ptr %0, i64 496
  %wide.load.31 = load <2 x double>, ptr %296, align 8, !tbaa !5
  %297 = fdiv <2 x double> %wide.load.31, %broadcast.splat
  store <2 x double> %297, ptr %296, align 8, !tbaa !5
  %broadcast.splatinsert339 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat340 = shufflevector <2 x double> %broadcast.splatinsert339, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep = getelementptr inbounds i8, ptr %0, i64 512
  %wide.load338 = load <2 x double>, ptr %invariant.gep, align 8, !tbaa !5
  %298 = fdiv <2 x double> %wide.load338, %broadcast.splat340
  store <2 x double> %298, ptr %invariant.gep, align 8, !tbaa !5
  %299 = getelementptr inbounds i8, ptr %0, i64 528
  %wide.load338.1 = load <2 x double>, ptr %299, align 8, !tbaa !5
  %300 = fdiv <2 x double> %wide.load338.1, %broadcast.splat340
  store <2 x double> %300, ptr %299, align 8, !tbaa !5
  %301 = getelementptr inbounds i8, ptr %0, i64 544
  %wide.load338.2 = load <2 x double>, ptr %301, align 8, !tbaa !5
  %302 = fdiv <2 x double> %wide.load338.2, %broadcast.splat340
  store <2 x double> %302, ptr %301, align 8, !tbaa !5
  %303 = getelementptr inbounds i8, ptr %0, i64 560
  %wide.load338.3 = load <2 x double>, ptr %303, align 8, !tbaa !5
  %304 = fdiv <2 x double> %wide.load338.3, %broadcast.splat340
  store <2 x double> %304, ptr %303, align 8, !tbaa !5
  %305 = getelementptr inbounds i8, ptr %0, i64 576
  %wide.load338.4 = load <2 x double>, ptr %305, align 8, !tbaa !5
  %306 = fdiv <2 x double> %wide.load338.4, %broadcast.splat340
  store <2 x double> %306, ptr %305, align 8, !tbaa !5
  %307 = getelementptr inbounds i8, ptr %0, i64 592
  %wide.load338.5 = load <2 x double>, ptr %307, align 8, !tbaa !5
  %308 = fdiv <2 x double> %wide.load338.5, %broadcast.splat340
  store <2 x double> %308, ptr %307, align 8, !tbaa !5
  %309 = getelementptr inbounds i8, ptr %0, i64 608
  %wide.load338.6 = load <2 x double>, ptr %309, align 8, !tbaa !5
  %310 = fdiv <2 x double> %wide.load338.6, %broadcast.splat340
  store <2 x double> %310, ptr %309, align 8, !tbaa !5
  %311 = getelementptr inbounds i8, ptr %0, i64 624
  %wide.load338.7 = load <2 x double>, ptr %311, align 8, !tbaa !5
  %312 = fdiv <2 x double> %wide.load338.7, %broadcast.splat340
  store <2 x double> %312, ptr %311, align 8, !tbaa !5
  %313 = getelementptr inbounds i8, ptr %0, i64 640
  %wide.load338.8 = load <2 x double>, ptr %313, align 8, !tbaa !5
  %314 = fdiv <2 x double> %wide.load338.8, %broadcast.splat340
  store <2 x double> %314, ptr %313, align 8, !tbaa !5
  %315 = getelementptr inbounds i8, ptr %0, i64 656
  %wide.load338.9 = load <2 x double>, ptr %315, align 8, !tbaa !5
  %316 = fdiv <2 x double> %wide.load338.9, %broadcast.splat340
  store <2 x double> %316, ptr %315, align 8, !tbaa !5
  %317 = getelementptr inbounds i8, ptr %0, i64 672
  %wide.load338.10 = load <2 x double>, ptr %317, align 8, !tbaa !5
  %318 = fdiv <2 x double> %wide.load338.10, %broadcast.splat340
  store <2 x double> %318, ptr %317, align 8, !tbaa !5
  %319 = getelementptr inbounds i8, ptr %0, i64 688
  %wide.load338.11 = load <2 x double>, ptr %319, align 8, !tbaa !5
  %320 = fdiv <2 x double> %wide.load338.11, %broadcast.splat340
  store <2 x double> %320, ptr %319, align 8, !tbaa !5
  %321 = getelementptr inbounds i8, ptr %0, i64 704
  %wide.load338.12 = load <2 x double>, ptr %321, align 8, !tbaa !5
  %322 = fdiv <2 x double> %wide.load338.12, %broadcast.splat340
  store <2 x double> %322, ptr %321, align 8, !tbaa !5
  %323 = getelementptr inbounds i8, ptr %0, i64 720
  %wide.load338.13 = load <2 x double>, ptr %323, align 8, !tbaa !5
  %324 = fdiv <2 x double> %wide.load338.13, %broadcast.splat340
  store <2 x double> %324, ptr %323, align 8, !tbaa !5
  %325 = getelementptr inbounds i8, ptr %0, i64 736
  %wide.load338.14 = load <2 x double>, ptr %325, align 8, !tbaa !5
  %326 = fdiv <2 x double> %wide.load338.14, %broadcast.splat340
  store <2 x double> %326, ptr %325, align 8, !tbaa !5
  %327 = getelementptr inbounds i8, ptr %0, i64 752
  %wide.load338.15 = load <2 x double>, ptr %327, align 8, !tbaa !5
  %328 = fdiv <2 x double> %wide.load338.15, %broadcast.splat340
  store <2 x double> %328, ptr %327, align 8, !tbaa !5
  %329 = getelementptr inbounds i8, ptr %0, i64 768
  %wide.load338.16 = load <2 x double>, ptr %329, align 8, !tbaa !5
  %330 = fdiv <2 x double> %wide.load338.16, %broadcast.splat340
  store <2 x double> %330, ptr %329, align 8, !tbaa !5
  %331 = getelementptr inbounds i8, ptr %0, i64 784
  %wide.load338.17 = load <2 x double>, ptr %331, align 8, !tbaa !5
  %332 = fdiv <2 x double> %wide.load338.17, %broadcast.splat340
  store <2 x double> %332, ptr %331, align 8, !tbaa !5
  %333 = getelementptr inbounds i8, ptr %0, i64 800
  %wide.load338.18 = load <2 x double>, ptr %333, align 8, !tbaa !5
  %334 = fdiv <2 x double> %wide.load338.18, %broadcast.splat340
  store <2 x double> %334, ptr %333, align 8, !tbaa !5
  %335 = getelementptr inbounds i8, ptr %0, i64 816
  %wide.load338.19 = load <2 x double>, ptr %335, align 8, !tbaa !5
  %336 = fdiv <2 x double> %wide.load338.19, %broadcast.splat340
  store <2 x double> %336, ptr %335, align 8, !tbaa !5
  %337 = getelementptr inbounds i8, ptr %0, i64 832
  %wide.load338.20 = load <2 x double>, ptr %337, align 8, !tbaa !5
  %338 = fdiv <2 x double> %wide.load338.20, %broadcast.splat340
  store <2 x double> %338, ptr %337, align 8, !tbaa !5
  %339 = getelementptr inbounds i8, ptr %0, i64 848
  %wide.load338.21 = load <2 x double>, ptr %339, align 8, !tbaa !5
  %340 = fdiv <2 x double> %wide.load338.21, %broadcast.splat340
  store <2 x double> %340, ptr %339, align 8, !tbaa !5
  %341 = getelementptr inbounds i8, ptr %0, i64 864
  %wide.load338.22 = load <2 x double>, ptr %341, align 8, !tbaa !5
  %342 = fdiv <2 x double> %wide.load338.22, %broadcast.splat340
  store <2 x double> %342, ptr %341, align 8, !tbaa !5
  %343 = getelementptr inbounds i8, ptr %0, i64 880
  %wide.load338.23 = load <2 x double>, ptr %343, align 8, !tbaa !5
  %344 = fdiv <2 x double> %wide.load338.23, %broadcast.splat340
  store <2 x double> %344, ptr %343, align 8, !tbaa !5
  %345 = getelementptr inbounds i8, ptr %0, i64 896
  %wide.load338.24 = load <2 x double>, ptr %345, align 8, !tbaa !5
  %346 = fdiv <2 x double> %wide.load338.24, %broadcast.splat340
  store <2 x double> %346, ptr %345, align 8, !tbaa !5
  %347 = getelementptr inbounds i8, ptr %0, i64 912
  %wide.load338.25 = load <2 x double>, ptr %347, align 8, !tbaa !5
  %348 = fdiv <2 x double> %wide.load338.25, %broadcast.splat340
  store <2 x double> %348, ptr %347, align 8, !tbaa !5
  %349 = getelementptr inbounds i8, ptr %0, i64 928
  %wide.load338.26 = load <2 x double>, ptr %349, align 8, !tbaa !5
  %350 = fdiv <2 x double> %wide.load338.26, %broadcast.splat340
  store <2 x double> %350, ptr %349, align 8, !tbaa !5
  %351 = getelementptr inbounds i8, ptr %0, i64 944
  %wide.load338.27 = load <2 x double>, ptr %351, align 8, !tbaa !5
  %352 = fdiv <2 x double> %wide.load338.27, %broadcast.splat340
  store <2 x double> %352, ptr %351, align 8, !tbaa !5
  %353 = getelementptr inbounds i8, ptr %0, i64 960
  %wide.load338.28 = load <2 x double>, ptr %353, align 8, !tbaa !5
  %354 = fdiv <2 x double> %wide.load338.28, %broadcast.splat340
  store <2 x double> %354, ptr %353, align 8, !tbaa !5
  %355 = getelementptr inbounds i8, ptr %0, i64 976
  %wide.load338.29 = load <2 x double>, ptr %355, align 8, !tbaa !5
  %356 = fdiv <2 x double> %wide.load338.29, %broadcast.splat340
  store <2 x double> %356, ptr %355, align 8, !tbaa !5
  %357 = getelementptr inbounds i8, ptr %0, i64 992
  %wide.load338.30 = load <2 x double>, ptr %357, align 8, !tbaa !5
  %358 = fdiv <2 x double> %wide.load338.30, %broadcast.splat340
  store <2 x double> %358, ptr %357, align 8, !tbaa !5
  %359 = getelementptr inbounds i8, ptr %0, i64 1008
  %wide.load338.31 = load <2 x double>, ptr %359, align 8, !tbaa !5
  %360 = fdiv <2 x double> %wide.load338.31, %broadcast.splat340
  store <2 x double> %360, ptr %359, align 8, !tbaa !5
  %broadcast.splatinsert349 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat350 = shufflevector <2 x double> %broadcast.splatinsert349, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep288 = getelementptr inbounds i8, ptr %0, i64 1024
  %wide.load348 = load <2 x double>, ptr %invariant.gep288, align 8, !tbaa !5
  %361 = fdiv <2 x double> %wide.load348, %broadcast.splat350
  store <2 x double> %361, ptr %invariant.gep288, align 8, !tbaa !5
  %362 = getelementptr inbounds i8, ptr %0, i64 1040
  %wide.load348.1 = load <2 x double>, ptr %362, align 8, !tbaa !5
  %363 = fdiv <2 x double> %wide.load348.1, %broadcast.splat350
  store <2 x double> %363, ptr %362, align 8, !tbaa !5
  %364 = getelementptr inbounds i8, ptr %0, i64 1056
  %wide.load348.2 = load <2 x double>, ptr %364, align 8, !tbaa !5
  %365 = fdiv <2 x double> %wide.load348.2, %broadcast.splat350
  store <2 x double> %365, ptr %364, align 8, !tbaa !5
  %366 = getelementptr inbounds i8, ptr %0, i64 1072
  %wide.load348.3 = load <2 x double>, ptr %366, align 8, !tbaa !5
  %367 = fdiv <2 x double> %wide.load348.3, %broadcast.splat350
  store <2 x double> %367, ptr %366, align 8, !tbaa !5
  %368 = getelementptr inbounds i8, ptr %0, i64 1088
  %wide.load348.4 = load <2 x double>, ptr %368, align 8, !tbaa !5
  %369 = fdiv <2 x double> %wide.load348.4, %broadcast.splat350
  store <2 x double> %369, ptr %368, align 8, !tbaa !5
  %370 = getelementptr inbounds i8, ptr %0, i64 1104
  %wide.load348.5 = load <2 x double>, ptr %370, align 8, !tbaa !5
  %371 = fdiv <2 x double> %wide.load348.5, %broadcast.splat350
  store <2 x double> %371, ptr %370, align 8, !tbaa !5
  %372 = getelementptr inbounds i8, ptr %0, i64 1120
  %wide.load348.6 = load <2 x double>, ptr %372, align 8, !tbaa !5
  %373 = fdiv <2 x double> %wide.load348.6, %broadcast.splat350
  store <2 x double> %373, ptr %372, align 8, !tbaa !5
  %374 = getelementptr inbounds i8, ptr %0, i64 1136
  %wide.load348.7 = load <2 x double>, ptr %374, align 8, !tbaa !5
  %375 = fdiv <2 x double> %wide.load348.7, %broadcast.splat350
  store <2 x double> %375, ptr %374, align 8, !tbaa !5
  %376 = getelementptr inbounds i8, ptr %0, i64 1152
  %wide.load348.8 = load <2 x double>, ptr %376, align 8, !tbaa !5
  %377 = fdiv <2 x double> %wide.load348.8, %broadcast.splat350
  store <2 x double> %377, ptr %376, align 8, !tbaa !5
  %378 = getelementptr inbounds i8, ptr %0, i64 1168
  %wide.load348.9 = load <2 x double>, ptr %378, align 8, !tbaa !5
  %379 = fdiv <2 x double> %wide.load348.9, %broadcast.splat350
  store <2 x double> %379, ptr %378, align 8, !tbaa !5
  %380 = getelementptr inbounds i8, ptr %0, i64 1184
  %wide.load348.10 = load <2 x double>, ptr %380, align 8, !tbaa !5
  %381 = fdiv <2 x double> %wide.load348.10, %broadcast.splat350
  store <2 x double> %381, ptr %380, align 8, !tbaa !5
  %382 = getelementptr inbounds i8, ptr %0, i64 1200
  %wide.load348.11 = load <2 x double>, ptr %382, align 8, !tbaa !5
  %383 = fdiv <2 x double> %wide.load348.11, %broadcast.splat350
  store <2 x double> %383, ptr %382, align 8, !tbaa !5
  %384 = getelementptr inbounds i8, ptr %0, i64 1216
  %wide.load348.12 = load <2 x double>, ptr %384, align 8, !tbaa !5
  %385 = fdiv <2 x double> %wide.load348.12, %broadcast.splat350
  store <2 x double> %385, ptr %384, align 8, !tbaa !5
  %386 = getelementptr inbounds i8, ptr %0, i64 1232
  %wide.load348.13 = load <2 x double>, ptr %386, align 8, !tbaa !5
  %387 = fdiv <2 x double> %wide.load348.13, %broadcast.splat350
  store <2 x double> %387, ptr %386, align 8, !tbaa !5
  %388 = getelementptr inbounds i8, ptr %0, i64 1248
  %wide.load348.14 = load <2 x double>, ptr %388, align 8, !tbaa !5
  %389 = fdiv <2 x double> %wide.load348.14, %broadcast.splat350
  store <2 x double> %389, ptr %388, align 8, !tbaa !5
  %390 = getelementptr inbounds i8, ptr %0, i64 1264
  %wide.load348.15 = load <2 x double>, ptr %390, align 8, !tbaa !5
  %391 = fdiv <2 x double> %wide.load348.15, %broadcast.splat350
  store <2 x double> %391, ptr %390, align 8, !tbaa !5
  %392 = getelementptr inbounds i8, ptr %0, i64 1280
  %wide.load348.16 = load <2 x double>, ptr %392, align 8, !tbaa !5
  %393 = fdiv <2 x double> %wide.load348.16, %broadcast.splat350
  store <2 x double> %393, ptr %392, align 8, !tbaa !5
  %394 = getelementptr inbounds i8, ptr %0, i64 1296
  %wide.load348.17 = load <2 x double>, ptr %394, align 8, !tbaa !5
  %395 = fdiv <2 x double> %wide.load348.17, %broadcast.splat350
  store <2 x double> %395, ptr %394, align 8, !tbaa !5
  %396 = getelementptr inbounds i8, ptr %0, i64 1312
  %wide.load348.18 = load <2 x double>, ptr %396, align 8, !tbaa !5
  %397 = fdiv <2 x double> %wide.load348.18, %broadcast.splat350
  store <2 x double> %397, ptr %396, align 8, !tbaa !5
  %398 = getelementptr inbounds i8, ptr %0, i64 1328
  %wide.load348.19 = load <2 x double>, ptr %398, align 8, !tbaa !5
  %399 = fdiv <2 x double> %wide.load348.19, %broadcast.splat350
  store <2 x double> %399, ptr %398, align 8, !tbaa !5
  %400 = getelementptr inbounds i8, ptr %0, i64 1344
  %wide.load348.20 = load <2 x double>, ptr %400, align 8, !tbaa !5
  %401 = fdiv <2 x double> %wide.load348.20, %broadcast.splat350
  store <2 x double> %401, ptr %400, align 8, !tbaa !5
  %402 = getelementptr inbounds i8, ptr %0, i64 1360
  %wide.load348.21 = load <2 x double>, ptr %402, align 8, !tbaa !5
  %403 = fdiv <2 x double> %wide.load348.21, %broadcast.splat350
  store <2 x double> %403, ptr %402, align 8, !tbaa !5
  %404 = getelementptr inbounds i8, ptr %0, i64 1376
  %wide.load348.22 = load <2 x double>, ptr %404, align 8, !tbaa !5
  %405 = fdiv <2 x double> %wide.load348.22, %broadcast.splat350
  store <2 x double> %405, ptr %404, align 8, !tbaa !5
  %406 = getelementptr inbounds i8, ptr %0, i64 1392
  %wide.load348.23 = load <2 x double>, ptr %406, align 8, !tbaa !5
  %407 = fdiv <2 x double> %wide.load348.23, %broadcast.splat350
  store <2 x double> %407, ptr %406, align 8, !tbaa !5
  %408 = getelementptr inbounds i8, ptr %0, i64 1408
  %wide.load348.24 = load <2 x double>, ptr %408, align 8, !tbaa !5
  %409 = fdiv <2 x double> %wide.load348.24, %broadcast.splat350
  store <2 x double> %409, ptr %408, align 8, !tbaa !5
  %410 = getelementptr inbounds i8, ptr %0, i64 1424
  %wide.load348.25 = load <2 x double>, ptr %410, align 8, !tbaa !5
  %411 = fdiv <2 x double> %wide.load348.25, %broadcast.splat350
  store <2 x double> %411, ptr %410, align 8, !tbaa !5
  %412 = getelementptr inbounds i8, ptr %0, i64 1440
  %wide.load348.26 = load <2 x double>, ptr %412, align 8, !tbaa !5
  %413 = fdiv <2 x double> %wide.load348.26, %broadcast.splat350
  store <2 x double> %413, ptr %412, align 8, !tbaa !5
  %414 = getelementptr inbounds i8, ptr %0, i64 1456
  %wide.load348.27 = load <2 x double>, ptr %414, align 8, !tbaa !5
  %415 = fdiv <2 x double> %wide.load348.27, %broadcast.splat350
  store <2 x double> %415, ptr %414, align 8, !tbaa !5
  %416 = getelementptr inbounds i8, ptr %0, i64 1472
  %wide.load348.28 = load <2 x double>, ptr %416, align 8, !tbaa !5
  %417 = fdiv <2 x double> %wide.load348.28, %broadcast.splat350
  store <2 x double> %417, ptr %416, align 8, !tbaa !5
  %418 = getelementptr inbounds i8, ptr %0, i64 1488
  %wide.load348.29 = load <2 x double>, ptr %418, align 8, !tbaa !5
  %419 = fdiv <2 x double> %wide.load348.29, %broadcast.splat350
  store <2 x double> %419, ptr %418, align 8, !tbaa !5
  %420 = getelementptr inbounds i8, ptr %0, i64 1504
  %wide.load348.30 = load <2 x double>, ptr %420, align 8, !tbaa !5
  %421 = fdiv <2 x double> %wide.load348.30, %broadcast.splat350
  store <2 x double> %421, ptr %420, align 8, !tbaa !5
  %422 = getelementptr inbounds i8, ptr %0, i64 1520
  %wide.load348.31 = load <2 x double>, ptr %422, align 8, !tbaa !5
  %423 = fdiv <2 x double> %wide.load348.31, %broadcast.splat350
  store <2 x double> %423, ptr %422, align 8, !tbaa !5
  %broadcast.splatinsert359 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat360 = shufflevector <2 x double> %broadcast.splatinsert359, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep290 = getelementptr inbounds i8, ptr %0, i64 1536
  %wide.load358 = load <2 x double>, ptr %invariant.gep290, align 8, !tbaa !5
  %424 = fdiv <2 x double> %wide.load358, %broadcast.splat360
  store <2 x double> %424, ptr %invariant.gep290, align 8, !tbaa !5
  %425 = getelementptr inbounds i8, ptr %0, i64 1552
  %wide.load358.1 = load <2 x double>, ptr %425, align 8, !tbaa !5
  %426 = fdiv <2 x double> %wide.load358.1, %broadcast.splat360
  store <2 x double> %426, ptr %425, align 8, !tbaa !5
  %427 = getelementptr inbounds i8, ptr %0, i64 1568
  %wide.load358.2 = load <2 x double>, ptr %427, align 8, !tbaa !5
  %428 = fdiv <2 x double> %wide.load358.2, %broadcast.splat360
  store <2 x double> %428, ptr %427, align 8, !tbaa !5
  %429 = getelementptr inbounds i8, ptr %0, i64 1584
  %wide.load358.3 = load <2 x double>, ptr %429, align 8, !tbaa !5
  %430 = fdiv <2 x double> %wide.load358.3, %broadcast.splat360
  store <2 x double> %430, ptr %429, align 8, !tbaa !5
  %431 = getelementptr inbounds i8, ptr %0, i64 1600
  %wide.load358.4 = load <2 x double>, ptr %431, align 8, !tbaa !5
  %432 = fdiv <2 x double> %wide.load358.4, %broadcast.splat360
  store <2 x double> %432, ptr %431, align 8, !tbaa !5
  %433 = getelementptr inbounds i8, ptr %0, i64 1616
  %wide.load358.5 = load <2 x double>, ptr %433, align 8, !tbaa !5
  %434 = fdiv <2 x double> %wide.load358.5, %broadcast.splat360
  store <2 x double> %434, ptr %433, align 8, !tbaa !5
  %435 = getelementptr inbounds i8, ptr %0, i64 1632
  %wide.load358.6 = load <2 x double>, ptr %435, align 8, !tbaa !5
  %436 = fdiv <2 x double> %wide.load358.6, %broadcast.splat360
  store <2 x double> %436, ptr %435, align 8, !tbaa !5
  %437 = getelementptr inbounds i8, ptr %0, i64 1648
  %wide.load358.7 = load <2 x double>, ptr %437, align 8, !tbaa !5
  %438 = fdiv <2 x double> %wide.load358.7, %broadcast.splat360
  store <2 x double> %438, ptr %437, align 8, !tbaa !5
  %439 = getelementptr inbounds i8, ptr %0, i64 1664
  %wide.load358.8 = load <2 x double>, ptr %439, align 8, !tbaa !5
  %440 = fdiv <2 x double> %wide.load358.8, %broadcast.splat360
  store <2 x double> %440, ptr %439, align 8, !tbaa !5
  %441 = getelementptr inbounds i8, ptr %0, i64 1680
  %wide.load358.9 = load <2 x double>, ptr %441, align 8, !tbaa !5
  %442 = fdiv <2 x double> %wide.load358.9, %broadcast.splat360
  store <2 x double> %442, ptr %441, align 8, !tbaa !5
  %443 = getelementptr inbounds i8, ptr %0, i64 1696
  %wide.load358.10 = load <2 x double>, ptr %443, align 8, !tbaa !5
  %444 = fdiv <2 x double> %wide.load358.10, %broadcast.splat360
  store <2 x double> %444, ptr %443, align 8, !tbaa !5
  %445 = getelementptr inbounds i8, ptr %0, i64 1712
  %wide.load358.11 = load <2 x double>, ptr %445, align 8, !tbaa !5
  %446 = fdiv <2 x double> %wide.load358.11, %broadcast.splat360
  store <2 x double> %446, ptr %445, align 8, !tbaa !5
  %447 = getelementptr inbounds i8, ptr %0, i64 1728
  %wide.load358.12 = load <2 x double>, ptr %447, align 8, !tbaa !5
  %448 = fdiv <2 x double> %wide.load358.12, %broadcast.splat360
  store <2 x double> %448, ptr %447, align 8, !tbaa !5
  %449 = getelementptr inbounds i8, ptr %0, i64 1744
  %wide.load358.13 = load <2 x double>, ptr %449, align 8, !tbaa !5
  %450 = fdiv <2 x double> %wide.load358.13, %broadcast.splat360
  store <2 x double> %450, ptr %449, align 8, !tbaa !5
  %451 = getelementptr inbounds i8, ptr %0, i64 1760
  %wide.load358.14 = load <2 x double>, ptr %451, align 8, !tbaa !5
  %452 = fdiv <2 x double> %wide.load358.14, %broadcast.splat360
  store <2 x double> %452, ptr %451, align 8, !tbaa !5
  %453 = getelementptr inbounds i8, ptr %0, i64 1776
  %wide.load358.15 = load <2 x double>, ptr %453, align 8, !tbaa !5
  %454 = fdiv <2 x double> %wide.load358.15, %broadcast.splat360
  store <2 x double> %454, ptr %453, align 8, !tbaa !5
  %455 = getelementptr inbounds i8, ptr %0, i64 1792
  %wide.load358.16 = load <2 x double>, ptr %455, align 8, !tbaa !5
  %456 = fdiv <2 x double> %wide.load358.16, %broadcast.splat360
  store <2 x double> %456, ptr %455, align 8, !tbaa !5
  %457 = getelementptr inbounds i8, ptr %0, i64 1808
  %wide.load358.17 = load <2 x double>, ptr %457, align 8, !tbaa !5
  %458 = fdiv <2 x double> %wide.load358.17, %broadcast.splat360
  store <2 x double> %458, ptr %457, align 8, !tbaa !5
  %459 = getelementptr inbounds i8, ptr %0, i64 1824
  %wide.load358.18 = load <2 x double>, ptr %459, align 8, !tbaa !5
  %460 = fdiv <2 x double> %wide.load358.18, %broadcast.splat360
  store <2 x double> %460, ptr %459, align 8, !tbaa !5
  %461 = getelementptr inbounds i8, ptr %0, i64 1840
  %wide.load358.19 = load <2 x double>, ptr %461, align 8, !tbaa !5
  %462 = fdiv <2 x double> %wide.load358.19, %broadcast.splat360
  store <2 x double> %462, ptr %461, align 8, !tbaa !5
  %463 = getelementptr inbounds i8, ptr %0, i64 1856
  %wide.load358.20 = load <2 x double>, ptr %463, align 8, !tbaa !5
  %464 = fdiv <2 x double> %wide.load358.20, %broadcast.splat360
  store <2 x double> %464, ptr %463, align 8, !tbaa !5
  %465 = getelementptr inbounds i8, ptr %0, i64 1872
  %wide.load358.21 = load <2 x double>, ptr %465, align 8, !tbaa !5
  %466 = fdiv <2 x double> %wide.load358.21, %broadcast.splat360
  store <2 x double> %466, ptr %465, align 8, !tbaa !5
  %467 = getelementptr inbounds i8, ptr %0, i64 1888
  %wide.load358.22 = load <2 x double>, ptr %467, align 8, !tbaa !5
  %468 = fdiv <2 x double> %wide.load358.22, %broadcast.splat360
  store <2 x double> %468, ptr %467, align 8, !tbaa !5
  %469 = getelementptr inbounds i8, ptr %0, i64 1904
  %wide.load358.23 = load <2 x double>, ptr %469, align 8, !tbaa !5
  %470 = fdiv <2 x double> %wide.load358.23, %broadcast.splat360
  store <2 x double> %470, ptr %469, align 8, !tbaa !5
  %471 = getelementptr inbounds i8, ptr %0, i64 1920
  %wide.load358.24 = load <2 x double>, ptr %471, align 8, !tbaa !5
  %472 = fdiv <2 x double> %wide.load358.24, %broadcast.splat360
  store <2 x double> %472, ptr %471, align 8, !tbaa !5
  %473 = getelementptr inbounds i8, ptr %0, i64 1936
  %wide.load358.25 = load <2 x double>, ptr %473, align 8, !tbaa !5
  %474 = fdiv <2 x double> %wide.load358.25, %broadcast.splat360
  store <2 x double> %474, ptr %473, align 8, !tbaa !5
  %475 = getelementptr inbounds i8, ptr %0, i64 1952
  %wide.load358.26 = load <2 x double>, ptr %475, align 8, !tbaa !5
  %476 = fdiv <2 x double> %wide.load358.26, %broadcast.splat360
  store <2 x double> %476, ptr %475, align 8, !tbaa !5
  %477 = getelementptr inbounds i8, ptr %0, i64 1968
  %wide.load358.27 = load <2 x double>, ptr %477, align 8, !tbaa !5
  %478 = fdiv <2 x double> %wide.load358.27, %broadcast.splat360
  store <2 x double> %478, ptr %477, align 8, !tbaa !5
  %479 = getelementptr inbounds i8, ptr %0, i64 1984
  %wide.load358.28 = load <2 x double>, ptr %479, align 8, !tbaa !5
  %480 = fdiv <2 x double> %wide.load358.28, %broadcast.splat360
  store <2 x double> %480, ptr %479, align 8, !tbaa !5
  %481 = getelementptr inbounds i8, ptr %0, i64 2000
  %wide.load358.29 = load <2 x double>, ptr %481, align 8, !tbaa !5
  %482 = fdiv <2 x double> %wide.load358.29, %broadcast.splat360
  store <2 x double> %482, ptr %481, align 8, !tbaa !5
  %483 = getelementptr inbounds i8, ptr %0, i64 2016
  %wide.load358.30 = load <2 x double>, ptr %483, align 8, !tbaa !5
  %484 = fdiv <2 x double> %wide.load358.30, %broadcast.splat360
  store <2 x double> %484, ptr %483, align 8, !tbaa !5
  %485 = getelementptr inbounds i8, ptr %0, i64 2032
  %wide.load358.31 = load <2 x double>, ptr %485, align 8, !tbaa !5
  %486 = fdiv <2 x double> %wide.load358.31, %broadcast.splat360
  store <2 x double> %486, ptr %485, align 8, !tbaa !5
  %broadcast.splatinsert369 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat370 = shufflevector <2 x double> %broadcast.splatinsert369, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep292 = getelementptr inbounds i8, ptr %0, i64 2048
  %wide.load368 = load <2 x double>, ptr %invariant.gep292, align 8, !tbaa !5
  %487 = fdiv <2 x double> %wide.load368, %broadcast.splat370
  store <2 x double> %487, ptr %invariant.gep292, align 8, !tbaa !5
  %488 = getelementptr inbounds i8, ptr %0, i64 2064
  %wide.load368.1 = load <2 x double>, ptr %488, align 8, !tbaa !5
  %489 = fdiv <2 x double> %wide.load368.1, %broadcast.splat370
  store <2 x double> %489, ptr %488, align 8, !tbaa !5
  %490 = getelementptr inbounds i8, ptr %0, i64 2080
  %wide.load368.2 = load <2 x double>, ptr %490, align 8, !tbaa !5
  %491 = fdiv <2 x double> %wide.load368.2, %broadcast.splat370
  store <2 x double> %491, ptr %490, align 8, !tbaa !5
  %492 = getelementptr inbounds i8, ptr %0, i64 2096
  %wide.load368.3 = load <2 x double>, ptr %492, align 8, !tbaa !5
  %493 = fdiv <2 x double> %wide.load368.3, %broadcast.splat370
  store <2 x double> %493, ptr %492, align 8, !tbaa !5
  %494 = getelementptr inbounds i8, ptr %0, i64 2112
  %wide.load368.4 = load <2 x double>, ptr %494, align 8, !tbaa !5
  %495 = fdiv <2 x double> %wide.load368.4, %broadcast.splat370
  store <2 x double> %495, ptr %494, align 8, !tbaa !5
  %496 = getelementptr inbounds i8, ptr %0, i64 2128
  %wide.load368.5 = load <2 x double>, ptr %496, align 8, !tbaa !5
  %497 = fdiv <2 x double> %wide.load368.5, %broadcast.splat370
  store <2 x double> %497, ptr %496, align 8, !tbaa !5
  %498 = getelementptr inbounds i8, ptr %0, i64 2144
  %wide.load368.6 = load <2 x double>, ptr %498, align 8, !tbaa !5
  %499 = fdiv <2 x double> %wide.load368.6, %broadcast.splat370
  store <2 x double> %499, ptr %498, align 8, !tbaa !5
  %500 = getelementptr inbounds i8, ptr %0, i64 2160
  %wide.load368.7 = load <2 x double>, ptr %500, align 8, !tbaa !5
  %501 = fdiv <2 x double> %wide.load368.7, %broadcast.splat370
  store <2 x double> %501, ptr %500, align 8, !tbaa !5
  %502 = getelementptr inbounds i8, ptr %0, i64 2176
  %wide.load368.8 = load <2 x double>, ptr %502, align 8, !tbaa !5
  %503 = fdiv <2 x double> %wide.load368.8, %broadcast.splat370
  store <2 x double> %503, ptr %502, align 8, !tbaa !5
  %504 = getelementptr inbounds i8, ptr %0, i64 2192
  %wide.load368.9 = load <2 x double>, ptr %504, align 8, !tbaa !5
  %505 = fdiv <2 x double> %wide.load368.9, %broadcast.splat370
  store <2 x double> %505, ptr %504, align 8, !tbaa !5
  %506 = getelementptr inbounds i8, ptr %0, i64 2208
  %wide.load368.10 = load <2 x double>, ptr %506, align 8, !tbaa !5
  %507 = fdiv <2 x double> %wide.load368.10, %broadcast.splat370
  store <2 x double> %507, ptr %506, align 8, !tbaa !5
  %508 = getelementptr inbounds i8, ptr %0, i64 2224
  %wide.load368.11 = load <2 x double>, ptr %508, align 8, !tbaa !5
  %509 = fdiv <2 x double> %wide.load368.11, %broadcast.splat370
  store <2 x double> %509, ptr %508, align 8, !tbaa !5
  %510 = getelementptr inbounds i8, ptr %0, i64 2240
  %wide.load368.12 = load <2 x double>, ptr %510, align 8, !tbaa !5
  %511 = fdiv <2 x double> %wide.load368.12, %broadcast.splat370
  store <2 x double> %511, ptr %510, align 8, !tbaa !5
  %512 = getelementptr inbounds i8, ptr %0, i64 2256
  %wide.load368.13 = load <2 x double>, ptr %512, align 8, !tbaa !5
  %513 = fdiv <2 x double> %wide.load368.13, %broadcast.splat370
  store <2 x double> %513, ptr %512, align 8, !tbaa !5
  %514 = getelementptr inbounds i8, ptr %0, i64 2272
  %wide.load368.14 = load <2 x double>, ptr %514, align 8, !tbaa !5
  %515 = fdiv <2 x double> %wide.load368.14, %broadcast.splat370
  store <2 x double> %515, ptr %514, align 8, !tbaa !5
  %516 = getelementptr inbounds i8, ptr %0, i64 2288
  %wide.load368.15 = load <2 x double>, ptr %516, align 8, !tbaa !5
  %517 = fdiv <2 x double> %wide.load368.15, %broadcast.splat370
  store <2 x double> %517, ptr %516, align 8, !tbaa !5
  %518 = getelementptr inbounds i8, ptr %0, i64 2304
  %wide.load368.16 = load <2 x double>, ptr %518, align 8, !tbaa !5
  %519 = fdiv <2 x double> %wide.load368.16, %broadcast.splat370
  store <2 x double> %519, ptr %518, align 8, !tbaa !5
  %520 = getelementptr inbounds i8, ptr %0, i64 2320
  %wide.load368.17 = load <2 x double>, ptr %520, align 8, !tbaa !5
  %521 = fdiv <2 x double> %wide.load368.17, %broadcast.splat370
  store <2 x double> %521, ptr %520, align 8, !tbaa !5
  %522 = getelementptr inbounds i8, ptr %0, i64 2336
  %wide.load368.18 = load <2 x double>, ptr %522, align 8, !tbaa !5
  %523 = fdiv <2 x double> %wide.load368.18, %broadcast.splat370
  store <2 x double> %523, ptr %522, align 8, !tbaa !5
  %524 = getelementptr inbounds i8, ptr %0, i64 2352
  %wide.load368.19 = load <2 x double>, ptr %524, align 8, !tbaa !5
  %525 = fdiv <2 x double> %wide.load368.19, %broadcast.splat370
  store <2 x double> %525, ptr %524, align 8, !tbaa !5
  %526 = getelementptr inbounds i8, ptr %0, i64 2368
  %wide.load368.20 = load <2 x double>, ptr %526, align 8, !tbaa !5
  %527 = fdiv <2 x double> %wide.load368.20, %broadcast.splat370
  store <2 x double> %527, ptr %526, align 8, !tbaa !5
  %528 = getelementptr inbounds i8, ptr %0, i64 2384
  %wide.load368.21 = load <2 x double>, ptr %528, align 8, !tbaa !5
  %529 = fdiv <2 x double> %wide.load368.21, %broadcast.splat370
  store <2 x double> %529, ptr %528, align 8, !tbaa !5
  %530 = getelementptr inbounds i8, ptr %0, i64 2400
  %wide.load368.22 = load <2 x double>, ptr %530, align 8, !tbaa !5
  %531 = fdiv <2 x double> %wide.load368.22, %broadcast.splat370
  store <2 x double> %531, ptr %530, align 8, !tbaa !5
  %532 = getelementptr inbounds i8, ptr %0, i64 2416
  %wide.load368.23 = load <2 x double>, ptr %532, align 8, !tbaa !5
  %533 = fdiv <2 x double> %wide.load368.23, %broadcast.splat370
  store <2 x double> %533, ptr %532, align 8, !tbaa !5
  %534 = getelementptr inbounds i8, ptr %0, i64 2432
  %wide.load368.24 = load <2 x double>, ptr %534, align 8, !tbaa !5
  %535 = fdiv <2 x double> %wide.load368.24, %broadcast.splat370
  store <2 x double> %535, ptr %534, align 8, !tbaa !5
  %536 = getelementptr inbounds i8, ptr %0, i64 2448
  %wide.load368.25 = load <2 x double>, ptr %536, align 8, !tbaa !5
  %537 = fdiv <2 x double> %wide.load368.25, %broadcast.splat370
  store <2 x double> %537, ptr %536, align 8, !tbaa !5
  %538 = getelementptr inbounds i8, ptr %0, i64 2464
  %wide.load368.26 = load <2 x double>, ptr %538, align 8, !tbaa !5
  %539 = fdiv <2 x double> %wide.load368.26, %broadcast.splat370
  store <2 x double> %539, ptr %538, align 8, !tbaa !5
  %540 = getelementptr inbounds i8, ptr %0, i64 2480
  %wide.load368.27 = load <2 x double>, ptr %540, align 8, !tbaa !5
  %541 = fdiv <2 x double> %wide.load368.27, %broadcast.splat370
  store <2 x double> %541, ptr %540, align 8, !tbaa !5
  %542 = getelementptr inbounds i8, ptr %0, i64 2496
  %wide.load368.28 = load <2 x double>, ptr %542, align 8, !tbaa !5
  %543 = fdiv <2 x double> %wide.load368.28, %broadcast.splat370
  store <2 x double> %543, ptr %542, align 8, !tbaa !5
  %544 = getelementptr inbounds i8, ptr %0, i64 2512
  %wide.load368.29 = load <2 x double>, ptr %544, align 8, !tbaa !5
  %545 = fdiv <2 x double> %wide.load368.29, %broadcast.splat370
  store <2 x double> %545, ptr %544, align 8, !tbaa !5
  %546 = getelementptr inbounds i8, ptr %0, i64 2528
  %wide.load368.30 = load <2 x double>, ptr %546, align 8, !tbaa !5
  %547 = fdiv <2 x double> %wide.load368.30, %broadcast.splat370
  store <2 x double> %547, ptr %546, align 8, !tbaa !5
  %548 = getelementptr inbounds i8, ptr %0, i64 2544
  %wide.load368.31 = load <2 x double>, ptr %548, align 8, !tbaa !5
  %549 = fdiv <2 x double> %wide.load368.31, %broadcast.splat370
  store <2 x double> %549, ptr %548, align 8, !tbaa !5
  %broadcast.splatinsert379 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat380 = shufflevector <2 x double> %broadcast.splatinsert379, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep294 = getelementptr inbounds i8, ptr %0, i64 2560
  %wide.load378 = load <2 x double>, ptr %invariant.gep294, align 8, !tbaa !5
  %550 = fdiv <2 x double> %wide.load378, %broadcast.splat380
  store <2 x double> %550, ptr %invariant.gep294, align 8, !tbaa !5
  %551 = getelementptr inbounds i8, ptr %0, i64 2576
  %wide.load378.1 = load <2 x double>, ptr %551, align 8, !tbaa !5
  %552 = fdiv <2 x double> %wide.load378.1, %broadcast.splat380
  store <2 x double> %552, ptr %551, align 8, !tbaa !5
  %553 = getelementptr inbounds i8, ptr %0, i64 2592
  %wide.load378.2 = load <2 x double>, ptr %553, align 8, !tbaa !5
  %554 = fdiv <2 x double> %wide.load378.2, %broadcast.splat380
  store <2 x double> %554, ptr %553, align 8, !tbaa !5
  %555 = getelementptr inbounds i8, ptr %0, i64 2608
  %wide.load378.3 = load <2 x double>, ptr %555, align 8, !tbaa !5
  %556 = fdiv <2 x double> %wide.load378.3, %broadcast.splat380
  store <2 x double> %556, ptr %555, align 8, !tbaa !5
  %557 = getelementptr inbounds i8, ptr %0, i64 2624
  %wide.load378.4 = load <2 x double>, ptr %557, align 8, !tbaa !5
  %558 = fdiv <2 x double> %wide.load378.4, %broadcast.splat380
  store <2 x double> %558, ptr %557, align 8, !tbaa !5
  %559 = getelementptr inbounds i8, ptr %0, i64 2640
  %wide.load378.5 = load <2 x double>, ptr %559, align 8, !tbaa !5
  %560 = fdiv <2 x double> %wide.load378.5, %broadcast.splat380
  store <2 x double> %560, ptr %559, align 8, !tbaa !5
  %561 = getelementptr inbounds i8, ptr %0, i64 2656
  %wide.load378.6 = load <2 x double>, ptr %561, align 8, !tbaa !5
  %562 = fdiv <2 x double> %wide.load378.6, %broadcast.splat380
  store <2 x double> %562, ptr %561, align 8, !tbaa !5
  %563 = getelementptr inbounds i8, ptr %0, i64 2672
  %wide.load378.7 = load <2 x double>, ptr %563, align 8, !tbaa !5
  %564 = fdiv <2 x double> %wide.load378.7, %broadcast.splat380
  store <2 x double> %564, ptr %563, align 8, !tbaa !5
  %565 = getelementptr inbounds i8, ptr %0, i64 2688
  %wide.load378.8 = load <2 x double>, ptr %565, align 8, !tbaa !5
  %566 = fdiv <2 x double> %wide.load378.8, %broadcast.splat380
  store <2 x double> %566, ptr %565, align 8, !tbaa !5
  %567 = getelementptr inbounds i8, ptr %0, i64 2704
  %wide.load378.9 = load <2 x double>, ptr %567, align 8, !tbaa !5
  %568 = fdiv <2 x double> %wide.load378.9, %broadcast.splat380
  store <2 x double> %568, ptr %567, align 8, !tbaa !5
  %569 = getelementptr inbounds i8, ptr %0, i64 2720
  %wide.load378.10 = load <2 x double>, ptr %569, align 8, !tbaa !5
  %570 = fdiv <2 x double> %wide.load378.10, %broadcast.splat380
  store <2 x double> %570, ptr %569, align 8, !tbaa !5
  %571 = getelementptr inbounds i8, ptr %0, i64 2736
  %wide.load378.11 = load <2 x double>, ptr %571, align 8, !tbaa !5
  %572 = fdiv <2 x double> %wide.load378.11, %broadcast.splat380
  store <2 x double> %572, ptr %571, align 8, !tbaa !5
  %573 = getelementptr inbounds i8, ptr %0, i64 2752
  %wide.load378.12 = load <2 x double>, ptr %573, align 8, !tbaa !5
  %574 = fdiv <2 x double> %wide.load378.12, %broadcast.splat380
  store <2 x double> %574, ptr %573, align 8, !tbaa !5
  %575 = getelementptr inbounds i8, ptr %0, i64 2768
  %wide.load378.13 = load <2 x double>, ptr %575, align 8, !tbaa !5
  %576 = fdiv <2 x double> %wide.load378.13, %broadcast.splat380
  store <2 x double> %576, ptr %575, align 8, !tbaa !5
  %577 = getelementptr inbounds i8, ptr %0, i64 2784
  %wide.load378.14 = load <2 x double>, ptr %577, align 8, !tbaa !5
  %578 = fdiv <2 x double> %wide.load378.14, %broadcast.splat380
  store <2 x double> %578, ptr %577, align 8, !tbaa !5
  %579 = getelementptr inbounds i8, ptr %0, i64 2800
  %wide.load378.15 = load <2 x double>, ptr %579, align 8, !tbaa !5
  %580 = fdiv <2 x double> %wide.load378.15, %broadcast.splat380
  store <2 x double> %580, ptr %579, align 8, !tbaa !5
  %581 = getelementptr inbounds i8, ptr %0, i64 2816
  %wide.load378.16 = load <2 x double>, ptr %581, align 8, !tbaa !5
  %582 = fdiv <2 x double> %wide.load378.16, %broadcast.splat380
  store <2 x double> %582, ptr %581, align 8, !tbaa !5
  %583 = getelementptr inbounds i8, ptr %0, i64 2832
  %wide.load378.17 = load <2 x double>, ptr %583, align 8, !tbaa !5
  %584 = fdiv <2 x double> %wide.load378.17, %broadcast.splat380
  store <2 x double> %584, ptr %583, align 8, !tbaa !5
  %585 = getelementptr inbounds i8, ptr %0, i64 2848
  %wide.load378.18 = load <2 x double>, ptr %585, align 8, !tbaa !5
  %586 = fdiv <2 x double> %wide.load378.18, %broadcast.splat380
  store <2 x double> %586, ptr %585, align 8, !tbaa !5
  %587 = getelementptr inbounds i8, ptr %0, i64 2864
  %wide.load378.19 = load <2 x double>, ptr %587, align 8, !tbaa !5
  %588 = fdiv <2 x double> %wide.load378.19, %broadcast.splat380
  store <2 x double> %588, ptr %587, align 8, !tbaa !5
  %589 = getelementptr inbounds i8, ptr %0, i64 2880
  %wide.load378.20 = load <2 x double>, ptr %589, align 8, !tbaa !5
  %590 = fdiv <2 x double> %wide.load378.20, %broadcast.splat380
  store <2 x double> %590, ptr %589, align 8, !tbaa !5
  %591 = getelementptr inbounds i8, ptr %0, i64 2896
  %wide.load378.21 = load <2 x double>, ptr %591, align 8, !tbaa !5
  %592 = fdiv <2 x double> %wide.load378.21, %broadcast.splat380
  store <2 x double> %592, ptr %591, align 8, !tbaa !5
  %593 = getelementptr inbounds i8, ptr %0, i64 2912
  %wide.load378.22 = load <2 x double>, ptr %593, align 8, !tbaa !5
  %594 = fdiv <2 x double> %wide.load378.22, %broadcast.splat380
  store <2 x double> %594, ptr %593, align 8, !tbaa !5
  %595 = getelementptr inbounds i8, ptr %0, i64 2928
  %wide.load378.23 = load <2 x double>, ptr %595, align 8, !tbaa !5
  %596 = fdiv <2 x double> %wide.load378.23, %broadcast.splat380
  store <2 x double> %596, ptr %595, align 8, !tbaa !5
  %597 = getelementptr inbounds i8, ptr %0, i64 2944
  %wide.load378.24 = load <2 x double>, ptr %597, align 8, !tbaa !5
  %598 = fdiv <2 x double> %wide.load378.24, %broadcast.splat380
  store <2 x double> %598, ptr %597, align 8, !tbaa !5
  %599 = getelementptr inbounds i8, ptr %0, i64 2960
  %wide.load378.25 = load <2 x double>, ptr %599, align 8, !tbaa !5
  %600 = fdiv <2 x double> %wide.load378.25, %broadcast.splat380
  store <2 x double> %600, ptr %599, align 8, !tbaa !5
  %601 = getelementptr inbounds i8, ptr %0, i64 2976
  %wide.load378.26 = load <2 x double>, ptr %601, align 8, !tbaa !5
  %602 = fdiv <2 x double> %wide.load378.26, %broadcast.splat380
  store <2 x double> %602, ptr %601, align 8, !tbaa !5
  %603 = getelementptr inbounds i8, ptr %0, i64 2992
  %wide.load378.27 = load <2 x double>, ptr %603, align 8, !tbaa !5
  %604 = fdiv <2 x double> %wide.load378.27, %broadcast.splat380
  store <2 x double> %604, ptr %603, align 8, !tbaa !5
  %605 = getelementptr inbounds i8, ptr %0, i64 3008
  %wide.load378.28 = load <2 x double>, ptr %605, align 8, !tbaa !5
  %606 = fdiv <2 x double> %wide.load378.28, %broadcast.splat380
  store <2 x double> %606, ptr %605, align 8, !tbaa !5
  %607 = getelementptr inbounds i8, ptr %0, i64 3024
  %wide.load378.29 = load <2 x double>, ptr %607, align 8, !tbaa !5
  %608 = fdiv <2 x double> %wide.load378.29, %broadcast.splat380
  store <2 x double> %608, ptr %607, align 8, !tbaa !5
  %609 = getelementptr inbounds i8, ptr %0, i64 3040
  %wide.load378.30 = load <2 x double>, ptr %609, align 8, !tbaa !5
  %610 = fdiv <2 x double> %wide.load378.30, %broadcast.splat380
  store <2 x double> %610, ptr %609, align 8, !tbaa !5
  %611 = getelementptr inbounds i8, ptr %0, i64 3056
  %wide.load378.31 = load <2 x double>, ptr %611, align 8, !tbaa !5
  %612 = fdiv <2 x double> %wide.load378.31, %broadcast.splat380
  store <2 x double> %612, ptr %611, align 8, !tbaa !5
  %broadcast.splatinsert389 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat390 = shufflevector <2 x double> %broadcast.splatinsert389, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep296 = getelementptr inbounds i8, ptr %0, i64 3072
  %wide.load388 = load <2 x double>, ptr %invariant.gep296, align 8, !tbaa !5
  %613 = fdiv <2 x double> %wide.load388, %broadcast.splat390
  store <2 x double> %613, ptr %invariant.gep296, align 8, !tbaa !5
  %614 = getelementptr inbounds i8, ptr %0, i64 3088
  %wide.load388.1 = load <2 x double>, ptr %614, align 8, !tbaa !5
  %615 = fdiv <2 x double> %wide.load388.1, %broadcast.splat390
  store <2 x double> %615, ptr %614, align 8, !tbaa !5
  %616 = getelementptr inbounds i8, ptr %0, i64 3104
  %wide.load388.2 = load <2 x double>, ptr %616, align 8, !tbaa !5
  %617 = fdiv <2 x double> %wide.load388.2, %broadcast.splat390
  store <2 x double> %617, ptr %616, align 8, !tbaa !5
  %618 = getelementptr inbounds i8, ptr %0, i64 3120
  %wide.load388.3 = load <2 x double>, ptr %618, align 8, !tbaa !5
  %619 = fdiv <2 x double> %wide.load388.3, %broadcast.splat390
  store <2 x double> %619, ptr %618, align 8, !tbaa !5
  %620 = getelementptr inbounds i8, ptr %0, i64 3136
  %wide.load388.4 = load <2 x double>, ptr %620, align 8, !tbaa !5
  %621 = fdiv <2 x double> %wide.load388.4, %broadcast.splat390
  store <2 x double> %621, ptr %620, align 8, !tbaa !5
  %622 = getelementptr inbounds i8, ptr %0, i64 3152
  %wide.load388.5 = load <2 x double>, ptr %622, align 8, !tbaa !5
  %623 = fdiv <2 x double> %wide.load388.5, %broadcast.splat390
  store <2 x double> %623, ptr %622, align 8, !tbaa !5
  %624 = getelementptr inbounds i8, ptr %0, i64 3168
  %wide.load388.6 = load <2 x double>, ptr %624, align 8, !tbaa !5
  %625 = fdiv <2 x double> %wide.load388.6, %broadcast.splat390
  store <2 x double> %625, ptr %624, align 8, !tbaa !5
  %626 = getelementptr inbounds i8, ptr %0, i64 3184
  %wide.load388.7 = load <2 x double>, ptr %626, align 8, !tbaa !5
  %627 = fdiv <2 x double> %wide.load388.7, %broadcast.splat390
  store <2 x double> %627, ptr %626, align 8, !tbaa !5
  %628 = getelementptr inbounds i8, ptr %0, i64 3200
  %wide.load388.8 = load <2 x double>, ptr %628, align 8, !tbaa !5
  %629 = fdiv <2 x double> %wide.load388.8, %broadcast.splat390
  store <2 x double> %629, ptr %628, align 8, !tbaa !5
  %630 = getelementptr inbounds i8, ptr %0, i64 3216
  %wide.load388.9 = load <2 x double>, ptr %630, align 8, !tbaa !5
  %631 = fdiv <2 x double> %wide.load388.9, %broadcast.splat390
  store <2 x double> %631, ptr %630, align 8, !tbaa !5
  %632 = getelementptr inbounds i8, ptr %0, i64 3232
  %wide.load388.10 = load <2 x double>, ptr %632, align 8, !tbaa !5
  %633 = fdiv <2 x double> %wide.load388.10, %broadcast.splat390
  store <2 x double> %633, ptr %632, align 8, !tbaa !5
  %634 = getelementptr inbounds i8, ptr %0, i64 3248
  %wide.load388.11 = load <2 x double>, ptr %634, align 8, !tbaa !5
  %635 = fdiv <2 x double> %wide.load388.11, %broadcast.splat390
  store <2 x double> %635, ptr %634, align 8, !tbaa !5
  %636 = getelementptr inbounds i8, ptr %0, i64 3264
  %wide.load388.12 = load <2 x double>, ptr %636, align 8, !tbaa !5
  %637 = fdiv <2 x double> %wide.load388.12, %broadcast.splat390
  store <2 x double> %637, ptr %636, align 8, !tbaa !5
  %638 = getelementptr inbounds i8, ptr %0, i64 3280
  %wide.load388.13 = load <2 x double>, ptr %638, align 8, !tbaa !5
  %639 = fdiv <2 x double> %wide.load388.13, %broadcast.splat390
  store <2 x double> %639, ptr %638, align 8, !tbaa !5
  %640 = getelementptr inbounds i8, ptr %0, i64 3296
  %wide.load388.14 = load <2 x double>, ptr %640, align 8, !tbaa !5
  %641 = fdiv <2 x double> %wide.load388.14, %broadcast.splat390
  store <2 x double> %641, ptr %640, align 8, !tbaa !5
  %642 = getelementptr inbounds i8, ptr %0, i64 3312
  %wide.load388.15 = load <2 x double>, ptr %642, align 8, !tbaa !5
  %643 = fdiv <2 x double> %wide.load388.15, %broadcast.splat390
  store <2 x double> %643, ptr %642, align 8, !tbaa !5
  %644 = getelementptr inbounds i8, ptr %0, i64 3328
  %wide.load388.16 = load <2 x double>, ptr %644, align 8, !tbaa !5
  %645 = fdiv <2 x double> %wide.load388.16, %broadcast.splat390
  store <2 x double> %645, ptr %644, align 8, !tbaa !5
  %646 = getelementptr inbounds i8, ptr %0, i64 3344
  %wide.load388.17 = load <2 x double>, ptr %646, align 8, !tbaa !5
  %647 = fdiv <2 x double> %wide.load388.17, %broadcast.splat390
  store <2 x double> %647, ptr %646, align 8, !tbaa !5
  %648 = getelementptr inbounds i8, ptr %0, i64 3360
  %wide.load388.18 = load <2 x double>, ptr %648, align 8, !tbaa !5
  %649 = fdiv <2 x double> %wide.load388.18, %broadcast.splat390
  store <2 x double> %649, ptr %648, align 8, !tbaa !5
  %650 = getelementptr inbounds i8, ptr %0, i64 3376
  %wide.load388.19 = load <2 x double>, ptr %650, align 8, !tbaa !5
  %651 = fdiv <2 x double> %wide.load388.19, %broadcast.splat390
  store <2 x double> %651, ptr %650, align 8, !tbaa !5
  %652 = getelementptr inbounds i8, ptr %0, i64 3392
  %wide.load388.20 = load <2 x double>, ptr %652, align 8, !tbaa !5
  %653 = fdiv <2 x double> %wide.load388.20, %broadcast.splat390
  store <2 x double> %653, ptr %652, align 8, !tbaa !5
  %654 = getelementptr inbounds i8, ptr %0, i64 3408
  %wide.load388.21 = load <2 x double>, ptr %654, align 8, !tbaa !5
  %655 = fdiv <2 x double> %wide.load388.21, %broadcast.splat390
  store <2 x double> %655, ptr %654, align 8, !tbaa !5
  %656 = getelementptr inbounds i8, ptr %0, i64 3424
  %wide.load388.22 = load <2 x double>, ptr %656, align 8, !tbaa !5
  %657 = fdiv <2 x double> %wide.load388.22, %broadcast.splat390
  store <2 x double> %657, ptr %656, align 8, !tbaa !5
  %658 = getelementptr inbounds i8, ptr %0, i64 3440
  %wide.load388.23 = load <2 x double>, ptr %658, align 8, !tbaa !5
  %659 = fdiv <2 x double> %wide.load388.23, %broadcast.splat390
  store <2 x double> %659, ptr %658, align 8, !tbaa !5
  %660 = getelementptr inbounds i8, ptr %0, i64 3456
  %wide.load388.24 = load <2 x double>, ptr %660, align 8, !tbaa !5
  %661 = fdiv <2 x double> %wide.load388.24, %broadcast.splat390
  store <2 x double> %661, ptr %660, align 8, !tbaa !5
  %662 = getelementptr inbounds i8, ptr %0, i64 3472
  %wide.load388.25 = load <2 x double>, ptr %662, align 8, !tbaa !5
  %663 = fdiv <2 x double> %wide.load388.25, %broadcast.splat390
  store <2 x double> %663, ptr %662, align 8, !tbaa !5
  %664 = getelementptr inbounds i8, ptr %0, i64 3488
  %wide.load388.26 = load <2 x double>, ptr %664, align 8, !tbaa !5
  %665 = fdiv <2 x double> %wide.load388.26, %broadcast.splat390
  store <2 x double> %665, ptr %664, align 8, !tbaa !5
  %666 = getelementptr inbounds i8, ptr %0, i64 3504
  %wide.load388.27 = load <2 x double>, ptr %666, align 8, !tbaa !5
  %667 = fdiv <2 x double> %wide.load388.27, %broadcast.splat390
  store <2 x double> %667, ptr %666, align 8, !tbaa !5
  %668 = getelementptr inbounds i8, ptr %0, i64 3520
  %wide.load388.28 = load <2 x double>, ptr %668, align 8, !tbaa !5
  %669 = fdiv <2 x double> %wide.load388.28, %broadcast.splat390
  store <2 x double> %669, ptr %668, align 8, !tbaa !5
  %670 = getelementptr inbounds i8, ptr %0, i64 3536
  %wide.load388.29 = load <2 x double>, ptr %670, align 8, !tbaa !5
  %671 = fdiv <2 x double> %wide.load388.29, %broadcast.splat390
  store <2 x double> %671, ptr %670, align 8, !tbaa !5
  %672 = getelementptr inbounds i8, ptr %0, i64 3552
  %wide.load388.30 = load <2 x double>, ptr %672, align 8, !tbaa !5
  %673 = fdiv <2 x double> %wide.load388.30, %broadcast.splat390
  store <2 x double> %673, ptr %672, align 8, !tbaa !5
  %674 = getelementptr inbounds i8, ptr %0, i64 3568
  %wide.load388.31 = load <2 x double>, ptr %674, align 8, !tbaa !5
  %675 = fdiv <2 x double> %wide.load388.31, %broadcast.splat390
  store <2 x double> %675, ptr %674, align 8, !tbaa !5
  %broadcast.splatinsert399 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat400 = shufflevector <2 x double> %broadcast.splatinsert399, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep298 = getelementptr inbounds i8, ptr %0, i64 3584
  %wide.load398 = load <2 x double>, ptr %invariant.gep298, align 8, !tbaa !5
  %676 = fdiv <2 x double> %wide.load398, %broadcast.splat400
  store <2 x double> %676, ptr %invariant.gep298, align 8, !tbaa !5
  %677 = getelementptr inbounds i8, ptr %0, i64 3600
  %wide.load398.1 = load <2 x double>, ptr %677, align 8, !tbaa !5
  %678 = fdiv <2 x double> %wide.load398.1, %broadcast.splat400
  store <2 x double> %678, ptr %677, align 8, !tbaa !5
  %679 = getelementptr inbounds i8, ptr %0, i64 3616
  %wide.load398.2 = load <2 x double>, ptr %679, align 8, !tbaa !5
  %680 = fdiv <2 x double> %wide.load398.2, %broadcast.splat400
  store <2 x double> %680, ptr %679, align 8, !tbaa !5
  %681 = getelementptr inbounds i8, ptr %0, i64 3632
  %wide.load398.3 = load <2 x double>, ptr %681, align 8, !tbaa !5
  %682 = fdiv <2 x double> %wide.load398.3, %broadcast.splat400
  store <2 x double> %682, ptr %681, align 8, !tbaa !5
  %683 = getelementptr inbounds i8, ptr %0, i64 3648
  %wide.load398.4 = load <2 x double>, ptr %683, align 8, !tbaa !5
  %684 = fdiv <2 x double> %wide.load398.4, %broadcast.splat400
  store <2 x double> %684, ptr %683, align 8, !tbaa !5
  %685 = getelementptr inbounds i8, ptr %0, i64 3664
  %wide.load398.5 = load <2 x double>, ptr %685, align 8, !tbaa !5
  %686 = fdiv <2 x double> %wide.load398.5, %broadcast.splat400
  store <2 x double> %686, ptr %685, align 8, !tbaa !5
  %687 = getelementptr inbounds i8, ptr %0, i64 3680
  %wide.load398.6 = load <2 x double>, ptr %687, align 8, !tbaa !5
  %688 = fdiv <2 x double> %wide.load398.6, %broadcast.splat400
  store <2 x double> %688, ptr %687, align 8, !tbaa !5
  %689 = getelementptr inbounds i8, ptr %0, i64 3696
  %wide.load398.7 = load <2 x double>, ptr %689, align 8, !tbaa !5
  %690 = fdiv <2 x double> %wide.load398.7, %broadcast.splat400
  store <2 x double> %690, ptr %689, align 8, !tbaa !5
  %691 = getelementptr inbounds i8, ptr %0, i64 3712
  %wide.load398.8 = load <2 x double>, ptr %691, align 8, !tbaa !5
  %692 = fdiv <2 x double> %wide.load398.8, %broadcast.splat400
  store <2 x double> %692, ptr %691, align 8, !tbaa !5
  %693 = getelementptr inbounds i8, ptr %0, i64 3728
  %wide.load398.9 = load <2 x double>, ptr %693, align 8, !tbaa !5
  %694 = fdiv <2 x double> %wide.load398.9, %broadcast.splat400
  store <2 x double> %694, ptr %693, align 8, !tbaa !5
  %695 = getelementptr inbounds i8, ptr %0, i64 3744
  %wide.load398.10 = load <2 x double>, ptr %695, align 8, !tbaa !5
  %696 = fdiv <2 x double> %wide.load398.10, %broadcast.splat400
  store <2 x double> %696, ptr %695, align 8, !tbaa !5
  %697 = getelementptr inbounds i8, ptr %0, i64 3760
  %wide.load398.11 = load <2 x double>, ptr %697, align 8, !tbaa !5
  %698 = fdiv <2 x double> %wide.load398.11, %broadcast.splat400
  store <2 x double> %698, ptr %697, align 8, !tbaa !5
  %699 = getelementptr inbounds i8, ptr %0, i64 3776
  %wide.load398.12 = load <2 x double>, ptr %699, align 8, !tbaa !5
  %700 = fdiv <2 x double> %wide.load398.12, %broadcast.splat400
  store <2 x double> %700, ptr %699, align 8, !tbaa !5
  %701 = getelementptr inbounds i8, ptr %0, i64 3792
  %wide.load398.13 = load <2 x double>, ptr %701, align 8, !tbaa !5
  %702 = fdiv <2 x double> %wide.load398.13, %broadcast.splat400
  store <2 x double> %702, ptr %701, align 8, !tbaa !5
  %703 = getelementptr inbounds i8, ptr %0, i64 3808
  %wide.load398.14 = load <2 x double>, ptr %703, align 8, !tbaa !5
  %704 = fdiv <2 x double> %wide.load398.14, %broadcast.splat400
  store <2 x double> %704, ptr %703, align 8, !tbaa !5
  %705 = getelementptr inbounds i8, ptr %0, i64 3824
  %wide.load398.15 = load <2 x double>, ptr %705, align 8, !tbaa !5
  %706 = fdiv <2 x double> %wide.load398.15, %broadcast.splat400
  store <2 x double> %706, ptr %705, align 8, !tbaa !5
  %707 = getelementptr inbounds i8, ptr %0, i64 3840
  %wide.load398.16 = load <2 x double>, ptr %707, align 8, !tbaa !5
  %708 = fdiv <2 x double> %wide.load398.16, %broadcast.splat400
  store <2 x double> %708, ptr %707, align 8, !tbaa !5
  %709 = getelementptr inbounds i8, ptr %0, i64 3856
  %wide.load398.17 = load <2 x double>, ptr %709, align 8, !tbaa !5
  %710 = fdiv <2 x double> %wide.load398.17, %broadcast.splat400
  store <2 x double> %710, ptr %709, align 8, !tbaa !5
  %711 = getelementptr inbounds i8, ptr %0, i64 3872
  %wide.load398.18 = load <2 x double>, ptr %711, align 8, !tbaa !5
  %712 = fdiv <2 x double> %wide.load398.18, %broadcast.splat400
  store <2 x double> %712, ptr %711, align 8, !tbaa !5
  %713 = getelementptr inbounds i8, ptr %0, i64 3888
  %wide.load398.19 = load <2 x double>, ptr %713, align 8, !tbaa !5
  %714 = fdiv <2 x double> %wide.load398.19, %broadcast.splat400
  store <2 x double> %714, ptr %713, align 8, !tbaa !5
  %715 = getelementptr inbounds i8, ptr %0, i64 3904
  %wide.load398.20 = load <2 x double>, ptr %715, align 8, !tbaa !5
  %716 = fdiv <2 x double> %wide.load398.20, %broadcast.splat400
  store <2 x double> %716, ptr %715, align 8, !tbaa !5
  %717 = getelementptr inbounds i8, ptr %0, i64 3920
  %wide.load398.21 = load <2 x double>, ptr %717, align 8, !tbaa !5
  %718 = fdiv <2 x double> %wide.load398.21, %broadcast.splat400
  store <2 x double> %718, ptr %717, align 8, !tbaa !5
  %719 = getelementptr inbounds i8, ptr %0, i64 3936
  %wide.load398.22 = load <2 x double>, ptr %719, align 8, !tbaa !5
  %720 = fdiv <2 x double> %wide.load398.22, %broadcast.splat400
  store <2 x double> %720, ptr %719, align 8, !tbaa !5
  %721 = getelementptr inbounds i8, ptr %0, i64 3952
  %wide.load398.23 = load <2 x double>, ptr %721, align 8, !tbaa !5
  %722 = fdiv <2 x double> %wide.load398.23, %broadcast.splat400
  store <2 x double> %722, ptr %721, align 8, !tbaa !5
  %723 = getelementptr inbounds i8, ptr %0, i64 3968
  %wide.load398.24 = load <2 x double>, ptr %723, align 8, !tbaa !5
  %724 = fdiv <2 x double> %wide.load398.24, %broadcast.splat400
  store <2 x double> %724, ptr %723, align 8, !tbaa !5
  %725 = getelementptr inbounds i8, ptr %0, i64 3984
  %wide.load398.25 = load <2 x double>, ptr %725, align 8, !tbaa !5
  %726 = fdiv <2 x double> %wide.load398.25, %broadcast.splat400
  store <2 x double> %726, ptr %725, align 8, !tbaa !5
  %727 = getelementptr inbounds i8, ptr %0, i64 4000
  %wide.load398.26 = load <2 x double>, ptr %727, align 8, !tbaa !5
  %728 = fdiv <2 x double> %wide.load398.26, %broadcast.splat400
  store <2 x double> %728, ptr %727, align 8, !tbaa !5
  %729 = getelementptr inbounds i8, ptr %0, i64 4016
  %wide.load398.27 = load <2 x double>, ptr %729, align 8, !tbaa !5
  %730 = fdiv <2 x double> %wide.load398.27, %broadcast.splat400
  store <2 x double> %730, ptr %729, align 8, !tbaa !5
  %731 = getelementptr inbounds i8, ptr %0, i64 4032
  %wide.load398.28 = load <2 x double>, ptr %731, align 8, !tbaa !5
  %732 = fdiv <2 x double> %wide.load398.28, %broadcast.splat400
  store <2 x double> %732, ptr %731, align 8, !tbaa !5
  %733 = getelementptr inbounds i8, ptr %0, i64 4048
  %wide.load398.29 = load <2 x double>, ptr %733, align 8, !tbaa !5
  %734 = fdiv <2 x double> %wide.load398.29, %broadcast.splat400
  store <2 x double> %734, ptr %733, align 8, !tbaa !5
  %735 = getelementptr inbounds i8, ptr %0, i64 4064
  %wide.load398.30 = load <2 x double>, ptr %735, align 8, !tbaa !5
  %736 = fdiv <2 x double> %wide.load398.30, %broadcast.splat400
  store <2 x double> %736, ptr %735, align 8, !tbaa !5
  %737 = getelementptr inbounds i8, ptr %0, i64 4080
  %wide.load398.31 = load <2 x double>, ptr %737, align 8, !tbaa !5
  %738 = fdiv <2 x double> %wide.load398.31, %broadcast.splat400
  store <2 x double> %738, ptr %737, align 8, !tbaa !5
  %broadcast.splatinsert409 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat410 = shufflevector <2 x double> %broadcast.splatinsert409, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep300 = getelementptr inbounds i8, ptr %0, i64 4096
  %wide.load408 = load <2 x double>, ptr %invariant.gep300, align 8, !tbaa !5
  %739 = fdiv <2 x double> %wide.load408, %broadcast.splat410
  store <2 x double> %739, ptr %invariant.gep300, align 8, !tbaa !5
  %740 = getelementptr inbounds i8, ptr %0, i64 4112
  %wide.load408.1 = load <2 x double>, ptr %740, align 8, !tbaa !5
  %741 = fdiv <2 x double> %wide.load408.1, %broadcast.splat410
  store <2 x double> %741, ptr %740, align 8, !tbaa !5
  %742 = getelementptr inbounds i8, ptr %0, i64 4128
  %wide.load408.2 = load <2 x double>, ptr %742, align 8, !tbaa !5
  %743 = fdiv <2 x double> %wide.load408.2, %broadcast.splat410
  store <2 x double> %743, ptr %742, align 8, !tbaa !5
  %744 = getelementptr inbounds i8, ptr %0, i64 4144
  %wide.load408.3 = load <2 x double>, ptr %744, align 8, !tbaa !5
  %745 = fdiv <2 x double> %wide.load408.3, %broadcast.splat410
  store <2 x double> %745, ptr %744, align 8, !tbaa !5
  %746 = getelementptr inbounds i8, ptr %0, i64 4160
  %wide.load408.4 = load <2 x double>, ptr %746, align 8, !tbaa !5
  %747 = fdiv <2 x double> %wide.load408.4, %broadcast.splat410
  store <2 x double> %747, ptr %746, align 8, !tbaa !5
  %748 = getelementptr inbounds i8, ptr %0, i64 4176
  %wide.load408.5 = load <2 x double>, ptr %748, align 8, !tbaa !5
  %749 = fdiv <2 x double> %wide.load408.5, %broadcast.splat410
  store <2 x double> %749, ptr %748, align 8, !tbaa !5
  %750 = getelementptr inbounds i8, ptr %0, i64 4192
  %wide.load408.6 = load <2 x double>, ptr %750, align 8, !tbaa !5
  %751 = fdiv <2 x double> %wide.load408.6, %broadcast.splat410
  store <2 x double> %751, ptr %750, align 8, !tbaa !5
  %752 = getelementptr inbounds i8, ptr %0, i64 4208
  %wide.load408.7 = load <2 x double>, ptr %752, align 8, !tbaa !5
  %753 = fdiv <2 x double> %wide.load408.7, %broadcast.splat410
  store <2 x double> %753, ptr %752, align 8, !tbaa !5
  %754 = getelementptr inbounds i8, ptr %0, i64 4224
  %wide.load408.8 = load <2 x double>, ptr %754, align 8, !tbaa !5
  %755 = fdiv <2 x double> %wide.load408.8, %broadcast.splat410
  store <2 x double> %755, ptr %754, align 8, !tbaa !5
  %756 = getelementptr inbounds i8, ptr %0, i64 4240
  %wide.load408.9 = load <2 x double>, ptr %756, align 8, !tbaa !5
  %757 = fdiv <2 x double> %wide.load408.9, %broadcast.splat410
  store <2 x double> %757, ptr %756, align 8, !tbaa !5
  %758 = getelementptr inbounds i8, ptr %0, i64 4256
  %wide.load408.10 = load <2 x double>, ptr %758, align 8, !tbaa !5
  %759 = fdiv <2 x double> %wide.load408.10, %broadcast.splat410
  store <2 x double> %759, ptr %758, align 8, !tbaa !5
  %760 = getelementptr inbounds i8, ptr %0, i64 4272
  %wide.load408.11 = load <2 x double>, ptr %760, align 8, !tbaa !5
  %761 = fdiv <2 x double> %wide.load408.11, %broadcast.splat410
  store <2 x double> %761, ptr %760, align 8, !tbaa !5
  %762 = getelementptr inbounds i8, ptr %0, i64 4288
  %wide.load408.12 = load <2 x double>, ptr %762, align 8, !tbaa !5
  %763 = fdiv <2 x double> %wide.load408.12, %broadcast.splat410
  store <2 x double> %763, ptr %762, align 8, !tbaa !5
  %764 = getelementptr inbounds i8, ptr %0, i64 4304
  %wide.load408.13 = load <2 x double>, ptr %764, align 8, !tbaa !5
  %765 = fdiv <2 x double> %wide.load408.13, %broadcast.splat410
  store <2 x double> %765, ptr %764, align 8, !tbaa !5
  %766 = getelementptr inbounds i8, ptr %0, i64 4320
  %wide.load408.14 = load <2 x double>, ptr %766, align 8, !tbaa !5
  %767 = fdiv <2 x double> %wide.load408.14, %broadcast.splat410
  store <2 x double> %767, ptr %766, align 8, !tbaa !5
  %768 = getelementptr inbounds i8, ptr %0, i64 4336
  %wide.load408.15 = load <2 x double>, ptr %768, align 8, !tbaa !5
  %769 = fdiv <2 x double> %wide.load408.15, %broadcast.splat410
  store <2 x double> %769, ptr %768, align 8, !tbaa !5
  %770 = getelementptr inbounds i8, ptr %0, i64 4352
  %wide.load408.16 = load <2 x double>, ptr %770, align 8, !tbaa !5
  %771 = fdiv <2 x double> %wide.load408.16, %broadcast.splat410
  store <2 x double> %771, ptr %770, align 8, !tbaa !5
  %772 = getelementptr inbounds i8, ptr %0, i64 4368
  %wide.load408.17 = load <2 x double>, ptr %772, align 8, !tbaa !5
  %773 = fdiv <2 x double> %wide.load408.17, %broadcast.splat410
  store <2 x double> %773, ptr %772, align 8, !tbaa !5
  %774 = getelementptr inbounds i8, ptr %0, i64 4384
  %wide.load408.18 = load <2 x double>, ptr %774, align 8, !tbaa !5
  %775 = fdiv <2 x double> %wide.load408.18, %broadcast.splat410
  store <2 x double> %775, ptr %774, align 8, !tbaa !5
  %776 = getelementptr inbounds i8, ptr %0, i64 4400
  %wide.load408.19 = load <2 x double>, ptr %776, align 8, !tbaa !5
  %777 = fdiv <2 x double> %wide.load408.19, %broadcast.splat410
  store <2 x double> %777, ptr %776, align 8, !tbaa !5
  %778 = getelementptr inbounds i8, ptr %0, i64 4416
  %wide.load408.20 = load <2 x double>, ptr %778, align 8, !tbaa !5
  %779 = fdiv <2 x double> %wide.load408.20, %broadcast.splat410
  store <2 x double> %779, ptr %778, align 8, !tbaa !5
  %780 = getelementptr inbounds i8, ptr %0, i64 4432
  %wide.load408.21 = load <2 x double>, ptr %780, align 8, !tbaa !5
  %781 = fdiv <2 x double> %wide.load408.21, %broadcast.splat410
  store <2 x double> %781, ptr %780, align 8, !tbaa !5
  %782 = getelementptr inbounds i8, ptr %0, i64 4448
  %wide.load408.22 = load <2 x double>, ptr %782, align 8, !tbaa !5
  %783 = fdiv <2 x double> %wide.load408.22, %broadcast.splat410
  store <2 x double> %783, ptr %782, align 8, !tbaa !5
  %784 = getelementptr inbounds i8, ptr %0, i64 4464
  %wide.load408.23 = load <2 x double>, ptr %784, align 8, !tbaa !5
  %785 = fdiv <2 x double> %wide.load408.23, %broadcast.splat410
  store <2 x double> %785, ptr %784, align 8, !tbaa !5
  %786 = getelementptr inbounds i8, ptr %0, i64 4480
  %wide.load408.24 = load <2 x double>, ptr %786, align 8, !tbaa !5
  %787 = fdiv <2 x double> %wide.load408.24, %broadcast.splat410
  store <2 x double> %787, ptr %786, align 8, !tbaa !5
  %788 = getelementptr inbounds i8, ptr %0, i64 4496
  %wide.load408.25 = load <2 x double>, ptr %788, align 8, !tbaa !5
  %789 = fdiv <2 x double> %wide.load408.25, %broadcast.splat410
  store <2 x double> %789, ptr %788, align 8, !tbaa !5
  %790 = getelementptr inbounds i8, ptr %0, i64 4512
  %wide.load408.26 = load <2 x double>, ptr %790, align 8, !tbaa !5
  %791 = fdiv <2 x double> %wide.load408.26, %broadcast.splat410
  store <2 x double> %791, ptr %790, align 8, !tbaa !5
  %792 = getelementptr inbounds i8, ptr %0, i64 4528
  %wide.load408.27 = load <2 x double>, ptr %792, align 8, !tbaa !5
  %793 = fdiv <2 x double> %wide.load408.27, %broadcast.splat410
  store <2 x double> %793, ptr %792, align 8, !tbaa !5
  %794 = getelementptr inbounds i8, ptr %0, i64 4544
  %wide.load408.28 = load <2 x double>, ptr %794, align 8, !tbaa !5
  %795 = fdiv <2 x double> %wide.load408.28, %broadcast.splat410
  store <2 x double> %795, ptr %794, align 8, !tbaa !5
  %796 = getelementptr inbounds i8, ptr %0, i64 4560
  %wide.load408.29 = load <2 x double>, ptr %796, align 8, !tbaa !5
  %797 = fdiv <2 x double> %wide.load408.29, %broadcast.splat410
  store <2 x double> %797, ptr %796, align 8, !tbaa !5
  %798 = getelementptr inbounds i8, ptr %0, i64 4576
  %wide.load408.30 = load <2 x double>, ptr %798, align 8, !tbaa !5
  %799 = fdiv <2 x double> %wide.load408.30, %broadcast.splat410
  store <2 x double> %799, ptr %798, align 8, !tbaa !5
  %800 = getelementptr inbounds i8, ptr %0, i64 4592
  %wide.load408.31 = load <2 x double>, ptr %800, align 8, !tbaa !5
  %801 = fdiv <2 x double> %wide.load408.31, %broadcast.splat410
  store <2 x double> %801, ptr %800, align 8, !tbaa !5
  %broadcast.splatinsert419 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat420 = shufflevector <2 x double> %broadcast.splatinsert419, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep302 = getelementptr inbounds i8, ptr %0, i64 4608
  %wide.load418 = load <2 x double>, ptr %invariant.gep302, align 8, !tbaa !5
  %802 = fdiv <2 x double> %wide.load418, %broadcast.splat420
  store <2 x double> %802, ptr %invariant.gep302, align 8, !tbaa !5
  %803 = getelementptr inbounds i8, ptr %0, i64 4624
  %wide.load418.1 = load <2 x double>, ptr %803, align 8, !tbaa !5
  %804 = fdiv <2 x double> %wide.load418.1, %broadcast.splat420
  store <2 x double> %804, ptr %803, align 8, !tbaa !5
  %805 = getelementptr inbounds i8, ptr %0, i64 4640
  %wide.load418.2 = load <2 x double>, ptr %805, align 8, !tbaa !5
  %806 = fdiv <2 x double> %wide.load418.2, %broadcast.splat420
  store <2 x double> %806, ptr %805, align 8, !tbaa !5
  %807 = getelementptr inbounds i8, ptr %0, i64 4656
  %wide.load418.3 = load <2 x double>, ptr %807, align 8, !tbaa !5
  %808 = fdiv <2 x double> %wide.load418.3, %broadcast.splat420
  store <2 x double> %808, ptr %807, align 8, !tbaa !5
  %809 = getelementptr inbounds i8, ptr %0, i64 4672
  %wide.load418.4 = load <2 x double>, ptr %809, align 8, !tbaa !5
  %810 = fdiv <2 x double> %wide.load418.4, %broadcast.splat420
  store <2 x double> %810, ptr %809, align 8, !tbaa !5
  %811 = getelementptr inbounds i8, ptr %0, i64 4688
  %wide.load418.5 = load <2 x double>, ptr %811, align 8, !tbaa !5
  %812 = fdiv <2 x double> %wide.load418.5, %broadcast.splat420
  store <2 x double> %812, ptr %811, align 8, !tbaa !5
  %813 = getelementptr inbounds i8, ptr %0, i64 4704
  %wide.load418.6 = load <2 x double>, ptr %813, align 8, !tbaa !5
  %814 = fdiv <2 x double> %wide.load418.6, %broadcast.splat420
  store <2 x double> %814, ptr %813, align 8, !tbaa !5
  %815 = getelementptr inbounds i8, ptr %0, i64 4720
  %wide.load418.7 = load <2 x double>, ptr %815, align 8, !tbaa !5
  %816 = fdiv <2 x double> %wide.load418.7, %broadcast.splat420
  store <2 x double> %816, ptr %815, align 8, !tbaa !5
  %817 = getelementptr inbounds i8, ptr %0, i64 4736
  %wide.load418.8 = load <2 x double>, ptr %817, align 8, !tbaa !5
  %818 = fdiv <2 x double> %wide.load418.8, %broadcast.splat420
  store <2 x double> %818, ptr %817, align 8, !tbaa !5
  %819 = getelementptr inbounds i8, ptr %0, i64 4752
  %wide.load418.9 = load <2 x double>, ptr %819, align 8, !tbaa !5
  %820 = fdiv <2 x double> %wide.load418.9, %broadcast.splat420
  store <2 x double> %820, ptr %819, align 8, !tbaa !5
  %821 = getelementptr inbounds i8, ptr %0, i64 4768
  %wide.load418.10 = load <2 x double>, ptr %821, align 8, !tbaa !5
  %822 = fdiv <2 x double> %wide.load418.10, %broadcast.splat420
  store <2 x double> %822, ptr %821, align 8, !tbaa !5
  %823 = getelementptr inbounds i8, ptr %0, i64 4784
  %wide.load418.11 = load <2 x double>, ptr %823, align 8, !tbaa !5
  %824 = fdiv <2 x double> %wide.load418.11, %broadcast.splat420
  store <2 x double> %824, ptr %823, align 8, !tbaa !5
  %825 = getelementptr inbounds i8, ptr %0, i64 4800
  %wide.load418.12 = load <2 x double>, ptr %825, align 8, !tbaa !5
  %826 = fdiv <2 x double> %wide.load418.12, %broadcast.splat420
  store <2 x double> %826, ptr %825, align 8, !tbaa !5
  %827 = getelementptr inbounds i8, ptr %0, i64 4816
  %wide.load418.13 = load <2 x double>, ptr %827, align 8, !tbaa !5
  %828 = fdiv <2 x double> %wide.load418.13, %broadcast.splat420
  store <2 x double> %828, ptr %827, align 8, !tbaa !5
  %829 = getelementptr inbounds i8, ptr %0, i64 4832
  %wide.load418.14 = load <2 x double>, ptr %829, align 8, !tbaa !5
  %830 = fdiv <2 x double> %wide.load418.14, %broadcast.splat420
  store <2 x double> %830, ptr %829, align 8, !tbaa !5
  %831 = getelementptr inbounds i8, ptr %0, i64 4848
  %wide.load418.15 = load <2 x double>, ptr %831, align 8, !tbaa !5
  %832 = fdiv <2 x double> %wide.load418.15, %broadcast.splat420
  store <2 x double> %832, ptr %831, align 8, !tbaa !5
  %833 = getelementptr inbounds i8, ptr %0, i64 4864
  %wide.load418.16 = load <2 x double>, ptr %833, align 8, !tbaa !5
  %834 = fdiv <2 x double> %wide.load418.16, %broadcast.splat420
  store <2 x double> %834, ptr %833, align 8, !tbaa !5
  %835 = getelementptr inbounds i8, ptr %0, i64 4880
  %wide.load418.17 = load <2 x double>, ptr %835, align 8, !tbaa !5
  %836 = fdiv <2 x double> %wide.load418.17, %broadcast.splat420
  store <2 x double> %836, ptr %835, align 8, !tbaa !5
  %837 = getelementptr inbounds i8, ptr %0, i64 4896
  %wide.load418.18 = load <2 x double>, ptr %837, align 8, !tbaa !5
  %838 = fdiv <2 x double> %wide.load418.18, %broadcast.splat420
  store <2 x double> %838, ptr %837, align 8, !tbaa !5
  %839 = getelementptr inbounds i8, ptr %0, i64 4912
  %wide.load418.19 = load <2 x double>, ptr %839, align 8, !tbaa !5
  %840 = fdiv <2 x double> %wide.load418.19, %broadcast.splat420
  store <2 x double> %840, ptr %839, align 8, !tbaa !5
  %841 = getelementptr inbounds i8, ptr %0, i64 4928
  %wide.load418.20 = load <2 x double>, ptr %841, align 8, !tbaa !5
  %842 = fdiv <2 x double> %wide.load418.20, %broadcast.splat420
  store <2 x double> %842, ptr %841, align 8, !tbaa !5
  %843 = getelementptr inbounds i8, ptr %0, i64 4944
  %wide.load418.21 = load <2 x double>, ptr %843, align 8, !tbaa !5
  %844 = fdiv <2 x double> %wide.load418.21, %broadcast.splat420
  store <2 x double> %844, ptr %843, align 8, !tbaa !5
  %845 = getelementptr inbounds i8, ptr %0, i64 4960
  %wide.load418.22 = load <2 x double>, ptr %845, align 8, !tbaa !5
  %846 = fdiv <2 x double> %wide.load418.22, %broadcast.splat420
  store <2 x double> %846, ptr %845, align 8, !tbaa !5
  %847 = getelementptr inbounds i8, ptr %0, i64 4976
  %wide.load418.23 = load <2 x double>, ptr %847, align 8, !tbaa !5
  %848 = fdiv <2 x double> %wide.load418.23, %broadcast.splat420
  store <2 x double> %848, ptr %847, align 8, !tbaa !5
  %849 = getelementptr inbounds i8, ptr %0, i64 4992
  %wide.load418.24 = load <2 x double>, ptr %849, align 8, !tbaa !5
  %850 = fdiv <2 x double> %wide.load418.24, %broadcast.splat420
  store <2 x double> %850, ptr %849, align 8, !tbaa !5
  %851 = getelementptr inbounds i8, ptr %0, i64 5008
  %wide.load418.25 = load <2 x double>, ptr %851, align 8, !tbaa !5
  %852 = fdiv <2 x double> %wide.load418.25, %broadcast.splat420
  store <2 x double> %852, ptr %851, align 8, !tbaa !5
  %853 = getelementptr inbounds i8, ptr %0, i64 5024
  %wide.load418.26 = load <2 x double>, ptr %853, align 8, !tbaa !5
  %854 = fdiv <2 x double> %wide.load418.26, %broadcast.splat420
  store <2 x double> %854, ptr %853, align 8, !tbaa !5
  %855 = getelementptr inbounds i8, ptr %0, i64 5040
  %wide.load418.27 = load <2 x double>, ptr %855, align 8, !tbaa !5
  %856 = fdiv <2 x double> %wide.load418.27, %broadcast.splat420
  store <2 x double> %856, ptr %855, align 8, !tbaa !5
  %857 = getelementptr inbounds i8, ptr %0, i64 5056
  %wide.load418.28 = load <2 x double>, ptr %857, align 8, !tbaa !5
  %858 = fdiv <2 x double> %wide.load418.28, %broadcast.splat420
  store <2 x double> %858, ptr %857, align 8, !tbaa !5
  %859 = getelementptr inbounds i8, ptr %0, i64 5072
  %wide.load418.29 = load <2 x double>, ptr %859, align 8, !tbaa !5
  %860 = fdiv <2 x double> %wide.load418.29, %broadcast.splat420
  store <2 x double> %860, ptr %859, align 8, !tbaa !5
  %861 = getelementptr inbounds i8, ptr %0, i64 5088
  %wide.load418.30 = load <2 x double>, ptr %861, align 8, !tbaa !5
  %862 = fdiv <2 x double> %wide.load418.30, %broadcast.splat420
  store <2 x double> %862, ptr %861, align 8, !tbaa !5
  %863 = getelementptr inbounds i8, ptr %0, i64 5104
  %wide.load418.31 = load <2 x double>, ptr %863, align 8, !tbaa !5
  %864 = fdiv <2 x double> %wide.load418.31, %broadcast.splat420
  store <2 x double> %864, ptr %863, align 8, !tbaa !5
  %broadcast.splatinsert429 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat430 = shufflevector <2 x double> %broadcast.splatinsert429, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep304 = getelementptr inbounds i8, ptr %0, i64 5120
  %wide.load428 = load <2 x double>, ptr %invariant.gep304, align 8, !tbaa !5
  %865 = fdiv <2 x double> %wide.load428, %broadcast.splat430
  store <2 x double> %865, ptr %invariant.gep304, align 8, !tbaa !5
  %866 = getelementptr inbounds i8, ptr %0, i64 5136
  %wide.load428.1 = load <2 x double>, ptr %866, align 8, !tbaa !5
  %867 = fdiv <2 x double> %wide.load428.1, %broadcast.splat430
  store <2 x double> %867, ptr %866, align 8, !tbaa !5
  %868 = getelementptr inbounds i8, ptr %0, i64 5152
  %wide.load428.2 = load <2 x double>, ptr %868, align 8, !tbaa !5
  %869 = fdiv <2 x double> %wide.load428.2, %broadcast.splat430
  store <2 x double> %869, ptr %868, align 8, !tbaa !5
  %870 = getelementptr inbounds i8, ptr %0, i64 5168
  %wide.load428.3 = load <2 x double>, ptr %870, align 8, !tbaa !5
  %871 = fdiv <2 x double> %wide.load428.3, %broadcast.splat430
  store <2 x double> %871, ptr %870, align 8, !tbaa !5
  %872 = getelementptr inbounds i8, ptr %0, i64 5184
  %wide.load428.4 = load <2 x double>, ptr %872, align 8, !tbaa !5
  %873 = fdiv <2 x double> %wide.load428.4, %broadcast.splat430
  store <2 x double> %873, ptr %872, align 8, !tbaa !5
  %874 = getelementptr inbounds i8, ptr %0, i64 5200
  %wide.load428.5 = load <2 x double>, ptr %874, align 8, !tbaa !5
  %875 = fdiv <2 x double> %wide.load428.5, %broadcast.splat430
  store <2 x double> %875, ptr %874, align 8, !tbaa !5
  %876 = getelementptr inbounds i8, ptr %0, i64 5216
  %wide.load428.6 = load <2 x double>, ptr %876, align 8, !tbaa !5
  %877 = fdiv <2 x double> %wide.load428.6, %broadcast.splat430
  store <2 x double> %877, ptr %876, align 8, !tbaa !5
  %878 = getelementptr inbounds i8, ptr %0, i64 5232
  %wide.load428.7 = load <2 x double>, ptr %878, align 8, !tbaa !5
  %879 = fdiv <2 x double> %wide.load428.7, %broadcast.splat430
  store <2 x double> %879, ptr %878, align 8, !tbaa !5
  %880 = getelementptr inbounds i8, ptr %0, i64 5248
  %wide.load428.8 = load <2 x double>, ptr %880, align 8, !tbaa !5
  %881 = fdiv <2 x double> %wide.load428.8, %broadcast.splat430
  store <2 x double> %881, ptr %880, align 8, !tbaa !5
  %882 = getelementptr inbounds i8, ptr %0, i64 5264
  %wide.load428.9 = load <2 x double>, ptr %882, align 8, !tbaa !5
  %883 = fdiv <2 x double> %wide.load428.9, %broadcast.splat430
  store <2 x double> %883, ptr %882, align 8, !tbaa !5
  %884 = getelementptr inbounds i8, ptr %0, i64 5280
  %wide.load428.10 = load <2 x double>, ptr %884, align 8, !tbaa !5
  %885 = fdiv <2 x double> %wide.load428.10, %broadcast.splat430
  store <2 x double> %885, ptr %884, align 8, !tbaa !5
  %886 = getelementptr inbounds i8, ptr %0, i64 5296
  %wide.load428.11 = load <2 x double>, ptr %886, align 8, !tbaa !5
  %887 = fdiv <2 x double> %wide.load428.11, %broadcast.splat430
  store <2 x double> %887, ptr %886, align 8, !tbaa !5
  %888 = getelementptr inbounds i8, ptr %0, i64 5312
  %wide.load428.12 = load <2 x double>, ptr %888, align 8, !tbaa !5
  %889 = fdiv <2 x double> %wide.load428.12, %broadcast.splat430
  store <2 x double> %889, ptr %888, align 8, !tbaa !5
  %890 = getelementptr inbounds i8, ptr %0, i64 5328
  %wide.load428.13 = load <2 x double>, ptr %890, align 8, !tbaa !5
  %891 = fdiv <2 x double> %wide.load428.13, %broadcast.splat430
  store <2 x double> %891, ptr %890, align 8, !tbaa !5
  %892 = getelementptr inbounds i8, ptr %0, i64 5344
  %wide.load428.14 = load <2 x double>, ptr %892, align 8, !tbaa !5
  %893 = fdiv <2 x double> %wide.load428.14, %broadcast.splat430
  store <2 x double> %893, ptr %892, align 8, !tbaa !5
  %894 = getelementptr inbounds i8, ptr %0, i64 5360
  %wide.load428.15 = load <2 x double>, ptr %894, align 8, !tbaa !5
  %895 = fdiv <2 x double> %wide.load428.15, %broadcast.splat430
  store <2 x double> %895, ptr %894, align 8, !tbaa !5
  %896 = getelementptr inbounds i8, ptr %0, i64 5376
  %wide.load428.16 = load <2 x double>, ptr %896, align 8, !tbaa !5
  %897 = fdiv <2 x double> %wide.load428.16, %broadcast.splat430
  store <2 x double> %897, ptr %896, align 8, !tbaa !5
  %898 = getelementptr inbounds i8, ptr %0, i64 5392
  %wide.load428.17 = load <2 x double>, ptr %898, align 8, !tbaa !5
  %899 = fdiv <2 x double> %wide.load428.17, %broadcast.splat430
  store <2 x double> %899, ptr %898, align 8, !tbaa !5
  %900 = getelementptr inbounds i8, ptr %0, i64 5408
  %wide.load428.18 = load <2 x double>, ptr %900, align 8, !tbaa !5
  %901 = fdiv <2 x double> %wide.load428.18, %broadcast.splat430
  store <2 x double> %901, ptr %900, align 8, !tbaa !5
  %902 = getelementptr inbounds i8, ptr %0, i64 5424
  %wide.load428.19 = load <2 x double>, ptr %902, align 8, !tbaa !5
  %903 = fdiv <2 x double> %wide.load428.19, %broadcast.splat430
  store <2 x double> %903, ptr %902, align 8, !tbaa !5
  %904 = getelementptr inbounds i8, ptr %0, i64 5440
  %wide.load428.20 = load <2 x double>, ptr %904, align 8, !tbaa !5
  %905 = fdiv <2 x double> %wide.load428.20, %broadcast.splat430
  store <2 x double> %905, ptr %904, align 8, !tbaa !5
  %906 = getelementptr inbounds i8, ptr %0, i64 5456
  %wide.load428.21 = load <2 x double>, ptr %906, align 8, !tbaa !5
  %907 = fdiv <2 x double> %wide.load428.21, %broadcast.splat430
  store <2 x double> %907, ptr %906, align 8, !tbaa !5
  %908 = getelementptr inbounds i8, ptr %0, i64 5472
  %wide.load428.22 = load <2 x double>, ptr %908, align 8, !tbaa !5
  %909 = fdiv <2 x double> %wide.load428.22, %broadcast.splat430
  store <2 x double> %909, ptr %908, align 8, !tbaa !5
  %910 = getelementptr inbounds i8, ptr %0, i64 5488
  %wide.load428.23 = load <2 x double>, ptr %910, align 8, !tbaa !5
  %911 = fdiv <2 x double> %wide.load428.23, %broadcast.splat430
  store <2 x double> %911, ptr %910, align 8, !tbaa !5
  %912 = getelementptr inbounds i8, ptr %0, i64 5504
  %wide.load428.24 = load <2 x double>, ptr %912, align 8, !tbaa !5
  %913 = fdiv <2 x double> %wide.load428.24, %broadcast.splat430
  store <2 x double> %913, ptr %912, align 8, !tbaa !5
  %914 = getelementptr inbounds i8, ptr %0, i64 5520
  %wide.load428.25 = load <2 x double>, ptr %914, align 8, !tbaa !5
  %915 = fdiv <2 x double> %wide.load428.25, %broadcast.splat430
  store <2 x double> %915, ptr %914, align 8, !tbaa !5
  %916 = getelementptr inbounds i8, ptr %0, i64 5536
  %wide.load428.26 = load <2 x double>, ptr %916, align 8, !tbaa !5
  %917 = fdiv <2 x double> %wide.load428.26, %broadcast.splat430
  store <2 x double> %917, ptr %916, align 8, !tbaa !5
  %918 = getelementptr inbounds i8, ptr %0, i64 5552
  %wide.load428.27 = load <2 x double>, ptr %918, align 8, !tbaa !5
  %919 = fdiv <2 x double> %wide.load428.27, %broadcast.splat430
  store <2 x double> %919, ptr %918, align 8, !tbaa !5
  %920 = getelementptr inbounds i8, ptr %0, i64 5568
  %wide.load428.28 = load <2 x double>, ptr %920, align 8, !tbaa !5
  %921 = fdiv <2 x double> %wide.load428.28, %broadcast.splat430
  store <2 x double> %921, ptr %920, align 8, !tbaa !5
  %922 = getelementptr inbounds i8, ptr %0, i64 5584
  %wide.load428.29 = load <2 x double>, ptr %922, align 8, !tbaa !5
  %923 = fdiv <2 x double> %wide.load428.29, %broadcast.splat430
  store <2 x double> %923, ptr %922, align 8, !tbaa !5
  %924 = getelementptr inbounds i8, ptr %0, i64 5600
  %wide.load428.30 = load <2 x double>, ptr %924, align 8, !tbaa !5
  %925 = fdiv <2 x double> %wide.load428.30, %broadcast.splat430
  store <2 x double> %925, ptr %924, align 8, !tbaa !5
  %926 = getelementptr inbounds i8, ptr %0, i64 5616
  %wide.load428.31 = load <2 x double>, ptr %926, align 8, !tbaa !5
  %927 = fdiv <2 x double> %wide.load428.31, %broadcast.splat430
  store <2 x double> %927, ptr %926, align 8, !tbaa !5
  %broadcast.splatinsert439 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat440 = shufflevector <2 x double> %broadcast.splatinsert439, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep306 = getelementptr inbounds i8, ptr %0, i64 5632
  %wide.load438 = load <2 x double>, ptr %invariant.gep306, align 8, !tbaa !5
  %928 = fdiv <2 x double> %wide.load438, %broadcast.splat440
  store <2 x double> %928, ptr %invariant.gep306, align 8, !tbaa !5
  %929 = getelementptr inbounds i8, ptr %0, i64 5648
  %wide.load438.1 = load <2 x double>, ptr %929, align 8, !tbaa !5
  %930 = fdiv <2 x double> %wide.load438.1, %broadcast.splat440
  store <2 x double> %930, ptr %929, align 8, !tbaa !5
  %931 = getelementptr inbounds i8, ptr %0, i64 5664
  %wide.load438.2 = load <2 x double>, ptr %931, align 8, !tbaa !5
  %932 = fdiv <2 x double> %wide.load438.2, %broadcast.splat440
  store <2 x double> %932, ptr %931, align 8, !tbaa !5
  %933 = getelementptr inbounds i8, ptr %0, i64 5680
  %wide.load438.3 = load <2 x double>, ptr %933, align 8, !tbaa !5
  %934 = fdiv <2 x double> %wide.load438.3, %broadcast.splat440
  store <2 x double> %934, ptr %933, align 8, !tbaa !5
  %935 = getelementptr inbounds i8, ptr %0, i64 5696
  %wide.load438.4 = load <2 x double>, ptr %935, align 8, !tbaa !5
  %936 = fdiv <2 x double> %wide.load438.4, %broadcast.splat440
  store <2 x double> %936, ptr %935, align 8, !tbaa !5
  %937 = getelementptr inbounds i8, ptr %0, i64 5712
  %wide.load438.5 = load <2 x double>, ptr %937, align 8, !tbaa !5
  %938 = fdiv <2 x double> %wide.load438.5, %broadcast.splat440
  store <2 x double> %938, ptr %937, align 8, !tbaa !5
  %939 = getelementptr inbounds i8, ptr %0, i64 5728
  %wide.load438.6 = load <2 x double>, ptr %939, align 8, !tbaa !5
  %940 = fdiv <2 x double> %wide.load438.6, %broadcast.splat440
  store <2 x double> %940, ptr %939, align 8, !tbaa !5
  %941 = getelementptr inbounds i8, ptr %0, i64 5744
  %wide.load438.7 = load <2 x double>, ptr %941, align 8, !tbaa !5
  %942 = fdiv <2 x double> %wide.load438.7, %broadcast.splat440
  store <2 x double> %942, ptr %941, align 8, !tbaa !5
  %943 = getelementptr inbounds i8, ptr %0, i64 5760
  %wide.load438.8 = load <2 x double>, ptr %943, align 8, !tbaa !5
  %944 = fdiv <2 x double> %wide.load438.8, %broadcast.splat440
  store <2 x double> %944, ptr %943, align 8, !tbaa !5
  %945 = getelementptr inbounds i8, ptr %0, i64 5776
  %wide.load438.9 = load <2 x double>, ptr %945, align 8, !tbaa !5
  %946 = fdiv <2 x double> %wide.load438.9, %broadcast.splat440
  store <2 x double> %946, ptr %945, align 8, !tbaa !5
  %947 = getelementptr inbounds i8, ptr %0, i64 5792
  %wide.load438.10 = load <2 x double>, ptr %947, align 8, !tbaa !5
  %948 = fdiv <2 x double> %wide.load438.10, %broadcast.splat440
  store <2 x double> %948, ptr %947, align 8, !tbaa !5
  %949 = getelementptr inbounds i8, ptr %0, i64 5808
  %wide.load438.11 = load <2 x double>, ptr %949, align 8, !tbaa !5
  %950 = fdiv <2 x double> %wide.load438.11, %broadcast.splat440
  store <2 x double> %950, ptr %949, align 8, !tbaa !5
  %951 = getelementptr inbounds i8, ptr %0, i64 5824
  %wide.load438.12 = load <2 x double>, ptr %951, align 8, !tbaa !5
  %952 = fdiv <2 x double> %wide.load438.12, %broadcast.splat440
  store <2 x double> %952, ptr %951, align 8, !tbaa !5
  %953 = getelementptr inbounds i8, ptr %0, i64 5840
  %wide.load438.13 = load <2 x double>, ptr %953, align 8, !tbaa !5
  %954 = fdiv <2 x double> %wide.load438.13, %broadcast.splat440
  store <2 x double> %954, ptr %953, align 8, !tbaa !5
  %955 = getelementptr inbounds i8, ptr %0, i64 5856
  %wide.load438.14 = load <2 x double>, ptr %955, align 8, !tbaa !5
  %956 = fdiv <2 x double> %wide.load438.14, %broadcast.splat440
  store <2 x double> %956, ptr %955, align 8, !tbaa !5
  %957 = getelementptr inbounds i8, ptr %0, i64 5872
  %wide.load438.15 = load <2 x double>, ptr %957, align 8, !tbaa !5
  %958 = fdiv <2 x double> %wide.load438.15, %broadcast.splat440
  store <2 x double> %958, ptr %957, align 8, !tbaa !5
  %959 = getelementptr inbounds i8, ptr %0, i64 5888
  %wide.load438.16 = load <2 x double>, ptr %959, align 8, !tbaa !5
  %960 = fdiv <2 x double> %wide.load438.16, %broadcast.splat440
  store <2 x double> %960, ptr %959, align 8, !tbaa !5
  %961 = getelementptr inbounds i8, ptr %0, i64 5904
  %wide.load438.17 = load <2 x double>, ptr %961, align 8, !tbaa !5
  %962 = fdiv <2 x double> %wide.load438.17, %broadcast.splat440
  store <2 x double> %962, ptr %961, align 8, !tbaa !5
  %963 = getelementptr inbounds i8, ptr %0, i64 5920
  %wide.load438.18 = load <2 x double>, ptr %963, align 8, !tbaa !5
  %964 = fdiv <2 x double> %wide.load438.18, %broadcast.splat440
  store <2 x double> %964, ptr %963, align 8, !tbaa !5
  %965 = getelementptr inbounds i8, ptr %0, i64 5936
  %wide.load438.19 = load <2 x double>, ptr %965, align 8, !tbaa !5
  %966 = fdiv <2 x double> %wide.load438.19, %broadcast.splat440
  store <2 x double> %966, ptr %965, align 8, !tbaa !5
  %967 = getelementptr inbounds i8, ptr %0, i64 5952
  %wide.load438.20 = load <2 x double>, ptr %967, align 8, !tbaa !5
  %968 = fdiv <2 x double> %wide.load438.20, %broadcast.splat440
  store <2 x double> %968, ptr %967, align 8, !tbaa !5
  %969 = getelementptr inbounds i8, ptr %0, i64 5968
  %wide.load438.21 = load <2 x double>, ptr %969, align 8, !tbaa !5
  %970 = fdiv <2 x double> %wide.load438.21, %broadcast.splat440
  store <2 x double> %970, ptr %969, align 8, !tbaa !5
  %971 = getelementptr inbounds i8, ptr %0, i64 5984
  %wide.load438.22 = load <2 x double>, ptr %971, align 8, !tbaa !5
  %972 = fdiv <2 x double> %wide.load438.22, %broadcast.splat440
  store <2 x double> %972, ptr %971, align 8, !tbaa !5
  %973 = getelementptr inbounds i8, ptr %0, i64 6000
  %wide.load438.23 = load <2 x double>, ptr %973, align 8, !tbaa !5
  %974 = fdiv <2 x double> %wide.load438.23, %broadcast.splat440
  store <2 x double> %974, ptr %973, align 8, !tbaa !5
  %975 = getelementptr inbounds i8, ptr %0, i64 6016
  %wide.load438.24 = load <2 x double>, ptr %975, align 8, !tbaa !5
  %976 = fdiv <2 x double> %wide.load438.24, %broadcast.splat440
  store <2 x double> %976, ptr %975, align 8, !tbaa !5
  %977 = getelementptr inbounds i8, ptr %0, i64 6032
  %wide.load438.25 = load <2 x double>, ptr %977, align 8, !tbaa !5
  %978 = fdiv <2 x double> %wide.load438.25, %broadcast.splat440
  store <2 x double> %978, ptr %977, align 8, !tbaa !5
  %979 = getelementptr inbounds i8, ptr %0, i64 6048
  %wide.load438.26 = load <2 x double>, ptr %979, align 8, !tbaa !5
  %980 = fdiv <2 x double> %wide.load438.26, %broadcast.splat440
  store <2 x double> %980, ptr %979, align 8, !tbaa !5
  %981 = getelementptr inbounds i8, ptr %0, i64 6064
  %wide.load438.27 = load <2 x double>, ptr %981, align 8, !tbaa !5
  %982 = fdiv <2 x double> %wide.load438.27, %broadcast.splat440
  store <2 x double> %982, ptr %981, align 8, !tbaa !5
  %983 = getelementptr inbounds i8, ptr %0, i64 6080
  %wide.load438.28 = load <2 x double>, ptr %983, align 8, !tbaa !5
  %984 = fdiv <2 x double> %wide.load438.28, %broadcast.splat440
  store <2 x double> %984, ptr %983, align 8, !tbaa !5
  %985 = getelementptr inbounds i8, ptr %0, i64 6096
  %wide.load438.29 = load <2 x double>, ptr %985, align 8, !tbaa !5
  %986 = fdiv <2 x double> %wide.load438.29, %broadcast.splat440
  store <2 x double> %986, ptr %985, align 8, !tbaa !5
  %987 = getelementptr inbounds i8, ptr %0, i64 6112
  %wide.load438.30 = load <2 x double>, ptr %987, align 8, !tbaa !5
  %988 = fdiv <2 x double> %wide.load438.30, %broadcast.splat440
  store <2 x double> %988, ptr %987, align 8, !tbaa !5
  %989 = getelementptr inbounds i8, ptr %0, i64 6128
  %wide.load438.31 = load <2 x double>, ptr %989, align 8, !tbaa !5
  %990 = fdiv <2 x double> %wide.load438.31, %broadcast.splat440
  store <2 x double> %990, ptr %989, align 8, !tbaa !5
  %broadcast.splatinsert449 = insertelement <2 x double> poison, double %233, i64 0
  %broadcast.splat450 = shufflevector <2 x double> %broadcast.splatinsert449, <2 x double> poison, <2 x i32> zeroinitializer
  %invariant.gep308 = getelementptr inbounds i8, ptr %0, i64 6144
  %wide.load448 = load <2 x double>, ptr %invariant.gep308, align 8, !tbaa !5
  %991 = fdiv <2 x double> %wide.load448, %broadcast.splat450
  store <2 x double> %991, ptr %invariant.gep308, align 8, !tbaa !5
  %992 = getelementptr inbounds i8, ptr %0, i64 6160
  %wide.load448.1 = load <2 x double>, ptr %992, align 8, !tbaa !5
  %993 = fdiv <2 x double> %wide.load448.1, %broadcast.splat450
  store <2 x double> %993, ptr %992, align 8, !tbaa !5
  %994 = getelementptr inbounds i8, ptr %0, i64 6176
  %wide.load448.2 = load <2 x double>, ptr %994, align 8, !tbaa !5
  %995 = fdiv <2 x double> %wide.load448.2, %broadcast.splat450
  store <2 x double> %995, ptr %994, align 8, !tbaa !5
  %996 = getelementptr inbounds i8, ptr %0, i64 6192
  %wide.load448.3 = load <2 x double>, ptr %996, align 8, !tbaa !5
  %997 = fdiv <2 x double> %wide.load448.3, %broadcast.splat450
  store <2 x double> %997, ptr %996, align 8, !tbaa !5
  %998 = getelementptr inbounds i8, ptr %0, i64 6208
  %wide.load448.4 = load <2 x double>, ptr %998, align 8, !tbaa !5
  %999 = fdiv <2 x double> %wide.load448.4, %broadcast.splat450
  store <2 x double> %999, ptr %998, align 8, !tbaa !5
  %1000 = getelementptr inbounds i8, ptr %0, i64 6224
  %wide.load448.5 = load <2 x double>, ptr %1000, align 8, !tbaa !5
  %1001 = fdiv <2 x double> %wide.load448.5, %broadcast.splat450
  store <2 x double> %1001, ptr %1000, align 8, !tbaa !5
  %1002 = getelementptr inbounds i8, ptr %0, i64 6240
  %wide.load448.6 = load <2 x double>, ptr %1002, align 8, !tbaa !5
  %1003 = fdiv <2 x double> %wide.load448.6, %broadcast.splat450
  store <2 x double> %1003, ptr %1002, align 8, !tbaa !5
  %1004 = getelementptr inbounds i8, ptr %0, i64 6256
  %wide.load448.7 = load <2 x double>, ptr %1004, align 8, !tbaa !5
  %1005 = fdiv <2 x double> %wide.load448.7, %broadcast.splat450
  store <2 x double> %1005, ptr %1004, align 8, !tbaa !5
  %1006 = getelementptr inbounds i8, ptr %0, i64 6272
  %wide.load448.8 = load <2 x double>, ptr %1006, align 8, !tbaa !5
  %1007 = fdiv <2 x double> %wide.load448.8, %broadcast.splat450
  store <2 x double> %1007, ptr %1006, align 8, !tbaa !5
  %1008 = getelementptr inbounds i8, ptr %0, i64 6288
  %wide.load448.9 = load <2 x double>, ptr %1008, align 8, !tbaa !5
  %1009 = fdiv <2 x double> %wide.load448.9, %broadcast.splat450
  store <2 x double> %1009, ptr %1008, align 8, !tbaa !5
  %1010 = getelementptr inbounds i8, ptr %0, i64 6304
  %wide.load448.10 = load <2 x double>, ptr %1010, align 8, !tbaa !5
  %1011 = fdiv <2 x double> %wide.load448.10, %broadcast.splat450
  store <2 x double> %1011, ptr %1010, align 8, !tbaa !5
  %1012 = getelementptr inbounds i8, ptr %0, i64 6320
  %wide.load448.11 = load <2 x double>, ptr %1012, align 8, !tbaa !5
  %1013 = fdiv <2 x double> %wide.load448.11, %broadcast.splat450
  store <2 x double> %1013, ptr %1012, align 8, !tbaa !5
  %1014 = getelementptr inbounds i8, ptr %0, i64 6336
  %wide.load448.12 = load <2 x double>, ptr %1014, align 8, !tbaa !5
  %1015 = fdiv <2 x double> %wide.load448.12, %broadcast.splat450
  store <2 x double> %1015, ptr %1014, align 8, !tbaa !5
  %1016 = getelementptr inbounds i8, ptr %0, i64 6352
  %wide.load448.13 = load <2 x double>, ptr %1016, align 8, !tbaa !5
  %1017 = fdiv <2 x double> %wide.load448.13, %broadcast.splat450
  store <2 x double> %1017, ptr %1016, align 8, !tbaa !5
  %1018 = getelementptr inbounds i8, ptr %0, i64 6368
  %wide.load448.14 = load <2 x double>, ptr %1018, align 8, !tbaa !5
  %1019 = fdiv <2 x double> %wide.load448.14, %broadcast.splat450
  store <2 x double> %1019, ptr %1018, align 8, !tbaa !5
  %1020 = getelementptr inbounds i8, ptr %0, i64 6384
  %wide.load448.15 = load <2 x double>, ptr %1020, align 8, !tbaa !5
  %1021 = fdiv <2 x double> %wide.load448.15, %broadcast.splat450
  store <2 x double> %1021, ptr %1020, align 8, !tbaa !5
  %1022 = getelementptr inbounds i8, ptr %0, i64 6400
  %wide.load448.16 = load <2 x double>, ptr %1022, align 8, !tbaa !5
  %1023 = fdiv <2 x double> %wide.load448.16, %broadcast.splat450
  store <2 x double> %1023, ptr %1022, align 8, !tbaa !5
  %1024 = getelementptr inbounds i8, ptr %0, i64 6416
  %wide.load448.17 = load <2 x double>, ptr %1024, align 8, !tbaa !5
  %1025 = fdiv <2 x double> %wide.load448.17, %broadcast.splat450
  store <2 x double> %1025, ptr %1024, align 8, !tbaa !5
  %1026 = getelementptr inbounds i8, ptr %0, i64 6432
  %wide.load448.18 = load <2 x double>, ptr %1026, align 8, !tbaa !5
  %1027 = fdiv <2 x double> %wide.load448.18, %broadcast.splat450
  store <2 x double> %1027, ptr %1026, align 8, !tbaa !5
  %1028 = getelementptr inbounds i8, ptr %0, i64 6448
  %wide.load448.19 = load <2 x double>, ptr %1028, align 8, !tbaa !5
  %1029 = fdiv <2 x double> %wide.load448.19, %broadcast.splat450
  store <2 x double> %1029, ptr %1028, align 8, !tbaa !5
  %1030 = getelementptr inbounds i8, ptr %0, i64 6464
  %wide.load448.20 = load <2 x double>, ptr %1030, align 8, !tbaa !5
  %1031 = fdiv <2 x double> %wide.load448.20, %broadcast.splat450
  store <2 x double> %1031, ptr %1030, align 8, !tbaa !5
  %1032 = getelementptr inbounds i8, ptr %0, i64 6480
  %wide.load448.21 = load <2 x double>, ptr %1032, align 8, !tbaa !5
  %1033 = fdiv <2 x double> %wide.load448.21, %broadcast.splat450
  store <2 x double> %1033, ptr %1032, align 8, !tbaa !5
  %1034 = getelementptr inbounds i8, ptr %0, i64 6496
  %wide.load448.22 = load <2 x double>, ptr %1034, align 8, !tbaa !5
  %1035 = fdiv <2 x double> %wide.load448.22, %broadcast.splat450
  store <2 x double> %1035, ptr %1034, align 8, !tbaa !5
  %1036 = getelementptr inbounds i8, ptr %0, i64 6512
  %wide.load448.23 = load <2 x double>, ptr %1036, align 8, !tbaa !5
  %1037 = fdiv <2 x double> %wide.load448.23, %broadcast.splat450
  store <2 x double> %1037, ptr %1036, align 8, !tbaa !5
  %1038 = getelementptr inbounds i8, ptr %0, i64 6528
  %wide.load448.24 = load <2 x double>, ptr %1038, align 8, !tbaa !5
  %1039 = fdiv <2 x double> %wide.load448.24, %broadcast.splat450
  store <2 x double> %1039, ptr %1038, align 8, !tbaa !5
  %1040 = getelementptr inbounds i8, ptr %0, i64 6544
  %wide.load448.25 = load <2 x double>, ptr %1040, align 8, !tbaa !5
  %1041 = fdiv <2 x double> %wide.load448.25, %broadcast.splat450
  store <2 x double> %1041, ptr %1040, align 8, !tbaa !5
  %1042 = getelementptr inbounds i8, ptr %0, i64 6560
  %wide.load448.26 = load <2 x double>, ptr %1042, align 8, !tbaa !5
  %1043 = fdiv <2 x double> %wide.load448.26, %broadcast.splat450
  store <2 x double> %1043, ptr %1042, align 8, !tbaa !5
  %1044 = getelementptr inbounds i8, ptr %0, i64 6576
  %wide.load448.27 = load <2 x double>, ptr %1044, align 8, !tbaa !5
  %1045 = fdiv <2 x double> %wide.load448.27, %broadcast.splat450
  store <2 x double> %1045, ptr %1044, align 8, !tbaa !5
  %1046 = getelementptr inbounds i8, ptr %0, i64 6592
  %wide.load448.28 = load <2 x double>, ptr %1046, align 8, !tbaa !5
  %1047 = fdiv <2 x double> %wide.load448.28, %broadcast.splat450
  store <2 x double> %1047, ptr %1046, align 8, !tbaa !5
  %1048 = getelementptr inbounds i8, ptr %0, i64 6608
  %wide.load448.29 = load <2 x double>, ptr %1048, align 8, !tbaa !5
  %1049 = fdiv <2 x double> %wide.load448.29, %broadcast.splat450
  store <2 x double> %1049, ptr %1048, align 8, !tbaa !5
  %1050 = getelementptr inbounds i8, ptr %0, i64 6624
  %wide.load448.30 = load <2 x double>, ptr %1050, align 8, !tbaa !5
  %1051 = fdiv <2 x double> %wide.load448.30, %broadcast.splat450
  store <2 x double> %1051, ptr %1050, align 8, !tbaa !5
  %1052 = getelementptr inbounds i8, ptr %0, i64 6640
  %wide.load448.31 = load <2 x double>, ptr %1052, align 8, !tbaa !5
  %1053 = fdiv <2 x double> %wide.load448.31, %broadcast.splat450
  store <2 x double> %1053, ptr %1052, align 8, !tbaa !5
  %broadcast.splatinsert459 = insertelement <2 x double> poison, double %234, i64 0
  %broadcast.splat460 = shufflevector <2 x double> %broadcast.splatinsert459, <2 x double> poison, <2 x i32> zeroinitializer
  %wide.load458 = load <2 x double>, ptr %6, align 8, !tbaa !5
  %1054 = fdiv <2 x double> %wide.load458, %broadcast.splat460
  store <2 x double> %1054, ptr %6, align 8, !tbaa !5
  %1055 = getelementptr inbounds i8, ptr %6, i64 16
  %wide.load458.1 = load <2 x double>, ptr %1055, align 8, !tbaa !5
  %1056 = fdiv <2 x double> %wide.load458.1, %broadcast.splat460
  store <2 x double> %1056, ptr %1055, align 8, !tbaa !5
  %1057 = getelementptr inbounds i8, ptr %6, i64 32
  %wide.load458.2 = load <2 x double>, ptr %1057, align 8, !tbaa !5
  %1058 = fdiv <2 x double> %wide.load458.2, %broadcast.splat460
  store <2 x double> %1058, ptr %1057, align 8, !tbaa !5
  %1059 = getelementptr inbounds i8, ptr %6, i64 48
  %wide.load458.3 = load <2 x double>, ptr %1059, align 8, !tbaa !5
  %1060 = fdiv <2 x double> %wide.load458.3, %broadcast.splat460
  store <2 x double> %1060, ptr %1059, align 8, !tbaa !5
  %1061 = getelementptr inbounds i8, ptr %6, i64 64
  %wide.load458.4 = load <2 x double>, ptr %1061, align 8, !tbaa !5
  %1062 = fdiv <2 x double> %wide.load458.4, %broadcast.splat460
  store <2 x double> %1062, ptr %1061, align 8, !tbaa !5
  %1063 = getelementptr inbounds i8, ptr %6, i64 80
  %wide.load458.5 = load <2 x double>, ptr %1063, align 8, !tbaa !5
  %1064 = fdiv <2 x double> %wide.load458.5, %broadcast.splat460
  store <2 x double> %1064, ptr %1063, align 8, !tbaa !5
  %1065 = getelementptr inbounds i8, ptr %6, i64 96
  %wide.load458.6 = load <2 x double>, ptr %1065, align 8, !tbaa !5
  %1066 = fdiv <2 x double> %wide.load458.6, %broadcast.splat460
  store <2 x double> %1066, ptr %1065, align 8, !tbaa !5
  %1067 = getelementptr inbounds i8, ptr %6, i64 112
  %wide.load458.7 = load <2 x double>, ptr %1067, align 8, !tbaa !5
  %1068 = fdiv <2 x double> %wide.load458.7, %broadcast.splat460
  store <2 x double> %1068, ptr %1067, align 8, !tbaa !5
  %1069 = getelementptr inbounds i8, ptr %6, i64 128
  %wide.load458.8 = load <2 x double>, ptr %1069, align 8, !tbaa !5
  %1070 = fdiv <2 x double> %wide.load458.8, %broadcast.splat460
  store <2 x double> %1070, ptr %1069, align 8, !tbaa !5
  %1071 = getelementptr inbounds i8, ptr %6, i64 144
  %wide.load458.9 = load <2 x double>, ptr %1071, align 8, !tbaa !5
  %1072 = fdiv <2 x double> %wide.load458.9, %broadcast.splat460
  store <2 x double> %1072, ptr %1071, align 8, !tbaa !5
  %1073 = getelementptr inbounds i8, ptr %6, i64 160
  %wide.load458.10 = load <2 x double>, ptr %1073, align 8, !tbaa !5
  %1074 = fdiv <2 x double> %wide.load458.10, %broadcast.splat460
  store <2 x double> %1074, ptr %1073, align 8, !tbaa !5
  %1075 = getelementptr inbounds i8, ptr %6, i64 176
  %wide.load458.11 = load <2 x double>, ptr %1075, align 8, !tbaa !5
  %1076 = fdiv <2 x double> %wide.load458.11, %broadcast.splat460
  store <2 x double> %1076, ptr %1075, align 8, !tbaa !5
  %1077 = getelementptr inbounds i8, ptr %6, i64 192
  %wide.load458.12 = load <2 x double>, ptr %1077, align 8, !tbaa !5
  %1078 = fdiv <2 x double> %wide.load458.12, %broadcast.splat460
  store <2 x double> %1078, ptr %1077, align 8, !tbaa !5
  %1079 = getelementptr inbounds i8, ptr %6, i64 208
  %wide.load458.13 = load <2 x double>, ptr %1079, align 8, !tbaa !5
  %1080 = fdiv <2 x double> %wide.load458.13, %broadcast.splat460
  store <2 x double> %1080, ptr %1079, align 8, !tbaa !5
  %1081 = getelementptr inbounds i8, ptr %6, i64 224
  %wide.load458.14 = load <2 x double>, ptr %1081, align 8, !tbaa !5
  %1082 = fdiv <2 x double> %wide.load458.14, %broadcast.splat460
  store <2 x double> %1082, ptr %1081, align 8, !tbaa !5
  %1083 = getelementptr inbounds i8, ptr %6, i64 240
  %wide.load458.15 = load <2 x double>, ptr %1083, align 8, !tbaa !5
  %1084 = fdiv <2 x double> %wide.load458.15, %broadcast.splat460
  store <2 x double> %1084, ptr %1083, align 8, !tbaa !5
  %1085 = getelementptr inbounds i8, ptr %6, i64 256
  %wide.load458.16 = load <2 x double>, ptr %1085, align 8, !tbaa !5
  %1086 = fdiv <2 x double> %wide.load458.16, %broadcast.splat460
  store <2 x double> %1086, ptr %1085, align 8, !tbaa !5
  %1087 = getelementptr inbounds i8, ptr %6, i64 272
  %wide.load458.17 = load <2 x double>, ptr %1087, align 8, !tbaa !5
  %1088 = fdiv <2 x double> %wide.load458.17, %broadcast.splat460
  store <2 x double> %1088, ptr %1087, align 8, !tbaa !5
  %1089 = getelementptr inbounds i8, ptr %6, i64 288
  %wide.load458.18 = load <2 x double>, ptr %1089, align 8, !tbaa !5
  %1090 = fdiv <2 x double> %wide.load458.18, %broadcast.splat460
  store <2 x double> %1090, ptr %1089, align 8, !tbaa !5
  %1091 = getelementptr inbounds i8, ptr %6, i64 304
  %wide.load458.19 = load <2 x double>, ptr %1091, align 8, !tbaa !5
  %1092 = fdiv <2 x double> %wide.load458.19, %broadcast.splat460
  store <2 x double> %1092, ptr %1091, align 8, !tbaa !5
  %1093 = getelementptr inbounds i8, ptr %6, i64 320
  %wide.load458.20 = load <2 x double>, ptr %1093, align 8, !tbaa !5
  %1094 = fdiv <2 x double> %wide.load458.20, %broadcast.splat460
  store <2 x double> %1094, ptr %1093, align 8, !tbaa !5
  %1095 = getelementptr inbounds i8, ptr %6, i64 336
  %wide.load458.21 = load <2 x double>, ptr %1095, align 8, !tbaa !5
  %1096 = fdiv <2 x double> %wide.load458.21, %broadcast.splat460
  store <2 x double> %1096, ptr %1095, align 8, !tbaa !5
  %1097 = getelementptr inbounds i8, ptr %6, i64 352
  %wide.load458.22 = load <2 x double>, ptr %1097, align 8, !tbaa !5
  %1098 = fdiv <2 x double> %wide.load458.22, %broadcast.splat460
  store <2 x double> %1098, ptr %1097, align 8, !tbaa !5
  %1099 = getelementptr inbounds i8, ptr %6, i64 368
  %wide.load458.23 = load <2 x double>, ptr %1099, align 8, !tbaa !5
  %1100 = fdiv <2 x double> %wide.load458.23, %broadcast.splat460
  store <2 x double> %1100, ptr %1099, align 8, !tbaa !5
  %1101 = getelementptr inbounds i8, ptr %6, i64 384
  %wide.load458.24 = load <2 x double>, ptr %1101, align 8, !tbaa !5
  %1102 = fdiv <2 x double> %wide.load458.24, %broadcast.splat460
  store <2 x double> %1102, ptr %1101, align 8, !tbaa !5
  %1103 = getelementptr inbounds i8, ptr %6, i64 400
  %wide.load458.25 = load <2 x double>, ptr %1103, align 8, !tbaa !5
  %1104 = fdiv <2 x double> %wide.load458.25, %broadcast.splat460
  store <2 x double> %1104, ptr %1103, align 8, !tbaa !5
  %1105 = getelementptr inbounds i8, ptr %6, i64 416
  %wide.load458.26 = load <2 x double>, ptr %1105, align 8, !tbaa !5
  %1106 = fdiv <2 x double> %wide.load458.26, %broadcast.splat460
  store <2 x double> %1106, ptr %1105, align 8, !tbaa !5
  %1107 = getelementptr inbounds i8, ptr %6, i64 432
  %wide.load458.27 = load <2 x double>, ptr %1107, align 8, !tbaa !5
  %1108 = fdiv <2 x double> %wide.load458.27, %broadcast.splat460
  store <2 x double> %1108, ptr %1107, align 8, !tbaa !5
  %1109 = getelementptr inbounds i8, ptr %6, i64 448
  %wide.load458.28 = load <2 x double>, ptr %1109, align 8, !tbaa !5
  %1110 = fdiv <2 x double> %wide.load458.28, %broadcast.splat460
  store <2 x double> %1110, ptr %1109, align 8, !tbaa !5
  %1111 = getelementptr inbounds i8, ptr %6, i64 464
  %wide.load458.29 = load <2 x double>, ptr %1111, align 8, !tbaa !5
  %1112 = fdiv <2 x double> %wide.load458.29, %broadcast.splat460
  store <2 x double> %1112, ptr %1111, align 8, !tbaa !5
  %1113 = getelementptr inbounds i8, ptr %6, i64 480
  %wide.load458.30 = load <2 x double>, ptr %1113, align 8, !tbaa !5
  %1114 = fdiv <2 x double> %wide.load458.30, %broadcast.splat460
  store <2 x double> %1114, ptr %1113, align 8, !tbaa !5
  %1115 = getelementptr inbounds i8, ptr %6, i64 496
  %wide.load458.31 = load <2 x double>, ptr %1115, align 8, !tbaa !5
  %1116 = fdiv <2 x double> %wide.load458.31, %broadcast.splat460
  store <2 x double> %1116, ptr %1115, align 8, !tbaa !5
  br label %.preheader165

.preheader165:                                    ; preds = %.preheader168, %1135
  %indvars.iv228 = phi i64 [ %indvars.iv.next229, %1135 ], [ 0, %.preheader168 ]
  %.2145183 = phi double [ %1134, %1135 ], [ 0.000000e+00, %.preheader168 ]
  %1117 = shl nuw nsw i64 %indvars.iv228, 6
  br label %1118

1118:                                             ; preds = %1118, %.preheader165
  %indvars.iv224 = phi i64 [ 0, %.preheader165 ], [ %indvars.iv.next225.1, %1118 ]
  %.3181 = phi double [ %.2145183, %.preheader165 ], [ %1134, %1118 ]
  %1119 = add nuw nsw i64 %indvars.iv224, %1117
  %1120 = getelementptr inbounds double, ptr %4, i64 %1119
  %1121 = load double, ptr %1120, align 8, !tbaa !5
  %1122 = getelementptr inbounds double, ptr %1, i64 %1119
  %1123 = load double, ptr %1122, align 8, !tbaa !5
  %1124 = fneg double %1121
  %1125 = tail call double @llvm.fmuladd.f64(double %1124, double 1.000000e-02, double %1123)
  store double %1125, ptr %1122, align 8, !tbaa !5
  %1126 = tail call double @llvm.fmuladd.f64(double %1125, double %1125, double %.3181)
  %indvars.iv.next225 = or disjoint i64 %indvars.iv224, 1
  %1127 = add nuw nsw i64 %indvars.iv.next225, %1117
  %1128 = getelementptr inbounds double, ptr %4, i64 %1127
  %1129 = load double, ptr %1128, align 8, !tbaa !5
  %1130 = getelementptr inbounds double, ptr %1, i64 %1127
  %1131 = load double, ptr %1130, align 8, !tbaa !5
  %1132 = fneg double %1129
  %1133 = tail call double @llvm.fmuladd.f64(double %1132, double 1.000000e-02, double %1131)
  store double %1133, ptr %1130, align 8, !tbaa !5
  %1134 = tail call double @llvm.fmuladd.f64(double %1133, double %1133, double %1126)
  %indvars.iv.next225.1 = add nuw nsw i64 %indvars.iv224, 2
  %exitcond227.not.1 = icmp eq i64 %indvars.iv.next225.1, 64
  br i1 %exitcond227.not.1, label %1135, label %1118, !llvm.loop !12

1135:                                             ; preds = %1118
  %indvars.iv.next229 = add nuw nsw i64 %indvars.iv228, 1
  %exitcond231.not = icmp eq i64 %indvars.iv.next229, 64
  br i1 %exitcond231.not, label %.preheader164, label %.preheader165, !llvm.loop !13

.preheader164:                                    ; preds = %1135, %.preheader164
  %indvars.iv232 = phi i64 [ %indvars.iv.next233.1, %.preheader164 ], [ 0, %1135 ]
  %.1185 = phi double [ %1149, %.preheader164 ], [ 0.000000e+00, %1135 ]
  %1136 = getelementptr inbounds double, ptr %10, i64 %indvars.iv232
  %1137 = load double, ptr %1136, align 8, !tbaa !5
  %1138 = getelementptr inbounds double, ptr %7, i64 %indvars.iv232
  %1139 = load double, ptr %1138, align 8, !tbaa !5
  %1140 = fneg double %1137
  %1141 = tail call double @llvm.fmuladd.f64(double %1140, double 1.000000e-02, double %1139)
  store double %1141, ptr %1138, align 8, !tbaa !5
  %1142 = tail call double @llvm.fmuladd.f64(double %1141, double %1141, double %.1185)
  %indvars.iv.next233 = or disjoint i64 %indvars.iv232, 1
  %1143 = getelementptr inbounds double, ptr %10, i64 %indvars.iv.next233
  %1144 = load double, ptr %1143, align 8, !tbaa !5
  %1145 = getelementptr inbounds double, ptr %7, i64 %indvars.iv.next233
  %1146 = load double, ptr %1145, align 8, !tbaa !5
  %1147 = fneg double %1144
  %1148 = tail call double @llvm.fmuladd.f64(double %1147, double 1.000000e-02, double %1146)
  store double %1148, ptr %1145, align 8, !tbaa !5
  %1149 = tail call double @llvm.fmuladd.f64(double %1148, double %1148, double %1142)
  %indvars.iv.next233.1 = add nuw nsw i64 %indvars.iv232, 2
  %exitcond235.not.1 = icmp eq i64 %indvars.iv.next233.1, 64
  br i1 %exitcond235.not.1, label %1150, label %.preheader164, !llvm.loop !14

1150:                                             ; preds = %.preheader164
  %1151 = tail call double @sqrt(double noundef %1134) #3
  %1152 = tail call double @sqrt(double noundef %1149) #3
  %broadcast.splatinsert469 = insertelement <2 x double> poison, double %1151, i64 0
  %broadcast.splat470 = shufflevector <2 x double> %broadcast.splatinsert469, <2 x double> poison, <2 x i32> zeroinitializer
  br label %.preheader163

.preheader163:                                    ; preds = %1150, %.preheader163
  %indvars.iv240 = phi i64 [ 0, %1150 ], [ %indvars.iv.next241, %.preheader163 ]
  %.idx = shl nsw i64 %indvars.iv240, 9
  %invariant.gep310 = getelementptr inbounds i8, ptr %1, i64 %.idx
  %wide.load468 = load <2 x double>, ptr %invariant.gep310, align 8, !tbaa !5
  %1153 = fdiv <2 x double> %wide.load468, %broadcast.splat470
  store <2 x double> %1153, ptr %invariant.gep310, align 8, !tbaa !5
  %1154 = getelementptr inbounds i8, ptr %invariant.gep310, i64 16
  %wide.load468.1 = load <2 x double>, ptr %1154, align 8, !tbaa !5
  %1155 = fdiv <2 x double> %wide.load468.1, %broadcast.splat470
  store <2 x double> %1155, ptr %1154, align 8, !tbaa !5
  %1156 = getelementptr inbounds i8, ptr %invariant.gep310, i64 32
  %wide.load468.2 = load <2 x double>, ptr %1156, align 8, !tbaa !5
  %1157 = fdiv <2 x double> %wide.load468.2, %broadcast.splat470
  store <2 x double> %1157, ptr %1156, align 8, !tbaa !5
  %1158 = getelementptr inbounds i8, ptr %invariant.gep310, i64 48
  %wide.load468.3 = load <2 x double>, ptr %1158, align 8, !tbaa !5
  %1159 = fdiv <2 x double> %wide.load468.3, %broadcast.splat470
  store <2 x double> %1159, ptr %1158, align 8, !tbaa !5
  %1160 = getelementptr inbounds i8, ptr %invariant.gep310, i64 64
  %wide.load468.4 = load <2 x double>, ptr %1160, align 8, !tbaa !5
  %1161 = fdiv <2 x double> %wide.load468.4, %broadcast.splat470
  store <2 x double> %1161, ptr %1160, align 8, !tbaa !5
  %1162 = getelementptr inbounds i8, ptr %invariant.gep310, i64 80
  %wide.load468.5 = load <2 x double>, ptr %1162, align 8, !tbaa !5
  %1163 = fdiv <2 x double> %wide.load468.5, %broadcast.splat470
  store <2 x double> %1163, ptr %1162, align 8, !tbaa !5
  %1164 = getelementptr inbounds i8, ptr %invariant.gep310, i64 96
  %wide.load468.6 = load <2 x double>, ptr %1164, align 8, !tbaa !5
  %1165 = fdiv <2 x double> %wide.load468.6, %broadcast.splat470
  store <2 x double> %1165, ptr %1164, align 8, !tbaa !5
  %1166 = getelementptr inbounds i8, ptr %invariant.gep310, i64 112
  %wide.load468.7 = load <2 x double>, ptr %1166, align 8, !tbaa !5
  %1167 = fdiv <2 x double> %wide.load468.7, %broadcast.splat470
  store <2 x double> %1167, ptr %1166, align 8, !tbaa !5
  %1168 = getelementptr inbounds i8, ptr %invariant.gep310, i64 128
  %wide.load468.8 = load <2 x double>, ptr %1168, align 8, !tbaa !5
  %1169 = fdiv <2 x double> %wide.load468.8, %broadcast.splat470
  store <2 x double> %1169, ptr %1168, align 8, !tbaa !5
  %1170 = getelementptr inbounds i8, ptr %invariant.gep310, i64 144
  %wide.load468.9 = load <2 x double>, ptr %1170, align 8, !tbaa !5
  %1171 = fdiv <2 x double> %wide.load468.9, %broadcast.splat470
  store <2 x double> %1171, ptr %1170, align 8, !tbaa !5
  %1172 = getelementptr inbounds i8, ptr %invariant.gep310, i64 160
  %wide.load468.10 = load <2 x double>, ptr %1172, align 8, !tbaa !5
  %1173 = fdiv <2 x double> %wide.load468.10, %broadcast.splat470
  store <2 x double> %1173, ptr %1172, align 8, !tbaa !5
  %1174 = getelementptr inbounds i8, ptr %invariant.gep310, i64 176
  %wide.load468.11 = load <2 x double>, ptr %1174, align 8, !tbaa !5
  %1175 = fdiv <2 x double> %wide.load468.11, %broadcast.splat470
  store <2 x double> %1175, ptr %1174, align 8, !tbaa !5
  %1176 = getelementptr inbounds i8, ptr %invariant.gep310, i64 192
  %wide.load468.12 = load <2 x double>, ptr %1176, align 8, !tbaa !5
  %1177 = fdiv <2 x double> %wide.load468.12, %broadcast.splat470
  store <2 x double> %1177, ptr %1176, align 8, !tbaa !5
  %1178 = getelementptr inbounds i8, ptr %invariant.gep310, i64 208
  %wide.load468.13 = load <2 x double>, ptr %1178, align 8, !tbaa !5
  %1179 = fdiv <2 x double> %wide.load468.13, %broadcast.splat470
  store <2 x double> %1179, ptr %1178, align 8, !tbaa !5
  %1180 = getelementptr inbounds i8, ptr %invariant.gep310, i64 224
  %wide.load468.14 = load <2 x double>, ptr %1180, align 8, !tbaa !5
  %1181 = fdiv <2 x double> %wide.load468.14, %broadcast.splat470
  store <2 x double> %1181, ptr %1180, align 8, !tbaa !5
  %1182 = getelementptr inbounds i8, ptr %invariant.gep310, i64 240
  %wide.load468.15 = load <2 x double>, ptr %1182, align 8, !tbaa !5
  %1183 = fdiv <2 x double> %wide.load468.15, %broadcast.splat470
  store <2 x double> %1183, ptr %1182, align 8, !tbaa !5
  %1184 = getelementptr inbounds i8, ptr %invariant.gep310, i64 256
  %wide.load468.16 = load <2 x double>, ptr %1184, align 8, !tbaa !5
  %1185 = fdiv <2 x double> %wide.load468.16, %broadcast.splat470
  store <2 x double> %1185, ptr %1184, align 8, !tbaa !5
  %1186 = getelementptr inbounds i8, ptr %invariant.gep310, i64 272
  %wide.load468.17 = load <2 x double>, ptr %1186, align 8, !tbaa !5
  %1187 = fdiv <2 x double> %wide.load468.17, %broadcast.splat470
  store <2 x double> %1187, ptr %1186, align 8, !tbaa !5
  %1188 = getelementptr inbounds i8, ptr %invariant.gep310, i64 288
  %wide.load468.18 = load <2 x double>, ptr %1188, align 8, !tbaa !5
  %1189 = fdiv <2 x double> %wide.load468.18, %broadcast.splat470
  store <2 x double> %1189, ptr %1188, align 8, !tbaa !5
  %1190 = getelementptr inbounds i8, ptr %invariant.gep310, i64 304
  %wide.load468.19 = load <2 x double>, ptr %1190, align 8, !tbaa !5
  %1191 = fdiv <2 x double> %wide.load468.19, %broadcast.splat470
  store <2 x double> %1191, ptr %1190, align 8, !tbaa !5
  %1192 = getelementptr inbounds i8, ptr %invariant.gep310, i64 320
  %wide.load468.20 = load <2 x double>, ptr %1192, align 8, !tbaa !5
  %1193 = fdiv <2 x double> %wide.load468.20, %broadcast.splat470
  store <2 x double> %1193, ptr %1192, align 8, !tbaa !5
  %1194 = getelementptr inbounds i8, ptr %invariant.gep310, i64 336
  %wide.load468.21 = load <2 x double>, ptr %1194, align 8, !tbaa !5
  %1195 = fdiv <2 x double> %wide.load468.21, %broadcast.splat470
  store <2 x double> %1195, ptr %1194, align 8, !tbaa !5
  %1196 = getelementptr inbounds i8, ptr %invariant.gep310, i64 352
  %wide.load468.22 = load <2 x double>, ptr %1196, align 8, !tbaa !5
  %1197 = fdiv <2 x double> %wide.load468.22, %broadcast.splat470
  store <2 x double> %1197, ptr %1196, align 8, !tbaa !5
  %1198 = getelementptr inbounds i8, ptr %invariant.gep310, i64 368
  %wide.load468.23 = load <2 x double>, ptr %1198, align 8, !tbaa !5
  %1199 = fdiv <2 x double> %wide.load468.23, %broadcast.splat470
  store <2 x double> %1199, ptr %1198, align 8, !tbaa !5
  %1200 = getelementptr inbounds i8, ptr %invariant.gep310, i64 384
  %wide.load468.24 = load <2 x double>, ptr %1200, align 8, !tbaa !5
  %1201 = fdiv <2 x double> %wide.load468.24, %broadcast.splat470
  store <2 x double> %1201, ptr %1200, align 8, !tbaa !5
  %1202 = getelementptr inbounds i8, ptr %invariant.gep310, i64 400
  %wide.load468.25 = load <2 x double>, ptr %1202, align 8, !tbaa !5
  %1203 = fdiv <2 x double> %wide.load468.25, %broadcast.splat470
  store <2 x double> %1203, ptr %1202, align 8, !tbaa !5
  %1204 = getelementptr inbounds i8, ptr %invariant.gep310, i64 416
  %wide.load468.26 = load <2 x double>, ptr %1204, align 8, !tbaa !5
  %1205 = fdiv <2 x double> %wide.load468.26, %broadcast.splat470
  store <2 x double> %1205, ptr %1204, align 8, !tbaa !5
  %1206 = getelementptr inbounds i8, ptr %invariant.gep310, i64 432
  %wide.load468.27 = load <2 x double>, ptr %1206, align 8, !tbaa !5
  %1207 = fdiv <2 x double> %wide.load468.27, %broadcast.splat470
  store <2 x double> %1207, ptr %1206, align 8, !tbaa !5
  %1208 = getelementptr inbounds i8, ptr %invariant.gep310, i64 448
  %wide.load468.28 = load <2 x double>, ptr %1208, align 8, !tbaa !5
  %1209 = fdiv <2 x double> %wide.load468.28, %broadcast.splat470
  store <2 x double> %1209, ptr %1208, align 8, !tbaa !5
  %1210 = getelementptr inbounds i8, ptr %invariant.gep310, i64 464
  %wide.load468.29 = load <2 x double>, ptr %1210, align 8, !tbaa !5
  %1211 = fdiv <2 x double> %wide.load468.29, %broadcast.splat470
  store <2 x double> %1211, ptr %1210, align 8, !tbaa !5
  %1212 = getelementptr inbounds i8, ptr %invariant.gep310, i64 480
  %wide.load468.30 = load <2 x double>, ptr %1212, align 8, !tbaa !5
  %1213 = fdiv <2 x double> %wide.load468.30, %broadcast.splat470
  store <2 x double> %1213, ptr %1212, align 8, !tbaa !5
  %1214 = getelementptr inbounds i8, ptr %invariant.gep310, i64 496
  %wide.load468.31 = load <2 x double>, ptr %1214, align 8, !tbaa !5
  %1215 = fdiv <2 x double> %wide.load468.31, %broadcast.splat470
  store <2 x double> %1215, ptr %1214, align 8, !tbaa !5
  %indvars.iv.next241 = add nuw nsw i64 %indvars.iv240, 1
  %exitcond243.not = icmp eq i64 %indvars.iv.next241, 64
  br i1 %exitcond243.not, label %vector.body476, label %.preheader163, !llvm.loop !15

vector.body476:                                   ; preds = %.preheader163
  %broadcast.splatinsert479 = insertelement <2 x double> poison, double %1152, i64 0
  %broadcast.splat480 = shufflevector <2 x double> %broadcast.splatinsert479, <2 x double> poison, <2 x i32> zeroinitializer
  %wide.load478 = load <2 x double>, ptr %7, align 8, !tbaa !5
  %1216 = fdiv <2 x double> %wide.load478, %broadcast.splat480
  store <2 x double> %1216, ptr %7, align 8, !tbaa !5
  %1217 = getelementptr inbounds i8, ptr %7, i64 16
  %wide.load478.1 = load <2 x double>, ptr %1217, align 8, !tbaa !5
  %1218 = fdiv <2 x double> %wide.load478.1, %broadcast.splat480
  store <2 x double> %1218, ptr %1217, align 8, !tbaa !5
  %1219 = getelementptr inbounds i8, ptr %7, i64 32
  %wide.load478.2 = load <2 x double>, ptr %1219, align 8, !tbaa !5
  %1220 = fdiv <2 x double> %wide.load478.2, %broadcast.splat480
  store <2 x double> %1220, ptr %1219, align 8, !tbaa !5
  %1221 = getelementptr inbounds i8, ptr %7, i64 48
  %wide.load478.3 = load <2 x double>, ptr %1221, align 8, !tbaa !5
  %1222 = fdiv <2 x double> %wide.load478.3, %broadcast.splat480
  store <2 x double> %1222, ptr %1221, align 8, !tbaa !5
  %1223 = getelementptr inbounds i8, ptr %7, i64 64
  %wide.load478.4 = load <2 x double>, ptr %1223, align 8, !tbaa !5
  %1224 = fdiv <2 x double> %wide.load478.4, %broadcast.splat480
  store <2 x double> %1224, ptr %1223, align 8, !tbaa !5
  %1225 = getelementptr inbounds i8, ptr %7, i64 80
  %wide.load478.5 = load <2 x double>, ptr %1225, align 8, !tbaa !5
  %1226 = fdiv <2 x double> %wide.load478.5, %broadcast.splat480
  store <2 x double> %1226, ptr %1225, align 8, !tbaa !5
  %1227 = getelementptr inbounds i8, ptr %7, i64 96
  %wide.load478.6 = load <2 x double>, ptr %1227, align 8, !tbaa !5
  %1228 = fdiv <2 x double> %wide.load478.6, %broadcast.splat480
  store <2 x double> %1228, ptr %1227, align 8, !tbaa !5
  %1229 = getelementptr inbounds i8, ptr %7, i64 112
  %wide.load478.7 = load <2 x double>, ptr %1229, align 8, !tbaa !5
  %1230 = fdiv <2 x double> %wide.load478.7, %broadcast.splat480
  store <2 x double> %1230, ptr %1229, align 8, !tbaa !5
  %1231 = getelementptr inbounds i8, ptr %7, i64 128
  %wide.load478.8 = load <2 x double>, ptr %1231, align 8, !tbaa !5
  %1232 = fdiv <2 x double> %wide.load478.8, %broadcast.splat480
  store <2 x double> %1232, ptr %1231, align 8, !tbaa !5
  %1233 = getelementptr inbounds i8, ptr %7, i64 144
  %wide.load478.9 = load <2 x double>, ptr %1233, align 8, !tbaa !5
  %1234 = fdiv <2 x double> %wide.load478.9, %broadcast.splat480
  store <2 x double> %1234, ptr %1233, align 8, !tbaa !5
  %1235 = getelementptr inbounds i8, ptr %7, i64 160
  %wide.load478.10 = load <2 x double>, ptr %1235, align 8, !tbaa !5
  %1236 = fdiv <2 x double> %wide.load478.10, %broadcast.splat480
  store <2 x double> %1236, ptr %1235, align 8, !tbaa !5
  %1237 = getelementptr inbounds i8, ptr %7, i64 176
  %wide.load478.11 = load <2 x double>, ptr %1237, align 8, !tbaa !5
  %1238 = fdiv <2 x double> %wide.load478.11, %broadcast.splat480
  store <2 x double> %1238, ptr %1237, align 8, !tbaa !5
  %1239 = getelementptr inbounds i8, ptr %7, i64 192
  %wide.load478.12 = load <2 x double>, ptr %1239, align 8, !tbaa !5
  %1240 = fdiv <2 x double> %wide.load478.12, %broadcast.splat480
  store <2 x double> %1240, ptr %1239, align 8, !tbaa !5
  %1241 = getelementptr inbounds i8, ptr %7, i64 208
  %wide.load478.13 = load <2 x double>, ptr %1241, align 8, !tbaa !5
  %1242 = fdiv <2 x double> %wide.load478.13, %broadcast.splat480
  store <2 x double> %1242, ptr %1241, align 8, !tbaa !5
  %1243 = getelementptr inbounds i8, ptr %7, i64 224
  %wide.load478.14 = load <2 x double>, ptr %1243, align 8, !tbaa !5
  %1244 = fdiv <2 x double> %wide.load478.14, %broadcast.splat480
  store <2 x double> %1244, ptr %1243, align 8, !tbaa !5
  %1245 = getelementptr inbounds i8, ptr %7, i64 240
  %wide.load478.15 = load <2 x double>, ptr %1245, align 8, !tbaa !5
  %1246 = fdiv <2 x double> %wide.load478.15, %broadcast.splat480
  store <2 x double> %1246, ptr %1245, align 8, !tbaa !5
  %1247 = getelementptr inbounds i8, ptr %7, i64 256
  %wide.load478.16 = load <2 x double>, ptr %1247, align 8, !tbaa !5
  %1248 = fdiv <2 x double> %wide.load478.16, %broadcast.splat480
  store <2 x double> %1248, ptr %1247, align 8, !tbaa !5
  %1249 = getelementptr inbounds i8, ptr %7, i64 272
  %wide.load478.17 = load <2 x double>, ptr %1249, align 8, !tbaa !5
  %1250 = fdiv <2 x double> %wide.load478.17, %broadcast.splat480
  store <2 x double> %1250, ptr %1249, align 8, !tbaa !5
  %1251 = getelementptr inbounds i8, ptr %7, i64 288
  %wide.load478.18 = load <2 x double>, ptr %1251, align 8, !tbaa !5
  %1252 = fdiv <2 x double> %wide.load478.18, %broadcast.splat480
  store <2 x double> %1252, ptr %1251, align 8, !tbaa !5
  %1253 = getelementptr inbounds i8, ptr %7, i64 304
  %wide.load478.19 = load <2 x double>, ptr %1253, align 8, !tbaa !5
  %1254 = fdiv <2 x double> %wide.load478.19, %broadcast.splat480
  store <2 x double> %1254, ptr %1253, align 8, !tbaa !5
  %1255 = getelementptr inbounds i8, ptr %7, i64 320
  %wide.load478.20 = load <2 x double>, ptr %1255, align 8, !tbaa !5
  %1256 = fdiv <2 x double> %wide.load478.20, %broadcast.splat480
  store <2 x double> %1256, ptr %1255, align 8, !tbaa !5
  %1257 = getelementptr inbounds i8, ptr %7, i64 336
  %wide.load478.21 = load <2 x double>, ptr %1257, align 8, !tbaa !5
  %1258 = fdiv <2 x double> %wide.load478.21, %broadcast.splat480
  store <2 x double> %1258, ptr %1257, align 8, !tbaa !5
  %1259 = getelementptr inbounds i8, ptr %7, i64 352
  %wide.load478.22 = load <2 x double>, ptr %1259, align 8, !tbaa !5
  %1260 = fdiv <2 x double> %wide.load478.22, %broadcast.splat480
  store <2 x double> %1260, ptr %1259, align 8, !tbaa !5
  %1261 = getelementptr inbounds i8, ptr %7, i64 368
  %wide.load478.23 = load <2 x double>, ptr %1261, align 8, !tbaa !5
  %1262 = fdiv <2 x double> %wide.load478.23, %broadcast.splat480
  store <2 x double> %1262, ptr %1261, align 8, !tbaa !5
  %1263 = getelementptr inbounds i8, ptr %7, i64 384
  %wide.load478.24 = load <2 x double>, ptr %1263, align 8, !tbaa !5
  %1264 = fdiv <2 x double> %wide.load478.24, %broadcast.splat480
  store <2 x double> %1264, ptr %1263, align 8, !tbaa !5
  %1265 = getelementptr inbounds i8, ptr %7, i64 400
  %wide.load478.25 = load <2 x double>, ptr %1265, align 8, !tbaa !5
  %1266 = fdiv <2 x double> %wide.load478.25, %broadcast.splat480
  store <2 x double> %1266, ptr %1265, align 8, !tbaa !5
  %1267 = getelementptr inbounds i8, ptr %7, i64 416
  %wide.load478.26 = load <2 x double>, ptr %1267, align 8, !tbaa !5
  %1268 = fdiv <2 x double> %wide.load478.26, %broadcast.splat480
  store <2 x double> %1268, ptr %1267, align 8, !tbaa !5
  %1269 = getelementptr inbounds i8, ptr %7, i64 432
  %wide.load478.27 = load <2 x double>, ptr %1269, align 8, !tbaa !5
  %1270 = fdiv <2 x double> %wide.load478.27, %broadcast.splat480
  store <2 x double> %1270, ptr %1269, align 8, !tbaa !5
  %1271 = getelementptr inbounds i8, ptr %7, i64 448
  %wide.load478.28 = load <2 x double>, ptr %1271, align 8, !tbaa !5
  %1272 = fdiv <2 x double> %wide.load478.28, %broadcast.splat480
  store <2 x double> %1272, ptr %1271, align 8, !tbaa !5
  %1273 = getelementptr inbounds i8, ptr %7, i64 464
  %wide.load478.29 = load <2 x double>, ptr %1273, align 8, !tbaa !5
  %1274 = fdiv <2 x double> %wide.load478.29, %broadcast.splat480
  store <2 x double> %1274, ptr %1273, align 8, !tbaa !5
  %1275 = getelementptr inbounds i8, ptr %7, i64 480
  %wide.load478.30 = load <2 x double>, ptr %1275, align 8, !tbaa !5
  %1276 = fdiv <2 x double> %wide.load478.30, %broadcast.splat480
  store <2 x double> %1276, ptr %1275, align 8, !tbaa !5
  %1277 = getelementptr inbounds i8, ptr %7, i64 496
  %wide.load478.31 = load <2 x double>, ptr %1277, align 8, !tbaa !5
  %1278 = fdiv <2 x double> %wide.load478.31, %broadcast.splat480
  store <2 x double> %1278, ptr %1277, align 8, !tbaa !5
  br label %.preheader160

.preheader160:                                    ; preds = %vector.body476, %.preheader160
  %indvars.iv252 = phi i64 [ %indvars.iv.next253, %.preheader160 ], [ 0, %vector.body476 ]
  %.4192 = phi double [ %1302, %.preheader160 ], [ 0.000000e+00, %vector.body476 ]
  %1279 = mul nuw nsw i64 %indvars.iv252, 3
  %1280 = getelementptr inbounds double, ptr %5, i64 %1279
  %1281 = load double, ptr %1280, align 8, !tbaa !5
  %1282 = getelementptr inbounds double, ptr %2, i64 %1279
  %1283 = load double, ptr %1282, align 8, !tbaa !5
  %1284 = fneg double %1281
  %1285 = tail call double @llvm.fmuladd.f64(double %1284, double 1.000000e-02, double %1283)
  store double %1285, ptr %1282, align 8, !tbaa !5
  %1286 = tail call double @llvm.fmuladd.f64(double %1285, double %1285, double %.4192)
  %1287 = add nuw nsw i64 %1279, 1
  %1288 = getelementptr inbounds double, ptr %5, i64 %1287
  %1289 = load double, ptr %1288, align 8, !tbaa !5
  %1290 = getelementptr inbounds double, ptr %2, i64 %1287
  %1291 = load double, ptr %1290, align 8, !tbaa !5
  %1292 = fneg double %1289
  %1293 = tail call double @llvm.fmuladd.f64(double %1292, double 1.000000e-02, double %1291)
  store double %1293, ptr %1290, align 8, !tbaa !5
  %1294 = tail call double @llvm.fmuladd.f64(double %1293, double %1293, double %1286)
  %1295 = add nuw nsw i64 %1279, 2
  %1296 = getelementptr inbounds double, ptr %5, i64 %1295
  %1297 = load double, ptr %1296, align 8, !tbaa !5
  %1298 = getelementptr inbounds double, ptr %2, i64 %1295
  %1299 = load double, ptr %1298, align 8, !tbaa !5
  %1300 = fneg double %1297
  %1301 = tail call double @llvm.fmuladd.f64(double %1300, double 1.000000e-02, double %1299)
  store double %1301, ptr %1298, align 8, !tbaa !5
  %1302 = tail call double @llvm.fmuladd.f64(double %1301, double %1301, double %1294)
  %indvars.iv.next253 = add nuw nsw i64 %indvars.iv252, 1
  %exitcond255.not = icmp eq i64 %indvars.iv.next253, 64
  br i1 %exitcond255.not, label %.preheader159, label %.preheader160, !llvm.loop !16

.preheader159:                                    ; preds = %.preheader160
  %1303 = load double, ptr %11, align 8, !tbaa !5
  %1304 = load double, ptr %8, align 8, !tbaa !5
  %1305 = fneg double %1303
  %1306 = tail call double @llvm.fmuladd.f64(double %1305, double 1.000000e-02, double %1304)
  store double %1306, ptr %8, align 8, !tbaa !5
  %1307 = tail call double @llvm.fmuladd.f64(double %1306, double %1306, double 0.000000e+00)
  %1308 = getelementptr inbounds i8, ptr %11, i64 8
  %1309 = load double, ptr %1308, align 8, !tbaa !5
  %1310 = getelementptr inbounds i8, ptr %8, i64 8
  %1311 = load double, ptr %1310, align 8, !tbaa !5
  %1312 = fneg double %1309
  %1313 = tail call double @llvm.fmuladd.f64(double %1312, double 1.000000e-02, double %1311)
  store double %1313, ptr %1310, align 8, !tbaa !5
  %1314 = tail call double @llvm.fmuladd.f64(double %1313, double %1313, double %1307)
  %1315 = getelementptr inbounds i8, ptr %11, i64 16
  %1316 = load double, ptr %1315, align 8, !tbaa !5
  %1317 = getelementptr inbounds i8, ptr %8, i64 16
  %1318 = load double, ptr %1317, align 8, !tbaa !5
  %1319 = fneg double %1316
  %1320 = tail call double @llvm.fmuladd.f64(double %1319, double 1.000000e-02, double %1318)
  store double %1320, ptr %1317, align 8, !tbaa !5
  %1321 = tail call double @llvm.fmuladd.f64(double %1320, double %1320, double %1314)
  %1322 = tail call double @sqrt(double noundef %1302) #3
  %1323 = tail call double @sqrt(double noundef %1321) #3
  %broadcast.splatinsert490 = insertelement <2 x double> poison, double %1322, i64 0
  %wide.vec = load <6 x double>, ptr %2, align 8, !tbaa !5
  %1324 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec = fdiv <6 x double> %wide.vec, %1324
  store <6 x double> %interleaved.vec, ptr %2, align 8, !tbaa !5
  %1325 = getelementptr inbounds i8, ptr %2, i64 48
  %wide.vec.1 = load <6 x double>, ptr %1325, align 8, !tbaa !5
  %1326 = getelementptr inbounds i8, ptr %2, i64 48
  %1327 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.1 = fdiv <6 x double> %wide.vec.1, %1327
  store <6 x double> %interleaved.vec.1, ptr %1326, align 8, !tbaa !5
  %1328 = getelementptr inbounds i8, ptr %2, i64 96
  %wide.vec.2 = load <6 x double>, ptr %1328, align 8, !tbaa !5
  %1329 = getelementptr inbounds i8, ptr %2, i64 96
  %1330 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.2 = fdiv <6 x double> %wide.vec.2, %1330
  store <6 x double> %interleaved.vec.2, ptr %1329, align 8, !tbaa !5
  %1331 = getelementptr inbounds i8, ptr %2, i64 144
  %wide.vec.3 = load <6 x double>, ptr %1331, align 8, !tbaa !5
  %1332 = getelementptr inbounds i8, ptr %2, i64 144
  %1333 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.3 = fdiv <6 x double> %wide.vec.3, %1333
  store <6 x double> %interleaved.vec.3, ptr %1332, align 8, !tbaa !5
  %1334 = getelementptr inbounds i8, ptr %2, i64 192
  %wide.vec.4 = load <6 x double>, ptr %1334, align 8, !tbaa !5
  %1335 = getelementptr inbounds i8, ptr %2, i64 192
  %1336 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.4 = fdiv <6 x double> %wide.vec.4, %1336
  store <6 x double> %interleaved.vec.4, ptr %1335, align 8, !tbaa !5
  %1337 = getelementptr inbounds i8, ptr %2, i64 240
  %wide.vec.5 = load <6 x double>, ptr %1337, align 8, !tbaa !5
  %1338 = getelementptr inbounds i8, ptr %2, i64 240
  %1339 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.5 = fdiv <6 x double> %wide.vec.5, %1339
  store <6 x double> %interleaved.vec.5, ptr %1338, align 8, !tbaa !5
  %1340 = getelementptr inbounds i8, ptr %2, i64 288
  %wide.vec.6 = load <6 x double>, ptr %1340, align 8, !tbaa !5
  %1341 = getelementptr inbounds i8, ptr %2, i64 288
  %1342 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.6 = fdiv <6 x double> %wide.vec.6, %1342
  store <6 x double> %interleaved.vec.6, ptr %1341, align 8, !tbaa !5
  %1343 = getelementptr inbounds i8, ptr %2, i64 336
  %wide.vec.7 = load <6 x double>, ptr %1343, align 8, !tbaa !5
  %1344 = getelementptr inbounds i8, ptr %2, i64 336
  %1345 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.7 = fdiv <6 x double> %wide.vec.7, %1345
  store <6 x double> %interleaved.vec.7, ptr %1344, align 8, !tbaa !5
  %1346 = getelementptr inbounds i8, ptr %2, i64 384
  %wide.vec.8 = load <6 x double>, ptr %1346, align 8, !tbaa !5
  %1347 = getelementptr inbounds i8, ptr %2, i64 384
  %1348 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.8 = fdiv <6 x double> %wide.vec.8, %1348
  store <6 x double> %interleaved.vec.8, ptr %1347, align 8, !tbaa !5
  %1349 = getelementptr inbounds i8, ptr %2, i64 432
  %wide.vec.9 = load <6 x double>, ptr %1349, align 8, !tbaa !5
  %1350 = getelementptr inbounds i8, ptr %2, i64 432
  %1351 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.9 = fdiv <6 x double> %wide.vec.9, %1351
  store <6 x double> %interleaved.vec.9, ptr %1350, align 8, !tbaa !5
  %1352 = getelementptr inbounds i8, ptr %2, i64 480
  %wide.vec.10 = load <6 x double>, ptr %1352, align 8, !tbaa !5
  %1353 = getelementptr inbounds i8, ptr %2, i64 480
  %1354 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.10 = fdiv <6 x double> %wide.vec.10, %1354
  store <6 x double> %interleaved.vec.10, ptr %1353, align 8, !tbaa !5
  %1355 = getelementptr inbounds i8, ptr %2, i64 528
  %wide.vec.11 = load <6 x double>, ptr %1355, align 8, !tbaa !5
  %1356 = getelementptr inbounds i8, ptr %2, i64 528
  %1357 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.11 = fdiv <6 x double> %wide.vec.11, %1357
  store <6 x double> %interleaved.vec.11, ptr %1356, align 8, !tbaa !5
  %1358 = getelementptr inbounds i8, ptr %2, i64 576
  %wide.vec.12 = load <6 x double>, ptr %1358, align 8, !tbaa !5
  %1359 = getelementptr inbounds i8, ptr %2, i64 576
  %1360 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.12 = fdiv <6 x double> %wide.vec.12, %1360
  store <6 x double> %interleaved.vec.12, ptr %1359, align 8, !tbaa !5
  %1361 = getelementptr inbounds i8, ptr %2, i64 624
  %wide.vec.13 = load <6 x double>, ptr %1361, align 8, !tbaa !5
  %1362 = getelementptr inbounds i8, ptr %2, i64 624
  %1363 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.13 = fdiv <6 x double> %wide.vec.13, %1363
  store <6 x double> %interleaved.vec.13, ptr %1362, align 8, !tbaa !5
  %1364 = getelementptr inbounds i8, ptr %2, i64 672
  %wide.vec.14 = load <6 x double>, ptr %1364, align 8, !tbaa !5
  %1365 = getelementptr inbounds i8, ptr %2, i64 672
  %1366 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.14 = fdiv <6 x double> %wide.vec.14, %1366
  store <6 x double> %interleaved.vec.14, ptr %1365, align 8, !tbaa !5
  %1367 = getelementptr inbounds i8, ptr %2, i64 720
  %wide.vec.15 = load <6 x double>, ptr %1367, align 8, !tbaa !5
  %1368 = getelementptr inbounds i8, ptr %2, i64 720
  %1369 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.15 = fdiv <6 x double> %wide.vec.15, %1369
  store <6 x double> %interleaved.vec.15, ptr %1368, align 8, !tbaa !5
  %1370 = getelementptr inbounds i8, ptr %2, i64 768
  %wide.vec.16 = load <6 x double>, ptr %1370, align 8, !tbaa !5
  %1371 = getelementptr inbounds i8, ptr %2, i64 768
  %1372 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.16 = fdiv <6 x double> %wide.vec.16, %1372
  store <6 x double> %interleaved.vec.16, ptr %1371, align 8, !tbaa !5
  %1373 = getelementptr inbounds i8, ptr %2, i64 816
  %wide.vec.17 = load <6 x double>, ptr %1373, align 8, !tbaa !5
  %1374 = getelementptr inbounds i8, ptr %2, i64 816
  %1375 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.17 = fdiv <6 x double> %wide.vec.17, %1375
  store <6 x double> %interleaved.vec.17, ptr %1374, align 8, !tbaa !5
  %1376 = getelementptr inbounds i8, ptr %2, i64 864
  %wide.vec.18 = load <6 x double>, ptr %1376, align 8, !tbaa !5
  %1377 = getelementptr inbounds i8, ptr %2, i64 864
  %1378 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.18 = fdiv <6 x double> %wide.vec.18, %1378
  store <6 x double> %interleaved.vec.18, ptr %1377, align 8, !tbaa !5
  %1379 = getelementptr inbounds i8, ptr %2, i64 912
  %wide.vec.19 = load <6 x double>, ptr %1379, align 8, !tbaa !5
  %1380 = getelementptr inbounds i8, ptr %2, i64 912
  %1381 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.19 = fdiv <6 x double> %wide.vec.19, %1381
  store <6 x double> %interleaved.vec.19, ptr %1380, align 8, !tbaa !5
  %1382 = getelementptr inbounds i8, ptr %2, i64 960
  %wide.vec.20 = load <6 x double>, ptr %1382, align 8, !tbaa !5
  %1383 = getelementptr inbounds i8, ptr %2, i64 960
  %1384 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.20 = fdiv <6 x double> %wide.vec.20, %1384
  store <6 x double> %interleaved.vec.20, ptr %1383, align 8, !tbaa !5
  %1385 = getelementptr inbounds i8, ptr %2, i64 1008
  %wide.vec.21 = load <6 x double>, ptr %1385, align 8, !tbaa !5
  %1386 = getelementptr inbounds i8, ptr %2, i64 1008
  %1387 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.21 = fdiv <6 x double> %wide.vec.21, %1387
  store <6 x double> %interleaved.vec.21, ptr %1386, align 8, !tbaa !5
  %1388 = getelementptr inbounds i8, ptr %2, i64 1056
  %wide.vec.22 = load <6 x double>, ptr %1388, align 8, !tbaa !5
  %1389 = getelementptr inbounds i8, ptr %2, i64 1056
  %1390 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.22 = fdiv <6 x double> %wide.vec.22, %1390
  store <6 x double> %interleaved.vec.22, ptr %1389, align 8, !tbaa !5
  %1391 = getelementptr inbounds i8, ptr %2, i64 1104
  %wide.vec.23 = load <6 x double>, ptr %1391, align 8, !tbaa !5
  %1392 = getelementptr inbounds i8, ptr %2, i64 1104
  %1393 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.23 = fdiv <6 x double> %wide.vec.23, %1393
  store <6 x double> %interleaved.vec.23, ptr %1392, align 8, !tbaa !5
  %1394 = getelementptr inbounds i8, ptr %2, i64 1152
  %wide.vec.24 = load <6 x double>, ptr %1394, align 8, !tbaa !5
  %1395 = getelementptr inbounds i8, ptr %2, i64 1152
  %1396 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.24 = fdiv <6 x double> %wide.vec.24, %1396
  store <6 x double> %interleaved.vec.24, ptr %1395, align 8, !tbaa !5
  %1397 = getelementptr inbounds i8, ptr %2, i64 1200
  %wide.vec.25 = load <6 x double>, ptr %1397, align 8, !tbaa !5
  %1398 = getelementptr inbounds i8, ptr %2, i64 1200
  %1399 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.25 = fdiv <6 x double> %wide.vec.25, %1399
  store <6 x double> %interleaved.vec.25, ptr %1398, align 8, !tbaa !5
  %1400 = getelementptr inbounds i8, ptr %2, i64 1248
  %wide.vec.26 = load <6 x double>, ptr %1400, align 8, !tbaa !5
  %1401 = getelementptr inbounds i8, ptr %2, i64 1248
  %1402 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.26 = fdiv <6 x double> %wide.vec.26, %1402
  store <6 x double> %interleaved.vec.26, ptr %1401, align 8, !tbaa !5
  %1403 = getelementptr inbounds i8, ptr %2, i64 1296
  %wide.vec.27 = load <6 x double>, ptr %1403, align 8, !tbaa !5
  %1404 = getelementptr inbounds i8, ptr %2, i64 1296
  %1405 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.27 = fdiv <6 x double> %wide.vec.27, %1405
  store <6 x double> %interleaved.vec.27, ptr %1404, align 8, !tbaa !5
  %1406 = getelementptr inbounds i8, ptr %2, i64 1344
  %wide.vec.28 = load <6 x double>, ptr %1406, align 8, !tbaa !5
  %1407 = getelementptr inbounds i8, ptr %2, i64 1344
  %1408 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.28 = fdiv <6 x double> %wide.vec.28, %1408
  store <6 x double> %interleaved.vec.28, ptr %1407, align 8, !tbaa !5
  %1409 = getelementptr inbounds i8, ptr %2, i64 1392
  %wide.vec.29 = load <6 x double>, ptr %1409, align 8, !tbaa !5
  %1410 = getelementptr inbounds i8, ptr %2, i64 1392
  %1411 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.29 = fdiv <6 x double> %wide.vec.29, %1411
  store <6 x double> %interleaved.vec.29, ptr %1410, align 8, !tbaa !5
  %1412 = getelementptr inbounds i8, ptr %2, i64 1440
  %wide.vec.30 = load <6 x double>, ptr %1412, align 8, !tbaa !5
  %1413 = getelementptr inbounds i8, ptr %2, i64 1440
  %1414 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.30 = fdiv <6 x double> %wide.vec.30, %1414
  store <6 x double> %interleaved.vec.30, ptr %1413, align 8, !tbaa !5
  %1415 = getelementptr inbounds i8, ptr %2, i64 1488
  %wide.vec.31 = load <6 x double>, ptr %1415, align 8, !tbaa !5
  %1416 = getelementptr inbounds i8, ptr %2, i64 1488
  %1417 = shufflevector <2 x double> %broadcast.splatinsert490, <2 x double> poison, <6 x i32> zeroinitializer
  %interleaved.vec.31 = fdiv <6 x double> %wide.vec.31, %1417
  store <6 x double> %interleaved.vec.31, ptr %1416, align 8, !tbaa !5
  %1418 = load <2 x double>, ptr %8, align 8, !tbaa !5
  %1419 = insertelement <2 x double> poison, double %1323, i64 0
  %1420 = shufflevector <2 x double> %1419, <2 x double> poison, <2 x i32> zeroinitializer
  %1421 = fdiv <2 x double> %1418, %1420
  store <2 x double> %1421, ptr %8, align 8, !tbaa !5
  %1422 = load double, ptr %1317, align 8, !tbaa !5
  %1423 = fdiv double %1422, %1323
  store double %1423, ptr %1317, align 8, !tbaa !5
  ret void
}

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @sqrt(double noundef) local_unnamed_addr #2

attributes #0 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #1 = { nofree nounwind memory(write, 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" }
attributes #2 = { mustprogress nofree nounwind willreturn memory(write) "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 = !{!"double", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}
!11 = distinct !{!11, !10}
!12 = distinct !{!12, !10}
!13 = distinct !{!13, !10}
!14 = distinct !{!14, !10}
!15 = distinct !{!15, !10}
!16 = distinct !{!16, !10}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LICMPass,LoopLoadEliminationPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,LoopVectorizePass,PostOrderFunctionAttrsPass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass