; LLVM IR from OpenMathLib/OpenBLAS :: lapack-netlib/SRC (slasd4)

; 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"

@.str = external hidden unnamed_addr constant [8 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @slasd4_(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) #0 {
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %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 i32, align 4
  %20 = alloca float, align 4
  %21 = alloca float, align 4
  %22 = alloca float, align 4
  %23 = alloca float, align 4
  %24 = alloca float, align 4
  %25 = alloca i32, align 4
  %26 = alloca float, align 4
  %27 = alloca float, align 4
  %28 = alloca float, align 4
  %29 = alloca float, align 4
  %30 = alloca float, align 4
  %31 = alloca float, align 4
  %32 = alloca float, align 4
  %33 = alloca i32, align 4
  %34 = alloca float, align 4
  %35 = alloca float, align 4
  %36 = alloca float, align 4
  %37 = alloca float, align 4
  %38 = alloca i32, align 4
  %39 = alloca float, align 4
  %40 = alloca i32, align 4
  %41 = alloca float, align 4
  %42 = alloca float, align 4
  %43 = alloca [3 x float], align 4
  %44 = alloca float, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca float, align 4
  %48 = alloca [3 x float], align 4
  %49 = alloca i32, align 4
  %50 = alloca float, align 4
  %51 = alloca float, align 4
  %52 = alloca float, align 4
  %53 = alloca i32, align 4
  %54 = alloca float, align 4
  %55 = alloca float, align 4
  %56 = alloca float, align 4
  %57 = alloca float, align 4
  %58 = alloca float, align 4
  %59 = alloca float, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca float, align 4
  %64 = alloca i32, align 4
  store ptr %0, ptr %10, align 8, !tbaa !5
  store ptr %1, ptr %11, align 8, !tbaa !5
  store ptr %2, ptr %12, align 8, !tbaa !5
  store ptr %3, ptr %13, align 8, !tbaa !5
  store ptr %4, ptr %14, align 8, !tbaa !5
  store ptr %5, ptr %15, align 8, !tbaa !5
  store ptr %6, ptr %16, align 8, !tbaa !5
  store ptr %7, ptr %17, align 8, !tbaa !5
  store ptr %8, ptr %18, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #5
  call void @llvm.lifetime.start.p0(i64 12, ptr %43) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #5
  call void @llvm.lifetime.start.p0(i64 12, ptr %48) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #5
  %65 = load ptr, ptr %17, align 8, !tbaa !5
  %66 = getelementptr inbounds float, ptr %65, i32 -1
  store ptr %66, ptr %17, align 8, !tbaa !5
  %67 = load ptr, ptr %14, align 8, !tbaa !5
  %68 = getelementptr inbounds float, ptr %67, i32 -1
  store ptr %68, ptr %14, align 8, !tbaa !5
  %69 = load ptr, ptr %13, align 8, !tbaa !5
  %70 = getelementptr inbounds float, ptr %69, i32 -1
  store ptr %70, ptr %13, align 8, !tbaa !5
  %71 = load ptr, ptr %12, align 8, !tbaa !5
  %72 = getelementptr inbounds float, ptr %71, i32 -1
  store ptr %72, ptr %12, align 8, !tbaa !5
  %73 = load ptr, ptr %18, align 8, !tbaa !5
  store i32 0, ptr %73, align 4, !tbaa !9
  %74 = load ptr, ptr %10, align 8, !tbaa !5
  %75 = load i32, ptr %74, align 4, !tbaa !9
  %76 = icmp eq i32 %75, 1
  br i1 %76, label %77, label %103

77:                                               ; preds = %9
  %78 = load ptr, ptr %12, align 8, !tbaa !5
  %79 = getelementptr inbounds float, ptr %78, i64 1
  %80 = load float, ptr %79, align 4, !tbaa !11
  %81 = load ptr, ptr %12, align 8, !tbaa !5
  %82 = getelementptr inbounds float, ptr %81, i64 1
  %83 = load float, ptr %82, align 4, !tbaa !11
  %84 = load ptr, ptr %15, align 8, !tbaa !5
  %85 = load float, ptr %84, align 4, !tbaa !11
  %86 = load ptr, ptr %13, align 8, !tbaa !5
  %87 = getelementptr inbounds float, ptr %86, i64 1
  %88 = load float, ptr %87, align 4, !tbaa !11
  %89 = fmul float %85, %88
  %90 = load ptr, ptr %13, align 8, !tbaa !5
  %91 = getelementptr inbounds float, ptr %90, i64 1
  %92 = load float, ptr %91, align 4, !tbaa !11
  %93 = fmul float %89, %92
  %94 = call float @llvm.fmuladd.f32(float %80, float %83, float %93)
  %95 = fpext float %94 to double
  %96 = call double @sqrt(double noundef %95) #5
  %97 = fptrunc double %96 to float
  %98 = load ptr, ptr %16, align 8, !tbaa !5
  store float %97, ptr %98, align 4, !tbaa !11
  %99 = load ptr, ptr %14, align 8, !tbaa !5
  %100 = getelementptr inbounds float, ptr %99, i64 1
  store float 1.000000e+00, ptr %100, align 4, !tbaa !11
  %101 = load ptr, ptr %17, align 8, !tbaa !5
  %102 = getelementptr inbounds float, ptr %101, i64 1
  store float 1.000000e+00, ptr %102, align 4, !tbaa !11
  store i32 1, ptr %64, align 4
  br label %4376

103:                                              ; preds = %9
  %104 = load ptr, ptr %10, align 8, !tbaa !5
  %105 = load i32, ptr %104, align 4, !tbaa !9
  %106 = icmp eq i32 %105, 2
  br i1 %106, label %107, label %119

107:                                              ; preds = %103
  %108 = load ptr, ptr %11, align 8, !tbaa !5
  %109 = load ptr, ptr %12, align 8, !tbaa !5
  %110 = getelementptr inbounds float, ptr %109, i64 1
  %111 = load ptr, ptr %13, align 8, !tbaa !5
  %112 = getelementptr inbounds float, ptr %111, i64 1
  %113 = load ptr, ptr %14, align 8, !tbaa !5
  %114 = getelementptr inbounds float, ptr %113, i64 1
  %115 = load ptr, ptr %15, align 8, !tbaa !5
  %116 = load ptr, ptr %16, align 8, !tbaa !5
  %117 = load ptr, ptr %17, align 8, !tbaa !5
  %118 = getelementptr inbounds float, ptr %117, i64 1
  call void @slasd5_(ptr noundef %108, ptr noundef %110, ptr noundef %112, ptr noundef %114, ptr noundef %115, ptr noundef %116, ptr noundef %118)
  store i32 1, ptr %64, align 4
  br label %4376

119:                                              ; preds = %103
  %120 = call float @slamch_(ptr noundef @.str)
  store float %120, ptr %57, align 4, !tbaa !11
  %121 = load ptr, ptr %15, align 8, !tbaa !5
  %122 = load float, ptr %121, align 4, !tbaa !11
  %123 = fdiv float 1.000000e+00, %122
  store float %123, ptr %52, align 4, !tbaa !11
  store float 0.000000e+00, ptr %63, align 4, !tbaa !11
  %124 = load ptr, ptr %11, align 8, !tbaa !5
  %125 = load i32, ptr %124, align 4, !tbaa !9
  %126 = load ptr, ptr %10, align 8, !tbaa !5
  %127 = load i32, ptr %126, align 4, !tbaa !9
  %128 = icmp eq i32 %125, %127
  br i1 %128, label %129, label %1479

129:                                              ; preds = %119
  %130 = load ptr, ptr %10, align 8, !tbaa !5
  %131 = load i32, ptr %130, align 4, !tbaa !9
  %132 = sub nsw i32 %131, 1
  store i32 %132, ptr %46, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %133 = load ptr, ptr %15, align 8, !tbaa !5
  %134 = load float, ptr %133, align 4, !tbaa !11
  %135 = fdiv float %134, 2.000000e+00
  store float %135, ptr %26, align 4, !tbaa !11
  %136 = load float, ptr %26, align 4, !tbaa !11
  %137 = fpext float %136 to double
  %138 = load ptr, ptr %12, align 8, !tbaa !5
  %139 = load ptr, ptr %10, align 8, !tbaa !5
  %140 = load i32, ptr %139, align 4, !tbaa !9
  %141 = sext i32 %140 to i64
  %142 = getelementptr inbounds float, ptr %138, i64 %141
  %143 = load float, ptr %142, align 4, !tbaa !11
  %144 = fpext float %143 to double
  %145 = load ptr, ptr %12, align 8, !tbaa !5
  %146 = load ptr, ptr %10, align 8, !tbaa !5
  %147 = load i32, ptr %146, align 4, !tbaa !9
  %148 = sext i32 %147 to i64
  %149 = getelementptr inbounds float, ptr %145, i64 %148
  %150 = load float, ptr %149, align 4, !tbaa !11
  %151 = load ptr, ptr %12, align 8, !tbaa !5
  %152 = load ptr, ptr %10, align 8, !tbaa !5
  %153 = load i32, ptr %152, align 4, !tbaa !9
  %154 = sext i32 %153 to i64
  %155 = getelementptr inbounds float, ptr %151, i64 %154
  %156 = load float, ptr %155, align 4, !tbaa !11
  %157 = load float, ptr %26, align 4, !tbaa !11
  %158 = call float @llvm.fmuladd.f32(float %150, float %156, float %157)
  %159 = fpext float %158 to double
  %160 = call double @sqrt(double noundef %159) #5
  %161 = fadd double %144, %160
  %162 = fdiv double %137, %161
  %163 = fptrunc double %162 to float
  store float %163, ptr %28, align 4, !tbaa !11
  %164 = load ptr, ptr %10, align 8, !tbaa !5
  %165 = load i32, ptr %164, align 4, !tbaa !9
  store i32 %165, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %166

166:                                              ; preds = %207, %129
  %167 = load i32, ptr %33, align 4, !tbaa !9
  %168 = load i32, ptr %19, align 4, !tbaa !9
  %169 = icmp sle i32 %167, %168
  br i1 %169, label %170, label %210

170:                                              ; preds = %166
  %171 = load ptr, ptr %12, align 8, !tbaa !5
  %172 = load i32, ptr %33, align 4, !tbaa !9
  %173 = sext i32 %172 to i64
  %174 = getelementptr inbounds float, ptr %171, i64 %173
  %175 = load float, ptr %174, align 4, !tbaa !11
  %176 = load ptr, ptr %12, align 8, !tbaa !5
  %177 = load ptr, ptr %10, align 8, !tbaa !5
  %178 = load i32, ptr %177, align 4, !tbaa !9
  %179 = sext i32 %178 to i64
  %180 = getelementptr inbounds float, ptr %176, i64 %179
  %181 = load float, ptr %180, align 4, !tbaa !11
  %182 = fadd float %175, %181
  %183 = load float, ptr %28, align 4, !tbaa !11
  %184 = fadd float %182, %183
  %185 = load ptr, ptr %17, align 8, !tbaa !5
  %186 = load i32, ptr %33, align 4, !tbaa !9
  %187 = sext i32 %186 to i64
  %188 = getelementptr inbounds float, ptr %185, i64 %187
  store float %184, ptr %188, align 4, !tbaa !11
  %189 = load ptr, ptr %12, align 8, !tbaa !5
  %190 = load i32, ptr %33, align 4, !tbaa !9
  %191 = sext i32 %190 to i64
  %192 = getelementptr inbounds float, ptr %189, i64 %191
  %193 = load float, ptr %192, align 4, !tbaa !11
  %194 = load ptr, ptr %12, align 8, !tbaa !5
  %195 = load ptr, ptr %10, align 8, !tbaa !5
  %196 = load i32, ptr %195, align 4, !tbaa !9
  %197 = sext i32 %196 to i64
  %198 = getelementptr inbounds float, ptr %194, i64 %197
  %199 = load float, ptr %198, align 4, !tbaa !11
  %200 = fsub float %193, %199
  %201 = load float, ptr %28, align 4, !tbaa !11
  %202 = fsub float %200, %201
  %203 = load ptr, ptr %14, align 8, !tbaa !5
  %204 = load i32, ptr %33, align 4, !tbaa !9
  %205 = sext i32 %204 to i64
  %206 = getelementptr inbounds float, ptr %203, i64 %205
  store float %202, ptr %206, align 4, !tbaa !11
  br label %207

207:                                              ; preds = %170
  %208 = load i32, ptr %33, align 4, !tbaa !9
  %209 = add nsw i32 %208, 1
  store i32 %209, ptr %33, align 4, !tbaa !9
  br label %166, !llvm.loop !13

210:                                              ; preds = %166
  store float 0.000000e+00, ptr %59, align 4, !tbaa !11
  %211 = load ptr, ptr %10, align 8, !tbaa !5
  %212 = load i32, ptr %211, align 4, !tbaa !9
  %213 = sub nsw i32 %212, 2
  store i32 %213, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %214

214:                                              ; preds = %244, %210
  %215 = load i32, ptr %33, align 4, !tbaa !9
  %216 = load i32, ptr %19, align 4, !tbaa !9
  %217 = icmp sle i32 %215, %216
  br i1 %217, label %218, label %247

218:                                              ; preds = %214
  %219 = load ptr, ptr %13, align 8, !tbaa !5
  %220 = load i32, ptr %33, align 4, !tbaa !9
  %221 = sext i32 %220 to i64
  %222 = getelementptr inbounds float, ptr %219, i64 %221
  %223 = load float, ptr %222, align 4, !tbaa !11
  %224 = load ptr, ptr %13, align 8, !tbaa !5
  %225 = load i32, ptr %33, align 4, !tbaa !9
  %226 = sext i32 %225 to i64
  %227 = getelementptr inbounds float, ptr %224, i64 %226
  %228 = load float, ptr %227, align 4, !tbaa !11
  %229 = fmul float %223, %228
  %230 = load ptr, ptr %14, align 8, !tbaa !5
  %231 = load i32, ptr %33, align 4, !tbaa !9
  %232 = sext i32 %231 to i64
  %233 = getelementptr inbounds float, ptr %230, i64 %232
  %234 = load float, ptr %233, align 4, !tbaa !11
  %235 = load ptr, ptr %17, align 8, !tbaa !5
  %236 = load i32, ptr %33, align 4, !tbaa !9
  %237 = sext i32 %236 to i64
  %238 = getelementptr inbounds float, ptr %235, i64 %237
  %239 = load float, ptr %238, align 4, !tbaa !11
  %240 = fmul float %234, %239
  %241 = fdiv float %229, %240
  %242 = load float, ptr %59, align 4, !tbaa !11
  %243 = fadd float %242, %241
  store float %243, ptr %59, align 4, !tbaa !11
  br label %244

244:                                              ; preds = %218
  %245 = load i32, ptr %33, align 4, !tbaa !9
  %246 = add nsw i32 %245, 1
  store i32 %246, ptr %33, align 4, !tbaa !9
  br label %214, !llvm.loop !15

247:                                              ; preds = %214
  %248 = load float, ptr %52, align 4, !tbaa !11
  %249 = load float, ptr %59, align 4, !tbaa !11
  %250 = fadd float %248, %249
  store float %250, ptr %32, align 4, !tbaa !11
  %251 = load float, ptr %32, align 4, !tbaa !11
  %252 = load ptr, ptr %13, align 8, !tbaa !5
  %253 = load i32, ptr %46, align 4, !tbaa !9
  %254 = sext i32 %253 to i64
  %255 = getelementptr inbounds float, ptr %252, i64 %254
  %256 = load float, ptr %255, align 4, !tbaa !11
  %257 = load ptr, ptr %13, align 8, !tbaa !5
  %258 = load i32, ptr %46, align 4, !tbaa !9
  %259 = sext i32 %258 to i64
  %260 = getelementptr inbounds float, ptr %257, i64 %259
  %261 = load float, ptr %260, align 4, !tbaa !11
  %262 = fmul float %256, %261
  %263 = load ptr, ptr %14, align 8, !tbaa !5
  %264 = load i32, ptr %46, align 4, !tbaa !9
  %265 = sext i32 %264 to i64
  %266 = getelementptr inbounds float, ptr %263, i64 %265
  %267 = load float, ptr %266, align 4, !tbaa !11
  %268 = load ptr, ptr %17, align 8, !tbaa !5
  %269 = load i32, ptr %46, align 4, !tbaa !9
  %270 = sext i32 %269 to i64
  %271 = getelementptr inbounds float, ptr %268, i64 %270
  %272 = load float, ptr %271, align 4, !tbaa !11
  %273 = fmul float %267, %272
  %274 = fdiv float %262, %273
  %275 = fadd float %251, %274
  %276 = load ptr, ptr %13, align 8, !tbaa !5
  %277 = load ptr, ptr %10, align 8, !tbaa !5
  %278 = load i32, ptr %277, align 4, !tbaa !9
  %279 = sext i32 %278 to i64
  %280 = getelementptr inbounds float, ptr %276, i64 %279
  %281 = load float, ptr %280, align 4, !tbaa !11
  %282 = load ptr, ptr %13, align 8, !tbaa !5
  %283 = load ptr, ptr %10, align 8, !tbaa !5
  %284 = load i32, ptr %283, align 4, !tbaa !9
  %285 = sext i32 %284 to i64
  %286 = getelementptr inbounds float, ptr %282, i64 %285
  %287 = load float, ptr %286, align 4, !tbaa !11
  %288 = fmul float %281, %287
  %289 = load ptr, ptr %14, align 8, !tbaa !5
  %290 = load ptr, ptr %10, align 8, !tbaa !5
  %291 = load i32, ptr %290, align 4, !tbaa !9
  %292 = sext i32 %291 to i64
  %293 = getelementptr inbounds float, ptr %289, i64 %292
  %294 = load float, ptr %293, align 4, !tbaa !11
  %295 = load ptr, ptr %17, align 8, !tbaa !5
  %296 = load ptr, ptr %10, align 8, !tbaa !5
  %297 = load i32, ptr %296, align 4, !tbaa !9
  %298 = sext i32 %297 to i64
  %299 = getelementptr inbounds float, ptr %295, i64 %298
  %300 = load float, ptr %299, align 4, !tbaa !11
  %301 = fmul float %294, %300
  %302 = fdiv float %288, %301
  %303 = fadd float %275, %302
  store float %303, ptr %34, align 4, !tbaa !11
  %304 = load float, ptr %34, align 4, !tbaa !11
  %305 = fcmp ole float %304, 0.000000e+00
  br i1 %305, label %306, label %545

306:                                              ; preds = %247
  %307 = load ptr, ptr %12, align 8, !tbaa !5
  %308 = load ptr, ptr %10, align 8, !tbaa !5
  %309 = load i32, ptr %308, align 4, !tbaa !9
  %310 = sext i32 %309 to i64
  %311 = getelementptr inbounds float, ptr %307, i64 %310
  %312 = load float, ptr %311, align 4, !tbaa !11
  %313 = load ptr, ptr %12, align 8, !tbaa !5
  %314 = load ptr, ptr %10, align 8, !tbaa !5
  %315 = load i32, ptr %314, align 4, !tbaa !9
  %316 = sext i32 %315 to i64
  %317 = getelementptr inbounds float, ptr %313, i64 %316
  %318 = load float, ptr %317, align 4, !tbaa !11
  %319 = load ptr, ptr %15, align 8, !tbaa !5
  %320 = load float, ptr %319, align 4, !tbaa !11
  %321 = call float @llvm.fmuladd.f32(float %312, float %318, float %320)
  %322 = fpext float %321 to double
  %323 = call double @sqrt(double noundef %322) #5
  %324 = fptrunc double %323 to float
  store float %324, ptr %28, align 4, !tbaa !11
  %325 = load ptr, ptr %13, align 8, !tbaa !5
  %326 = load ptr, ptr %10, align 8, !tbaa !5
  %327 = load i32, ptr %326, align 4, !tbaa !9
  %328 = sub nsw i32 %327, 1
  %329 = sext i32 %328 to i64
  %330 = getelementptr inbounds float, ptr %325, i64 %329
  %331 = load float, ptr %330, align 4, !tbaa !11
  %332 = load ptr, ptr %13, align 8, !tbaa !5
  %333 = load ptr, ptr %10, align 8, !tbaa !5
  %334 = load i32, ptr %333, align 4, !tbaa !9
  %335 = sub nsw i32 %334, 1
  %336 = sext i32 %335 to i64
  %337 = getelementptr inbounds float, ptr %332, i64 %336
  %338 = load float, ptr %337, align 4, !tbaa !11
  %339 = fmul float %331, %338
  %340 = load ptr, ptr %12, align 8, !tbaa !5
  %341 = load ptr, ptr %10, align 8, !tbaa !5
  %342 = load i32, ptr %341, align 4, !tbaa !9
  %343 = sub nsw i32 %342, 1
  %344 = sext i32 %343 to i64
  %345 = getelementptr inbounds float, ptr %340, i64 %344
  %346 = load float, ptr %345, align 4, !tbaa !11
  %347 = load float, ptr %28, align 4, !tbaa !11
  %348 = fadd float %346, %347
  %349 = load ptr, ptr %12, align 8, !tbaa !5
  %350 = load ptr, ptr %10, align 8, !tbaa !5
  %351 = load i32, ptr %350, align 4, !tbaa !9
  %352 = sext i32 %351 to i64
  %353 = getelementptr inbounds float, ptr %349, i64 %352
  %354 = load float, ptr %353, align 4, !tbaa !11
  %355 = load ptr, ptr %12, align 8, !tbaa !5
  %356 = load ptr, ptr %10, align 8, !tbaa !5
  %357 = load i32, ptr %356, align 4, !tbaa !9
  %358 = sub nsw i32 %357, 1
  %359 = sext i32 %358 to i64
  %360 = getelementptr inbounds float, ptr %355, i64 %359
  %361 = load float, ptr %360, align 4, !tbaa !11
  %362 = fsub float %354, %361
  %363 = load ptr, ptr %15, align 8, !tbaa !5
  %364 = load float, ptr %363, align 4, !tbaa !11
  %365 = load ptr, ptr %12, align 8, !tbaa !5
  %366 = load ptr, ptr %10, align 8, !tbaa !5
  %367 = load i32, ptr %366, align 4, !tbaa !9
  %368 = sext i32 %367 to i64
  %369 = getelementptr inbounds float, ptr %365, i64 %368
  %370 = load float, ptr %369, align 4, !tbaa !11
  %371 = load float, ptr %28, align 4, !tbaa !11
  %372 = fadd float %370, %371
  %373 = fdiv float %364, %372
  %374 = fadd float %362, %373
  %375 = fmul float %348, %374
  %376 = fdiv float %339, %375
  %377 = load ptr, ptr %13, align 8, !tbaa !5
  %378 = load ptr, ptr %10, align 8, !tbaa !5
  %379 = load i32, ptr %378, align 4, !tbaa !9
  %380 = sext i32 %379 to i64
  %381 = getelementptr inbounds float, ptr %377, i64 %380
  %382 = load float, ptr %381, align 4, !tbaa !11
  %383 = load ptr, ptr %13, align 8, !tbaa !5
  %384 = load ptr, ptr %10, align 8, !tbaa !5
  %385 = load i32, ptr %384, align 4, !tbaa !9
  %386 = sext i32 %385 to i64
  %387 = getelementptr inbounds float, ptr %383, i64 %386
  %388 = load float, ptr %387, align 4, !tbaa !11
  %389 = fmul float %382, %388
  %390 = load ptr, ptr %15, align 8, !tbaa !5
  %391 = load float, ptr %390, align 4, !tbaa !11
  %392 = fdiv float %389, %391
  %393 = fadd float %376, %392
  store float %393, ptr %26, align 4, !tbaa !11
  %394 = load float, ptr %32, align 4, !tbaa !11
  %395 = load float, ptr %26, align 4, !tbaa !11
  %396 = fcmp ole float %394, %395
  br i1 %396, label %397, label %400

397:                                              ; preds = %306
  %398 = load ptr, ptr %15, align 8, !tbaa !5
  %399 = load float, ptr %398, align 4, !tbaa !11
  store float %399, ptr %58, align 4, !tbaa !11
  br label %544

400:                                              ; preds = %306
  %401 = load ptr, ptr %12, align 8, !tbaa !5
  %402 = load ptr, ptr %10, align 8, !tbaa !5
  %403 = load i32, ptr %402, align 4, !tbaa !9
  %404 = sext i32 %403 to i64
  %405 = getelementptr inbounds float, ptr %401, i64 %404
  %406 = load float, ptr %405, align 4, !tbaa !11
  %407 = load ptr, ptr %12, align 8, !tbaa !5
  %408 = load ptr, ptr %10, align 8, !tbaa !5
  %409 = load i32, ptr %408, align 4, !tbaa !9
  %410 = sub nsw i32 %409, 1
  %411 = sext i32 %410 to i64
  %412 = getelementptr inbounds float, ptr %407, i64 %411
  %413 = load float, ptr %412, align 4, !tbaa !11
  %414 = fsub float %406, %413
  %415 = load ptr, ptr %12, align 8, !tbaa !5
  %416 = load ptr, ptr %10, align 8, !tbaa !5
  %417 = load i32, ptr %416, align 4, !tbaa !9
  %418 = sext i32 %417 to i64
  %419 = getelementptr inbounds float, ptr %415, i64 %418
  %420 = load float, ptr %419, align 4, !tbaa !11
  %421 = load ptr, ptr %12, align 8, !tbaa !5
  %422 = load ptr, ptr %10, align 8, !tbaa !5
  %423 = load i32, ptr %422, align 4, !tbaa !9
  %424 = sub nsw i32 %423, 1
  %425 = sext i32 %424 to i64
  %426 = getelementptr inbounds float, ptr %421, i64 %425
  %427 = load float, ptr %426, align 4, !tbaa !11
  %428 = fadd float %420, %427
  %429 = fmul float %414, %428
  store float %429, ptr %36, align 4, !tbaa !11
  %430 = load float, ptr %32, align 4, !tbaa !11
  %431 = fneg float %430
  %432 = load float, ptr %36, align 4, !tbaa !11
  %433 = load ptr, ptr %13, align 8, !tbaa !5
  %434 = load ptr, ptr %10, align 8, !tbaa !5
  %435 = load i32, ptr %434, align 4, !tbaa !9
  %436 = sub nsw i32 %435, 1
  %437 = sext i32 %436 to i64
  %438 = getelementptr inbounds float, ptr %433, i64 %437
  %439 = load float, ptr %438, align 4, !tbaa !11
  %440 = load ptr, ptr %13, align 8, !tbaa !5
  %441 = load ptr, ptr %10, align 8, !tbaa !5
  %442 = load i32, ptr %441, align 4, !tbaa !9
  %443 = sub nsw i32 %442, 1
  %444 = sext i32 %443 to i64
  %445 = getelementptr inbounds float, ptr %440, i64 %444
  %446 = load float, ptr %445, align 4, !tbaa !11
  %447 = fmul float %439, %446
  %448 = call float @llvm.fmuladd.f32(float %431, float %432, float %447)
  %449 = load ptr, ptr %13, align 8, !tbaa !5
  %450 = load ptr, ptr %10, align 8, !tbaa !5
  %451 = load i32, ptr %450, align 4, !tbaa !9
  %452 = sext i32 %451 to i64
  %453 = getelementptr inbounds float, ptr %449, i64 %452
  %454 = load float, ptr %453, align 4, !tbaa !11
  %455 = load ptr, ptr %13, align 8, !tbaa !5
  %456 = load ptr, ptr %10, align 8, !tbaa !5
  %457 = load i32, ptr %456, align 4, !tbaa !9
  %458 = sext i32 %457 to i64
  %459 = getelementptr inbounds float, ptr %455, i64 %458
  %460 = load float, ptr %459, align 4, !tbaa !11
  %461 = call float @llvm.fmuladd.f32(float %454, float %460, float %448)
  store float %461, ptr %30, align 4, !tbaa !11
  %462 = load ptr, ptr %13, align 8, !tbaa !5
  %463 = load ptr, ptr %10, align 8, !tbaa !5
  %464 = load i32, ptr %463, align 4, !tbaa !9
  %465 = sext i32 %464 to i64
  %466 = getelementptr inbounds float, ptr %462, i64 %465
  %467 = load float, ptr %466, align 4, !tbaa !11
  %468 = load ptr, ptr %13, align 8, !tbaa !5
  %469 = load ptr, ptr %10, align 8, !tbaa !5
  %470 = load i32, ptr %469, align 4, !tbaa !9
  %471 = sext i32 %470 to i64
  %472 = getelementptr inbounds float, ptr %468, i64 %471
  %473 = load float, ptr %472, align 4, !tbaa !11
  %474 = fmul float %467, %473
  %475 = load float, ptr %36, align 4, !tbaa !11
  %476 = fmul float %474, %475
  store float %476, ptr %31, align 4, !tbaa !11
  %477 = load float, ptr %30, align 4, !tbaa !11
  %478 = fcmp olt float %477, 0.000000e+00
  br i1 %478, label %479, label %497

479:                                              ; preds = %400
  %480 = load float, ptr %31, align 4, !tbaa !11
  %481 = fmul float %480, 2.000000e+00
  %482 = fpext float %481 to double
  %483 = load float, ptr %30, align 4, !tbaa !11
  %484 = load float, ptr %30, align 4, !tbaa !11
  %485 = load float, ptr %31, align 4, !tbaa !11
  %486 = fmul float %485, 4.000000e+00
  %487 = load float, ptr %32, align 4, !tbaa !11
  %488 = fmul float %486, %487
  %489 = call float @llvm.fmuladd.f32(float %483, float %484, float %488)
  %490 = fpext float %489 to double
  %491 = call double @sqrt(double noundef %490) #5
  %492 = load float, ptr %30, align 4, !tbaa !11
  %493 = fpext float %492 to double
  %494 = fsub double %491, %493
  %495 = fdiv double %482, %494
  %496 = fptrunc double %495 to float
  store float %496, ptr %63, align 4, !tbaa !11
  br label %515

497:                                              ; preds = %400
  %498 = load float, ptr %30, align 4, !tbaa !11
  %499 = fpext float %498 to double
  %500 = load float, ptr %30, align 4, !tbaa !11
  %501 = load float, ptr %30, align 4, !tbaa !11
  %502 = load float, ptr %31, align 4, !tbaa !11
  %503 = fmul float %502, 4.000000e+00
  %504 = load float, ptr %32, align 4, !tbaa !11
  %505 = fmul float %503, %504
  %506 = call float @llvm.fmuladd.f32(float %500, float %501, float %505)
  %507 = fpext float %506 to double
  %508 = call double @sqrt(double noundef %507) #5
  %509 = fadd double %499, %508
  %510 = load float, ptr %32, align 4, !tbaa !11
  %511 = fmul float %510, 2.000000e+00
  %512 = fpext float %511 to double
  %513 = fdiv double %509, %512
  %514 = fptrunc double %513 to float
  store float %514, ptr %63, align 4, !tbaa !11
  br label %515

515:                                              ; preds = %497, %479
  %516 = load float, ptr %63, align 4, !tbaa !11
  %517 = fpext float %516 to double
  %518 = load ptr, ptr %12, align 8, !tbaa !5
  %519 = load ptr, ptr %10, align 8, !tbaa !5
  %520 = load i32, ptr %519, align 4, !tbaa !9
  %521 = sext i32 %520 to i64
  %522 = getelementptr inbounds float, ptr %518, i64 %521
  %523 = load float, ptr %522, align 4, !tbaa !11
  %524 = fpext float %523 to double
  %525 = load ptr, ptr %12, align 8, !tbaa !5
  %526 = load ptr, ptr %10, align 8, !tbaa !5
  %527 = load i32, ptr %526, align 4, !tbaa !9
  %528 = sext i32 %527 to i64
  %529 = getelementptr inbounds float, ptr %525, i64 %528
  %530 = load float, ptr %529, align 4, !tbaa !11
  %531 = load ptr, ptr %12, align 8, !tbaa !5
  %532 = load ptr, ptr %10, align 8, !tbaa !5
  %533 = load i32, ptr %532, align 4, !tbaa !9
  %534 = sext i32 %533 to i64
  %535 = getelementptr inbounds float, ptr %531, i64 %534
  %536 = load float, ptr %535, align 4, !tbaa !11
  %537 = load float, ptr %63, align 4, !tbaa !11
  %538 = call float @llvm.fmuladd.f32(float %530, float %536, float %537)
  %539 = fpext float %538 to double
  %540 = call double @sqrt(double noundef %539) #5
  %541 = fadd double %524, %540
  %542 = fdiv double %517, %541
  %543 = fptrunc double %542 to float
  store float %543, ptr %58, align 4, !tbaa !11
  br label %544

544:                                              ; preds = %515, %397
  br label %689

545:                                              ; preds = %247
  %546 = load ptr, ptr %12, align 8, !tbaa !5
  %547 = load ptr, ptr %10, align 8, !tbaa !5
  %548 = load i32, ptr %547, align 4, !tbaa !9
  %549 = sext i32 %548 to i64
  %550 = getelementptr inbounds float, ptr %546, i64 %549
  %551 = load float, ptr %550, align 4, !tbaa !11
  %552 = load ptr, ptr %12, align 8, !tbaa !5
  %553 = load ptr, ptr %10, align 8, !tbaa !5
  %554 = load i32, ptr %553, align 4, !tbaa !9
  %555 = sub nsw i32 %554, 1
  %556 = sext i32 %555 to i64
  %557 = getelementptr inbounds float, ptr %552, i64 %556
  %558 = load float, ptr %557, align 4, !tbaa !11
  %559 = fsub float %551, %558
  %560 = load ptr, ptr %12, align 8, !tbaa !5
  %561 = load ptr, ptr %10, align 8, !tbaa !5
  %562 = load i32, ptr %561, align 4, !tbaa !9
  %563 = sext i32 %562 to i64
  %564 = getelementptr inbounds float, ptr %560, i64 %563
  %565 = load float, ptr %564, align 4, !tbaa !11
  %566 = load ptr, ptr %12, align 8, !tbaa !5
  %567 = load ptr, ptr %10, align 8, !tbaa !5
  %568 = load i32, ptr %567, align 4, !tbaa !9
  %569 = sub nsw i32 %568, 1
  %570 = sext i32 %569 to i64
  %571 = getelementptr inbounds float, ptr %566, i64 %570
  %572 = load float, ptr %571, align 4, !tbaa !11
  %573 = fadd float %565, %572
  %574 = fmul float %559, %573
  store float %574, ptr %36, align 4, !tbaa !11
  %575 = load float, ptr %32, align 4, !tbaa !11
  %576 = fneg float %575
  %577 = load float, ptr %36, align 4, !tbaa !11
  %578 = load ptr, ptr %13, align 8, !tbaa !5
  %579 = load ptr, ptr %10, align 8, !tbaa !5
  %580 = load i32, ptr %579, align 4, !tbaa !9
  %581 = sub nsw i32 %580, 1
  %582 = sext i32 %581 to i64
  %583 = getelementptr inbounds float, ptr %578, i64 %582
  %584 = load float, ptr %583, align 4, !tbaa !11
  %585 = load ptr, ptr %13, align 8, !tbaa !5
  %586 = load ptr, ptr %10, align 8, !tbaa !5
  %587 = load i32, ptr %586, align 4, !tbaa !9
  %588 = sub nsw i32 %587, 1
  %589 = sext i32 %588 to i64
  %590 = getelementptr inbounds float, ptr %585, i64 %589
  %591 = load float, ptr %590, align 4, !tbaa !11
  %592 = fmul float %584, %591
  %593 = call float @llvm.fmuladd.f32(float %576, float %577, float %592)
  %594 = load ptr, ptr %13, align 8, !tbaa !5
  %595 = load ptr, ptr %10, align 8, !tbaa !5
  %596 = load i32, ptr %595, align 4, !tbaa !9
  %597 = sext i32 %596 to i64
  %598 = getelementptr inbounds float, ptr %594, i64 %597
  %599 = load float, ptr %598, align 4, !tbaa !11
  %600 = load ptr, ptr %13, align 8, !tbaa !5
  %601 = load ptr, ptr %10, align 8, !tbaa !5
  %602 = load i32, ptr %601, align 4, !tbaa !9
  %603 = sext i32 %602 to i64
  %604 = getelementptr inbounds float, ptr %600, i64 %603
  %605 = load float, ptr %604, align 4, !tbaa !11
  %606 = call float @llvm.fmuladd.f32(float %599, float %605, float %593)
  store float %606, ptr %30, align 4, !tbaa !11
  %607 = load ptr, ptr %13, align 8, !tbaa !5
  %608 = load ptr, ptr %10, align 8, !tbaa !5
  %609 = load i32, ptr %608, align 4, !tbaa !9
  %610 = sext i32 %609 to i64
  %611 = getelementptr inbounds float, ptr %607, i64 %610
  %612 = load float, ptr %611, align 4, !tbaa !11
  %613 = load ptr, ptr %13, align 8, !tbaa !5
  %614 = load ptr, ptr %10, align 8, !tbaa !5
  %615 = load i32, ptr %614, align 4, !tbaa !9
  %616 = sext i32 %615 to i64
  %617 = getelementptr inbounds float, ptr %613, i64 %616
  %618 = load float, ptr %617, align 4, !tbaa !11
  %619 = fmul float %612, %618
  %620 = load float, ptr %36, align 4, !tbaa !11
  %621 = fmul float %619, %620
  store float %621, ptr %31, align 4, !tbaa !11
  %622 = load float, ptr %30, align 4, !tbaa !11
  %623 = fcmp olt float %622, 0.000000e+00
  br i1 %623, label %624, label %642

624:                                              ; preds = %545
  %625 = load float, ptr %31, align 4, !tbaa !11
  %626 = fmul float %625, 2.000000e+00
  %627 = fpext float %626 to double
  %628 = load float, ptr %30, align 4, !tbaa !11
  %629 = load float, ptr %30, align 4, !tbaa !11
  %630 = load float, ptr %31, align 4, !tbaa !11
  %631 = fmul float %630, 4.000000e+00
  %632 = load float, ptr %32, align 4, !tbaa !11
  %633 = fmul float %631, %632
  %634 = call float @llvm.fmuladd.f32(float %628, float %629, float %633)
  %635 = fpext float %634 to double
  %636 = call double @sqrt(double noundef %635) #5
  %637 = load float, ptr %30, align 4, !tbaa !11
  %638 = fpext float %637 to double
  %639 = fsub double %636, %638
  %640 = fdiv double %627, %639
  %641 = fptrunc double %640 to float
  store float %641, ptr %63, align 4, !tbaa !11
  br label %660

642:                                              ; preds = %545
  %643 = load float, ptr %30, align 4, !tbaa !11
  %644 = fpext float %643 to double
  %645 = load float, ptr %30, align 4, !tbaa !11
  %646 = load float, ptr %30, align 4, !tbaa !11
  %647 = load float, ptr %31, align 4, !tbaa !11
  %648 = fmul float %647, 4.000000e+00
  %649 = load float, ptr %32, align 4, !tbaa !11
  %650 = fmul float %648, %649
  %651 = call float @llvm.fmuladd.f32(float %645, float %646, float %650)
  %652 = fpext float %651 to double
  %653 = call double @sqrt(double noundef %652) #5
  %654 = fadd double %644, %653
  %655 = load float, ptr %32, align 4, !tbaa !11
  %656 = fmul float %655, 2.000000e+00
  %657 = fpext float %656 to double
  %658 = fdiv double %654, %657
  %659 = fptrunc double %658 to float
  store float %659, ptr %63, align 4, !tbaa !11
  br label %660

660:                                              ; preds = %642, %624
  %661 = load float, ptr %63, align 4, !tbaa !11
  %662 = fpext float %661 to double
  %663 = load ptr, ptr %12, align 8, !tbaa !5
  %664 = load ptr, ptr %10, align 8, !tbaa !5
  %665 = load i32, ptr %664, align 4, !tbaa !9
  %666 = sext i32 %665 to i64
  %667 = getelementptr inbounds float, ptr %663, i64 %666
  %668 = load float, ptr %667, align 4, !tbaa !11
  %669 = fpext float %668 to double
  %670 = load ptr, ptr %12, align 8, !tbaa !5
  %671 = load ptr, ptr %10, align 8, !tbaa !5
  %672 = load i32, ptr %671, align 4, !tbaa !9
  %673 = sext i32 %672 to i64
  %674 = getelementptr inbounds float, ptr %670, i64 %673
  %675 = load float, ptr %674, align 4, !tbaa !11
  %676 = load ptr, ptr %12, align 8, !tbaa !5
  %677 = load ptr, ptr %10, align 8, !tbaa !5
  %678 = load i32, ptr %677, align 4, !tbaa !9
  %679 = sext i32 %678 to i64
  %680 = getelementptr inbounds float, ptr %676, i64 %679
  %681 = load float, ptr %680, align 4, !tbaa !11
  %682 = load float, ptr %63, align 4, !tbaa !11
  %683 = call float @llvm.fmuladd.f32(float %675, float %681, float %682)
  %684 = fpext float %683 to double
  %685 = call double @sqrt(double noundef %684) #5
  %686 = fadd double %669, %685
  %687 = fdiv double %662, %686
  %688 = fptrunc double %687 to float
  store float %688, ptr %58, align 4, !tbaa !11
  br label %689

689:                                              ; preds = %660, %544
  %690 = load ptr, ptr %12, align 8, !tbaa !5
  %691 = load ptr, ptr %10, align 8, !tbaa !5
  %692 = load i32, ptr %691, align 4, !tbaa !9
  %693 = sext i32 %692 to i64
  %694 = getelementptr inbounds float, ptr %690, i64 %693
  %695 = load float, ptr %694, align 4, !tbaa !11
  %696 = load float, ptr %58, align 4, !tbaa !11
  %697 = fadd float %695, %696
  %698 = load ptr, ptr %16, align 8, !tbaa !5
  store float %697, ptr %698, align 4, !tbaa !11
  %699 = load ptr, ptr %10, align 8, !tbaa !5
  %700 = load i32, ptr %699, align 4, !tbaa !9
  store i32 %700, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %701

701:                                              ; preds = %742, %689
  %702 = load i32, ptr %33, align 4, !tbaa !9
  %703 = load i32, ptr %19, align 4, !tbaa !9
  %704 = icmp sle i32 %702, %703
  br i1 %704, label %705, label %745

705:                                              ; preds = %701
  %706 = load ptr, ptr %12, align 8, !tbaa !5
  %707 = load i32, ptr %33, align 4, !tbaa !9
  %708 = sext i32 %707 to i64
  %709 = getelementptr inbounds float, ptr %706, i64 %708
  %710 = load float, ptr %709, align 4, !tbaa !11
  %711 = load ptr, ptr %12, align 8, !tbaa !5
  %712 = load ptr, ptr %10, align 8, !tbaa !5
  %713 = load i32, ptr %712, align 4, !tbaa !9
  %714 = sext i32 %713 to i64
  %715 = getelementptr inbounds float, ptr %711, i64 %714
  %716 = load float, ptr %715, align 4, !tbaa !11
  %717 = fsub float %710, %716
  %718 = load float, ptr %58, align 4, !tbaa !11
  %719 = fsub float %717, %718
  %720 = load ptr, ptr %14, align 8, !tbaa !5
  %721 = load i32, ptr %33, align 4, !tbaa !9
  %722 = sext i32 %721 to i64
  %723 = getelementptr inbounds float, ptr %720, i64 %722
  store float %719, ptr %723, align 4, !tbaa !11
  %724 = load ptr, ptr %12, align 8, !tbaa !5
  %725 = load i32, ptr %33, align 4, !tbaa !9
  %726 = sext i32 %725 to i64
  %727 = getelementptr inbounds float, ptr %724, i64 %726
  %728 = load float, ptr %727, align 4, !tbaa !11
  %729 = load ptr, ptr %12, align 8, !tbaa !5
  %730 = load ptr, ptr %10, align 8, !tbaa !5
  %731 = load i32, ptr %730, align 4, !tbaa !9
  %732 = sext i32 %731 to i64
  %733 = getelementptr inbounds float, ptr %729, i64 %732
  %734 = load float, ptr %733, align 4, !tbaa !11
  %735 = fadd float %728, %734
  %736 = load float, ptr %58, align 4, !tbaa !11
  %737 = fadd float %735, %736
  %738 = load ptr, ptr %17, align 8, !tbaa !5
  %739 = load i32, ptr %33, align 4, !tbaa !9
  %740 = sext i32 %739 to i64
  %741 = getelementptr inbounds float, ptr %738, i64 %740
  store float %737, ptr %741, align 4, !tbaa !11
  br label %742

742:                                              ; preds = %705
  %743 = load i32, ptr %33, align 4, !tbaa !9
  %744 = add nsw i32 %743, 1
  store i32 %744, ptr %33, align 4, !tbaa !9
  br label %701, !llvm.loop !16

745:                                              ; preds = %701
  store float 0.000000e+00, ptr %23, align 4, !tbaa !11
  store float 0.000000e+00, ptr %59, align 4, !tbaa !11
  store float 0.000000e+00, ptr %50, align 4, !tbaa !11
  %746 = load i32, ptr %46, align 4, !tbaa !9
  store i32 %746, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %747

747:                                              ; preds = %784, %745
  %748 = load i32, ptr %33, align 4, !tbaa !9
  %749 = load i32, ptr %19, align 4, !tbaa !9
  %750 = icmp sle i32 %748, %749
  br i1 %750, label %751, label %787

751:                                              ; preds = %747
  %752 = load ptr, ptr %13, align 8, !tbaa !5
  %753 = load i32, ptr %33, align 4, !tbaa !9
  %754 = sext i32 %753 to i64
  %755 = getelementptr inbounds float, ptr %752, i64 %754
  %756 = load float, ptr %755, align 4, !tbaa !11
  %757 = load ptr, ptr %14, align 8, !tbaa !5
  %758 = load i32, ptr %33, align 4, !tbaa !9
  %759 = sext i32 %758 to i64
  %760 = getelementptr inbounds float, ptr %757, i64 %759
  %761 = load float, ptr %760, align 4, !tbaa !11
  %762 = load ptr, ptr %17, align 8, !tbaa !5
  %763 = load i32, ptr %33, align 4, !tbaa !9
  %764 = sext i32 %763 to i64
  %765 = getelementptr inbounds float, ptr %762, i64 %764
  %766 = load float, ptr %765, align 4, !tbaa !11
  %767 = fmul float %761, %766
  %768 = fdiv float %756, %767
  store float %768, ptr %26, align 4, !tbaa !11
  %769 = load ptr, ptr %13, align 8, !tbaa !5
  %770 = load i32, ptr %33, align 4, !tbaa !9
  %771 = sext i32 %770 to i64
  %772 = getelementptr inbounds float, ptr %769, i64 %771
  %773 = load float, ptr %772, align 4, !tbaa !11
  %774 = load float, ptr %26, align 4, !tbaa !11
  %775 = load float, ptr %59, align 4, !tbaa !11
  %776 = call float @llvm.fmuladd.f32(float %773, float %774, float %775)
  store float %776, ptr %59, align 4, !tbaa !11
  %777 = load float, ptr %26, align 4, !tbaa !11
  %778 = load float, ptr %26, align 4, !tbaa !11
  %779 = load float, ptr %23, align 4, !tbaa !11
  %780 = call float @llvm.fmuladd.f32(float %777, float %778, float %779)
  store float %780, ptr %23, align 4, !tbaa !11
  %781 = load float, ptr %59, align 4, !tbaa !11
  %782 = load float, ptr %50, align 4, !tbaa !11
  %783 = fadd float %782, %781
  store float %783, ptr %50, align 4, !tbaa !11
  br label %784

784:                                              ; preds = %751
  %785 = load i32, ptr %33, align 4, !tbaa !9
  %786 = add nsw i32 %785, 1
  store i32 %786, ptr %33, align 4, !tbaa !9
  br label %747, !llvm.loop !17

787:                                              ; preds = %747
  %788 = load float, ptr %50, align 4, !tbaa !11
  %789 = fcmp oge float %788, 0.000000e+00
  br i1 %789, label %790, label %792

790:                                              ; preds = %787
  %791 = load float, ptr %50, align 4, !tbaa !11
  br label %795

792:                                              ; preds = %787
  %793 = load float, ptr %50, align 4, !tbaa !11
  %794 = fneg float %793
  br label %795

795:                                              ; preds = %792, %790
  %796 = phi float [ %791, %790 ], [ %794, %792 ]
  store float %796, ptr %50, align 4, !tbaa !11
  %797 = load ptr, ptr %13, align 8, !tbaa !5
  %798 = load ptr, ptr %10, align 8, !tbaa !5
  %799 = load i32, ptr %798, align 4, !tbaa !9
  %800 = sext i32 %799 to i64
  %801 = getelementptr inbounds float, ptr %797, i64 %800
  %802 = load float, ptr %801, align 4, !tbaa !11
  %803 = load ptr, ptr %14, align 8, !tbaa !5
  %804 = load ptr, ptr %10, align 8, !tbaa !5
  %805 = load i32, ptr %804, align 4, !tbaa !9
  %806 = sext i32 %805 to i64
  %807 = getelementptr inbounds float, ptr %803, i64 %806
  %808 = load float, ptr %807, align 4, !tbaa !11
  %809 = load ptr, ptr %17, align 8, !tbaa !5
  %810 = load ptr, ptr %10, align 8, !tbaa !5
  %811 = load i32, ptr %810, align 4, !tbaa !9
  %812 = sext i32 %811 to i64
  %813 = getelementptr inbounds float, ptr %809, i64 %812
  %814 = load float, ptr %813, align 4, !tbaa !11
  %815 = fmul float %808, %814
  %816 = fdiv float %802, %815
  store float %816, ptr %26, align 4, !tbaa !11
  %817 = load ptr, ptr %13, align 8, !tbaa !5
  %818 = load ptr, ptr %10, align 8, !tbaa !5
  %819 = load i32, ptr %818, align 4, !tbaa !9
  %820 = sext i32 %819 to i64
  %821 = getelementptr inbounds float, ptr %817, i64 %820
  %822 = load float, ptr %821, align 4, !tbaa !11
  %823 = load float, ptr %26, align 4, !tbaa !11
  %824 = fmul float %822, %823
  store float %824, ptr %56, align 4, !tbaa !11
  %825 = load float, ptr %26, align 4, !tbaa !11
  %826 = load float, ptr %26, align 4, !tbaa !11
  %827 = fmul float %825, %826
  store float %827, ptr %21, align 4, !tbaa !11
  %828 = load float, ptr %56, align 4, !tbaa !11
  %829 = fneg float %828
  %830 = load float, ptr %59, align 4, !tbaa !11
  %831 = fsub float %829, %830
  %832 = load float, ptr %50, align 4, !tbaa !11
  %833 = call float @llvm.fmuladd.f32(float %831, float 8.000000e+00, float %832)
  %834 = load float, ptr %56, align 4, !tbaa !11
  %835 = fsub float %833, %834
  %836 = load float, ptr %52, align 4, !tbaa !11
  %837 = fadd float %835, %836
  store float %837, ptr %50, align 4, !tbaa !11
  %838 = load float, ptr %52, align 4, !tbaa !11
  %839 = load float, ptr %56, align 4, !tbaa !11
  %840 = fadd float %838, %839
  %841 = load float, ptr %59, align 4, !tbaa !11
  %842 = fadd float %840, %841
  store float %842, ptr %34, align 4, !tbaa !11
  %843 = load float, ptr %34, align 4, !tbaa !11
  %844 = fcmp oge float %843, 0.000000e+00
  br i1 %844, label %845, label %847

845:                                              ; preds = %795
  %846 = load float, ptr %34, align 4, !tbaa !11
  br label %850

847:                                              ; preds = %795
  %848 = load float, ptr %34, align 4, !tbaa !11
  %849 = fneg float %848
  br label %850

850:                                              ; preds = %847, %845
  %851 = phi float [ %846, %845 ], [ %849, %847 ]
  %852 = load float, ptr %57, align 4, !tbaa !11
  %853 = load float, ptr %50, align 4, !tbaa !11
  %854 = fmul float %852, %853
  %855 = fcmp ole float %851, %854
  br i1 %855, label %856, label %857

856:                                              ; preds = %850
  br label %4375

857:                                              ; preds = %850
  %858 = load i32, ptr %38, align 4, !tbaa !9
  %859 = add nsw i32 %858, 1
  store i32 %859, ptr %38, align 4, !tbaa !9
  %860 = load ptr, ptr %17, align 8, !tbaa !5
  %861 = load ptr, ptr %10, align 8, !tbaa !5
  %862 = load i32, ptr %861, align 4, !tbaa !9
  %863 = sub nsw i32 %862, 1
  %864 = sext i32 %863 to i64
  %865 = getelementptr inbounds float, ptr %860, i64 %864
  %866 = load float, ptr %865, align 4, !tbaa !11
  %867 = load ptr, ptr %14, align 8, !tbaa !5
  %868 = load ptr, ptr %10, align 8, !tbaa !5
  %869 = load i32, ptr %868, align 4, !tbaa !9
  %870 = sub nsw i32 %869, 1
  %871 = sext i32 %870 to i64
  %872 = getelementptr inbounds float, ptr %867, i64 %871
  %873 = load float, ptr %872, align 4, !tbaa !11
  %874 = fmul float %866, %873
  store float %874, ptr %44, align 4, !tbaa !11
  %875 = load ptr, ptr %17, align 8, !tbaa !5
  %876 = load ptr, ptr %10, align 8, !tbaa !5
  %877 = load i32, ptr %876, align 4, !tbaa !9
  %878 = sext i32 %877 to i64
  %879 = getelementptr inbounds float, ptr %875, i64 %878
  %880 = load float, ptr %879, align 4, !tbaa !11
  %881 = load ptr, ptr %14, align 8, !tbaa !5
  %882 = load ptr, ptr %10, align 8, !tbaa !5
  %883 = load i32, ptr %882, align 4, !tbaa !9
  %884 = sext i32 %883 to i64
  %885 = getelementptr inbounds float, ptr %881, i64 %884
  %886 = load float, ptr %885, align 4, !tbaa !11
  %887 = fmul float %880, %886
  store float %887, ptr %41, align 4, !tbaa !11
  %888 = load float, ptr %34, align 4, !tbaa !11
  %889 = load float, ptr %44, align 4, !tbaa !11
  %890 = load float, ptr %23, align 4, !tbaa !11
  %891 = fneg float %889
  %892 = call float @llvm.fmuladd.f32(float %891, float %890, float %888)
  %893 = load float, ptr %41, align 4, !tbaa !11
  %894 = load float, ptr %21, align 4, !tbaa !11
  %895 = fneg float %893
  %896 = call float @llvm.fmuladd.f32(float %895, float %894, float %892)
  store float %896, ptr %32, align 4, !tbaa !11
  %897 = load float, ptr %41, align 4, !tbaa !11
  %898 = load float, ptr %44, align 4, !tbaa !11
  %899 = fadd float %897, %898
  %900 = load float, ptr %34, align 4, !tbaa !11
  %901 = load float, ptr %41, align 4, !tbaa !11
  %902 = load float, ptr %44, align 4, !tbaa !11
  %903 = fmul float %901, %902
  %904 = load float, ptr %23, align 4, !tbaa !11
  %905 = load float, ptr %21, align 4, !tbaa !11
  %906 = fadd float %904, %905
  %907 = fmul float %903, %906
  %908 = fneg float %907
  %909 = call float @llvm.fmuladd.f32(float %899, float %900, float %908)
  store float %909, ptr %30, align 4, !tbaa !11
  %910 = load float, ptr %41, align 4, !tbaa !11
  %911 = load float, ptr %44, align 4, !tbaa !11
  %912 = fmul float %910, %911
  %913 = load float, ptr %34, align 4, !tbaa !11
  %914 = fmul float %912, %913
  store float %914, ptr %31, align 4, !tbaa !11
  %915 = load float, ptr %32, align 4, !tbaa !11
  %916 = fcmp olt float %915, 0.000000e+00
  br i1 %916, label %917, label %927

917:                                              ; preds = %857
  %918 = load float, ptr %32, align 4, !tbaa !11
  %919 = fcmp oge float %918, 0.000000e+00
  br i1 %919, label %920, label %922

920:                                              ; preds = %917
  %921 = load float, ptr %32, align 4, !tbaa !11
  br label %925

922:                                              ; preds = %917
  %923 = load float, ptr %32, align 4, !tbaa !11
  %924 = fneg float %923
  br label %925

925:                                              ; preds = %922, %920
  %926 = phi float [ %921, %920 ], [ %924, %922 ]
  store float %926, ptr %32, align 4, !tbaa !11
  br label %927

927:                                              ; preds = %925, %857
  %928 = load float, ptr %32, align 4, !tbaa !11
  %929 = fcmp oeq float %928, 0.000000e+00
  br i1 %929, label %930, label %939

930:                                              ; preds = %927
  %931 = load ptr, ptr %15, align 8, !tbaa !5
  %932 = load float, ptr %931, align 4, !tbaa !11
  %933 = load ptr, ptr %16, align 8, !tbaa !5
  %934 = load float, ptr %933, align 4, !tbaa !11
  %935 = load ptr, ptr %16, align 8, !tbaa !5
  %936 = load float, ptr %935, align 4, !tbaa !11
  %937 = fneg float %934
  %938 = call float @llvm.fmuladd.f32(float %937, float %936, float %932)
  store float %938, ptr %55, align 4, !tbaa !11
  br label %999

939:                                              ; preds = %927
  %940 = load float, ptr %30, align 4, !tbaa !11
  %941 = fcmp oge float %940, 0.000000e+00
  br i1 %941, label %942, label %970

942:                                              ; preds = %939
  %943 = load float, ptr %30, align 4, !tbaa !11
  %944 = fpext float %943 to double
  %945 = load float, ptr %30, align 4, !tbaa !11
  %946 = load float, ptr %30, align 4, !tbaa !11
  %947 = load float, ptr %31, align 4, !tbaa !11
  %948 = fmul float %947, 4.000000e+00
  %949 = load float, ptr %32, align 4, !tbaa !11
  %950 = fmul float %948, %949
  %951 = fneg float %950
  %952 = call float @llvm.fmuladd.f32(float %945, float %946, float %951)
  store float %952, ptr %20, align 4, !tbaa !11
  %953 = load float, ptr %20, align 4, !tbaa !11
  %954 = fcmp oge float %953, 0.000000e+00
  br i1 %954, label %955, label %957

955:                                              ; preds = %942
  %956 = load float, ptr %20, align 4, !tbaa !11
  br label %960

957:                                              ; preds = %942
  %958 = load float, ptr %20, align 4, !tbaa !11
  %959 = fneg float %958
  br label %960

960:                                              ; preds = %957, %955
  %961 = phi float [ %956, %955 ], [ %959, %957 ]
  %962 = fpext float %961 to double
  %963 = call double @sqrt(double noundef %962) #5
  %964 = fadd double %944, %963
  %965 = load float, ptr %32, align 4, !tbaa !11
  %966 = fmul float %965, 2.000000e+00
  %967 = fpext float %966 to double
  %968 = fdiv double %964, %967
  %969 = fptrunc double %968 to float
  store float %969, ptr %55, align 4, !tbaa !11
  br label %998

970:                                              ; preds = %939
  %971 = load float, ptr %31, align 4, !tbaa !11
  %972 = fmul float %971, 2.000000e+00
  %973 = fpext float %972 to double
  %974 = load float, ptr %30, align 4, !tbaa !11
  %975 = fpext float %974 to double
  %976 = load float, ptr %30, align 4, !tbaa !11
  %977 = load float, ptr %30, align 4, !tbaa !11
  %978 = load float, ptr %31, align 4, !tbaa !11
  %979 = fmul float %978, 4.000000e+00
  %980 = load float, ptr %32, align 4, !tbaa !11
  %981 = fmul float %979, %980
  %982 = fneg float %981
  %983 = call float @llvm.fmuladd.f32(float %976, float %977, float %982)
  store float %983, ptr %20, align 4, !tbaa !11
  %984 = load float, ptr %20, align 4, !tbaa !11
  %985 = fcmp oge float %984, 0.000000e+00
  br i1 %985, label %986, label %988

986:                                              ; preds = %970
  %987 = load float, ptr %20, align 4, !tbaa !11
  br label %991

988:                                              ; preds = %970
  %989 = load float, ptr %20, align 4, !tbaa !11
  %990 = fneg float %989
  br label %991

991:                                              ; preds = %988, %986
  %992 = phi float [ %987, %986 ], [ %990, %988 ]
  %993 = fpext float %992 to double
  %994 = call double @sqrt(double noundef %993) #5
  %995 = fsub double %975, %994
  %996 = fdiv double %973, %995
  %997 = fptrunc double %996 to float
  store float %997, ptr %55, align 4, !tbaa !11
  br label %998

998:                                              ; preds = %991, %960
  br label %999

999:                                              ; preds = %998, %930
  %1000 = load float, ptr %34, align 4, !tbaa !11
  %1001 = load float, ptr %55, align 4, !tbaa !11
  %1002 = fmul float %1000, %1001
  %1003 = fcmp ogt float %1002, 0.000000e+00
  br i1 %1003, label %1004, label %1011

1004:                                             ; preds = %999
  %1005 = load float, ptr %34, align 4, !tbaa !11
  %1006 = fneg float %1005
  %1007 = load float, ptr %23, align 4, !tbaa !11
  %1008 = load float, ptr %21, align 4, !tbaa !11
  %1009 = fadd float %1007, %1008
  %1010 = fdiv float %1006, %1009
  store float %1010, ptr %55, align 4, !tbaa !11
  br label %1011

1011:                                             ; preds = %1004, %999
  %1012 = load float, ptr %55, align 4, !tbaa !11
  %1013 = load float, ptr %41, align 4, !tbaa !11
  %1014 = fsub float %1012, %1013
  store float %1014, ptr %26, align 4, !tbaa !11
  %1015 = load float, ptr %26, align 4, !tbaa !11
  %1016 = load ptr, ptr %15, align 8, !tbaa !5
  %1017 = load float, ptr %1016, align 4, !tbaa !11
  %1018 = fcmp ogt float %1015, %1017
  br i1 %1018, label %1019, label %1024

1019:                                             ; preds = %1011
  %1020 = load ptr, ptr %15, align 8, !tbaa !5
  %1021 = load float, ptr %1020, align 4, !tbaa !11
  %1022 = load float, ptr %41, align 4, !tbaa !11
  %1023 = fadd float %1021, %1022
  store float %1023, ptr %55, align 4, !tbaa !11
  br label %1024

1024:                                             ; preds = %1019, %1011
  %1025 = load ptr, ptr %16, align 8, !tbaa !5
  %1026 = load float, ptr %1025, align 4, !tbaa !11
  %1027 = fpext float %1026 to double
  %1028 = load float, ptr %55, align 4, !tbaa !11
  %1029 = load ptr, ptr %16, align 8, !tbaa !5
  %1030 = load float, ptr %1029, align 4, !tbaa !11
  %1031 = load ptr, ptr %16, align 8, !tbaa !5
  %1032 = load float, ptr %1031, align 4, !tbaa !11
  %1033 = call float @llvm.fmuladd.f32(float %1030, float %1032, float %1028)
  %1034 = fpext float %1033 to double
  %1035 = call double @sqrt(double noundef %1034) #5
  %1036 = fadd double %1027, %1035
  %1037 = load float, ptr %55, align 4, !tbaa !11
  %1038 = fpext float %1037 to double
  %1039 = fdiv double %1038, %1036
  %1040 = fptrunc double %1039 to float
  store float %1040, ptr %55, align 4, !tbaa !11
  %1041 = load float, ptr %55, align 4, !tbaa !11
  %1042 = load float, ptr %58, align 4, !tbaa !11
  %1043 = fadd float %1042, %1041
  store float %1043, ptr %58, align 4, !tbaa !11
  %1044 = load float, ptr %55, align 4, !tbaa !11
  %1045 = load ptr, ptr %16, align 8, !tbaa !5
  %1046 = load float, ptr %1045, align 4, !tbaa !11
  %1047 = fadd float %1046, %1044
  store float %1047, ptr %1045, align 4, !tbaa !11
  %1048 = load ptr, ptr %10, align 8, !tbaa !5
  %1049 = load i32, ptr %1048, align 4, !tbaa !9
  store i32 %1049, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %1050

1050:                                             ; preds = %1069, %1024
  %1051 = load i32, ptr %33, align 4, !tbaa !9
  %1052 = load i32, ptr %19, align 4, !tbaa !9
  %1053 = icmp sle i32 %1051, %1052
  br i1 %1053, label %1054, label %1072

1054:                                             ; preds = %1050
  %1055 = load float, ptr %55, align 4, !tbaa !11
  %1056 = load ptr, ptr %14, align 8, !tbaa !5
  %1057 = load i32, ptr %33, align 4, !tbaa !9
  %1058 = sext i32 %1057 to i64
  %1059 = getelementptr inbounds float, ptr %1056, i64 %1058
  %1060 = load float, ptr %1059, align 4, !tbaa !11
  %1061 = fsub float %1060, %1055
  store float %1061, ptr %1059, align 4, !tbaa !11
  %1062 = load float, ptr %55, align 4, !tbaa !11
  %1063 = load ptr, ptr %17, align 8, !tbaa !5
  %1064 = load i32, ptr %33, align 4, !tbaa !9
  %1065 = sext i32 %1064 to i64
  %1066 = getelementptr inbounds float, ptr %1063, i64 %1065
  %1067 = load float, ptr %1066, align 4, !tbaa !11
  %1068 = fadd float %1067, %1062
  store float %1068, ptr %1066, align 4, !tbaa !11
  br label %1069

1069:                                             ; preds = %1054
  %1070 = load i32, ptr %33, align 4, !tbaa !9
  %1071 = add nsw i32 %1070, 1
  store i32 %1071, ptr %33, align 4, !tbaa !9
  br label %1050, !llvm.loop !18

1072:                                             ; preds = %1050
  store float 0.000000e+00, ptr %23, align 4, !tbaa !11
  store float 0.000000e+00, ptr %59, align 4, !tbaa !11
  store float 0.000000e+00, ptr %50, align 4, !tbaa !11
  %1073 = load i32, ptr %46, align 4, !tbaa !9
  store i32 %1073, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %1074

1074:                                             ; preds = %1111, %1072
  %1075 = load i32, ptr %33, align 4, !tbaa !9
  %1076 = load i32, ptr %19, align 4, !tbaa !9
  %1077 = icmp sle i32 %1075, %1076
  br i1 %1077, label %1078, label %1114

1078:                                             ; preds = %1074
  %1079 = load ptr, ptr %13, align 8, !tbaa !5
  %1080 = load i32, ptr %33, align 4, !tbaa !9
  %1081 = sext i32 %1080 to i64
  %1082 = getelementptr inbounds float, ptr %1079, i64 %1081
  %1083 = load float, ptr %1082, align 4, !tbaa !11
  %1084 = load ptr, ptr %17, align 8, !tbaa !5
  %1085 = load i32, ptr %33, align 4, !tbaa !9
  %1086 = sext i32 %1085 to i64
  %1087 = getelementptr inbounds float, ptr %1084, i64 %1086
  %1088 = load float, ptr %1087, align 4, !tbaa !11
  %1089 = load ptr, ptr %14, align 8, !tbaa !5
  %1090 = load i32, ptr %33, align 4, !tbaa !9
  %1091 = sext i32 %1090 to i64
  %1092 = getelementptr inbounds float, ptr %1089, i64 %1091
  %1093 = load float, ptr %1092, align 4, !tbaa !11
  %1094 = fmul float %1088, %1093
  %1095 = fdiv float %1083, %1094
  store float %1095, ptr %26, align 4, !tbaa !11
  %1096 = load ptr, ptr %13, align 8, !tbaa !5
  %1097 = load i32, ptr %33, align 4, !tbaa !9
  %1098 = sext i32 %1097 to i64
  %1099 = getelementptr inbounds float, ptr %1096, i64 %1098
  %1100 = load float, ptr %1099, align 4, !tbaa !11
  %1101 = load float, ptr %26, align 4, !tbaa !11
  %1102 = load float, ptr %59, align 4, !tbaa !11
  %1103 = call float @llvm.fmuladd.f32(float %1100, float %1101, float %1102)
  store float %1103, ptr %59, align 4, !tbaa !11
  %1104 = load float, ptr %26, align 4, !tbaa !11
  %1105 = load float, ptr %26, align 4, !tbaa !11
  %1106 = load float, ptr %23, align 4, !tbaa !11
  %1107 = call float @llvm.fmuladd.f32(float %1104, float %1105, float %1106)
  store float %1107, ptr %23, align 4, !tbaa !11
  %1108 = load float, ptr %59, align 4, !tbaa !11
  %1109 = load float, ptr %50, align 4, !tbaa !11
  %1110 = fadd float %1109, %1108
  store float %1110, ptr %50, align 4, !tbaa !11
  br label %1111

1111:                                             ; preds = %1078
  %1112 = load i32, ptr %33, align 4, !tbaa !9
  %1113 = add nsw i32 %1112, 1
  store i32 %1113, ptr %33, align 4, !tbaa !9
  br label %1074, !llvm.loop !19

1114:                                             ; preds = %1074
  %1115 = load float, ptr %50, align 4, !tbaa !11
  %1116 = fcmp oge float %1115, 0.000000e+00
  br i1 %1116, label %1117, label %1119

1117:                                             ; preds = %1114
  %1118 = load float, ptr %50, align 4, !tbaa !11
  br label %1122

1119:                                             ; preds = %1114
  %1120 = load float, ptr %50, align 4, !tbaa !11
  %1121 = fneg float %1120
  br label %1122

1122:                                             ; preds = %1119, %1117
  %1123 = phi float [ %1118, %1117 ], [ %1121, %1119 ]
  store float %1123, ptr %50, align 4, !tbaa !11
  %1124 = load ptr, ptr %17, align 8, !tbaa !5
  %1125 = load ptr, ptr %10, align 8, !tbaa !5
  %1126 = load i32, ptr %1125, align 4, !tbaa !9
  %1127 = sext i32 %1126 to i64
  %1128 = getelementptr inbounds float, ptr %1124, i64 %1127
  %1129 = load float, ptr %1128, align 4, !tbaa !11
  %1130 = load ptr, ptr %14, align 8, !tbaa !5
  %1131 = load ptr, ptr %10, align 8, !tbaa !5
  %1132 = load i32, ptr %1131, align 4, !tbaa !9
  %1133 = sext i32 %1132 to i64
  %1134 = getelementptr inbounds float, ptr %1130, i64 %1133
  %1135 = load float, ptr %1134, align 4, !tbaa !11
  %1136 = fmul float %1129, %1135
  store float %1136, ptr %63, align 4, !tbaa !11
  %1137 = load ptr, ptr %13, align 8, !tbaa !5
  %1138 = load ptr, ptr %10, align 8, !tbaa !5
  %1139 = load i32, ptr %1138, align 4, !tbaa !9
  %1140 = sext i32 %1139 to i64
  %1141 = getelementptr inbounds float, ptr %1137, i64 %1140
  %1142 = load float, ptr %1141, align 4, !tbaa !11
  %1143 = load float, ptr %63, align 4, !tbaa !11
  %1144 = fdiv float %1142, %1143
  store float %1144, ptr %26, align 4, !tbaa !11
  %1145 = load ptr, ptr %13, align 8, !tbaa !5
  %1146 = load ptr, ptr %10, align 8, !tbaa !5
  %1147 = load i32, ptr %1146, align 4, !tbaa !9
  %1148 = sext i32 %1147 to i64
  %1149 = getelementptr inbounds float, ptr %1145, i64 %1148
  %1150 = load float, ptr %1149, align 4, !tbaa !11
  %1151 = load float, ptr %26, align 4, !tbaa !11
  %1152 = fmul float %1150, %1151
  store float %1152, ptr %56, align 4, !tbaa !11
  %1153 = load float, ptr %26, align 4, !tbaa !11
  %1154 = load float, ptr %26, align 4, !tbaa !11
  %1155 = fmul float %1153, %1154
  store float %1155, ptr %21, align 4, !tbaa !11
  %1156 = load float, ptr %56, align 4, !tbaa !11
  %1157 = fneg float %1156
  %1158 = load float, ptr %59, align 4, !tbaa !11
  %1159 = fsub float %1157, %1158
  %1160 = load float, ptr %50, align 4, !tbaa !11
  %1161 = call float @llvm.fmuladd.f32(float %1159, float 8.000000e+00, float %1160)
  %1162 = load float, ptr %56, align 4, !tbaa !11
  %1163 = fsub float %1161, %1162
  %1164 = load float, ptr %52, align 4, !tbaa !11
  %1165 = fadd float %1163, %1164
  store float %1165, ptr %50, align 4, !tbaa !11
  %1166 = load float, ptr %52, align 4, !tbaa !11
  %1167 = load float, ptr %56, align 4, !tbaa !11
  %1168 = fadd float %1166, %1167
  %1169 = load float, ptr %59, align 4, !tbaa !11
  %1170 = fadd float %1168, %1169
  store float %1170, ptr %34, align 4, !tbaa !11
  %1171 = load i32, ptr %38, align 4, !tbaa !9
  %1172 = add nsw i32 %1171, 1
  store i32 %1172, ptr %25, align 4, !tbaa !9
  %1173 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1173, ptr %38, align 4, !tbaa !9
  br label %1174

1174:                                             ; preds = %1474, %1122
  %1175 = load i32, ptr %38, align 4, !tbaa !9
  %1176 = icmp sle i32 %1175, 400
  br i1 %1176, label %1177, label %1477

1177:                                             ; preds = %1174
  %1178 = load float, ptr %34, align 4, !tbaa !11
  %1179 = fcmp oge float %1178, 0.000000e+00
  br i1 %1179, label %1180, label %1182

1180:                                             ; preds = %1177
  %1181 = load float, ptr %34, align 4, !tbaa !11
  br label %1185

1182:                                             ; preds = %1177
  %1183 = load float, ptr %34, align 4, !tbaa !11
  %1184 = fneg float %1183
  br label %1185

1185:                                             ; preds = %1182, %1180
  %1186 = phi float [ %1181, %1180 ], [ %1184, %1182 ]
  %1187 = load float, ptr %57, align 4, !tbaa !11
  %1188 = load float, ptr %50, align 4, !tbaa !11
  %1189 = fmul float %1187, %1188
  %1190 = fcmp ole float %1186, %1189
  br i1 %1190, label %1191, label %1192

1191:                                             ; preds = %1185
  br label %4375

1192:                                             ; preds = %1185
  %1193 = load ptr, ptr %17, align 8, !tbaa !5
  %1194 = load ptr, ptr %10, align 8, !tbaa !5
  %1195 = load i32, ptr %1194, align 4, !tbaa !9
  %1196 = sub nsw i32 %1195, 1
  %1197 = sext i32 %1196 to i64
  %1198 = getelementptr inbounds float, ptr %1193, i64 %1197
  %1199 = load float, ptr %1198, align 4, !tbaa !11
  %1200 = load ptr, ptr %14, align 8, !tbaa !5
  %1201 = load ptr, ptr %10, align 8, !tbaa !5
  %1202 = load i32, ptr %1201, align 4, !tbaa !9
  %1203 = sub nsw i32 %1202, 1
  %1204 = sext i32 %1203 to i64
  %1205 = getelementptr inbounds float, ptr %1200, i64 %1204
  %1206 = load float, ptr %1205, align 4, !tbaa !11
  %1207 = fmul float %1199, %1206
  store float %1207, ptr %44, align 4, !tbaa !11
  %1208 = load ptr, ptr %17, align 8, !tbaa !5
  %1209 = load ptr, ptr %10, align 8, !tbaa !5
  %1210 = load i32, ptr %1209, align 4, !tbaa !9
  %1211 = sext i32 %1210 to i64
  %1212 = getelementptr inbounds float, ptr %1208, i64 %1211
  %1213 = load float, ptr %1212, align 4, !tbaa !11
  %1214 = load ptr, ptr %14, align 8, !tbaa !5
  %1215 = load ptr, ptr %10, align 8, !tbaa !5
  %1216 = load i32, ptr %1215, align 4, !tbaa !9
  %1217 = sext i32 %1216 to i64
  %1218 = getelementptr inbounds float, ptr %1214, i64 %1217
  %1219 = load float, ptr %1218, align 4, !tbaa !11
  %1220 = fmul float %1213, %1219
  store float %1220, ptr %41, align 4, !tbaa !11
  %1221 = load float, ptr %34, align 4, !tbaa !11
  %1222 = load float, ptr %44, align 4, !tbaa !11
  %1223 = load float, ptr %23, align 4, !tbaa !11
  %1224 = fneg float %1222
  %1225 = call float @llvm.fmuladd.f32(float %1224, float %1223, float %1221)
  %1226 = load float, ptr %41, align 4, !tbaa !11
  %1227 = load float, ptr %21, align 4, !tbaa !11
  %1228 = fneg float %1226
  %1229 = call float @llvm.fmuladd.f32(float %1228, float %1227, float %1225)
  store float %1229, ptr %32, align 4, !tbaa !11
  %1230 = load float, ptr %41, align 4, !tbaa !11
  %1231 = load float, ptr %44, align 4, !tbaa !11
  %1232 = fadd float %1230, %1231
  %1233 = load float, ptr %34, align 4, !tbaa !11
  %1234 = load float, ptr %44, align 4, !tbaa !11
  %1235 = load float, ptr %41, align 4, !tbaa !11
  %1236 = fmul float %1234, %1235
  %1237 = load float, ptr %23, align 4, !tbaa !11
  %1238 = load float, ptr %21, align 4, !tbaa !11
  %1239 = fadd float %1237, %1238
  %1240 = fmul float %1236, %1239
  %1241 = fneg float %1240
  %1242 = call float @llvm.fmuladd.f32(float %1232, float %1233, float %1241)
  store float %1242, ptr %30, align 4, !tbaa !11
  %1243 = load float, ptr %44, align 4, !tbaa !11
  %1244 = load float, ptr %41, align 4, !tbaa !11
  %1245 = fmul float %1243, %1244
  %1246 = load float, ptr %34, align 4, !tbaa !11
  %1247 = fmul float %1245, %1246
  store float %1247, ptr %31, align 4, !tbaa !11
  %1248 = load float, ptr %30, align 4, !tbaa !11
  %1249 = fcmp oge float %1248, 0.000000e+00
  br i1 %1249, label %1250, label %1278

1250:                                             ; preds = %1192
  %1251 = load float, ptr %30, align 4, !tbaa !11
  %1252 = fpext float %1251 to double
  %1253 = load float, ptr %30, align 4, !tbaa !11
  %1254 = load float, ptr %30, align 4, !tbaa !11
  %1255 = load float, ptr %31, align 4, !tbaa !11
  %1256 = fmul float %1255, 4.000000e+00
  %1257 = load float, ptr %32, align 4, !tbaa !11
  %1258 = fmul float %1256, %1257
  %1259 = fneg float %1258
  %1260 = call float @llvm.fmuladd.f32(float %1253, float %1254, float %1259)
  store float %1260, ptr %20, align 4, !tbaa !11
  %1261 = load float, ptr %20, align 4, !tbaa !11
  %1262 = fcmp oge float %1261, 0.000000e+00
  br i1 %1262, label %1263, label %1265

1263:                                             ; preds = %1250
  %1264 = load float, ptr %20, align 4, !tbaa !11
  br label %1268

1265:                                             ; preds = %1250
  %1266 = load float, ptr %20, align 4, !tbaa !11
  %1267 = fneg float %1266
  br label %1268

1268:                                             ; preds = %1265, %1263
  %1269 = phi float [ %1264, %1263 ], [ %1267, %1265 ]
  %1270 = fpext float %1269 to double
  %1271 = call double @sqrt(double noundef %1270) #5
  %1272 = fadd double %1252, %1271
  %1273 = load float, ptr %32, align 4, !tbaa !11
  %1274 = fmul float %1273, 2.000000e+00
  %1275 = fpext float %1274 to double
  %1276 = fdiv double %1272, %1275
  %1277 = fptrunc double %1276 to float
  store float %1277, ptr %55, align 4, !tbaa !11
  br label %1306

1278:                                             ; preds = %1192
  %1279 = load float, ptr %31, align 4, !tbaa !11
  %1280 = fmul float %1279, 2.000000e+00
  %1281 = fpext float %1280 to double
  %1282 = load float, ptr %30, align 4, !tbaa !11
  %1283 = fpext float %1282 to double
  %1284 = load float, ptr %30, align 4, !tbaa !11
  %1285 = load float, ptr %30, align 4, !tbaa !11
  %1286 = load float, ptr %31, align 4, !tbaa !11
  %1287 = fmul float %1286, 4.000000e+00
  %1288 = load float, ptr %32, align 4, !tbaa !11
  %1289 = fmul float %1287, %1288
  %1290 = fneg float %1289
  %1291 = call float @llvm.fmuladd.f32(float %1284, float %1285, float %1290)
  store float %1291, ptr %20, align 4, !tbaa !11
  %1292 = load float, ptr %20, align 4, !tbaa !11
  %1293 = fcmp oge float %1292, 0.000000e+00
  br i1 %1293, label %1294, label %1296

1294:                                             ; preds = %1278
  %1295 = load float, ptr %20, align 4, !tbaa !11
  br label %1299

1296:                                             ; preds = %1278
  %1297 = load float, ptr %20, align 4, !tbaa !11
  %1298 = fneg float %1297
  br label %1299

1299:                                             ; preds = %1296, %1294
  %1300 = phi float [ %1295, %1294 ], [ %1298, %1296 ]
  %1301 = fpext float %1300 to double
  %1302 = call double @sqrt(double noundef %1301) #5
  %1303 = fsub double %1283, %1302
  %1304 = fdiv double %1281, %1303
  %1305 = fptrunc double %1304 to float
  store float %1305, ptr %55, align 4, !tbaa !11
  br label %1306

1306:                                             ; preds = %1299, %1268
  %1307 = load float, ptr %34, align 4, !tbaa !11
  %1308 = load float, ptr %55, align 4, !tbaa !11
  %1309 = fmul float %1307, %1308
  %1310 = fcmp ogt float %1309, 0.000000e+00
  br i1 %1310, label %1311, label %1318

1311:                                             ; preds = %1306
  %1312 = load float, ptr %34, align 4, !tbaa !11
  %1313 = fneg float %1312
  %1314 = load float, ptr %23, align 4, !tbaa !11
  %1315 = load float, ptr %21, align 4, !tbaa !11
  %1316 = fadd float %1314, %1315
  %1317 = fdiv float %1313, %1316
  store float %1317, ptr %55, align 4, !tbaa !11
  br label %1318

1318:                                             ; preds = %1311, %1306
  %1319 = load float, ptr %55, align 4, !tbaa !11
  %1320 = load float, ptr %41, align 4, !tbaa !11
  %1321 = fsub float %1319, %1320
  store float %1321, ptr %26, align 4, !tbaa !11
  %1322 = load float, ptr %26, align 4, !tbaa !11
  %1323 = fcmp ole float %1322, 0.000000e+00
  br i1 %1323, label %1324, label %1327

1324:                                             ; preds = %1318
  %1325 = load float, ptr %55, align 4, !tbaa !11
  %1326 = fdiv float %1325, 2.000000e+00
  store float %1326, ptr %55, align 4, !tbaa !11
  br label %1327

1327:                                             ; preds = %1324, %1318
  %1328 = load ptr, ptr %16, align 8, !tbaa !5
  %1329 = load float, ptr %1328, align 4, !tbaa !11
  %1330 = fpext float %1329 to double
  %1331 = load float, ptr %55, align 4, !tbaa !11
  %1332 = load ptr, ptr %16, align 8, !tbaa !5
  %1333 = load float, ptr %1332, align 4, !tbaa !11
  %1334 = load ptr, ptr %16, align 8, !tbaa !5
  %1335 = load float, ptr %1334, align 4, !tbaa !11
  %1336 = call float @llvm.fmuladd.f32(float %1333, float %1335, float %1331)
  %1337 = fpext float %1336 to double
  %1338 = call double @sqrt(double noundef %1337) #5
  %1339 = fadd double %1330, %1338
  %1340 = load float, ptr %55, align 4, !tbaa !11
  %1341 = fpext float %1340 to double
  %1342 = fdiv double %1341, %1339
  %1343 = fptrunc double %1342 to float
  store float %1343, ptr %55, align 4, !tbaa !11
  %1344 = load float, ptr %55, align 4, !tbaa !11
  %1345 = load float, ptr %58, align 4, !tbaa !11
  %1346 = fadd float %1345, %1344
  store float %1346, ptr %58, align 4, !tbaa !11
  %1347 = load float, ptr %55, align 4, !tbaa !11
  %1348 = load ptr, ptr %16, align 8, !tbaa !5
  %1349 = load float, ptr %1348, align 4, !tbaa !11
  %1350 = fadd float %1349, %1347
  store float %1350, ptr %1348, align 4, !tbaa !11
  %1351 = load ptr, ptr %10, align 8, !tbaa !5
  %1352 = load i32, ptr %1351, align 4, !tbaa !9
  store i32 %1352, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %1353

1353:                                             ; preds = %1372, %1327
  %1354 = load i32, ptr %33, align 4, !tbaa !9
  %1355 = load i32, ptr %19, align 4, !tbaa !9
  %1356 = icmp sle i32 %1354, %1355
  br i1 %1356, label %1357, label %1375

1357:                                             ; preds = %1353
  %1358 = load float, ptr %55, align 4, !tbaa !11
  %1359 = load ptr, ptr %14, align 8, !tbaa !5
  %1360 = load i32, ptr %33, align 4, !tbaa !9
  %1361 = sext i32 %1360 to i64
  %1362 = getelementptr inbounds float, ptr %1359, i64 %1361
  %1363 = load float, ptr %1362, align 4, !tbaa !11
  %1364 = fsub float %1363, %1358
  store float %1364, ptr %1362, align 4, !tbaa !11
  %1365 = load float, ptr %55, align 4, !tbaa !11
  %1366 = load ptr, ptr %17, align 8, !tbaa !5
  %1367 = load i32, ptr %33, align 4, !tbaa !9
  %1368 = sext i32 %1367 to i64
  %1369 = getelementptr inbounds float, ptr %1366, i64 %1368
  %1370 = load float, ptr %1369, align 4, !tbaa !11
  %1371 = fadd float %1370, %1365
  store float %1371, ptr %1369, align 4, !tbaa !11
  br label %1372

1372:                                             ; preds = %1357
  %1373 = load i32, ptr %33, align 4, !tbaa !9
  %1374 = add nsw i32 %1373, 1
  store i32 %1374, ptr %33, align 4, !tbaa !9
  br label %1353, !llvm.loop !20

1375:                                             ; preds = %1353
  store float 0.000000e+00, ptr %23, align 4, !tbaa !11
  store float 0.000000e+00, ptr %59, align 4, !tbaa !11
  store float 0.000000e+00, ptr %50, align 4, !tbaa !11
  %1376 = load i32, ptr %46, align 4, !tbaa !9
  store i32 %1376, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %1377

1377:                                             ; preds = %1414, %1375
  %1378 = load i32, ptr %33, align 4, !tbaa !9
  %1379 = load i32, ptr %19, align 4, !tbaa !9
  %1380 = icmp sle i32 %1378, %1379
  br i1 %1380, label %1381, label %1417

1381:                                             ; preds = %1377
  %1382 = load ptr, ptr %13, align 8, !tbaa !5
  %1383 = load i32, ptr %33, align 4, !tbaa !9
  %1384 = sext i32 %1383 to i64
  %1385 = getelementptr inbounds float, ptr %1382, i64 %1384
  %1386 = load float, ptr %1385, align 4, !tbaa !11
  %1387 = load ptr, ptr %17, align 8, !tbaa !5
  %1388 = load i32, ptr %33, align 4, !tbaa !9
  %1389 = sext i32 %1388 to i64
  %1390 = getelementptr inbounds float, ptr %1387, i64 %1389
  %1391 = load float, ptr %1390, align 4, !tbaa !11
  %1392 = load ptr, ptr %14, align 8, !tbaa !5
  %1393 = load i32, ptr %33, align 4, !tbaa !9
  %1394 = sext i32 %1393 to i64
  %1395 = getelementptr inbounds float, ptr %1392, i64 %1394
  %1396 = load float, ptr %1395, align 4, !tbaa !11
  %1397 = fmul float %1391, %1396
  %1398 = fdiv float %1386, %1397
  store float %1398, ptr %26, align 4, !tbaa !11
  %1399 = load ptr, ptr %13, align 8, !tbaa !5
  %1400 = load i32, ptr %33, align 4, !tbaa !9
  %1401 = sext i32 %1400 to i64
  %1402 = getelementptr inbounds float, ptr %1399, i64 %1401
  %1403 = load float, ptr %1402, align 4, !tbaa !11
  %1404 = load float, ptr %26, align 4, !tbaa !11
  %1405 = load float, ptr %59, align 4, !tbaa !11
  %1406 = call float @llvm.fmuladd.f32(float %1403, float %1404, float %1405)
  store float %1406, ptr %59, align 4, !tbaa !11
  %1407 = load float, ptr %26, align 4, !tbaa !11
  %1408 = load float, ptr %26, align 4, !tbaa !11
  %1409 = load float, ptr %23, align 4, !tbaa !11
  %1410 = call float @llvm.fmuladd.f32(float %1407, float %1408, float %1409)
  store float %1410, ptr %23, align 4, !tbaa !11
  %1411 = load float, ptr %59, align 4, !tbaa !11
  %1412 = load float, ptr %50, align 4, !tbaa !11
  %1413 = fadd float %1412, %1411
  store float %1413, ptr %50, align 4, !tbaa !11
  br label %1414

1414:                                             ; preds = %1381
  %1415 = load i32, ptr %33, align 4, !tbaa !9
  %1416 = add nsw i32 %1415, 1
  store i32 %1416, ptr %33, align 4, !tbaa !9
  br label %1377, !llvm.loop !21

1417:                                             ; preds = %1377
  %1418 = load float, ptr %50, align 4, !tbaa !11
  %1419 = fcmp oge float %1418, 0.000000e+00
  br i1 %1419, label %1420, label %1422

1420:                                             ; preds = %1417
  %1421 = load float, ptr %50, align 4, !tbaa !11
  br label %1425

1422:                                             ; preds = %1417
  %1423 = load float, ptr %50, align 4, !tbaa !11
  %1424 = fneg float %1423
  br label %1425

1425:                                             ; preds = %1422, %1420
  %1426 = phi float [ %1421, %1420 ], [ %1424, %1422 ]
  store float %1426, ptr %50, align 4, !tbaa !11
  %1427 = load ptr, ptr %17, align 8, !tbaa !5
  %1428 = load ptr, ptr %10, align 8, !tbaa !5
  %1429 = load i32, ptr %1428, align 4, !tbaa !9
  %1430 = sext i32 %1429 to i64
  %1431 = getelementptr inbounds float, ptr %1427, i64 %1430
  %1432 = load float, ptr %1431, align 4, !tbaa !11
  %1433 = load ptr, ptr %14, align 8, !tbaa !5
  %1434 = load ptr, ptr %10, align 8, !tbaa !5
  %1435 = load i32, ptr %1434, align 4, !tbaa !9
  %1436 = sext i32 %1435 to i64
  %1437 = getelementptr inbounds float, ptr %1433, i64 %1436
  %1438 = load float, ptr %1437, align 4, !tbaa !11
  %1439 = fmul float %1432, %1438
  store float %1439, ptr %63, align 4, !tbaa !11
  %1440 = load ptr, ptr %13, align 8, !tbaa !5
  %1441 = load ptr, ptr %10, align 8, !tbaa !5
  %1442 = load i32, ptr %1441, align 4, !tbaa !9
  %1443 = sext i32 %1442 to i64
  %1444 = getelementptr inbounds float, ptr %1440, i64 %1443
  %1445 = load float, ptr %1444, align 4, !tbaa !11
  %1446 = load float, ptr %63, align 4, !tbaa !11
  %1447 = fdiv float %1445, %1446
  store float %1447, ptr %26, align 4, !tbaa !11
  %1448 = load ptr, ptr %13, align 8, !tbaa !5
  %1449 = load ptr, ptr %10, align 8, !tbaa !5
  %1450 = load i32, ptr %1449, align 4, !tbaa !9
  %1451 = sext i32 %1450 to i64
  %1452 = getelementptr inbounds float, ptr %1448, i64 %1451
  %1453 = load float, ptr %1452, align 4, !tbaa !11
  %1454 = load float, ptr %26, align 4, !tbaa !11
  %1455 = fmul float %1453, %1454
  store float %1455, ptr %56, align 4, !tbaa !11
  %1456 = load float, ptr %26, align 4, !tbaa !11
  %1457 = load float, ptr %26, align 4, !tbaa !11
  %1458 = fmul float %1456, %1457
  store float %1458, ptr %21, align 4, !tbaa !11
  %1459 = load float, ptr %56, align 4, !tbaa !11
  %1460 = fneg float %1459
  %1461 = load float, ptr %59, align 4, !tbaa !11
  %1462 = fsub float %1460, %1461
  %1463 = load float, ptr %50, align 4, !tbaa !11
  %1464 = call float @llvm.fmuladd.f32(float %1462, float 8.000000e+00, float %1463)
  %1465 = load float, ptr %56, align 4, !tbaa !11
  %1466 = fsub float %1464, %1465
  %1467 = load float, ptr %52, align 4, !tbaa !11
  %1468 = fadd float %1466, %1467
  store float %1468, ptr %50, align 4, !tbaa !11
  %1469 = load float, ptr %52, align 4, !tbaa !11
  %1470 = load float, ptr %56, align 4, !tbaa !11
  %1471 = fadd float %1469, %1470
  %1472 = load float, ptr %59, align 4, !tbaa !11
  %1473 = fadd float %1471, %1472
  store float %1473, ptr %34, align 4, !tbaa !11
  br label %1474

1474:                                             ; preds = %1425
  %1475 = load i32, ptr %38, align 4, !tbaa !9
  %1476 = add nsw i32 %1475, 1
  store i32 %1476, ptr %38, align 4, !tbaa !9
  br label %1174, !llvm.loop !22

1477:                                             ; preds = %1174
  %1478 = load ptr, ptr %18, align 8, !tbaa !5
  store i32 1, ptr %1478, align 4, !tbaa !9
  br label %4375

1479:                                             ; preds = %119
  store i32 1, ptr %38, align 4, !tbaa !9
  %1480 = load ptr, ptr %11, align 8, !tbaa !5
  %1481 = load i32, ptr %1480, align 4, !tbaa !9
  %1482 = add nsw i32 %1481, 1
  store i32 %1482, ptr %53, align 4, !tbaa !9
  %1483 = load ptr, ptr %12, align 8, !tbaa !5
  %1484 = load i32, ptr %53, align 4, !tbaa !9
  %1485 = sext i32 %1484 to i64
  %1486 = getelementptr inbounds float, ptr %1483, i64 %1485
  %1487 = load float, ptr %1486, align 4, !tbaa !11
  %1488 = load ptr, ptr %12, align 8, !tbaa !5
  %1489 = load ptr, ptr %11, align 8, !tbaa !5
  %1490 = load i32, ptr %1489, align 4, !tbaa !9
  %1491 = sext i32 %1490 to i64
  %1492 = getelementptr inbounds float, ptr %1488, i64 %1491
  %1493 = load float, ptr %1492, align 4, !tbaa !11
  %1494 = fsub float %1487, %1493
  %1495 = load ptr, ptr %12, align 8, !tbaa !5
  %1496 = load i32, ptr %53, align 4, !tbaa !9
  %1497 = sext i32 %1496 to i64
  %1498 = getelementptr inbounds float, ptr %1495, i64 %1497
  %1499 = load float, ptr %1498, align 4, !tbaa !11
  %1500 = load ptr, ptr %12, align 8, !tbaa !5
  %1501 = load ptr, ptr %11, align 8, !tbaa !5
  %1502 = load i32, ptr %1501, align 4, !tbaa !9
  %1503 = sext i32 %1502 to i64
  %1504 = getelementptr inbounds float, ptr %1500, i64 %1503
  %1505 = load float, ptr %1504, align 4, !tbaa !11
  %1506 = fadd float %1499, %1505
  %1507 = fmul float %1494, %1506
  store float %1507, ptr %36, align 4, !tbaa !11
  %1508 = load float, ptr %36, align 4, !tbaa !11
  %1509 = fdiv float %1508, 2.000000e+00
  store float %1509, ptr %42, align 4, !tbaa !11
  %1510 = load ptr, ptr %12, align 8, !tbaa !5
  %1511 = load ptr, ptr %11, align 8, !tbaa !5
  %1512 = load i32, ptr %1511, align 4, !tbaa !9
  %1513 = sext i32 %1512 to i64
  %1514 = getelementptr inbounds float, ptr %1510, i64 %1513
  %1515 = load float, ptr %1514, align 4, !tbaa !11
  %1516 = load ptr, ptr %12, align 8, !tbaa !5
  %1517 = load ptr, ptr %11, align 8, !tbaa !5
  %1518 = load i32, ptr %1517, align 4, !tbaa !9
  %1519 = sext i32 %1518 to i64
  %1520 = getelementptr inbounds float, ptr %1516, i64 %1519
  %1521 = load float, ptr %1520, align 4, !tbaa !11
  %1522 = load ptr, ptr %12, align 8, !tbaa !5
  %1523 = load i32, ptr %53, align 4, !tbaa !9
  %1524 = sext i32 %1523 to i64
  %1525 = getelementptr inbounds float, ptr %1522, i64 %1524
  %1526 = load float, ptr %1525, align 4, !tbaa !11
  %1527 = load ptr, ptr %12, align 8, !tbaa !5
  %1528 = load i32, ptr %53, align 4, !tbaa !9
  %1529 = sext i32 %1528 to i64
  %1530 = getelementptr inbounds float, ptr %1527, i64 %1529
  %1531 = load float, ptr %1530, align 4, !tbaa !11
  %1532 = fmul float %1526, %1531
  %1533 = call float @llvm.fmuladd.f32(float %1515, float %1521, float %1532)
  %1534 = fdiv float %1533, 2.000000e+00
  %1535 = fpext float %1534 to double
  %1536 = call double @sqrt(double noundef %1535) #5
  %1537 = fptrunc double %1536 to float
  store float %1537, ptr %54, align 4, !tbaa !11
  %1538 = load float, ptr %42, align 4, !tbaa !11
  %1539 = load ptr, ptr %12, align 8, !tbaa !5
  %1540 = load ptr, ptr %11, align 8, !tbaa !5
  %1541 = load i32, ptr %1540, align 4, !tbaa !9
  %1542 = sext i32 %1541 to i64
  %1543 = getelementptr inbounds float, ptr %1539, i64 %1542
  %1544 = load float, ptr %1543, align 4, !tbaa !11
  %1545 = load float, ptr %54, align 4, !tbaa !11
  %1546 = fadd float %1544, %1545
  %1547 = fdiv float %1538, %1546
  store float %1547, ptr %26, align 4, !tbaa !11
  %1548 = load ptr, ptr %10, align 8, !tbaa !5
  %1549 = load i32, ptr %1548, align 4, !tbaa !9
  store i32 %1549, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %1550

1550:                                             ; preds = %1591, %1479
  %1551 = load i32, ptr %33, align 4, !tbaa !9
  %1552 = load i32, ptr %19, align 4, !tbaa !9
  %1553 = icmp sle i32 %1551, %1552
  br i1 %1553, label %1554, label %1594

1554:                                             ; preds = %1550
  %1555 = load ptr, ptr %12, align 8, !tbaa !5
  %1556 = load i32, ptr %33, align 4, !tbaa !9
  %1557 = sext i32 %1556 to i64
  %1558 = getelementptr inbounds float, ptr %1555, i64 %1557
  %1559 = load float, ptr %1558, align 4, !tbaa !11
  %1560 = load ptr, ptr %12, align 8, !tbaa !5
  %1561 = load ptr, ptr %11, align 8, !tbaa !5
  %1562 = load i32, ptr %1561, align 4, !tbaa !9
  %1563 = sext i32 %1562 to i64
  %1564 = getelementptr inbounds float, ptr %1560, i64 %1563
  %1565 = load float, ptr %1564, align 4, !tbaa !11
  %1566 = fadd float %1559, %1565
  %1567 = load float, ptr %26, align 4, !tbaa !11
  %1568 = fadd float %1566, %1567
  %1569 = load ptr, ptr %17, align 8, !tbaa !5
  %1570 = load i32, ptr %33, align 4, !tbaa !9
  %1571 = sext i32 %1570 to i64
  %1572 = getelementptr inbounds float, ptr %1569, i64 %1571
  store float %1568, ptr %1572, align 4, !tbaa !11
  %1573 = load ptr, ptr %12, align 8, !tbaa !5
  %1574 = load i32, ptr %33, align 4, !tbaa !9
  %1575 = sext i32 %1574 to i64
  %1576 = getelementptr inbounds float, ptr %1573, i64 %1575
  %1577 = load float, ptr %1576, align 4, !tbaa !11
  %1578 = load ptr, ptr %12, align 8, !tbaa !5
  %1579 = load ptr, ptr %11, align 8, !tbaa !5
  %1580 = load i32, ptr %1579, align 4, !tbaa !9
  %1581 = sext i32 %1580 to i64
  %1582 = getelementptr inbounds float, ptr %1578, i64 %1581
  %1583 = load float, ptr %1582, align 4, !tbaa !11
  %1584 = fsub float %1577, %1583
  %1585 = load float, ptr %26, align 4, !tbaa !11
  %1586 = fsub float %1584, %1585
  %1587 = load ptr, ptr %14, align 8, !tbaa !5
  %1588 = load i32, ptr %33, align 4, !tbaa !9
  %1589 = sext i32 %1588 to i64
  %1590 = getelementptr inbounds float, ptr %1587, i64 %1589
  store float %1586, ptr %1590, align 4, !tbaa !11
  br label %1591

1591:                                             ; preds = %1554
  %1592 = load i32, ptr %33, align 4, !tbaa !9
  %1593 = add nsw i32 %1592, 1
  store i32 %1593, ptr %33, align 4, !tbaa !9
  br label %1550, !llvm.loop !23

1594:                                             ; preds = %1550
  store float 0.000000e+00, ptr %59, align 4, !tbaa !11
  %1595 = load ptr, ptr %11, align 8, !tbaa !5
  %1596 = load i32, ptr %1595, align 4, !tbaa !9
  %1597 = sub nsw i32 %1596, 1
  store i32 %1597, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %1598

1598:                                             ; preds = %1628, %1594
  %1599 = load i32, ptr %33, align 4, !tbaa !9
  %1600 = load i32, ptr %19, align 4, !tbaa !9
  %1601 = icmp sle i32 %1599, %1600
  br i1 %1601, label %1602, label %1631

1602:                                             ; preds = %1598
  %1603 = load ptr, ptr %13, align 8, !tbaa !5
  %1604 = load i32, ptr %33, align 4, !tbaa !9
  %1605 = sext i32 %1604 to i64
  %1606 = getelementptr inbounds float, ptr %1603, i64 %1605
  %1607 = load float, ptr %1606, align 4, !tbaa !11
  %1608 = load ptr, ptr %13, align 8, !tbaa !5
  %1609 = load i32, ptr %33, align 4, !tbaa !9
  %1610 = sext i32 %1609 to i64
  %1611 = getelementptr inbounds float, ptr %1608, i64 %1610
  %1612 = load float, ptr %1611, align 4, !tbaa !11
  %1613 = fmul float %1607, %1612
  %1614 = load ptr, ptr %17, align 8, !tbaa !5
  %1615 = load i32, ptr %33, align 4, !tbaa !9
  %1616 = sext i32 %1615 to i64
  %1617 = getelementptr inbounds float, ptr %1614, i64 %1616
  %1618 = load float, ptr %1617, align 4, !tbaa !11
  %1619 = load ptr, ptr %14, align 8, !tbaa !5
  %1620 = load i32, ptr %33, align 4, !tbaa !9
  %1621 = sext i32 %1620 to i64
  %1622 = getelementptr inbounds float, ptr %1619, i64 %1621
  %1623 = load float, ptr %1622, align 4, !tbaa !11
  %1624 = fmul float %1618, %1623
  %1625 = fdiv float %1613, %1624
  %1626 = load float, ptr %59, align 4, !tbaa !11
  %1627 = fadd float %1626, %1625
  store float %1627, ptr %59, align 4, !tbaa !11
  br label %1628

1628:                                             ; preds = %1602
  %1629 = load i32, ptr %33, align 4, !tbaa !9
  %1630 = add nsw i32 %1629, 1
  store i32 %1630, ptr %33, align 4, !tbaa !9
  br label %1598, !llvm.loop !24

1631:                                             ; preds = %1598
  store float 0.000000e+00, ptr %56, align 4, !tbaa !11
  %1632 = load ptr, ptr %11, align 8, !tbaa !5
  %1633 = load i32, ptr %1632, align 4, !tbaa !9
  %1634 = add nsw i32 %1633, 2
  store i32 %1634, ptr %19, align 4, !tbaa !9
  %1635 = load ptr, ptr %10, align 8, !tbaa !5
  %1636 = load i32, ptr %1635, align 4, !tbaa !9
  store i32 %1636, ptr %33, align 4, !tbaa !9
  br label %1637

1637:                                             ; preds = %1667, %1631
  %1638 = load i32, ptr %33, align 4, !tbaa !9
  %1639 = load i32, ptr %19, align 4, !tbaa !9
  %1640 = icmp sge i32 %1638, %1639
  br i1 %1640, label %1641, label %1670

1641:                                             ; preds = %1637
  %1642 = load ptr, ptr %13, align 8, !tbaa !5
  %1643 = load i32, ptr %33, align 4, !tbaa !9
  %1644 = sext i32 %1643 to i64
  %1645 = getelementptr inbounds float, ptr %1642, i64 %1644
  %1646 = load float, ptr %1645, align 4, !tbaa !11
  %1647 = load ptr, ptr %13, align 8, !tbaa !5
  %1648 = load i32, ptr %33, align 4, !tbaa !9
  %1649 = sext i32 %1648 to i64
  %1650 = getelementptr inbounds float, ptr %1647, i64 %1649
  %1651 = load float, ptr %1650, align 4, !tbaa !11
  %1652 = fmul float %1646, %1651
  %1653 = load ptr, ptr %17, align 8, !tbaa !5
  %1654 = load i32, ptr %33, align 4, !tbaa !9
  %1655 = sext i32 %1654 to i64
  %1656 = getelementptr inbounds float, ptr %1653, i64 %1655
  %1657 = load float, ptr %1656, align 4, !tbaa !11
  %1658 = load ptr, ptr %14, align 8, !tbaa !5
  %1659 = load i32, ptr %33, align 4, !tbaa !9
  %1660 = sext i32 %1659 to i64
  %1661 = getelementptr inbounds float, ptr %1658, i64 %1660
  %1662 = load float, ptr %1661, align 4, !tbaa !11
  %1663 = fmul float %1657, %1662
  %1664 = fdiv float %1652, %1663
  %1665 = load float, ptr %56, align 4, !tbaa !11
  %1666 = fadd float %1665, %1664
  store float %1666, ptr %56, align 4, !tbaa !11
  br label %1667

1667:                                             ; preds = %1641
  %1668 = load i32, ptr %33, align 4, !tbaa !9
  %1669 = add nsw i32 %1668, -1
  store i32 %1669, ptr %33, align 4, !tbaa !9
  br label %1637, !llvm.loop !25

1670:                                             ; preds = %1637
  %1671 = load float, ptr %52, align 4, !tbaa !11
  %1672 = load float, ptr %59, align 4, !tbaa !11
  %1673 = fadd float %1671, %1672
  %1674 = load float, ptr %56, align 4, !tbaa !11
  %1675 = fadd float %1673, %1674
  store float %1675, ptr %32, align 4, !tbaa !11
  %1676 = load float, ptr %32, align 4, !tbaa !11
  %1677 = load ptr, ptr %13, align 8, !tbaa !5
  %1678 = load ptr, ptr %11, align 8, !tbaa !5
  %1679 = load i32, ptr %1678, align 4, !tbaa !9
  %1680 = sext i32 %1679 to i64
  %1681 = getelementptr inbounds float, ptr %1677, i64 %1680
  %1682 = load float, ptr %1681, align 4, !tbaa !11
  %1683 = load ptr, ptr %13, align 8, !tbaa !5
  %1684 = load ptr, ptr %11, align 8, !tbaa !5
  %1685 = load i32, ptr %1684, align 4, !tbaa !9
  %1686 = sext i32 %1685 to i64
  %1687 = getelementptr inbounds float, ptr %1683, i64 %1686
  %1688 = load float, ptr %1687, align 4, !tbaa !11
  %1689 = fmul float %1682, %1688
  %1690 = load ptr, ptr %17, align 8, !tbaa !5
  %1691 = load ptr, ptr %11, align 8, !tbaa !5
  %1692 = load i32, ptr %1691, align 4, !tbaa !9
  %1693 = sext i32 %1692 to i64
  %1694 = getelementptr inbounds float, ptr %1690, i64 %1693
  %1695 = load float, ptr %1694, align 4, !tbaa !11
  %1696 = load ptr, ptr %14, align 8, !tbaa !5
  %1697 = load ptr, ptr %11, align 8, !tbaa !5
  %1698 = load i32, ptr %1697, align 4, !tbaa !9
  %1699 = sext i32 %1698 to i64
  %1700 = getelementptr inbounds float, ptr %1696, i64 %1699
  %1701 = load float, ptr %1700, align 4, !tbaa !11
  %1702 = fmul float %1695, %1701
  %1703 = fdiv float %1689, %1702
  %1704 = fadd float %1676, %1703
  %1705 = load ptr, ptr %13, align 8, !tbaa !5
  %1706 = load i32, ptr %53, align 4, !tbaa !9
  %1707 = sext i32 %1706 to i64
  %1708 = getelementptr inbounds float, ptr %1705, i64 %1707
  %1709 = load float, ptr %1708, align 4, !tbaa !11
  %1710 = load ptr, ptr %13, align 8, !tbaa !5
  %1711 = load i32, ptr %53, align 4, !tbaa !9
  %1712 = sext i32 %1711 to i64
  %1713 = getelementptr inbounds float, ptr %1710, i64 %1712
  %1714 = load float, ptr %1713, align 4, !tbaa !11
  %1715 = fmul float %1709, %1714
  %1716 = load ptr, ptr %17, align 8, !tbaa !5
  %1717 = load i32, ptr %53, align 4, !tbaa !9
  %1718 = sext i32 %1717 to i64
  %1719 = getelementptr inbounds float, ptr %1716, i64 %1718
  %1720 = load float, ptr %1719, align 4, !tbaa !11
  %1721 = load ptr, ptr %14, align 8, !tbaa !5
  %1722 = load i32, ptr %53, align 4, !tbaa !9
  %1723 = sext i32 %1722 to i64
  %1724 = getelementptr inbounds float, ptr %1721, i64 %1723
  %1725 = load float, ptr %1724, align 4, !tbaa !11
  %1726 = fmul float %1720, %1725
  %1727 = fdiv float %1715, %1726
  %1728 = fadd float %1704, %1727
  store float %1728, ptr %34, align 4, !tbaa !11
  store i32 0, ptr %60, align 4, !tbaa !9
  %1729 = load float, ptr %34, align 4, !tbaa !11
  %1730 = fcmp ogt float %1729, 0.000000e+00
  br i1 %1730, label %1731, label %1935

1731:                                             ; preds = %1670
  store i32 1, ptr %49, align 4, !tbaa !9
  %1732 = load ptr, ptr %11, align 8, !tbaa !5
  %1733 = load i32, ptr %1732, align 4, !tbaa !9
  store i32 %1733, ptr %46, align 4, !tbaa !9
  store float 0.000000e+00, ptr %22, align 4, !tbaa !11
  %1734 = load float, ptr %42, align 4, !tbaa !11
  %1735 = load ptr, ptr %12, align 8, !tbaa !5
  %1736 = load ptr, ptr %11, align 8, !tbaa !5
  %1737 = load i32, ptr %1736, align 4, !tbaa !9
  %1738 = sext i32 %1737 to i64
  %1739 = getelementptr inbounds float, ptr %1735, i64 %1738
  %1740 = load float, ptr %1739, align 4, !tbaa !11
  %1741 = load float, ptr %54, align 4, !tbaa !11
  %1742 = fadd float %1740, %1741
  %1743 = fdiv float %1734, %1742
  store float %1743, ptr %24, align 4, !tbaa !11
  %1744 = load float, ptr %32, align 4, !tbaa !11
  %1745 = load float, ptr %36, align 4, !tbaa !11
  %1746 = load ptr, ptr %13, align 8, !tbaa !5
  %1747 = load ptr, ptr %11, align 8, !tbaa !5
  %1748 = load i32, ptr %1747, align 4, !tbaa !9
  %1749 = sext i32 %1748 to i64
  %1750 = getelementptr inbounds float, ptr %1746, i64 %1749
  %1751 = load float, ptr %1750, align 4, !tbaa !11
  %1752 = load ptr, ptr %13, align 8, !tbaa !5
  %1753 = load ptr, ptr %11, align 8, !tbaa !5
  %1754 = load i32, ptr %1753, align 4, !tbaa !9
  %1755 = sext i32 %1754 to i64
  %1756 = getelementptr inbounds float, ptr %1752, i64 %1755
  %1757 = load float, ptr %1756, align 4, !tbaa !11
  %1758 = fmul float %1751, %1757
  %1759 = call float @llvm.fmuladd.f32(float %1744, float %1745, float %1758)
  %1760 = load ptr, ptr %13, align 8, !tbaa !5
  %1761 = load i32, ptr %53, align 4, !tbaa !9
  %1762 = sext i32 %1761 to i64
  %1763 = getelementptr inbounds float, ptr %1760, i64 %1762
  %1764 = load float, ptr %1763, align 4, !tbaa !11
  %1765 = load ptr, ptr %13, align 8, !tbaa !5
  %1766 = load i32, ptr %53, align 4, !tbaa !9
  %1767 = sext i32 %1766 to i64
  %1768 = getelementptr inbounds float, ptr %1765, i64 %1767
  %1769 = load float, ptr %1768, align 4, !tbaa !11
  %1770 = call float @llvm.fmuladd.f32(float %1764, float %1769, float %1759)
  store float %1770, ptr %30, align 4, !tbaa !11
  %1771 = load ptr, ptr %13, align 8, !tbaa !5
  %1772 = load ptr, ptr %11, align 8, !tbaa !5
  %1773 = load i32, ptr %1772, align 4, !tbaa !9
  %1774 = sext i32 %1773 to i64
  %1775 = getelementptr inbounds float, ptr %1771, i64 %1774
  %1776 = load float, ptr %1775, align 4, !tbaa !11
  %1777 = load ptr, ptr %13, align 8, !tbaa !5
  %1778 = load ptr, ptr %11, align 8, !tbaa !5
  %1779 = load i32, ptr %1778, align 4, !tbaa !9
  %1780 = sext i32 %1779 to i64
  %1781 = getelementptr inbounds float, ptr %1777, i64 %1780
  %1782 = load float, ptr %1781, align 4, !tbaa !11
  %1783 = fmul float %1776, %1782
  %1784 = load float, ptr %36, align 4, !tbaa !11
  %1785 = fmul float %1783, %1784
  store float %1785, ptr %31, align 4, !tbaa !11
  %1786 = load float, ptr %30, align 4, !tbaa !11
  %1787 = fcmp ogt float %1786, 0.000000e+00
  br i1 %1787, label %1788, label %1816

1788:                                             ; preds = %1731
  %1789 = load float, ptr %31, align 4, !tbaa !11
  %1790 = fmul float %1789, 2.000000e+00
  %1791 = fpext float %1790 to double
  %1792 = load float, ptr %30, align 4, !tbaa !11
  %1793 = fpext float %1792 to double
  %1794 = load float, ptr %30, align 4, !tbaa !11
  %1795 = load float, ptr %30, align 4, !tbaa !11
  %1796 = load float, ptr %31, align 4, !tbaa !11
  %1797 = fmul float %1796, 4.000000e+00
  %1798 = load float, ptr %32, align 4, !tbaa !11
  %1799 = fmul float %1797, %1798
  %1800 = fneg float %1799
  %1801 = call float @llvm.fmuladd.f32(float %1794, float %1795, float %1800)
  store float %1801, ptr %20, align 4, !tbaa !11
  %1802 = load float, ptr %20, align 4, !tbaa !11
  %1803 = fcmp oge float %1802, 0.000000e+00
  br i1 %1803, label %1804, label %1806

1804:                                             ; preds = %1788
  %1805 = load float, ptr %20, align 4, !tbaa !11
  br label %1809

1806:                                             ; preds = %1788
  %1807 = load float, ptr %20, align 4, !tbaa !11
  %1808 = fneg float %1807
  br label %1809

1809:                                             ; preds = %1806, %1804
  %1810 = phi float [ %1805, %1804 ], [ %1808, %1806 ]
  %1811 = fpext float %1810 to double
  %1812 = call double @sqrt(double noundef %1811) #5
  %1813 = fadd double %1793, %1812
  %1814 = fdiv double %1791, %1813
  %1815 = fptrunc double %1814 to float
  store float %1815, ptr %63, align 4, !tbaa !11
  br label %1844

1816:                                             ; preds = %1731
  %1817 = load float, ptr %30, align 4, !tbaa !11
  %1818 = fpext float %1817 to double
  %1819 = load float, ptr %30, align 4, !tbaa !11
  %1820 = load float, ptr %30, align 4, !tbaa !11
  %1821 = load float, ptr %31, align 4, !tbaa !11
  %1822 = fmul float %1821, 4.000000e+00
  %1823 = load float, ptr %32, align 4, !tbaa !11
  %1824 = fmul float %1822, %1823
  %1825 = fneg float %1824
  %1826 = call float @llvm.fmuladd.f32(float %1819, float %1820, float %1825)
  store float %1826, ptr %20, align 4, !tbaa !11
  %1827 = load float, ptr %20, align 4, !tbaa !11
  %1828 = fcmp oge float %1827, 0.000000e+00
  br i1 %1828, label %1829, label %1831

1829:                                             ; preds = %1816
  %1830 = load float, ptr %20, align 4, !tbaa !11
  br label %1834

1831:                                             ; preds = %1816
  %1832 = load float, ptr %20, align 4, !tbaa !11
  %1833 = fneg float %1832
  br label %1834

1834:                                             ; preds = %1831, %1829
  %1835 = phi float [ %1830, %1829 ], [ %1833, %1831 ]
  %1836 = fpext float %1835 to double
  %1837 = call double @sqrt(double noundef %1836) #5
  %1838 = fsub double %1818, %1837
  %1839 = load float, ptr %32, align 4, !tbaa !11
  %1840 = fmul float %1839, 2.000000e+00
  %1841 = fpext float %1840 to double
  %1842 = fdiv double %1838, %1841
  %1843 = fptrunc double %1842 to float
  store float %1843, ptr %63, align 4, !tbaa !11
  br label %1844

1844:                                             ; preds = %1834, %1809
  %1845 = load float, ptr %63, align 4, !tbaa !11
  %1846 = fpext float %1845 to double
  %1847 = load ptr, ptr %12, align 8, !tbaa !5
  %1848 = load ptr, ptr %11, align 8, !tbaa !5
  %1849 = load i32, ptr %1848, align 4, !tbaa !9
  %1850 = sext i32 %1849 to i64
  %1851 = getelementptr inbounds float, ptr %1847, i64 %1850
  %1852 = load float, ptr %1851, align 4, !tbaa !11
  %1853 = fpext float %1852 to double
  %1854 = load ptr, ptr %12, align 8, !tbaa !5
  %1855 = load ptr, ptr %11, align 8, !tbaa !5
  %1856 = load i32, ptr %1855, align 4, !tbaa !9
  %1857 = sext i32 %1856 to i64
  %1858 = getelementptr inbounds float, ptr %1854, i64 %1857
  %1859 = load float, ptr %1858, align 4, !tbaa !11
  %1860 = load ptr, ptr %12, align 8, !tbaa !5
  %1861 = load ptr, ptr %11, align 8, !tbaa !5
  %1862 = load i32, ptr %1861, align 4, !tbaa !9
  %1863 = sext i32 %1862 to i64
  %1864 = getelementptr inbounds float, ptr %1860, i64 %1863
  %1865 = load float, ptr %1864, align 4, !tbaa !11
  %1866 = load float, ptr %63, align 4, !tbaa !11
  %1867 = call float @llvm.fmuladd.f32(float %1859, float %1865, float %1866)
  %1868 = fpext float %1867 to double
  %1869 = call double @sqrt(double noundef %1868) #5
  %1870 = fadd double %1853, %1869
  %1871 = fdiv double %1846, %1870
  %1872 = fptrunc double %1871 to float
  store float %1872, ptr %58, align 4, !tbaa !11
  %1873 = load float, ptr %57, align 4, !tbaa !11
  %1874 = fpext float %1873 to double
  %1875 = call double @sqrt(double noundef %1874) #5
  %1876 = fptrunc double %1875 to float
  store float %1876, ptr %26, align 4, !tbaa !11
  %1877 = load ptr, ptr %12, align 8, !tbaa !5
  %1878 = load ptr, ptr %11, align 8, !tbaa !5
  %1879 = load i32, ptr %1878, align 4, !tbaa !9
  %1880 = sext i32 %1879 to i64
  %1881 = getelementptr inbounds float, ptr %1877, i64 %1880
  %1882 = load float, ptr %1881, align 4, !tbaa !11
  %1883 = load float, ptr %26, align 4, !tbaa !11
  %1884 = load ptr, ptr %12, align 8, !tbaa !5
  %1885 = load i32, ptr %53, align 4, !tbaa !9
  %1886 = sext i32 %1885 to i64
  %1887 = getelementptr inbounds float, ptr %1884, i64 %1886
  %1888 = load float, ptr %1887, align 4, !tbaa !11
  %1889 = fmul float %1883, %1888
  %1890 = fcmp ole float %1882, %1889
  br i1 %1890, label %1891, label %1934

1891:                                             ; preds = %1844
  %1892 = load ptr, ptr %13, align 8, !tbaa !5
  %1893 = load ptr, ptr %11, align 8, !tbaa !5
  %1894 = load i32, ptr %1893, align 4, !tbaa !9
  %1895 = sext i32 %1894 to i64
  %1896 = getelementptr inbounds float, ptr %1892, i64 %1895
  %1897 = load float, ptr %1896, align 4, !tbaa !11
  store float %1897, ptr %20, align 4, !tbaa !11
  %1898 = load float, ptr %20, align 4, !tbaa !11
  %1899 = fcmp oge float %1898, 0.000000e+00
  br i1 %1899, label %1900, label %1902

1900:                                             ; preds = %1891
  %1901 = load float, ptr %20, align 4, !tbaa !11
  br label %1905

1902:                                             ; preds = %1891
  %1903 = load float, ptr %20, align 4, !tbaa !11
  %1904 = fneg float %1903
  br label %1905

1905:                                             ; preds = %1902, %1900
  %1906 = phi float [ %1901, %1900 ], [ %1904, %1902 ]
  %1907 = load float, ptr %26, align 4, !tbaa !11
  %1908 = fcmp ole float %1906, %1907
  br i1 %1908, label %1909, label %1934

1909:                                             ; preds = %1905
  %1910 = load ptr, ptr %12, align 8, !tbaa !5
  %1911 = load ptr, ptr %11, align 8, !tbaa !5
  %1912 = load i32, ptr %1911, align 4, !tbaa !9
  %1913 = sext i32 %1912 to i64
  %1914 = getelementptr inbounds float, ptr %1910, i64 %1913
  %1915 = load float, ptr %1914, align 4, !tbaa !11
  %1916 = fcmp ogt float %1915, 0.000000e+00
  br i1 %1916, label %1917, label %1934

1917:                                             ; preds = %1909
  %1918 = load ptr, ptr %12, align 8, !tbaa !5
  %1919 = load ptr, ptr %11, align 8, !tbaa !5
  %1920 = load i32, ptr %1919, align 4, !tbaa !9
  %1921 = sext i32 %1920 to i64
  %1922 = getelementptr inbounds float, ptr %1918, i64 %1921
  %1923 = load float, ptr %1922, align 4, !tbaa !11
  %1924 = fmul float %1923, 1.000000e+01
  store float %1924, ptr %20, align 4, !tbaa !11
  %1925 = load float, ptr %20, align 4, !tbaa !11
  %1926 = load float, ptr %24, align 4, !tbaa !11
  %1927 = fcmp ole float %1925, %1926
  br i1 %1927, label %1928, label %1930

1928:                                             ; preds = %1917
  %1929 = load float, ptr %20, align 4, !tbaa !11
  br label %1932

1930:                                             ; preds = %1917
  %1931 = load float, ptr %24, align 4, !tbaa !11
  br label %1932

1932:                                             ; preds = %1930, %1928
  %1933 = phi float [ %1929, %1928 ], [ %1931, %1930 ]
  store float %1933, ptr %58, align 4, !tbaa !11
  store i32 1, ptr %60, align 4, !tbaa !9
  br label %1934

1934:                                             ; preds = %1932, %1909, %1905, %1844
  br label %2081

1935:                                             ; preds = %1670
  store i32 0, ptr %49, align 4, !tbaa !9
  %1936 = load i32, ptr %53, align 4, !tbaa !9
  store i32 %1936, ptr %46, align 4, !tbaa !9
  %1937 = load float, ptr %42, align 4, !tbaa !11
  %1938 = fneg float %1937
  %1939 = load ptr, ptr %12, align 8, !tbaa !5
  %1940 = load i32, ptr %46, align 4, !tbaa !9
  %1941 = sext i32 %1940 to i64
  %1942 = getelementptr inbounds float, ptr %1939, i64 %1941
  %1943 = load float, ptr %1942, align 4, !tbaa !11
  %1944 = load float, ptr %54, align 4, !tbaa !11
  %1945 = fadd float %1943, %1944
  %1946 = fdiv float %1938, %1945
  store float %1946, ptr %22, align 4, !tbaa !11
  store float 0.000000e+00, ptr %24, align 4, !tbaa !11
  %1947 = load float, ptr %32, align 4, !tbaa !11
  %1948 = load float, ptr %36, align 4, !tbaa !11
  %1949 = load ptr, ptr %13, align 8, !tbaa !5
  %1950 = load ptr, ptr %11, align 8, !tbaa !5
  %1951 = load i32, ptr %1950, align 4, !tbaa !9
  %1952 = sext i32 %1951 to i64
  %1953 = getelementptr inbounds float, ptr %1949, i64 %1952
  %1954 = load float, ptr %1953, align 4, !tbaa !11
  %1955 = load ptr, ptr %13, align 8, !tbaa !5
  %1956 = load ptr, ptr %11, align 8, !tbaa !5
  %1957 = load i32, ptr %1956, align 4, !tbaa !9
  %1958 = sext i32 %1957 to i64
  %1959 = getelementptr inbounds float, ptr %1955, i64 %1958
  %1960 = load float, ptr %1959, align 4, !tbaa !11
  %1961 = fmul float %1954, %1960
  %1962 = fneg float %1961
  %1963 = call float @llvm.fmuladd.f32(float %1947, float %1948, float %1962)
  %1964 = load ptr, ptr %13, align 8, !tbaa !5
  %1965 = load i32, ptr %53, align 4, !tbaa !9
  %1966 = sext i32 %1965 to i64
  %1967 = getelementptr inbounds float, ptr %1964, i64 %1966
  %1968 = load float, ptr %1967, align 4, !tbaa !11
  %1969 = load ptr, ptr %13, align 8, !tbaa !5
  %1970 = load i32, ptr %53, align 4, !tbaa !9
  %1971 = sext i32 %1970 to i64
  %1972 = getelementptr inbounds float, ptr %1969, i64 %1971
  %1973 = load float, ptr %1972, align 4, !tbaa !11
  %1974 = fneg float %1968
  %1975 = call float @llvm.fmuladd.f32(float %1974, float %1973, float %1963)
  store float %1975, ptr %30, align 4, !tbaa !11
  %1976 = load ptr, ptr %13, align 8, !tbaa !5
  %1977 = load i32, ptr %53, align 4, !tbaa !9
  %1978 = sext i32 %1977 to i64
  %1979 = getelementptr inbounds float, ptr %1976, i64 %1978
  %1980 = load float, ptr %1979, align 4, !tbaa !11
  %1981 = load ptr, ptr %13, align 8, !tbaa !5
  %1982 = load i32, ptr %53, align 4, !tbaa !9
  %1983 = sext i32 %1982 to i64
  %1984 = getelementptr inbounds float, ptr %1981, i64 %1983
  %1985 = load float, ptr %1984, align 4, !tbaa !11
  %1986 = fmul float %1980, %1985
  %1987 = load float, ptr %36, align 4, !tbaa !11
  %1988 = fmul float %1986, %1987
  store float %1988, ptr %31, align 4, !tbaa !11
  %1989 = load float, ptr %30, align 4, !tbaa !11
  %1990 = fcmp olt float %1989, 0.000000e+00
  br i1 %1990, label %1991, label %2018

1991:                                             ; preds = %1935
  %1992 = load float, ptr %31, align 4, !tbaa !11
  %1993 = fmul float %1992, 2.000000e+00
  %1994 = fpext float %1993 to double
  %1995 = load float, ptr %30, align 4, !tbaa !11
  %1996 = fpext float %1995 to double
  %1997 = load float, ptr %30, align 4, !tbaa !11
  %1998 = load float, ptr %30, align 4, !tbaa !11
  %1999 = load float, ptr %31, align 4, !tbaa !11
  %2000 = fmul float %1999, 4.000000e+00
  %2001 = load float, ptr %32, align 4, !tbaa !11
  %2002 = fmul float %2000, %2001
  %2003 = call float @llvm.fmuladd.f32(float %1997, float %1998, float %2002)
  store float %2003, ptr %20, align 4, !tbaa !11
  %2004 = load float, ptr %20, align 4, !tbaa !11
  %2005 = fcmp oge float %2004, 0.000000e+00
  br i1 %2005, label %2006, label %2008

2006:                                             ; preds = %1991
  %2007 = load float, ptr %20, align 4, !tbaa !11
  br label %2011

2008:                                             ; preds = %1991
  %2009 = load float, ptr %20, align 4, !tbaa !11
  %2010 = fneg float %2009
  br label %2011

2011:                                             ; preds = %2008, %2006
  %2012 = phi float [ %2007, %2006 ], [ %2010, %2008 ]
  %2013 = fpext float %2012 to double
  %2014 = call double @sqrt(double noundef %2013) #5
  %2015 = fsub double %1996, %2014
  %2016 = fdiv double %1994, %2015
  %2017 = fptrunc double %2016 to float
  store float %2017, ptr %63, align 4, !tbaa !11
  br label %2046

2018:                                             ; preds = %1935
  %2019 = load float, ptr %30, align 4, !tbaa !11
  %2020 = fpext float %2019 to double
  %2021 = load float, ptr %30, align 4, !tbaa !11
  %2022 = load float, ptr %30, align 4, !tbaa !11
  %2023 = load float, ptr %31, align 4, !tbaa !11
  %2024 = fmul float %2023, 4.000000e+00
  %2025 = load float, ptr %32, align 4, !tbaa !11
  %2026 = fmul float %2024, %2025
  %2027 = call float @llvm.fmuladd.f32(float %2021, float %2022, float %2026)
  store float %2027, ptr %20, align 4, !tbaa !11
  %2028 = load float, ptr %20, align 4, !tbaa !11
  %2029 = fcmp oge float %2028, 0.000000e+00
  br i1 %2029, label %2030, label %2032

2030:                                             ; preds = %2018
  %2031 = load float, ptr %20, align 4, !tbaa !11
  br label %2035

2032:                                             ; preds = %2018
  %2033 = load float, ptr %20, align 4, !tbaa !11
  %2034 = fneg float %2033
  br label %2035

2035:                                             ; preds = %2032, %2030
  %2036 = phi float [ %2031, %2030 ], [ %2034, %2032 ]
  %2037 = fpext float %2036 to double
  %2038 = call double @sqrt(double noundef %2037) #5
  %2039 = fadd double %2020, %2038
  %2040 = fneg double %2039
  %2041 = load float, ptr %32, align 4, !tbaa !11
  %2042 = fmul float %2041, 2.000000e+00
  %2043 = fpext float %2042 to double
  %2044 = fdiv double %2040, %2043
  %2045 = fptrunc double %2044 to float
  store float %2045, ptr %63, align 4, !tbaa !11
  br label %2046

2046:                                             ; preds = %2035, %2011
  %2047 = load float, ptr %63, align 4, !tbaa !11
  %2048 = fpext float %2047 to double
  %2049 = load ptr, ptr %12, align 8, !tbaa !5
  %2050 = load i32, ptr %53, align 4, !tbaa !9
  %2051 = sext i32 %2050 to i64
  %2052 = getelementptr inbounds float, ptr %2049, i64 %2051
  %2053 = load float, ptr %2052, align 4, !tbaa !11
  %2054 = fpext float %2053 to double
  %2055 = load ptr, ptr %12, align 8, !tbaa !5
  %2056 = load i32, ptr %53, align 4, !tbaa !9
  %2057 = sext i32 %2056 to i64
  %2058 = getelementptr inbounds float, ptr %2055, i64 %2057
  %2059 = load float, ptr %2058, align 4, !tbaa !11
  %2060 = load ptr, ptr %12, align 8, !tbaa !5
  %2061 = load i32, ptr %53, align 4, !tbaa !9
  %2062 = sext i32 %2061 to i64
  %2063 = getelementptr inbounds float, ptr %2060, i64 %2062
  %2064 = load float, ptr %2063, align 4, !tbaa !11
  %2065 = load float, ptr %63, align 4, !tbaa !11
  %2066 = call float @llvm.fmuladd.f32(float %2059, float %2064, float %2065)
  store float %2066, ptr %20, align 4, !tbaa !11
  %2067 = load float, ptr %20, align 4, !tbaa !11
  %2068 = fcmp oge float %2067, 0.000000e+00
  br i1 %2068, label %2069, label %2071

2069:                                             ; preds = %2046
  %2070 = load float, ptr %20, align 4, !tbaa !11
  br label %2074

2071:                                             ; preds = %2046
  %2072 = load float, ptr %20, align 4, !tbaa !11
  %2073 = fneg float %2072
  br label %2074

2074:                                             ; preds = %2071, %2069
  %2075 = phi float [ %2070, %2069 ], [ %2073, %2071 ]
  %2076 = fpext float %2075 to double
  %2077 = call double @sqrt(double noundef %2076) #5
  %2078 = fadd double %2054, %2077
  %2079 = fdiv double %2048, %2078
  %2080 = fptrunc double %2079 to float
  store float %2080, ptr %58, align 4, !tbaa !11
  br label %2081

2081:                                             ; preds = %2074, %1934
  %2082 = load ptr, ptr %12, align 8, !tbaa !5
  %2083 = load i32, ptr %46, align 4, !tbaa !9
  %2084 = sext i32 %2083 to i64
  %2085 = getelementptr inbounds float, ptr %2082, i64 %2084
  %2086 = load float, ptr %2085, align 4, !tbaa !11
  %2087 = load float, ptr %58, align 4, !tbaa !11
  %2088 = fadd float %2086, %2087
  %2089 = load ptr, ptr %16, align 8, !tbaa !5
  store float %2088, ptr %2089, align 4, !tbaa !11
  %2090 = load ptr, ptr %10, align 8, !tbaa !5
  %2091 = load i32, ptr %2090, align 4, !tbaa !9
  store i32 %2091, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %2092

2092:                                             ; preds = %2131, %2081
  %2093 = load i32, ptr %33, align 4, !tbaa !9
  %2094 = load i32, ptr %19, align 4, !tbaa !9
  %2095 = icmp sle i32 %2093, %2094
  br i1 %2095, label %2096, label %2134

2096:                                             ; preds = %2092
  %2097 = load ptr, ptr %12, align 8, !tbaa !5
  %2098 = load i32, ptr %33, align 4, !tbaa !9
  %2099 = sext i32 %2098 to i64
  %2100 = getelementptr inbounds float, ptr %2097, i64 %2099
  %2101 = load float, ptr %2100, align 4, !tbaa !11
  %2102 = load ptr, ptr %12, align 8, !tbaa !5
  %2103 = load i32, ptr %46, align 4, !tbaa !9
  %2104 = sext i32 %2103 to i64
  %2105 = getelementptr inbounds float, ptr %2102, i64 %2104
  %2106 = load float, ptr %2105, align 4, !tbaa !11
  %2107 = fadd float %2101, %2106
  %2108 = load float, ptr %58, align 4, !tbaa !11
  %2109 = fadd float %2107, %2108
  %2110 = load ptr, ptr %17, align 8, !tbaa !5
  %2111 = load i32, ptr %33, align 4, !tbaa !9
  %2112 = sext i32 %2111 to i64
  %2113 = getelementptr inbounds float, ptr %2110, i64 %2112
  store float %2109, ptr %2113, align 4, !tbaa !11
  %2114 = load ptr, ptr %12, align 8, !tbaa !5
  %2115 = load i32, ptr %33, align 4, !tbaa !9
  %2116 = sext i32 %2115 to i64
  %2117 = getelementptr inbounds float, ptr %2114, i64 %2116
  %2118 = load float, ptr %2117, align 4, !tbaa !11
  %2119 = load ptr, ptr %12, align 8, !tbaa !5
  %2120 = load i32, ptr %46, align 4, !tbaa !9
  %2121 = sext i32 %2120 to i64
  %2122 = getelementptr inbounds float, ptr %2119, i64 %2121
  %2123 = load float, ptr %2122, align 4, !tbaa !11
  %2124 = fsub float %2118, %2123
  %2125 = load float, ptr %58, align 4, !tbaa !11
  %2126 = fsub float %2124, %2125
  %2127 = load ptr, ptr %14, align 8, !tbaa !5
  %2128 = load i32, ptr %33, align 4, !tbaa !9
  %2129 = sext i32 %2128 to i64
  %2130 = getelementptr inbounds float, ptr %2127, i64 %2129
  store float %2126, ptr %2130, align 4, !tbaa !11
  br label %2131

2131:                                             ; preds = %2096
  %2132 = load i32, ptr %33, align 4, !tbaa !9
  %2133 = add nsw i32 %2132, 1
  store i32 %2133, ptr %33, align 4, !tbaa !9
  br label %2092, !llvm.loop !26

2134:                                             ; preds = %2092
  %2135 = load i32, ptr %46, align 4, !tbaa !9
  %2136 = sub nsw i32 %2135, 1
  store i32 %2136, ptr %61, align 4, !tbaa !9
  %2137 = load i32, ptr %46, align 4, !tbaa !9
  %2138 = add nsw i32 %2137, 1
  store i32 %2138, ptr %62, align 4, !tbaa !9
  store float 0.000000e+00, ptr %23, align 4, !tbaa !11
  store float 0.000000e+00, ptr %59, align 4, !tbaa !11
  store float 0.000000e+00, ptr %50, align 4, !tbaa !11
  %2139 = load i32, ptr %61, align 4, !tbaa !9
  store i32 %2139, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %2140

2140:                                             ; preds = %2177, %2134
  %2141 = load i32, ptr %33, align 4, !tbaa !9
  %2142 = load i32, ptr %19, align 4, !tbaa !9
  %2143 = icmp sle i32 %2141, %2142
  br i1 %2143, label %2144, label %2180

2144:                                             ; preds = %2140
  %2145 = load ptr, ptr %13, align 8, !tbaa !5
  %2146 = load i32, ptr %33, align 4, !tbaa !9
  %2147 = sext i32 %2146 to i64
  %2148 = getelementptr inbounds float, ptr %2145, i64 %2147
  %2149 = load float, ptr %2148, align 4, !tbaa !11
  %2150 = load ptr, ptr %17, align 8, !tbaa !5
  %2151 = load i32, ptr %33, align 4, !tbaa !9
  %2152 = sext i32 %2151 to i64
  %2153 = getelementptr inbounds float, ptr %2150, i64 %2152
  %2154 = load float, ptr %2153, align 4, !tbaa !11
  %2155 = load ptr, ptr %14, align 8, !tbaa !5
  %2156 = load i32, ptr %33, align 4, !tbaa !9
  %2157 = sext i32 %2156 to i64
  %2158 = getelementptr inbounds float, ptr %2155, i64 %2157
  %2159 = load float, ptr %2158, align 4, !tbaa !11
  %2160 = fmul float %2154, %2159
  %2161 = fdiv float %2149, %2160
  store float %2161, ptr %26, align 4, !tbaa !11
  %2162 = load ptr, ptr %13, align 8, !tbaa !5
  %2163 = load i32, ptr %33, align 4, !tbaa !9
  %2164 = sext i32 %2163 to i64
  %2165 = getelementptr inbounds float, ptr %2162, i64 %2164
  %2166 = load float, ptr %2165, align 4, !tbaa !11
  %2167 = load float, ptr %26, align 4, !tbaa !11
  %2168 = load float, ptr %59, align 4, !tbaa !11
  %2169 = call float @llvm.fmuladd.f32(float %2166, float %2167, float %2168)
  store float %2169, ptr %59, align 4, !tbaa !11
  %2170 = load float, ptr %26, align 4, !tbaa !11
  %2171 = load float, ptr %26, align 4, !tbaa !11
  %2172 = load float, ptr %23, align 4, !tbaa !11
  %2173 = call float @llvm.fmuladd.f32(float %2170, float %2171, float %2172)
  store float %2173, ptr %23, align 4, !tbaa !11
  %2174 = load float, ptr %59, align 4, !tbaa !11
  %2175 = load float, ptr %50, align 4, !tbaa !11
  %2176 = fadd float %2175, %2174
  store float %2176, ptr %50, align 4, !tbaa !11
  br label %2177

2177:                                             ; preds = %2144
  %2178 = load i32, ptr %33, align 4, !tbaa !9
  %2179 = add nsw i32 %2178, 1
  store i32 %2179, ptr %33, align 4, !tbaa !9
  br label %2140, !llvm.loop !27

2180:                                             ; preds = %2140
  %2181 = load float, ptr %50, align 4, !tbaa !11
  %2182 = fcmp oge float %2181, 0.000000e+00
  br i1 %2182, label %2183, label %2185

2183:                                             ; preds = %2180
  %2184 = load float, ptr %50, align 4, !tbaa !11
  br label %2188

2185:                                             ; preds = %2180
  %2186 = load float, ptr %50, align 4, !tbaa !11
  %2187 = fneg float %2186
  br label %2188

2188:                                             ; preds = %2185, %2183
  %2189 = phi float [ %2184, %2183 ], [ %2187, %2185 ]
  store float %2189, ptr %50, align 4, !tbaa !11
  store float 0.000000e+00, ptr %21, align 4, !tbaa !11
  store float 0.000000e+00, ptr %56, align 4, !tbaa !11
  %2190 = load i32, ptr %62, align 4, !tbaa !9
  store i32 %2190, ptr %19, align 4, !tbaa !9
  %2191 = load ptr, ptr %10, align 8, !tbaa !5
  %2192 = load i32, ptr %2191, align 4, !tbaa !9
  store i32 %2192, ptr %33, align 4, !tbaa !9
  br label %2193

2193:                                             ; preds = %2230, %2188
  %2194 = load i32, ptr %33, align 4, !tbaa !9
  %2195 = load i32, ptr %19, align 4, !tbaa !9
  %2196 = icmp sge i32 %2194, %2195
  br i1 %2196, label %2197, label %2233

2197:                                             ; preds = %2193
  %2198 = load ptr, ptr %13, align 8, !tbaa !5
  %2199 = load i32, ptr %33, align 4, !tbaa !9
  %2200 = sext i32 %2199 to i64
  %2201 = getelementptr inbounds float, ptr %2198, i64 %2200
  %2202 = load float, ptr %2201, align 4, !tbaa !11
  %2203 = load ptr, ptr %17, align 8, !tbaa !5
  %2204 = load i32, ptr %33, align 4, !tbaa !9
  %2205 = sext i32 %2204 to i64
  %2206 = getelementptr inbounds float, ptr %2203, i64 %2205
  %2207 = load float, ptr %2206, align 4, !tbaa !11
  %2208 = load ptr, ptr %14, align 8, !tbaa !5
  %2209 = load i32, ptr %33, align 4, !tbaa !9
  %2210 = sext i32 %2209 to i64
  %2211 = getelementptr inbounds float, ptr %2208, i64 %2210
  %2212 = load float, ptr %2211, align 4, !tbaa !11
  %2213 = fmul float %2207, %2212
  %2214 = fdiv float %2202, %2213
  store float %2214, ptr %26, align 4, !tbaa !11
  %2215 = load ptr, ptr %13, align 8, !tbaa !5
  %2216 = load i32, ptr %33, align 4, !tbaa !9
  %2217 = sext i32 %2216 to i64
  %2218 = getelementptr inbounds float, ptr %2215, i64 %2217
  %2219 = load float, ptr %2218, align 4, !tbaa !11
  %2220 = load float, ptr %26, align 4, !tbaa !11
  %2221 = load float, ptr %56, align 4, !tbaa !11
  %2222 = call float @llvm.fmuladd.f32(float %2219, float %2220, float %2221)
  store float %2222, ptr %56, align 4, !tbaa !11
  %2223 = load float, ptr %26, align 4, !tbaa !11
  %2224 = load float, ptr %26, align 4, !tbaa !11
  %2225 = load float, ptr %21, align 4, !tbaa !11
  %2226 = call float @llvm.fmuladd.f32(float %2223, float %2224, float %2225)
  store float %2226, ptr %21, align 4, !tbaa !11
  %2227 = load float, ptr %56, align 4, !tbaa !11
  %2228 = load float, ptr %50, align 4, !tbaa !11
  %2229 = fadd float %2228, %2227
  store float %2229, ptr %50, align 4, !tbaa !11
  br label %2230

2230:                                             ; preds = %2197
  %2231 = load i32, ptr %33, align 4, !tbaa !9
  %2232 = add nsw i32 %2231, -1
  store i32 %2232, ptr %33, align 4, !tbaa !9
  br label %2193, !llvm.loop !28

2233:                                             ; preds = %2193
  %2234 = load float, ptr %52, align 4, !tbaa !11
  %2235 = load float, ptr %56, align 4, !tbaa !11
  %2236 = fadd float %2234, %2235
  %2237 = load float, ptr %59, align 4, !tbaa !11
  %2238 = fadd float %2236, %2237
  store float %2238, ptr %34, align 4, !tbaa !11
  store i32 0, ptr %45, align 4, !tbaa !9
  %2239 = load i32, ptr %49, align 4, !tbaa !9
  %2240 = icmp ne i32 %2239, 0
  br i1 %2240, label %2241, label %2246

2241:                                             ; preds = %2233
  %2242 = load float, ptr %34, align 4, !tbaa !11
  %2243 = fcmp olt float %2242, 0.000000e+00
  br i1 %2243, label %2244, label %2245

2244:                                             ; preds = %2241
  store i32 1, ptr %45, align 4, !tbaa !9
  br label %2245

2245:                                             ; preds = %2244, %2241
  br label %2251

2246:                                             ; preds = %2233
  %2247 = load float, ptr %34, align 4, !tbaa !11
  %2248 = fcmp ogt float %2247, 0.000000e+00
  br i1 %2248, label %2249, label %2250

2249:                                             ; preds = %2246
  store i32 1, ptr %45, align 4, !tbaa !9
  br label %2250

2250:                                             ; preds = %2249, %2246
  br label %2251

2251:                                             ; preds = %2250, %2245
  %2252 = load i32, ptr %46, align 4, !tbaa !9
  %2253 = icmp eq i32 %2252, 1
  br i1 %2253, label %2259, label %2254

2254:                                             ; preds = %2251
  %2255 = load i32, ptr %46, align 4, !tbaa !9
  %2256 = load ptr, ptr %10, align 8, !tbaa !5
  %2257 = load i32, ptr %2256, align 4, !tbaa !9
  %2258 = icmp eq i32 %2255, %2257
  br i1 %2258, label %2259, label %2260

2259:                                             ; preds = %2254, %2251
  store i32 0, ptr %45, align 4, !tbaa !9
  br label %2260

2260:                                             ; preds = %2259, %2254
  %2261 = load ptr, ptr %13, align 8, !tbaa !5
  %2262 = load i32, ptr %46, align 4, !tbaa !9
  %2263 = sext i32 %2262 to i64
  %2264 = getelementptr inbounds float, ptr %2261, i64 %2263
  %2265 = load float, ptr %2264, align 4, !tbaa !11
  %2266 = load ptr, ptr %17, align 8, !tbaa !5
  %2267 = load i32, ptr %46, align 4, !tbaa !9
  %2268 = sext i32 %2267 to i64
  %2269 = getelementptr inbounds float, ptr %2266, i64 %2268
  %2270 = load float, ptr %2269, align 4, !tbaa !11
  %2271 = load ptr, ptr %14, align 8, !tbaa !5
  %2272 = load i32, ptr %46, align 4, !tbaa !9
  %2273 = sext i32 %2272 to i64
  %2274 = getelementptr inbounds float, ptr %2271, i64 %2273
  %2275 = load float, ptr %2274, align 4, !tbaa !11
  %2276 = fmul float %2270, %2275
  %2277 = fdiv float %2265, %2276
  store float %2277, ptr %26, align 4, !tbaa !11
  %2278 = load float, ptr %23, align 4, !tbaa !11
  %2279 = load float, ptr %21, align 4, !tbaa !11
  %2280 = fadd float %2278, %2279
  %2281 = load float, ptr %26, align 4, !tbaa !11
  %2282 = load float, ptr %26, align 4, !tbaa !11
  %2283 = call float @llvm.fmuladd.f32(float %2281, float %2282, float %2280)
  store float %2283, ptr %47, align 4, !tbaa !11
  %2284 = load ptr, ptr %13, align 8, !tbaa !5
  %2285 = load i32, ptr %46, align 4, !tbaa !9
  %2286 = sext i32 %2285 to i64
  %2287 = getelementptr inbounds float, ptr %2284, i64 %2286
  %2288 = load float, ptr %2287, align 4, !tbaa !11
  %2289 = load float, ptr %26, align 4, !tbaa !11
  %2290 = fmul float %2288, %2289
  store float %2290, ptr %26, align 4, !tbaa !11
  %2291 = load float, ptr %26, align 4, !tbaa !11
  %2292 = load float, ptr %34, align 4, !tbaa !11
  %2293 = fadd float %2292, %2291
  store float %2293, ptr %34, align 4, !tbaa !11
  %2294 = load float, ptr %56, align 4, !tbaa !11
  %2295 = load float, ptr %59, align 4, !tbaa !11
  %2296 = fsub float %2294, %2295
  %2297 = load float, ptr %50, align 4, !tbaa !11
  %2298 = call float @llvm.fmuladd.f32(float %2296, float 8.000000e+00, float %2297)
  %2299 = load float, ptr %52, align 4, !tbaa !11
  %2300 = call float @llvm.fmuladd.f32(float %2299, float 2.000000e+00, float %2298)
  %2301 = load float, ptr %26, align 4, !tbaa !11
  %2302 = fcmp oge float %2301, 0.000000e+00
  br i1 %2302, label %2303, label %2305

2303:                                             ; preds = %2260
  %2304 = load float, ptr %26, align 4, !tbaa !11
  br label %2308

2305:                                             ; preds = %2260
  %2306 = load float, ptr %26, align 4, !tbaa !11
  %2307 = fneg float %2306
  br label %2308

2308:                                             ; preds = %2305, %2303
  %2309 = phi float [ %2304, %2303 ], [ %2307, %2305 ]
  %2310 = call float @llvm.fmuladd.f32(float %2309, float 3.000000e+00, float %2300)
  store float %2310, ptr %50, align 4, !tbaa !11
  %2311 = load float, ptr %34, align 4, !tbaa !11
  %2312 = fcmp oge float %2311, 0.000000e+00
  br i1 %2312, label %2313, label %2315

2313:                                             ; preds = %2308
  %2314 = load float, ptr %34, align 4, !tbaa !11
  br label %2318

2315:                                             ; preds = %2308
  %2316 = load float, ptr %34, align 4, !tbaa !11
  %2317 = fneg float %2316
  br label %2318

2318:                                             ; preds = %2315, %2313
  %2319 = phi float [ %2314, %2313 ], [ %2317, %2315 ]
  %2320 = load float, ptr %57, align 4, !tbaa !11
  %2321 = load float, ptr %50, align 4, !tbaa !11
  %2322 = fmul float %2320, %2321
  %2323 = fcmp ole float %2319, %2322
  br i1 %2323, label %2324, label %2325

2324:                                             ; preds = %2318
  br label %4375

2325:                                             ; preds = %2318
  %2326 = load float, ptr %34, align 4, !tbaa !11
  %2327 = fcmp ole float %2326, 0.000000e+00
  br i1 %2327, label %2328, label %2338

2328:                                             ; preds = %2325
  %2329 = load float, ptr %22, align 4, !tbaa !11
  %2330 = load float, ptr %58, align 4, !tbaa !11
  %2331 = fcmp oge float %2329, %2330
  br i1 %2331, label %2332, label %2334

2332:                                             ; preds = %2328
  %2333 = load float, ptr %22, align 4, !tbaa !11
  br label %2336

2334:                                             ; preds = %2328
  %2335 = load float, ptr %58, align 4, !tbaa !11
  br label %2336

2336:                                             ; preds = %2334, %2332
  %2337 = phi float [ %2333, %2332 ], [ %2335, %2334 ]
  store float %2337, ptr %22, align 4, !tbaa !11
  br label %2348

2338:                                             ; preds = %2325
  %2339 = load float, ptr %24, align 4, !tbaa !11
  %2340 = load float, ptr %58, align 4, !tbaa !11
  %2341 = fcmp ole float %2339, %2340
  br i1 %2341, label %2342, label %2344

2342:                                             ; preds = %2338
  %2343 = load float, ptr %24, align 4, !tbaa !11
  br label %2346

2344:                                             ; preds = %2338
  %2345 = load float, ptr %58, align 4, !tbaa !11
  br label %2346

2346:                                             ; preds = %2344, %2342
  %2347 = phi float [ %2343, %2342 ], [ %2345, %2344 ]
  store float %2347, ptr %24, align 4, !tbaa !11
  br label %2348

2348:                                             ; preds = %2346, %2336
  %2349 = load i32, ptr %38, align 4, !tbaa !9
  %2350 = add nsw i32 %2349, 1
  store i32 %2350, ptr %38, align 4, !tbaa !9
  %2351 = load i32, ptr %45, align 4, !tbaa !9
  %2352 = icmp ne i32 %2351, 0
  br i1 %2352, label %2549, label %2353

2353:                                             ; preds = %2348
  %2354 = load ptr, ptr %17, align 8, !tbaa !5
  %2355 = load i32, ptr %53, align 4, !tbaa !9
  %2356 = sext i32 %2355 to i64
  %2357 = getelementptr inbounds float, ptr %2354, i64 %2356
  %2358 = load float, ptr %2357, align 4, !tbaa !11
  %2359 = load ptr, ptr %14, align 8, !tbaa !5
  %2360 = load i32, ptr %53, align 4, !tbaa !9
  %2361 = sext i32 %2360 to i64
  %2362 = getelementptr inbounds float, ptr %2359, i64 %2361
  %2363 = load float, ptr %2362, align 4, !tbaa !11
  %2364 = fmul float %2358, %2363
  store float %2364, ptr %51, align 4, !tbaa !11
  %2365 = load ptr, ptr %17, align 8, !tbaa !5
  %2366 = load ptr, ptr %11, align 8, !tbaa !5
  %2367 = load i32, ptr %2366, align 4, !tbaa !9
  %2368 = sext i32 %2367 to i64
  %2369 = getelementptr inbounds float, ptr %2365, i64 %2368
  %2370 = load float, ptr %2369, align 4, !tbaa !11
  %2371 = load ptr, ptr %14, align 8, !tbaa !5
  %2372 = load ptr, ptr %11, align 8, !tbaa !5
  %2373 = load i32, ptr %2372, align 4, !tbaa !9
  %2374 = sext i32 %2373 to i64
  %2375 = getelementptr inbounds float, ptr %2371, i64 %2374
  %2376 = load float, ptr %2375, align 4, !tbaa !11
  %2377 = fmul float %2370, %2376
  store float %2377, ptr %39, align 4, !tbaa !11
  %2378 = load i32, ptr %49, align 4, !tbaa !9
  %2379 = icmp ne i32 %2378, 0
  br i1 %2379, label %2380, label %2399

2380:                                             ; preds = %2353
  %2381 = load ptr, ptr %13, align 8, !tbaa !5
  %2382 = load ptr, ptr %11, align 8, !tbaa !5
  %2383 = load i32, ptr %2382, align 4, !tbaa !9
  %2384 = sext i32 %2383 to i64
  %2385 = getelementptr inbounds float, ptr %2381, i64 %2384
  %2386 = load float, ptr %2385, align 4, !tbaa !11
  %2387 = load float, ptr %39, align 4, !tbaa !11
  %2388 = fdiv float %2386, %2387
  store float %2388, ptr %20, align 4, !tbaa !11
  %2389 = load float, ptr %34, align 4, !tbaa !11
  %2390 = load float, ptr %51, align 4, !tbaa !11
  %2391 = load float, ptr %47, align 4, !tbaa !11
  %2392 = fneg float %2390
  %2393 = call float @llvm.fmuladd.f32(float %2392, float %2391, float %2389)
  %2394 = load float, ptr %36, align 4, !tbaa !11
  %2395 = load float, ptr %20, align 4, !tbaa !11
  %2396 = load float, ptr %20, align 4, !tbaa !11
  %2397 = fmul float %2395, %2396
  %2398 = call float @llvm.fmuladd.f32(float %2394, float %2397, float %2393)
  store float %2398, ptr %32, align 4, !tbaa !11
  br label %2418

2399:                                             ; preds = %2353
  %2400 = load ptr, ptr %13, align 8, !tbaa !5
  %2401 = load i32, ptr %53, align 4, !tbaa !9
  %2402 = sext i32 %2401 to i64
  %2403 = getelementptr inbounds float, ptr %2400, i64 %2402
  %2404 = load float, ptr %2403, align 4, !tbaa !11
  %2405 = load float, ptr %51, align 4, !tbaa !11
  %2406 = fdiv float %2404, %2405
  store float %2406, ptr %20, align 4, !tbaa !11
  %2407 = load float, ptr %34, align 4, !tbaa !11
  %2408 = load float, ptr %39, align 4, !tbaa !11
  %2409 = load float, ptr %47, align 4, !tbaa !11
  %2410 = fneg float %2408
  %2411 = call float @llvm.fmuladd.f32(float %2410, float %2409, float %2407)
  %2412 = load float, ptr %36, align 4, !tbaa !11
  %2413 = load float, ptr %20, align 4, !tbaa !11
  %2414 = load float, ptr %20, align 4, !tbaa !11
  %2415 = fmul float %2413, %2414
  %2416 = fneg float %2412
  %2417 = call float @llvm.fmuladd.f32(float %2416, float %2415, float %2411)
  store float %2417, ptr %32, align 4, !tbaa !11
  br label %2418

2418:                                             ; preds = %2399, %2380
  %2419 = load float, ptr %51, align 4, !tbaa !11
  %2420 = load float, ptr %39, align 4, !tbaa !11
  %2421 = fadd float %2419, %2420
  %2422 = load float, ptr %34, align 4, !tbaa !11
  %2423 = load float, ptr %51, align 4, !tbaa !11
  %2424 = load float, ptr %39, align 4, !tbaa !11
  %2425 = fmul float %2423, %2424
  %2426 = load float, ptr %47, align 4, !tbaa !11
  %2427 = fmul float %2425, %2426
  %2428 = fneg float %2427
  %2429 = call float @llvm.fmuladd.f32(float %2421, float %2422, float %2428)
  store float %2429, ptr %30, align 4, !tbaa !11
  %2430 = load float, ptr %51, align 4, !tbaa !11
  %2431 = load float, ptr %39, align 4, !tbaa !11
  %2432 = fmul float %2430, %2431
  %2433 = load float, ptr %34, align 4, !tbaa !11
  %2434 = fmul float %2432, %2433
  store float %2434, ptr %31, align 4, !tbaa !11
  %2435 = load float, ptr %32, align 4, !tbaa !11
  %2436 = fcmp oeq float %2435, 0.000000e+00
  br i1 %2436, label %2437, label %2488

2437:                                             ; preds = %2418
  %2438 = load float, ptr %30, align 4, !tbaa !11
  %2439 = fcmp oeq float %2438, 0.000000e+00
  br i1 %2439, label %2440, label %2484

2440:                                             ; preds = %2437
  %2441 = load i32, ptr %49, align 4, !tbaa !9
  %2442 = icmp ne i32 %2441, 0
  br i1 %2442, label %2443, label %2464

2443:                                             ; preds = %2440
  %2444 = load ptr, ptr %13, align 8, !tbaa !5
  %2445 = load ptr, ptr %11, align 8, !tbaa !5
  %2446 = load i32, ptr %2445, align 4, !tbaa !9
  %2447 = sext i32 %2446 to i64
  %2448 = getelementptr inbounds float, ptr %2444, i64 %2447
  %2449 = load float, ptr %2448, align 4, !tbaa !11
  %2450 = load ptr, ptr %13, align 8, !tbaa !5
  %2451 = load ptr, ptr %11, align 8, !tbaa !5
  %2452 = load i32, ptr %2451, align 4, !tbaa !9
  %2453 = sext i32 %2452 to i64
  %2454 = getelementptr inbounds float, ptr %2450, i64 %2453
  %2455 = load float, ptr %2454, align 4, !tbaa !11
  %2456 = load float, ptr %51, align 4, !tbaa !11
  %2457 = load float, ptr %51, align 4, !tbaa !11
  %2458 = fmul float %2456, %2457
  %2459 = load float, ptr %23, align 4, !tbaa !11
  %2460 = load float, ptr %21, align 4, !tbaa !11
  %2461 = fadd float %2459, %2460
  %2462 = fmul float %2458, %2461
  %2463 = call float @llvm.fmuladd.f32(float %2449, float %2455, float %2462)
  store float %2463, ptr %30, align 4, !tbaa !11
  br label %2483

2464:                                             ; preds = %2440
  %2465 = load ptr, ptr %13, align 8, !tbaa !5
  %2466 = load i32, ptr %53, align 4, !tbaa !9
  %2467 = sext i32 %2466 to i64
  %2468 = getelementptr inbounds float, ptr %2465, i64 %2467
  %2469 = load float, ptr %2468, align 4, !tbaa !11
  %2470 = load ptr, ptr %13, align 8, !tbaa !5
  %2471 = load i32, ptr %53, align 4, !tbaa !9
  %2472 = sext i32 %2471 to i64
  %2473 = getelementptr inbounds float, ptr %2470, i64 %2472
  %2474 = load float, ptr %2473, align 4, !tbaa !11
  %2475 = load float, ptr %39, align 4, !tbaa !11
  %2476 = load float, ptr %39, align 4, !tbaa !11
  %2477 = fmul float %2475, %2476
  %2478 = load float, ptr %23, align 4, !tbaa !11
  %2479 = load float, ptr %21, align 4, !tbaa !11
  %2480 = fadd float %2478, %2479
  %2481 = fmul float %2477, %2480
  %2482 = call float @llvm.fmuladd.f32(float %2469, float %2474, float %2481)
  store float %2482, ptr %30, align 4, !tbaa !11
  br label %2483

2483:                                             ; preds = %2464, %2443
  br label %2484

2484:                                             ; preds = %2483, %2437
  %2485 = load float, ptr %31, align 4, !tbaa !11
  %2486 = load float, ptr %30, align 4, !tbaa !11
  %2487 = fdiv float %2485, %2486
  store float %2487, ptr %55, align 4, !tbaa !11
  br label %2548

2488:                                             ; preds = %2418
  %2489 = load float, ptr %30, align 4, !tbaa !11
  %2490 = fcmp ole float %2489, 0.000000e+00
  br i1 %2490, label %2491, label %2519

2491:                                             ; preds = %2488
  %2492 = load float, ptr %30, align 4, !tbaa !11
  %2493 = fpext float %2492 to double
  %2494 = load float, ptr %30, align 4, !tbaa !11
  %2495 = load float, ptr %30, align 4, !tbaa !11
  %2496 = load float, ptr %31, align 4, !tbaa !11
  %2497 = fmul float %2496, 4.000000e+00
  %2498 = load float, ptr %32, align 4, !tbaa !11
  %2499 = fmul float %2497, %2498
  %2500 = fneg float %2499
  %2501 = call float @llvm.fmuladd.f32(float %2494, float %2495, float %2500)
  store float %2501, ptr %20, align 4, !tbaa !11
  %2502 = load float, ptr %20, align 4, !tbaa !11
  %2503 = fcmp oge float %2502, 0.000000e+00
  br i1 %2503, label %2504, label %2506

2504:                                             ; preds = %2491
  %2505 = load float, ptr %20, align 4, !tbaa !11
  br label %2509

2506:                                             ; preds = %2491
  %2507 = load float, ptr %20, align 4, !tbaa !11
  %2508 = fneg float %2507
  br label %2509

2509:                                             ; preds = %2506, %2504
  %2510 = phi float [ %2505, %2504 ], [ %2508, %2506 ]
  %2511 = fpext float %2510 to double
  %2512 = call double @sqrt(double noundef %2511) #5
  %2513 = fsub double %2493, %2512
  %2514 = load float, ptr %32, align 4, !tbaa !11
  %2515 = fmul float %2514, 2.000000e+00
  %2516 = fpext float %2515 to double
  %2517 = fdiv double %2513, %2516
  %2518 = fptrunc double %2517 to float
  store float %2518, ptr %55, align 4, !tbaa !11
  br label %2547

2519:                                             ; preds = %2488
  %2520 = load float, ptr %31, align 4, !tbaa !11
  %2521 = fmul float %2520, 2.000000e+00
  %2522 = fpext float %2521 to double
  %2523 = load float, ptr %30, align 4, !tbaa !11
  %2524 = fpext float %2523 to double
  %2525 = load float, ptr %30, align 4, !tbaa !11
  %2526 = load float, ptr %30, align 4, !tbaa !11
  %2527 = load float, ptr %31, align 4, !tbaa !11
  %2528 = fmul float %2527, 4.000000e+00
  %2529 = load float, ptr %32, align 4, !tbaa !11
  %2530 = fmul float %2528, %2529
  %2531 = fneg float %2530
  %2532 = call float @llvm.fmuladd.f32(float %2525, float %2526, float %2531)
  store float %2532, ptr %20, align 4, !tbaa !11
  %2533 = load float, ptr %20, align 4, !tbaa !11
  %2534 = fcmp oge float %2533, 0.000000e+00
  br i1 %2534, label %2535, label %2537

2535:                                             ; preds = %2519
  %2536 = load float, ptr %20, align 4, !tbaa !11
  br label %2540

2537:                                             ; preds = %2519
  %2538 = load float, ptr %20, align 4, !tbaa !11
  %2539 = fneg float %2538
  br label %2540

2540:                                             ; preds = %2537, %2535
  %2541 = phi float [ %2536, %2535 ], [ %2539, %2537 ]
  %2542 = fpext float %2541 to double
  %2543 = call double @sqrt(double noundef %2542) #5
  %2544 = fadd double %2524, %2543
  %2545 = fdiv double %2522, %2544
  %2546 = fptrunc double %2545 to float
  store float %2546, ptr %55, align 4, !tbaa !11
  br label %2547

2547:                                             ; preds = %2540, %2509
  br label %2548

2548:                                             ; preds = %2547, %2484
  br label %2968

2549:                                             ; preds = %2348
  %2550 = load ptr, ptr %17, align 8, !tbaa !5
  %2551 = load i32, ptr %61, align 4, !tbaa !9
  %2552 = sext i32 %2551 to i64
  %2553 = getelementptr inbounds float, ptr %2550, i64 %2552
  %2554 = load float, ptr %2553, align 4, !tbaa !11
  %2555 = load ptr, ptr %14, align 8, !tbaa !5
  %2556 = load i32, ptr %61, align 4, !tbaa !9
  %2557 = sext i32 %2556 to i64
  %2558 = getelementptr inbounds float, ptr %2555, i64 %2557
  %2559 = load float, ptr %2558, align 4, !tbaa !11
  %2560 = fmul float %2554, %2559
  store float %2560, ptr %35, align 4, !tbaa !11
  %2561 = load ptr, ptr %17, align 8, !tbaa !5
  %2562 = load i32, ptr %62, align 4, !tbaa !9
  %2563 = sext i32 %2562 to i64
  %2564 = getelementptr inbounds float, ptr %2561, i64 %2563
  %2565 = load float, ptr %2564, align 4, !tbaa !11
  %2566 = load ptr, ptr %14, align 8, !tbaa !5
  %2567 = load i32, ptr %62, align 4, !tbaa !9
  %2568 = sext i32 %2567 to i64
  %2569 = getelementptr inbounds float, ptr %2566, i64 %2568
  %2570 = load float, ptr %2569, align 4, !tbaa !11
  %2571 = fmul float %2565, %2570
  store float %2571, ptr %37, align 4, !tbaa !11
  %2572 = load float, ptr %52, align 4, !tbaa !11
  %2573 = load float, ptr %59, align 4, !tbaa !11
  %2574 = fadd float %2572, %2573
  %2575 = load float, ptr %56, align 4, !tbaa !11
  %2576 = fadd float %2574, %2575
  store float %2576, ptr %26, align 4, !tbaa !11
  %2577 = load i32, ptr %49, align 4, !tbaa !9
  %2578 = icmp ne i32 %2577, 0
  br i1 %2578, label %2579, label %2657

2579:                                             ; preds = %2549
  %2580 = load ptr, ptr %13, align 8, !tbaa !5
  %2581 = load i32, ptr %61, align 4, !tbaa !9
  %2582 = sext i32 %2581 to i64
  %2583 = getelementptr inbounds float, ptr %2580, i64 %2582
  %2584 = load float, ptr %2583, align 4, !tbaa !11
  %2585 = load float, ptr %35, align 4, !tbaa !11
  %2586 = fdiv float %2584, %2585
  store float %2586, ptr %28, align 4, !tbaa !11
  %2587 = load float, ptr %28, align 4, !tbaa !11
  %2588 = load float, ptr %28, align 4, !tbaa !11
  %2589 = fmul float %2588, %2587
  store float %2589, ptr %28, align 4, !tbaa !11
  %2590 = load float, ptr %26, align 4, !tbaa !11
  %2591 = load float, ptr %37, align 4, !tbaa !11
  %2592 = load float, ptr %23, align 4, !tbaa !11
  %2593 = load float, ptr %21, align 4, !tbaa !11
  %2594 = fadd float %2592, %2593
  %2595 = fneg float %2591
  %2596 = call float @llvm.fmuladd.f32(float %2595, float %2594, float %2590)
  %2597 = load ptr, ptr %12, align 8, !tbaa !5
  %2598 = load i32, ptr %61, align 4, !tbaa !9
  %2599 = sext i32 %2598 to i64
  %2600 = getelementptr inbounds float, ptr %2597, i64 %2599
  %2601 = load float, ptr %2600, align 4, !tbaa !11
  %2602 = load ptr, ptr %12, align 8, !tbaa !5
  %2603 = load i32, ptr %62, align 4, !tbaa !9
  %2604 = sext i32 %2603 to i64
  %2605 = getelementptr inbounds float, ptr %2602, i64 %2604
  %2606 = load float, ptr %2605, align 4, !tbaa !11
  %2607 = fsub float %2601, %2606
  %2608 = load ptr, ptr %12, align 8, !tbaa !5
  %2609 = load i32, ptr %61, align 4, !tbaa !9
  %2610 = sext i32 %2609 to i64
  %2611 = getelementptr inbounds float, ptr %2608, i64 %2610
  %2612 = load float, ptr %2611, align 4, !tbaa !11
  %2613 = load ptr, ptr %12, align 8, !tbaa !5
  %2614 = load i32, ptr %62, align 4, !tbaa !9
  %2615 = sext i32 %2614 to i64
  %2616 = getelementptr inbounds float, ptr %2613, i64 %2615
  %2617 = load float, ptr %2616, align 4, !tbaa !11
  %2618 = fadd float %2612, %2617
  %2619 = fmul float %2607, %2618
  %2620 = load float, ptr %28, align 4, !tbaa !11
  %2621 = fneg float %2619
  %2622 = call float @llvm.fmuladd.f32(float %2621, float %2620, float %2596)
  store float %2622, ptr %32, align 4, !tbaa !11
  %2623 = load ptr, ptr %13, align 8, !tbaa !5
  %2624 = load i32, ptr %61, align 4, !tbaa !9
  %2625 = sext i32 %2624 to i64
  %2626 = getelementptr inbounds float, ptr %2623, i64 %2625
  %2627 = load float, ptr %2626, align 4, !tbaa !11
  %2628 = load ptr, ptr %13, align 8, !tbaa !5
  %2629 = load i32, ptr %61, align 4, !tbaa !9
  %2630 = sext i32 %2629 to i64
  %2631 = getelementptr inbounds float, ptr %2628, i64 %2630
  %2632 = load float, ptr %2631, align 4, !tbaa !11
  %2633 = fmul float %2627, %2632
  %2634 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 0
  store float %2633, ptr %2634, align 4, !tbaa !11
  %2635 = load float, ptr %23, align 4, !tbaa !11
  %2636 = load float, ptr %28, align 4, !tbaa !11
  %2637 = fcmp olt float %2635, %2636
  br i1 %2637, label %2638, label %2645

2638:                                             ; preds = %2579
  %2639 = load float, ptr %37, align 4, !tbaa !11
  %2640 = load float, ptr %37, align 4, !tbaa !11
  %2641 = fmul float %2639, %2640
  %2642 = load float, ptr %21, align 4, !tbaa !11
  %2643 = fmul float %2641, %2642
  %2644 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 2
  store float %2643, ptr %2644, align 4, !tbaa !11
  br label %2656

2645:                                             ; preds = %2579
  %2646 = load float, ptr %37, align 4, !tbaa !11
  %2647 = load float, ptr %37, align 4, !tbaa !11
  %2648 = fmul float %2646, %2647
  %2649 = load float, ptr %23, align 4, !tbaa !11
  %2650 = load float, ptr %28, align 4, !tbaa !11
  %2651 = fsub float %2649, %2650
  %2652 = load float, ptr %21, align 4, !tbaa !11
  %2653 = fadd float %2651, %2652
  %2654 = fmul float %2648, %2653
  %2655 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 2
  store float %2654, ptr %2655, align 4, !tbaa !11
  br label %2656

2656:                                             ; preds = %2645, %2638
  br label %2735

2657:                                             ; preds = %2549
  %2658 = load ptr, ptr %13, align 8, !tbaa !5
  %2659 = load i32, ptr %62, align 4, !tbaa !9
  %2660 = sext i32 %2659 to i64
  %2661 = getelementptr inbounds float, ptr %2658, i64 %2660
  %2662 = load float, ptr %2661, align 4, !tbaa !11
  %2663 = load float, ptr %37, align 4, !tbaa !11
  %2664 = fdiv float %2662, %2663
  store float %2664, ptr %28, align 4, !tbaa !11
  %2665 = load float, ptr %28, align 4, !tbaa !11
  %2666 = load float, ptr %28, align 4, !tbaa !11
  %2667 = fmul float %2666, %2665
  store float %2667, ptr %28, align 4, !tbaa !11
  %2668 = load float, ptr %26, align 4, !tbaa !11
  %2669 = load float, ptr %35, align 4, !tbaa !11
  %2670 = load float, ptr %23, align 4, !tbaa !11
  %2671 = load float, ptr %21, align 4, !tbaa !11
  %2672 = fadd float %2670, %2671
  %2673 = fneg float %2669
  %2674 = call float @llvm.fmuladd.f32(float %2673, float %2672, float %2668)
  %2675 = load ptr, ptr %12, align 8, !tbaa !5
  %2676 = load i32, ptr %62, align 4, !tbaa !9
  %2677 = sext i32 %2676 to i64
  %2678 = getelementptr inbounds float, ptr %2675, i64 %2677
  %2679 = load float, ptr %2678, align 4, !tbaa !11
  %2680 = load ptr, ptr %12, align 8, !tbaa !5
  %2681 = load i32, ptr %61, align 4, !tbaa !9
  %2682 = sext i32 %2681 to i64
  %2683 = getelementptr inbounds float, ptr %2680, i64 %2682
  %2684 = load float, ptr %2683, align 4, !tbaa !11
  %2685 = fsub float %2679, %2684
  %2686 = load ptr, ptr %12, align 8, !tbaa !5
  %2687 = load i32, ptr %61, align 4, !tbaa !9
  %2688 = sext i32 %2687 to i64
  %2689 = getelementptr inbounds float, ptr %2686, i64 %2688
  %2690 = load float, ptr %2689, align 4, !tbaa !11
  %2691 = load ptr, ptr %12, align 8, !tbaa !5
  %2692 = load i32, ptr %62, align 4, !tbaa !9
  %2693 = sext i32 %2692 to i64
  %2694 = getelementptr inbounds float, ptr %2691, i64 %2693
  %2695 = load float, ptr %2694, align 4, !tbaa !11
  %2696 = fadd float %2690, %2695
  %2697 = fmul float %2685, %2696
  %2698 = load float, ptr %28, align 4, !tbaa !11
  %2699 = fneg float %2697
  %2700 = call float @llvm.fmuladd.f32(float %2699, float %2698, float %2674)
  store float %2700, ptr %32, align 4, !tbaa !11
  %2701 = load float, ptr %21, align 4, !tbaa !11
  %2702 = load float, ptr %28, align 4, !tbaa !11
  %2703 = fcmp olt float %2701, %2702
  br i1 %2703, label %2704, label %2711

2704:                                             ; preds = %2657
  %2705 = load float, ptr %35, align 4, !tbaa !11
  %2706 = load float, ptr %35, align 4, !tbaa !11
  %2707 = fmul float %2705, %2706
  %2708 = load float, ptr %23, align 4, !tbaa !11
  %2709 = fmul float %2707, %2708
  %2710 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 0
  store float %2709, ptr %2710, align 4, !tbaa !11
  br label %2722

2711:                                             ; preds = %2657
  %2712 = load float, ptr %35, align 4, !tbaa !11
  %2713 = load float, ptr %35, align 4, !tbaa !11
  %2714 = fmul float %2712, %2713
  %2715 = load float, ptr %23, align 4, !tbaa !11
  %2716 = load float, ptr %21, align 4, !tbaa !11
  %2717 = load float, ptr %28, align 4, !tbaa !11
  %2718 = fsub float %2716, %2717
  %2719 = fadd float %2715, %2718
  %2720 = fmul float %2714, %2719
  %2721 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 0
  store float %2720, ptr %2721, align 4, !tbaa !11
  br label %2722

2722:                                             ; preds = %2711, %2704
  %2723 = load ptr, ptr %13, align 8, !tbaa !5
  %2724 = load i32, ptr %62, align 4, !tbaa !9
  %2725 = sext i32 %2724 to i64
  %2726 = getelementptr inbounds float, ptr %2723, i64 %2725
  %2727 = load float, ptr %2726, align 4, !tbaa !11
  %2728 = load ptr, ptr %13, align 8, !tbaa !5
  %2729 = load i32, ptr %62, align 4, !tbaa !9
  %2730 = sext i32 %2729 to i64
  %2731 = getelementptr inbounds float, ptr %2728, i64 %2730
  %2732 = load float, ptr %2731, align 4, !tbaa !11
  %2733 = fmul float %2727, %2732
  %2734 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 2
  store float %2733, ptr %2734, align 4, !tbaa !11
  br label %2735

2735:                                             ; preds = %2722, %2656
  %2736 = load ptr, ptr %13, align 8, !tbaa !5
  %2737 = load i32, ptr %46, align 4, !tbaa !9
  %2738 = sext i32 %2737 to i64
  %2739 = getelementptr inbounds float, ptr %2736, i64 %2738
  %2740 = load float, ptr %2739, align 4, !tbaa !11
  %2741 = load ptr, ptr %13, align 8, !tbaa !5
  %2742 = load i32, ptr %46, align 4, !tbaa !9
  %2743 = sext i32 %2742 to i64
  %2744 = getelementptr inbounds float, ptr %2741, i64 %2743
  %2745 = load float, ptr %2744, align 4, !tbaa !11
  %2746 = fmul float %2740, %2745
  %2747 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 1
  store float %2746, ptr %2747, align 4, !tbaa !11
  %2748 = load float, ptr %35, align 4, !tbaa !11
  %2749 = getelementptr inbounds [3 x float], ptr %43, i64 0, i64 0
  store float %2748, ptr %2749, align 4, !tbaa !11
  %2750 = load ptr, ptr %14, align 8, !tbaa !5
  %2751 = load i32, ptr %46, align 4, !tbaa !9
  %2752 = sext i32 %2751 to i64
  %2753 = getelementptr inbounds float, ptr %2750, i64 %2752
  %2754 = load float, ptr %2753, align 4, !tbaa !11
  %2755 = load ptr, ptr %17, align 8, !tbaa !5
  %2756 = load i32, ptr %46, align 4, !tbaa !9
  %2757 = sext i32 %2756 to i64
  %2758 = getelementptr inbounds float, ptr %2755, i64 %2757
  %2759 = load float, ptr %2758, align 4, !tbaa !11
  %2760 = fmul float %2754, %2759
  %2761 = getelementptr inbounds [3 x float], ptr %43, i64 0, i64 1
  store float %2760, ptr %2761, align 4, !tbaa !11
  %2762 = load float, ptr %37, align 4, !tbaa !11
  %2763 = getelementptr inbounds [3 x float], ptr %43, i64 0, i64 2
  store float %2762, ptr %2763, align 4, !tbaa !11
  %2764 = getelementptr inbounds [3 x float], ptr %43, i64 0, i64 0
  %2765 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 0
  %2766 = load ptr, ptr %18, align 8, !tbaa !5
  call void @slaed6_(ptr noundef %38, ptr noundef %49, ptr noundef %32, ptr noundef %2764, ptr noundef %2765, ptr noundef %34, ptr noundef %55, ptr noundef %2766)
  %2767 = load ptr, ptr %18, align 8, !tbaa !5
  %2768 = load i32, ptr %2767, align 4, !tbaa !9
  %2769 = icmp ne i32 %2768, 0
  br i1 %2769, label %2770, label %2967

2770:                                             ; preds = %2735
  store i32 0, ptr %45, align 4, !tbaa !9
  %2771 = load ptr, ptr %18, align 8, !tbaa !5
  store i32 0, ptr %2771, align 4, !tbaa !9
  %2772 = load ptr, ptr %17, align 8, !tbaa !5
  %2773 = load i32, ptr %53, align 4, !tbaa !9
  %2774 = sext i32 %2773 to i64
  %2775 = getelementptr inbounds float, ptr %2772, i64 %2774
  %2776 = load float, ptr %2775, align 4, !tbaa !11
  %2777 = load ptr, ptr %14, align 8, !tbaa !5
  %2778 = load i32, ptr %53, align 4, !tbaa !9
  %2779 = sext i32 %2778 to i64
  %2780 = getelementptr inbounds float, ptr %2777, i64 %2779
  %2781 = load float, ptr %2780, align 4, !tbaa !11
  %2782 = fmul float %2776, %2781
  store float %2782, ptr %51, align 4, !tbaa !11
  %2783 = load ptr, ptr %17, align 8, !tbaa !5
  %2784 = load ptr, ptr %11, align 8, !tbaa !5
  %2785 = load i32, ptr %2784, align 4, !tbaa !9
  %2786 = sext i32 %2785 to i64
  %2787 = getelementptr inbounds float, ptr %2783, i64 %2786
  %2788 = load float, ptr %2787, align 4, !tbaa !11
  %2789 = load ptr, ptr %14, align 8, !tbaa !5
  %2790 = load ptr, ptr %11, align 8, !tbaa !5
  %2791 = load i32, ptr %2790, align 4, !tbaa !9
  %2792 = sext i32 %2791 to i64
  %2793 = getelementptr inbounds float, ptr %2789, i64 %2792
  %2794 = load float, ptr %2793, align 4, !tbaa !11
  %2795 = fmul float %2788, %2794
  store float %2795, ptr %39, align 4, !tbaa !11
  %2796 = load i32, ptr %49, align 4, !tbaa !9
  %2797 = icmp ne i32 %2796, 0
  br i1 %2797, label %2798, label %2817

2798:                                             ; preds = %2770
  %2799 = load ptr, ptr %13, align 8, !tbaa !5
  %2800 = load ptr, ptr %11, align 8, !tbaa !5
  %2801 = load i32, ptr %2800, align 4, !tbaa !9
  %2802 = sext i32 %2801 to i64
  %2803 = getelementptr inbounds float, ptr %2799, i64 %2802
  %2804 = load float, ptr %2803, align 4, !tbaa !11
  %2805 = load float, ptr %39, align 4, !tbaa !11
  %2806 = fdiv float %2804, %2805
  store float %2806, ptr %20, align 4, !tbaa !11
  %2807 = load float, ptr %34, align 4, !tbaa !11
  %2808 = load float, ptr %51, align 4, !tbaa !11
  %2809 = load float, ptr %47, align 4, !tbaa !11
  %2810 = fneg float %2808
  %2811 = call float @llvm.fmuladd.f32(float %2810, float %2809, float %2807)
  %2812 = load float, ptr %36, align 4, !tbaa !11
  %2813 = load float, ptr %20, align 4, !tbaa !11
  %2814 = load float, ptr %20, align 4, !tbaa !11
  %2815 = fmul float %2813, %2814
  %2816 = call float @llvm.fmuladd.f32(float %2812, float %2815, float %2811)
  store float %2816, ptr %32, align 4, !tbaa !11
  br label %2836

2817:                                             ; preds = %2770
  %2818 = load ptr, ptr %13, align 8, !tbaa !5
  %2819 = load i32, ptr %53, align 4, !tbaa !9
  %2820 = sext i32 %2819 to i64
  %2821 = getelementptr inbounds float, ptr %2818, i64 %2820
  %2822 = load float, ptr %2821, align 4, !tbaa !11
  %2823 = load float, ptr %51, align 4, !tbaa !11
  %2824 = fdiv float %2822, %2823
  store float %2824, ptr %20, align 4, !tbaa !11
  %2825 = load float, ptr %34, align 4, !tbaa !11
  %2826 = load float, ptr %39, align 4, !tbaa !11
  %2827 = load float, ptr %47, align 4, !tbaa !11
  %2828 = fneg float %2826
  %2829 = call float @llvm.fmuladd.f32(float %2828, float %2827, float %2825)
  %2830 = load float, ptr %36, align 4, !tbaa !11
  %2831 = load float, ptr %20, align 4, !tbaa !11
  %2832 = load float, ptr %20, align 4, !tbaa !11
  %2833 = fmul float %2831, %2832
  %2834 = fneg float %2830
  %2835 = call float @llvm.fmuladd.f32(float %2834, float %2833, float %2829)
  store float %2835, ptr %32, align 4, !tbaa !11
  br label %2836

2836:                                             ; preds = %2817, %2798
  %2837 = load float, ptr %51, align 4, !tbaa !11
  %2838 = load float, ptr %39, align 4, !tbaa !11
  %2839 = fadd float %2837, %2838
  %2840 = load float, ptr %34, align 4, !tbaa !11
  %2841 = load float, ptr %51, align 4, !tbaa !11
  %2842 = load float, ptr %39, align 4, !tbaa !11
  %2843 = fmul float %2841, %2842
  %2844 = load float, ptr %47, align 4, !tbaa !11
  %2845 = fmul float %2843, %2844
  %2846 = fneg float %2845
  %2847 = call float @llvm.fmuladd.f32(float %2839, float %2840, float %2846)
  store float %2847, ptr %30, align 4, !tbaa !11
  %2848 = load float, ptr %51, align 4, !tbaa !11
  %2849 = load float, ptr %39, align 4, !tbaa !11
  %2850 = fmul float %2848, %2849
  %2851 = load float, ptr %34, align 4, !tbaa !11
  %2852 = fmul float %2850, %2851
  store float %2852, ptr %31, align 4, !tbaa !11
  %2853 = load float, ptr %32, align 4, !tbaa !11
  %2854 = fcmp oeq float %2853, 0.000000e+00
  br i1 %2854, label %2855, label %2906

2855:                                             ; preds = %2836
  %2856 = load float, ptr %30, align 4, !tbaa !11
  %2857 = fcmp oeq float %2856, 0.000000e+00
  br i1 %2857, label %2858, label %2902

2858:                                             ; preds = %2855
  %2859 = load i32, ptr %49, align 4, !tbaa !9
  %2860 = icmp ne i32 %2859, 0
  br i1 %2860, label %2861, label %2882

2861:                                             ; preds = %2858
  %2862 = load ptr, ptr %13, align 8, !tbaa !5
  %2863 = load ptr, ptr %11, align 8, !tbaa !5
  %2864 = load i32, ptr %2863, align 4, !tbaa !9
  %2865 = sext i32 %2864 to i64
  %2866 = getelementptr inbounds float, ptr %2862, i64 %2865
  %2867 = load float, ptr %2866, align 4, !tbaa !11
  %2868 = load ptr, ptr %13, align 8, !tbaa !5
  %2869 = load ptr, ptr %11, align 8, !tbaa !5
  %2870 = load i32, ptr %2869, align 4, !tbaa !9
  %2871 = sext i32 %2870 to i64
  %2872 = getelementptr inbounds float, ptr %2868, i64 %2871
  %2873 = load float, ptr %2872, align 4, !tbaa !11
  %2874 = load float, ptr %51, align 4, !tbaa !11
  %2875 = load float, ptr %51, align 4, !tbaa !11
  %2876 = fmul float %2874, %2875
  %2877 = load float, ptr %23, align 4, !tbaa !11
  %2878 = load float, ptr %21, align 4, !tbaa !11
  %2879 = fadd float %2877, %2878
  %2880 = fmul float %2876, %2879
  %2881 = call float @llvm.fmuladd.f32(float %2867, float %2873, float %2880)
  store float %2881, ptr %30, align 4, !tbaa !11
  br label %2901

2882:                                             ; preds = %2858
  %2883 = load ptr, ptr %13, align 8, !tbaa !5
  %2884 = load i32, ptr %53, align 4, !tbaa !9
  %2885 = sext i32 %2884 to i64
  %2886 = getelementptr inbounds float, ptr %2883, i64 %2885
  %2887 = load float, ptr %2886, align 4, !tbaa !11
  %2888 = load ptr, ptr %13, align 8, !tbaa !5
  %2889 = load i32, ptr %53, align 4, !tbaa !9
  %2890 = sext i32 %2889 to i64
  %2891 = getelementptr inbounds float, ptr %2888, i64 %2890
  %2892 = load float, ptr %2891, align 4, !tbaa !11
  %2893 = load float, ptr %39, align 4, !tbaa !11
  %2894 = load float, ptr %39, align 4, !tbaa !11
  %2895 = fmul float %2893, %2894
  %2896 = load float, ptr %23, align 4, !tbaa !11
  %2897 = load float, ptr %21, align 4, !tbaa !11
  %2898 = fadd float %2896, %2897
  %2899 = fmul float %2895, %2898
  %2900 = call float @llvm.fmuladd.f32(float %2887, float %2892, float %2899)
  store float %2900, ptr %30, align 4, !tbaa !11
  br label %2901

2901:                                             ; preds = %2882, %2861
  br label %2902

2902:                                             ; preds = %2901, %2855
  %2903 = load float, ptr %31, align 4, !tbaa !11
  %2904 = load float, ptr %30, align 4, !tbaa !11
  %2905 = fdiv float %2903, %2904
  store float %2905, ptr %55, align 4, !tbaa !11
  br label %2966

2906:                                             ; preds = %2836
  %2907 = load float, ptr %30, align 4, !tbaa !11
  %2908 = fcmp ole float %2907, 0.000000e+00
  br i1 %2908, label %2909, label %2937

2909:                                             ; preds = %2906
  %2910 = load float, ptr %30, align 4, !tbaa !11
  %2911 = fpext float %2910 to double
  %2912 = load float, ptr %30, align 4, !tbaa !11
  %2913 = load float, ptr %30, align 4, !tbaa !11
  %2914 = load float, ptr %31, align 4, !tbaa !11
  %2915 = fmul float %2914, 4.000000e+00
  %2916 = load float, ptr %32, align 4, !tbaa !11
  %2917 = fmul float %2915, %2916
  %2918 = fneg float %2917
  %2919 = call float @llvm.fmuladd.f32(float %2912, float %2913, float %2918)
  store float %2919, ptr %20, align 4, !tbaa !11
  %2920 = load float, ptr %20, align 4, !tbaa !11
  %2921 = fcmp oge float %2920, 0.000000e+00
  br i1 %2921, label %2922, label %2924

2922:                                             ; preds = %2909
  %2923 = load float, ptr %20, align 4, !tbaa !11
  br label %2927

2924:                                             ; preds = %2909
  %2925 = load float, ptr %20, align 4, !tbaa !11
  %2926 = fneg float %2925
  br label %2927

2927:                                             ; preds = %2924, %2922
  %2928 = phi float [ %2923, %2922 ], [ %2926, %2924 ]
  %2929 = fpext float %2928 to double
  %2930 = call double @sqrt(double noundef %2929) #5
  %2931 = fsub double %2911, %2930
  %2932 = load float, ptr %32, align 4, !tbaa !11
  %2933 = fmul float %2932, 2.000000e+00
  %2934 = fpext float %2933 to double
  %2935 = fdiv double %2931, %2934
  %2936 = fptrunc double %2935 to float
  store float %2936, ptr %55, align 4, !tbaa !11
  br label %2965

2937:                                             ; preds = %2906
  %2938 = load float, ptr %31, align 4, !tbaa !11
  %2939 = fmul float %2938, 2.000000e+00
  %2940 = fpext float %2939 to double
  %2941 = load float, ptr %30, align 4, !tbaa !11
  %2942 = fpext float %2941 to double
  %2943 = load float, ptr %30, align 4, !tbaa !11
  %2944 = load float, ptr %30, align 4, !tbaa !11
  %2945 = load float, ptr %31, align 4, !tbaa !11
  %2946 = fmul float %2945, 4.000000e+00
  %2947 = load float, ptr %32, align 4, !tbaa !11
  %2948 = fmul float %2946, %2947
  %2949 = fneg float %2948
  %2950 = call float @llvm.fmuladd.f32(float %2943, float %2944, float %2949)
  store float %2950, ptr %20, align 4, !tbaa !11
  %2951 = load float, ptr %20, align 4, !tbaa !11
  %2952 = fcmp oge float %2951, 0.000000e+00
  br i1 %2952, label %2953, label %2955

2953:                                             ; preds = %2937
  %2954 = load float, ptr %20, align 4, !tbaa !11
  br label %2958

2955:                                             ; preds = %2937
  %2956 = load float, ptr %20, align 4, !tbaa !11
  %2957 = fneg float %2956
  br label %2958

2958:                                             ; preds = %2955, %2953
  %2959 = phi float [ %2954, %2953 ], [ %2957, %2955 ]
  %2960 = fpext float %2959 to double
  %2961 = call double @sqrt(double noundef %2960) #5
  %2962 = fadd double %2942, %2961
  %2963 = fdiv double %2940, %2962
  %2964 = fptrunc double %2963 to float
  store float %2964, ptr %55, align 4, !tbaa !11
  br label %2965

2965:                                             ; preds = %2958, %2927
  br label %2966

2966:                                             ; preds = %2965, %2902
  br label %2967

2967:                                             ; preds = %2966, %2735
  br label %2968

2968:                                             ; preds = %2967, %2548
  %2969 = load float, ptr %34, align 4, !tbaa !11
  %2970 = load float, ptr %55, align 4, !tbaa !11
  %2971 = fmul float %2969, %2970
  %2972 = fcmp oge float %2971, 0.000000e+00
  br i1 %2972, label %2973, label %2978

2973:                                             ; preds = %2968
  %2974 = load float, ptr %34, align 4, !tbaa !11
  %2975 = fneg float %2974
  %2976 = load float, ptr %47, align 4, !tbaa !11
  %2977 = fdiv float %2975, %2976
  store float %2977, ptr %55, align 4, !tbaa !11
  br label %2978

2978:                                             ; preds = %2973, %2968
  %2979 = load ptr, ptr %16, align 8, !tbaa !5
  %2980 = load float, ptr %2979, align 4, !tbaa !11
  %2981 = fpext float %2980 to double
  %2982 = load ptr, ptr %16, align 8, !tbaa !5
  %2983 = load float, ptr %2982, align 4, !tbaa !11
  %2984 = load ptr, ptr %16, align 8, !tbaa !5
  %2985 = load float, ptr %2984, align 4, !tbaa !11
  %2986 = load float, ptr %55, align 4, !tbaa !11
  %2987 = call float @llvm.fmuladd.f32(float %2983, float %2985, float %2986)
  %2988 = fpext float %2987 to double
  %2989 = call double @sqrt(double noundef %2988) #5
  %2990 = fadd double %2981, %2989
  %2991 = load float, ptr %55, align 4, !tbaa !11
  %2992 = fpext float %2991 to double
  %2993 = fdiv double %2992, %2990
  %2994 = fptrunc double %2993 to float
  store float %2994, ptr %55, align 4, !tbaa !11
  %2995 = load float, ptr %58, align 4, !tbaa !11
  %2996 = load float, ptr %55, align 4, !tbaa !11
  %2997 = fadd float %2995, %2996
  store float %2997, ptr %26, align 4, !tbaa !11
  %2998 = load float, ptr %26, align 4, !tbaa !11
  %2999 = load float, ptr %24, align 4, !tbaa !11
  %3000 = fcmp ogt float %2998, %2999
  br i1 %3000, label %3005, label %3001

3001:                                             ; preds = %2978
  %3002 = load float, ptr %26, align 4, !tbaa !11
  %3003 = load float, ptr %22, align 4, !tbaa !11
  %3004 = fcmp olt float %3002, %3003
  br i1 %3004, label %3005, label %3054

3005:                                             ; preds = %3001, %2978
  %3006 = load float, ptr %34, align 4, !tbaa !11
  %3007 = fcmp olt float %3006, 0.000000e+00
  br i1 %3007, label %3008, label %3013

3008:                                             ; preds = %3005
  %3009 = load float, ptr %24, align 4, !tbaa !11
  %3010 = load float, ptr %58, align 4, !tbaa !11
  %3011 = fsub float %3009, %3010
  %3012 = fdiv float %3011, 2.000000e+00
  store float %3012, ptr %55, align 4, !tbaa !11
  br label %3018

3013:                                             ; preds = %3005
  %3014 = load float, ptr %22, align 4, !tbaa !11
  %3015 = load float, ptr %58, align 4, !tbaa !11
  %3016 = fsub float %3014, %3015
  %3017 = fdiv float %3016, 2.000000e+00
  store float %3017, ptr %55, align 4, !tbaa !11
  br label %3018

3018:                                             ; preds = %3013, %3008
  %3019 = load i32, ptr %60, align 4, !tbaa !9
  %3020 = icmp ne i32 %3019, 0
  br i1 %3020, label %3021, label %3053

3021:                                             ; preds = %3018
  %3022 = load float, ptr %34, align 4, !tbaa !11
  %3023 = fcmp olt float %3022, 0.000000e+00
  br i1 %3023, label %3024, label %3038

3024:                                             ; preds = %3021
  %3025 = load float, ptr %58, align 4, !tbaa !11
  %3026 = fcmp ogt float %3025, 0.000000e+00
  br i1 %3026, label %3027, label %3037

3027:                                             ; preds = %3024
  %3028 = load float, ptr %24, align 4, !tbaa !11
  %3029 = load float, ptr %58, align 4, !tbaa !11
  %3030 = fmul float %3028, %3029
  %3031 = fpext float %3030 to double
  %3032 = call double @sqrt(double noundef %3031) #5
  %3033 = load float, ptr %58, align 4, !tbaa !11
  %3034 = fpext float %3033 to double
  %3035 = fsub double %3032, %3034
  %3036 = fptrunc double %3035 to float
  store float %3036, ptr %55, align 4, !tbaa !11
  br label %3037

3037:                                             ; preds = %3027, %3024
  br label %3052

3038:                                             ; preds = %3021
  %3039 = load float, ptr %22, align 4, !tbaa !11
  %3040 = fcmp ogt float %3039, 0.000000e+00
  br i1 %3040, label %3041, label %3051

3041:                                             ; preds = %3038
  %3042 = load float, ptr %22, align 4, !tbaa !11
  %3043 = load float, ptr %58, align 4, !tbaa !11
  %3044 = fmul float %3042, %3043
  %3045 = fpext float %3044 to double
  %3046 = call double @sqrt(double noundef %3045) #5
  %3047 = load float, ptr %58, align 4, !tbaa !11
  %3048 = fpext float %3047 to double
  %3049 = fsub double %3046, %3048
  %3050 = fptrunc double %3049 to float
  store float %3050, ptr %55, align 4, !tbaa !11
  br label %3051

3051:                                             ; preds = %3041, %3038
  br label %3052

3052:                                             ; preds = %3051, %3037
  br label %3053

3053:                                             ; preds = %3052, %3018
  br label %3054

3054:                                             ; preds = %3053, %3001
  %3055 = load float, ptr %34, align 4, !tbaa !11
  store float %3055, ptr %27, align 4, !tbaa !11
  %3056 = load float, ptr %55, align 4, !tbaa !11
  %3057 = load float, ptr %58, align 4, !tbaa !11
  %3058 = fadd float %3057, %3056
  store float %3058, ptr %58, align 4, !tbaa !11
  %3059 = load float, ptr %55, align 4, !tbaa !11
  %3060 = load ptr, ptr %16, align 8, !tbaa !5
  %3061 = load float, ptr %3060, align 4, !tbaa !11
  %3062 = fadd float %3061, %3059
  store float %3062, ptr %3060, align 4, !tbaa !11
  %3063 = load ptr, ptr %10, align 8, !tbaa !5
  %3064 = load i32, ptr %3063, align 4, !tbaa !9
  store i32 %3064, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %3065

3065:                                             ; preds = %3084, %3054
  %3066 = load i32, ptr %33, align 4, !tbaa !9
  %3067 = load i32, ptr %19, align 4, !tbaa !9
  %3068 = icmp sle i32 %3066, %3067
  br i1 %3068, label %3069, label %3087

3069:                                             ; preds = %3065
  %3070 = load float, ptr %55, align 4, !tbaa !11
  %3071 = load ptr, ptr %17, align 8, !tbaa !5
  %3072 = load i32, ptr %33, align 4, !tbaa !9
  %3073 = sext i32 %3072 to i64
  %3074 = getelementptr inbounds float, ptr %3071, i64 %3073
  %3075 = load float, ptr %3074, align 4, !tbaa !11
  %3076 = fadd float %3075, %3070
  store float %3076, ptr %3074, align 4, !tbaa !11
  %3077 = load float, ptr %55, align 4, !tbaa !11
  %3078 = load ptr, ptr %14, align 8, !tbaa !5
  %3079 = load i32, ptr %33, align 4, !tbaa !9
  %3080 = sext i32 %3079 to i64
  %3081 = getelementptr inbounds float, ptr %3078, i64 %3080
  %3082 = load float, ptr %3081, align 4, !tbaa !11
  %3083 = fsub float %3082, %3077
  store float %3083, ptr %3081, align 4, !tbaa !11
  br label %3084

3084:                                             ; preds = %3069
  %3085 = load i32, ptr %33, align 4, !tbaa !9
  %3086 = add nsw i32 %3085, 1
  store i32 %3086, ptr %33, align 4, !tbaa !9
  br label %3065, !llvm.loop !29

3087:                                             ; preds = %3065
  store float 0.000000e+00, ptr %23, align 4, !tbaa !11
  store float 0.000000e+00, ptr %59, align 4, !tbaa !11
  store float 0.000000e+00, ptr %50, align 4, !tbaa !11
  %3088 = load i32, ptr %61, align 4, !tbaa !9
  store i32 %3088, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %3089

3089:                                             ; preds = %3126, %3087
  %3090 = load i32, ptr %33, align 4, !tbaa !9
  %3091 = load i32, ptr %19, align 4, !tbaa !9
  %3092 = icmp sle i32 %3090, %3091
  br i1 %3092, label %3093, label %3129

3093:                                             ; preds = %3089
  %3094 = load ptr, ptr %13, align 8, !tbaa !5
  %3095 = load i32, ptr %33, align 4, !tbaa !9
  %3096 = sext i32 %3095 to i64
  %3097 = getelementptr inbounds float, ptr %3094, i64 %3096
  %3098 = load float, ptr %3097, align 4, !tbaa !11
  %3099 = load ptr, ptr %17, align 8, !tbaa !5
  %3100 = load i32, ptr %33, align 4, !tbaa !9
  %3101 = sext i32 %3100 to i64
  %3102 = getelementptr inbounds float, ptr %3099, i64 %3101
  %3103 = load float, ptr %3102, align 4, !tbaa !11
  %3104 = load ptr, ptr %14, align 8, !tbaa !5
  %3105 = load i32, ptr %33, align 4, !tbaa !9
  %3106 = sext i32 %3105 to i64
  %3107 = getelementptr inbounds float, ptr %3104, i64 %3106
  %3108 = load float, ptr %3107, align 4, !tbaa !11
  %3109 = fmul float %3103, %3108
  %3110 = fdiv float %3098, %3109
  store float %3110, ptr %26, align 4, !tbaa !11
  %3111 = load ptr, ptr %13, align 8, !tbaa !5
  %3112 = load i32, ptr %33, align 4, !tbaa !9
  %3113 = sext i32 %3112 to i64
  %3114 = getelementptr inbounds float, ptr %3111, i64 %3113
  %3115 = load float, ptr %3114, align 4, !tbaa !11
  %3116 = load float, ptr %26, align 4, !tbaa !11
  %3117 = load float, ptr %59, align 4, !tbaa !11
  %3118 = call float @llvm.fmuladd.f32(float %3115, float %3116, float %3117)
  store float %3118, ptr %59, align 4, !tbaa !11
  %3119 = load float, ptr %26, align 4, !tbaa !11
  %3120 = load float, ptr %26, align 4, !tbaa !11
  %3121 = load float, ptr %23, align 4, !tbaa !11
  %3122 = call float @llvm.fmuladd.f32(float %3119, float %3120, float %3121)
  store float %3122, ptr %23, align 4, !tbaa !11
  %3123 = load float, ptr %59, align 4, !tbaa !11
  %3124 = load float, ptr %50, align 4, !tbaa !11
  %3125 = fadd float %3124, %3123
  store float %3125, ptr %50, align 4, !tbaa !11
  br label %3126

3126:                                             ; preds = %3093
  %3127 = load i32, ptr %33, align 4, !tbaa !9
  %3128 = add nsw i32 %3127, 1
  store i32 %3128, ptr %33, align 4, !tbaa !9
  br label %3089, !llvm.loop !30

3129:                                             ; preds = %3089
  %3130 = load float, ptr %50, align 4, !tbaa !11
  %3131 = fcmp oge float %3130, 0.000000e+00
  br i1 %3131, label %3132, label %3134

3132:                                             ; preds = %3129
  %3133 = load float, ptr %50, align 4, !tbaa !11
  br label %3137

3134:                                             ; preds = %3129
  %3135 = load float, ptr %50, align 4, !tbaa !11
  %3136 = fneg float %3135
  br label %3137

3137:                                             ; preds = %3134, %3132
  %3138 = phi float [ %3133, %3132 ], [ %3136, %3134 ]
  store float %3138, ptr %50, align 4, !tbaa !11
  store float 0.000000e+00, ptr %21, align 4, !tbaa !11
  store float 0.000000e+00, ptr %56, align 4, !tbaa !11
  %3139 = load i32, ptr %62, align 4, !tbaa !9
  store i32 %3139, ptr %19, align 4, !tbaa !9
  %3140 = load ptr, ptr %10, align 8, !tbaa !5
  %3141 = load i32, ptr %3140, align 4, !tbaa !9
  store i32 %3141, ptr %33, align 4, !tbaa !9
  br label %3142

3142:                                             ; preds = %3179, %3137
  %3143 = load i32, ptr %33, align 4, !tbaa !9
  %3144 = load i32, ptr %19, align 4, !tbaa !9
  %3145 = icmp sge i32 %3143, %3144
  br i1 %3145, label %3146, label %3182

3146:                                             ; preds = %3142
  %3147 = load ptr, ptr %13, align 8, !tbaa !5
  %3148 = load i32, ptr %33, align 4, !tbaa !9
  %3149 = sext i32 %3148 to i64
  %3150 = getelementptr inbounds float, ptr %3147, i64 %3149
  %3151 = load float, ptr %3150, align 4, !tbaa !11
  %3152 = load ptr, ptr %17, align 8, !tbaa !5
  %3153 = load i32, ptr %33, align 4, !tbaa !9
  %3154 = sext i32 %3153 to i64
  %3155 = getelementptr inbounds float, ptr %3152, i64 %3154
  %3156 = load float, ptr %3155, align 4, !tbaa !11
  %3157 = load ptr, ptr %14, align 8, !tbaa !5
  %3158 = load i32, ptr %33, align 4, !tbaa !9
  %3159 = sext i32 %3158 to i64
  %3160 = getelementptr inbounds float, ptr %3157, i64 %3159
  %3161 = load float, ptr %3160, align 4, !tbaa !11
  %3162 = fmul float %3156, %3161
  %3163 = fdiv float %3151, %3162
  store float %3163, ptr %26, align 4, !tbaa !11
  %3164 = load ptr, ptr %13, align 8, !tbaa !5
  %3165 = load i32, ptr %33, align 4, !tbaa !9
  %3166 = sext i32 %3165 to i64
  %3167 = getelementptr inbounds float, ptr %3164, i64 %3166
  %3168 = load float, ptr %3167, align 4, !tbaa !11
  %3169 = load float, ptr %26, align 4, !tbaa !11
  %3170 = load float, ptr %56, align 4, !tbaa !11
  %3171 = call float @llvm.fmuladd.f32(float %3168, float %3169, float %3170)
  store float %3171, ptr %56, align 4, !tbaa !11
  %3172 = load float, ptr %26, align 4, !tbaa !11
  %3173 = load float, ptr %26, align 4, !tbaa !11
  %3174 = load float, ptr %21, align 4, !tbaa !11
  %3175 = call float @llvm.fmuladd.f32(float %3172, float %3173, float %3174)
  store float %3175, ptr %21, align 4, !tbaa !11
  %3176 = load float, ptr %56, align 4, !tbaa !11
  %3177 = load float, ptr %50, align 4, !tbaa !11
  %3178 = fadd float %3177, %3176
  store float %3178, ptr %50, align 4, !tbaa !11
  br label %3179

3179:                                             ; preds = %3146
  %3180 = load i32, ptr %33, align 4, !tbaa !9
  %3181 = add nsw i32 %3180, -1
  store i32 %3181, ptr %33, align 4, !tbaa !9
  br label %3142, !llvm.loop !31

3182:                                             ; preds = %3142
  %3183 = load ptr, ptr %17, align 8, !tbaa !5
  %3184 = load i32, ptr %46, align 4, !tbaa !9
  %3185 = sext i32 %3184 to i64
  %3186 = getelementptr inbounds float, ptr %3183, i64 %3185
  %3187 = load float, ptr %3186, align 4, !tbaa !11
  %3188 = load ptr, ptr %14, align 8, !tbaa !5
  %3189 = load i32, ptr %46, align 4, !tbaa !9
  %3190 = sext i32 %3189 to i64
  %3191 = getelementptr inbounds float, ptr %3188, i64 %3190
  %3192 = load float, ptr %3191, align 4, !tbaa !11
  %3193 = fmul float %3187, %3192
  store float %3193, ptr %63, align 4, !tbaa !11
  %3194 = load ptr, ptr %13, align 8, !tbaa !5
  %3195 = load i32, ptr %46, align 4, !tbaa !9
  %3196 = sext i32 %3195 to i64
  %3197 = getelementptr inbounds float, ptr %3194, i64 %3196
  %3198 = load float, ptr %3197, align 4, !tbaa !11
  %3199 = load float, ptr %63, align 4, !tbaa !11
  %3200 = fdiv float %3198, %3199
  store float %3200, ptr %26, align 4, !tbaa !11
  %3201 = load float, ptr %23, align 4, !tbaa !11
  %3202 = load float, ptr %21, align 4, !tbaa !11
  %3203 = fadd float %3201, %3202
  %3204 = load float, ptr %26, align 4, !tbaa !11
  %3205 = load float, ptr %26, align 4, !tbaa !11
  %3206 = call float @llvm.fmuladd.f32(float %3204, float %3205, float %3203)
  store float %3206, ptr %47, align 4, !tbaa !11
  %3207 = load ptr, ptr %13, align 8, !tbaa !5
  %3208 = load i32, ptr %46, align 4, !tbaa !9
  %3209 = sext i32 %3208 to i64
  %3210 = getelementptr inbounds float, ptr %3207, i64 %3209
  %3211 = load float, ptr %3210, align 4, !tbaa !11
  %3212 = load float, ptr %26, align 4, !tbaa !11
  %3213 = fmul float %3211, %3212
  store float %3213, ptr %26, align 4, !tbaa !11
  %3214 = load float, ptr %52, align 4, !tbaa !11
  %3215 = load float, ptr %56, align 4, !tbaa !11
  %3216 = fadd float %3214, %3215
  %3217 = load float, ptr %59, align 4, !tbaa !11
  %3218 = fadd float %3216, %3217
  %3219 = load float, ptr %26, align 4, !tbaa !11
  %3220 = fadd float %3218, %3219
  store float %3220, ptr %34, align 4, !tbaa !11
  %3221 = load float, ptr %56, align 4, !tbaa !11
  %3222 = load float, ptr %59, align 4, !tbaa !11
  %3223 = fsub float %3221, %3222
  %3224 = load float, ptr %50, align 4, !tbaa !11
  %3225 = call float @llvm.fmuladd.f32(float %3223, float 8.000000e+00, float %3224)
  %3226 = load float, ptr %52, align 4, !tbaa !11
  %3227 = call float @llvm.fmuladd.f32(float %3226, float 2.000000e+00, float %3225)
  %3228 = load float, ptr %26, align 4, !tbaa !11
  %3229 = fcmp oge float %3228, 0.000000e+00
  br i1 %3229, label %3230, label %3232

3230:                                             ; preds = %3182
  %3231 = load float, ptr %26, align 4, !tbaa !11
  br label %3235

3232:                                             ; preds = %3182
  %3233 = load float, ptr %26, align 4, !tbaa !11
  %3234 = fneg float %3233
  br label %3235

3235:                                             ; preds = %3232, %3230
  %3236 = phi float [ %3231, %3230 ], [ %3234, %3232 ]
  %3237 = call float @llvm.fmuladd.f32(float %3236, float 3.000000e+00, float %3227)
  store float %3237, ptr %50, align 4, !tbaa !11
  store i32 0, ptr %40, align 4, !tbaa !9
  %3238 = load i32, ptr %49, align 4, !tbaa !9
  %3239 = icmp ne i32 %3238, 0
  br i1 %3239, label %3240, label %3256

3240:                                             ; preds = %3235
  %3241 = load float, ptr %34, align 4, !tbaa !11
  %3242 = fneg float %3241
  %3243 = load float, ptr %27, align 4, !tbaa !11
  %3244 = fcmp oge float %3243, 0.000000e+00
  br i1 %3244, label %3245, label %3247

3245:                                             ; preds = %3240
  %3246 = load float, ptr %27, align 4, !tbaa !11
  br label %3250

3247:                                             ; preds = %3240
  %3248 = load float, ptr %27, align 4, !tbaa !11
  %3249 = fneg float %3248
  br label %3250

3250:                                             ; preds = %3247, %3245
  %3251 = phi float [ %3246, %3245 ], [ %3249, %3247 ]
  %3252 = fdiv float %3251, 1.000000e+01
  %3253 = fcmp ogt float %3242, %3252
  br i1 %3253, label %3254, label %3255

3254:                                             ; preds = %3250
  store i32 1, ptr %40, align 4, !tbaa !9
  br label %3255

3255:                                             ; preds = %3254, %3250
  br label %3271

3256:                                             ; preds = %3235
  %3257 = load float, ptr %34, align 4, !tbaa !11
  %3258 = load float, ptr %27, align 4, !tbaa !11
  %3259 = fcmp oge float %3258, 0.000000e+00
  br i1 %3259, label %3260, label %3262

3260:                                             ; preds = %3256
  %3261 = load float, ptr %27, align 4, !tbaa !11
  br label %3265

3262:                                             ; preds = %3256
  %3263 = load float, ptr %27, align 4, !tbaa !11
  %3264 = fneg float %3263
  br label %3265

3265:                                             ; preds = %3262, %3260
  %3266 = phi float [ %3261, %3260 ], [ %3264, %3262 ]
  %3267 = fdiv float %3266, 1.000000e+01
  %3268 = fcmp ogt float %3257, %3267
  br i1 %3268, label %3269, label %3270

3269:                                             ; preds = %3265
  store i32 1, ptr %40, align 4, !tbaa !9
  br label %3270

3270:                                             ; preds = %3269, %3265
  br label %3271

3271:                                             ; preds = %3270, %3255
  %3272 = load i32, ptr %38, align 4, !tbaa !9
  %3273 = add nsw i32 %3272, 1
  store i32 %3273, ptr %25, align 4, !tbaa !9
  %3274 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3274, ptr %38, align 4, !tbaa !9
  br label %3275

3275:                                             ; preds = %4369, %3271
  %3276 = load i32, ptr %38, align 4, !tbaa !9
  %3277 = icmp sle i32 %3276, 400
  br i1 %3277, label %3278, label %4372

3278:                                             ; preds = %3275
  %3279 = load float, ptr %34, align 4, !tbaa !11
  %3280 = fcmp oge float %3279, 0.000000e+00
  br i1 %3280, label %3281, label %3283

3281:                                             ; preds = %3278
  %3282 = load float, ptr %34, align 4, !tbaa !11
  br label %3286

3283:                                             ; preds = %3278
  %3284 = load float, ptr %34, align 4, !tbaa !11
  %3285 = fneg float %3284
  br label %3286

3286:                                             ; preds = %3283, %3281
  %3287 = phi float [ %3282, %3281 ], [ %3285, %3283 ]
  %3288 = load float, ptr %57, align 4, !tbaa !11
  %3289 = load float, ptr %50, align 4, !tbaa !11
  %3290 = fmul float %3288, %3289
  %3291 = fcmp ole float %3287, %3290
  br i1 %3291, label %3292, label %3293

3292:                                             ; preds = %3286
  br label %4375

3293:                                             ; preds = %3286
  %3294 = load float, ptr %34, align 4, !tbaa !11
  %3295 = fcmp ole float %3294, 0.000000e+00
  br i1 %3295, label %3296, label %3306

3296:                                             ; preds = %3293
  %3297 = load float, ptr %22, align 4, !tbaa !11
  %3298 = load float, ptr %58, align 4, !tbaa !11
  %3299 = fcmp oge float %3297, %3298
  br i1 %3299, label %3300, label %3302

3300:                                             ; preds = %3296
  %3301 = load float, ptr %22, align 4, !tbaa !11
  br label %3304

3302:                                             ; preds = %3296
  %3303 = load float, ptr %58, align 4, !tbaa !11
  br label %3304

3304:                                             ; preds = %3302, %3300
  %3305 = phi float [ %3301, %3300 ], [ %3303, %3302 ]
  store float %3305, ptr %22, align 4, !tbaa !11
  br label %3316

3306:                                             ; preds = %3293
  %3307 = load float, ptr %24, align 4, !tbaa !11
  %3308 = load float, ptr %58, align 4, !tbaa !11
  %3309 = fcmp ole float %3307, %3308
  br i1 %3309, label %3310, label %3312

3310:                                             ; preds = %3306
  %3311 = load float, ptr %24, align 4, !tbaa !11
  br label %3314

3312:                                             ; preds = %3306
  %3313 = load float, ptr %58, align 4, !tbaa !11
  br label %3314

3314:                                             ; preds = %3312, %3310
  %3315 = phi float [ %3311, %3310 ], [ %3313, %3312 ]
  store float %3315, ptr %24, align 4, !tbaa !11
  br label %3316

3316:                                             ; preds = %3314, %3304
  %3317 = load i32, ptr %45, align 4, !tbaa !9
  %3318 = icmp ne i32 %3317, 0
  br i1 %3318, label %3574, label %3319

3319:                                             ; preds = %3316
  %3320 = load ptr, ptr %17, align 8, !tbaa !5
  %3321 = load i32, ptr %53, align 4, !tbaa !9
  %3322 = sext i32 %3321 to i64
  %3323 = getelementptr inbounds float, ptr %3320, i64 %3322
  %3324 = load float, ptr %3323, align 4, !tbaa !11
  %3325 = load ptr, ptr %14, align 8, !tbaa !5
  %3326 = load i32, ptr %53, align 4, !tbaa !9
  %3327 = sext i32 %3326 to i64
  %3328 = getelementptr inbounds float, ptr %3325, i64 %3327
  %3329 = load float, ptr %3328, align 4, !tbaa !11
  %3330 = fmul float %3324, %3329
  store float %3330, ptr %51, align 4, !tbaa !11
  %3331 = load ptr, ptr %17, align 8, !tbaa !5
  %3332 = load ptr, ptr %11, align 8, !tbaa !5
  %3333 = load i32, ptr %3332, align 4, !tbaa !9
  %3334 = sext i32 %3333 to i64
  %3335 = getelementptr inbounds float, ptr %3331, i64 %3334
  %3336 = load float, ptr %3335, align 4, !tbaa !11
  %3337 = load ptr, ptr %14, align 8, !tbaa !5
  %3338 = load ptr, ptr %11, align 8, !tbaa !5
  %3339 = load i32, ptr %3338, align 4, !tbaa !9
  %3340 = sext i32 %3339 to i64
  %3341 = getelementptr inbounds float, ptr %3337, i64 %3340
  %3342 = load float, ptr %3341, align 4, !tbaa !11
  %3343 = fmul float %3336, %3342
  store float %3343, ptr %39, align 4, !tbaa !11
  %3344 = load i32, ptr %40, align 4, !tbaa !9
  %3345 = icmp ne i32 %3344, 0
  br i1 %3345, label %3388, label %3346

3346:                                             ; preds = %3319
  %3347 = load i32, ptr %49, align 4, !tbaa !9
  %3348 = icmp ne i32 %3347, 0
  br i1 %3348, label %3349, label %3368

3349:                                             ; preds = %3346
  %3350 = load ptr, ptr %13, align 8, !tbaa !5
  %3351 = load ptr, ptr %11, align 8, !tbaa !5
  %3352 = load i32, ptr %3351, align 4, !tbaa !9
  %3353 = sext i32 %3352 to i64
  %3354 = getelementptr inbounds float, ptr %3350, i64 %3353
  %3355 = load float, ptr %3354, align 4, !tbaa !11
  %3356 = load float, ptr %39, align 4, !tbaa !11
  %3357 = fdiv float %3355, %3356
  store float %3357, ptr %20, align 4, !tbaa !11
  %3358 = load float, ptr %34, align 4, !tbaa !11
  %3359 = load float, ptr %51, align 4, !tbaa !11
  %3360 = load float, ptr %47, align 4, !tbaa !11
  %3361 = fneg float %3359
  %3362 = call float @llvm.fmuladd.f32(float %3361, float %3360, float %3358)
  %3363 = load float, ptr %36, align 4, !tbaa !11
  %3364 = load float, ptr %20, align 4, !tbaa !11
  %3365 = load float, ptr %20, align 4, !tbaa !11
  %3366 = fmul float %3364, %3365
  %3367 = call float @llvm.fmuladd.f32(float %3363, float %3366, float %3362)
  store float %3367, ptr %32, align 4, !tbaa !11
  br label %3387

3368:                                             ; preds = %3346
  %3369 = load ptr, ptr %13, align 8, !tbaa !5
  %3370 = load i32, ptr %53, align 4, !tbaa !9
  %3371 = sext i32 %3370 to i64
  %3372 = getelementptr inbounds float, ptr %3369, i64 %3371
  %3373 = load float, ptr %3372, align 4, !tbaa !11
  %3374 = load float, ptr %51, align 4, !tbaa !11
  %3375 = fdiv float %3373, %3374
  store float %3375, ptr %20, align 4, !tbaa !11
  %3376 = load float, ptr %34, align 4, !tbaa !11
  %3377 = load float, ptr %39, align 4, !tbaa !11
  %3378 = load float, ptr %47, align 4, !tbaa !11
  %3379 = fneg float %3377
  %3380 = call float @llvm.fmuladd.f32(float %3379, float %3378, float %3376)
  %3381 = load float, ptr %36, align 4, !tbaa !11
  %3382 = load float, ptr %20, align 4, !tbaa !11
  %3383 = load float, ptr %20, align 4, !tbaa !11
  %3384 = fmul float %3382, %3383
  %3385 = fneg float %3381
  %3386 = call float @llvm.fmuladd.f32(float %3385, float %3384, float %3380)
  store float %3386, ptr %32, align 4, !tbaa !11
  br label %3387

3387:                                             ; preds = %3368, %3349
  br label %3428

3388:                                             ; preds = %3319
  %3389 = load ptr, ptr %13, align 8, !tbaa !5
  %3390 = load i32, ptr %46, align 4, !tbaa !9
  %3391 = sext i32 %3390 to i64
  %3392 = getelementptr inbounds float, ptr %3389, i64 %3391
  %3393 = load float, ptr %3392, align 4, !tbaa !11
  %3394 = load ptr, ptr %17, align 8, !tbaa !5
  %3395 = load i32, ptr %46, align 4, !tbaa !9
  %3396 = sext i32 %3395 to i64
  %3397 = getelementptr inbounds float, ptr %3394, i64 %3396
  %3398 = load float, ptr %3397, align 4, !tbaa !11
  %3399 = load ptr, ptr %14, align 8, !tbaa !5
  %3400 = load i32, ptr %46, align 4, !tbaa !9
  %3401 = sext i32 %3400 to i64
  %3402 = getelementptr inbounds float, ptr %3399, i64 %3401
  %3403 = load float, ptr %3402, align 4, !tbaa !11
  %3404 = fmul float %3398, %3403
  %3405 = fdiv float %3393, %3404
  store float %3405, ptr %26, align 4, !tbaa !11
  %3406 = load i32, ptr %49, align 4, !tbaa !9
  %3407 = icmp ne i32 %3406, 0
  br i1 %3407, label %3408, label %3413

3408:                                             ; preds = %3388
  %3409 = load float, ptr %26, align 4, !tbaa !11
  %3410 = load float, ptr %26, align 4, !tbaa !11
  %3411 = load float, ptr %23, align 4, !tbaa !11
  %3412 = call float @llvm.fmuladd.f32(float %3409, float %3410, float %3411)
  store float %3412, ptr %23, align 4, !tbaa !11
  br label %3418

3413:                                             ; preds = %3388
  %3414 = load float, ptr %26, align 4, !tbaa !11
  %3415 = load float, ptr %26, align 4, !tbaa !11
  %3416 = load float, ptr %21, align 4, !tbaa !11
  %3417 = call float @llvm.fmuladd.f32(float %3414, float %3415, float %3416)
  store float %3417, ptr %21, align 4, !tbaa !11
  br label %3418

3418:                                             ; preds = %3413, %3408
  %3419 = load float, ptr %34, align 4, !tbaa !11
  %3420 = load float, ptr %39, align 4, !tbaa !11
  %3421 = load float, ptr %23, align 4, !tbaa !11
  %3422 = fneg float %3420
  %3423 = call float @llvm.fmuladd.f32(float %3422, float %3421, float %3419)
  %3424 = load float, ptr %51, align 4, !tbaa !11
  %3425 = load float, ptr %21, align 4, !tbaa !11
  %3426 = fneg float %3424
  %3427 = call float @llvm.fmuladd.f32(float %3426, float %3425, float %3423)
  store float %3427, ptr %32, align 4, !tbaa !11
  br label %3428

3428:                                             ; preds = %3418, %3387
  %3429 = load float, ptr %51, align 4, !tbaa !11
  %3430 = load float, ptr %39, align 4, !tbaa !11
  %3431 = fadd float %3429, %3430
  %3432 = load float, ptr %34, align 4, !tbaa !11
  %3433 = load float, ptr %51, align 4, !tbaa !11
  %3434 = load float, ptr %39, align 4, !tbaa !11
  %3435 = fmul float %3433, %3434
  %3436 = load float, ptr %47, align 4, !tbaa !11
  %3437 = fmul float %3435, %3436
  %3438 = fneg float %3437
  %3439 = call float @llvm.fmuladd.f32(float %3431, float %3432, float %3438)
  store float %3439, ptr %30, align 4, !tbaa !11
  %3440 = load float, ptr %51, align 4, !tbaa !11
  %3441 = load float, ptr %39, align 4, !tbaa !11
  %3442 = fmul float %3440, %3441
  %3443 = load float, ptr %34, align 4, !tbaa !11
  %3444 = fmul float %3442, %3443
  store float %3444, ptr %31, align 4, !tbaa !11
  %3445 = load float, ptr %32, align 4, !tbaa !11
  %3446 = fcmp oeq float %3445, 0.000000e+00
  br i1 %3446, label %3447, label %3513

3447:                                             ; preds = %3428
  %3448 = load float, ptr %30, align 4, !tbaa !11
  %3449 = fcmp oeq float %3448, 0.000000e+00
  br i1 %3449, label %3450, label %3509

3450:                                             ; preds = %3447
  %3451 = load i32, ptr %40, align 4, !tbaa !9
  %3452 = icmp ne i32 %3451, 0
  br i1 %3452, label %3497, label %3453

3453:                                             ; preds = %3450
  %3454 = load i32, ptr %49, align 4, !tbaa !9
  %3455 = icmp ne i32 %3454, 0
  br i1 %3455, label %3456, label %3477

3456:                                             ; preds = %3453
  %3457 = load ptr, ptr %13, align 8, !tbaa !5
  %3458 = load ptr, ptr %11, align 8, !tbaa !5
  %3459 = load i32, ptr %3458, align 4, !tbaa !9
  %3460 = sext i32 %3459 to i64
  %3461 = getelementptr inbounds float, ptr %3457, i64 %3460
  %3462 = load float, ptr %3461, align 4, !tbaa !11
  %3463 = load ptr, ptr %13, align 8, !tbaa !5
  %3464 = load ptr, ptr %11, align 8, !tbaa !5
  %3465 = load i32, ptr %3464, align 4, !tbaa !9
  %3466 = sext i32 %3465 to i64
  %3467 = getelementptr inbounds float, ptr %3463, i64 %3466
  %3468 = load float, ptr %3467, align 4, !tbaa !11
  %3469 = load float, ptr %51, align 4, !tbaa !11
  %3470 = load float, ptr %51, align 4, !tbaa !11
  %3471 = fmul float %3469, %3470
  %3472 = load float, ptr %23, align 4, !tbaa !11
  %3473 = load float, ptr %21, align 4, !tbaa !11
  %3474 = fadd float %3472, %3473
  %3475 = fmul float %3471, %3474
  %3476 = call float @llvm.fmuladd.f32(float %3462, float %3468, float %3475)
  store float %3476, ptr %30, align 4, !tbaa !11
  br label %3496

3477:                                             ; preds = %3453
  %3478 = load ptr, ptr %13, align 8, !tbaa !5
  %3479 = load i32, ptr %53, align 4, !tbaa !9
  %3480 = sext i32 %3479 to i64
  %3481 = getelementptr inbounds float, ptr %3478, i64 %3480
  %3482 = load float, ptr %3481, align 4, !tbaa !11
  %3483 = load ptr, ptr %13, align 8, !tbaa !5
  %3484 = load i32, ptr %53, align 4, !tbaa !9
  %3485 = sext i32 %3484 to i64
  %3486 = getelementptr inbounds float, ptr %3483, i64 %3485
  %3487 = load float, ptr %3486, align 4, !tbaa !11
  %3488 = load float, ptr %39, align 4, !tbaa !11
  %3489 = load float, ptr %39, align 4, !tbaa !11
  %3490 = fmul float %3488, %3489
  %3491 = load float, ptr %23, align 4, !tbaa !11
  %3492 = load float, ptr %21, align 4, !tbaa !11
  %3493 = fadd float %3491, %3492
  %3494 = fmul float %3490, %3493
  %3495 = call float @llvm.fmuladd.f32(float %3482, float %3487, float %3494)
  store float %3495, ptr %30, align 4, !tbaa !11
  br label %3496

3496:                                             ; preds = %3477, %3456
  br label %3508

3497:                                             ; preds = %3450
  %3498 = load float, ptr %39, align 4, !tbaa !11
  %3499 = load float, ptr %39, align 4, !tbaa !11
  %3500 = fmul float %3498, %3499
  %3501 = load float, ptr %23, align 4, !tbaa !11
  %3502 = load float, ptr %51, align 4, !tbaa !11
  %3503 = load float, ptr %51, align 4, !tbaa !11
  %3504 = fmul float %3502, %3503
  %3505 = load float, ptr %21, align 4, !tbaa !11
  %3506 = fmul float %3504, %3505
  %3507 = call float @llvm.fmuladd.f32(float %3500, float %3501, float %3506)
  store float %3507, ptr %30, align 4, !tbaa !11
  br label %3508

3508:                                             ; preds = %3497, %3496
  br label %3509

3509:                                             ; preds = %3508, %3447
  %3510 = load float, ptr %31, align 4, !tbaa !11
  %3511 = load float, ptr %30, align 4, !tbaa !11
  %3512 = fdiv float %3510, %3511
  store float %3512, ptr %55, align 4, !tbaa !11
  br label %3573

3513:                                             ; preds = %3428
  %3514 = load float, ptr %30, align 4, !tbaa !11
  %3515 = fcmp ole float %3514, 0.000000e+00
  br i1 %3515, label %3516, label %3544

3516:                                             ; preds = %3513
  %3517 = load float, ptr %30, align 4, !tbaa !11
  %3518 = fpext float %3517 to double
  %3519 = load float, ptr %30, align 4, !tbaa !11
  %3520 = load float, ptr %30, align 4, !tbaa !11
  %3521 = load float, ptr %31, align 4, !tbaa !11
  %3522 = fmul float %3521, 4.000000e+00
  %3523 = load float, ptr %32, align 4, !tbaa !11
  %3524 = fmul float %3522, %3523
  %3525 = fneg float %3524
  %3526 = call float @llvm.fmuladd.f32(float %3519, float %3520, float %3525)
  store float %3526, ptr %20, align 4, !tbaa !11
  %3527 = load float, ptr %20, align 4, !tbaa !11
  %3528 = fcmp oge float %3527, 0.000000e+00
  br i1 %3528, label %3529, label %3531

3529:                                             ; preds = %3516
  %3530 = load float, ptr %20, align 4, !tbaa !11
  br label %3534

3531:                                             ; preds = %3516
  %3532 = load float, ptr %20, align 4, !tbaa !11
  %3533 = fneg float %3532
  br label %3534

3534:                                             ; preds = %3531, %3529
  %3535 = phi float [ %3530, %3529 ], [ %3533, %3531 ]
  %3536 = fpext float %3535 to double
  %3537 = call double @sqrt(double noundef %3536) #5
  %3538 = fsub double %3518, %3537
  %3539 = load float, ptr %32, align 4, !tbaa !11
  %3540 = fmul float %3539, 2.000000e+00
  %3541 = fpext float %3540 to double
  %3542 = fdiv double %3538, %3541
  %3543 = fptrunc double %3542 to float
  store float %3543, ptr %55, align 4, !tbaa !11
  br label %3572

3544:                                             ; preds = %3513
  %3545 = load float, ptr %31, align 4, !tbaa !11
  %3546 = fmul float %3545, 2.000000e+00
  %3547 = fpext float %3546 to double
  %3548 = load float, ptr %30, align 4, !tbaa !11
  %3549 = fpext float %3548 to double
  %3550 = load float, ptr %30, align 4, !tbaa !11
  %3551 = load float, ptr %30, align 4, !tbaa !11
  %3552 = load float, ptr %31, align 4, !tbaa !11
  %3553 = fmul float %3552, 4.000000e+00
  %3554 = load float, ptr %32, align 4, !tbaa !11
  %3555 = fmul float %3553, %3554
  %3556 = fneg float %3555
  %3557 = call float @llvm.fmuladd.f32(float %3550, float %3551, float %3556)
  store float %3557, ptr %20, align 4, !tbaa !11
  %3558 = load float, ptr %20, align 4, !tbaa !11
  %3559 = fcmp oge float %3558, 0.000000e+00
  br i1 %3559, label %3560, label %3562

3560:                                             ; preds = %3544
  %3561 = load float, ptr %20, align 4, !tbaa !11
  br label %3565

3562:                                             ; preds = %3544
  %3563 = load float, ptr %20, align 4, !tbaa !11
  %3564 = fneg float %3563
  br label %3565

3565:                                             ; preds = %3562, %3560
  %3566 = phi float [ %3561, %3560 ], [ %3564, %3562 ]
  %3567 = fpext float %3566 to double
  %3568 = call double @sqrt(double noundef %3567) #5
  %3569 = fadd double %3549, %3568
  %3570 = fdiv double %3547, %3569
  %3571 = fptrunc double %3570 to float
  store float %3571, ptr %55, align 4, !tbaa !11
  br label %3572

3572:                                             ; preds = %3565, %3534
  br label %3573

3573:                                             ; preds = %3572, %3509
  br label %4068

3574:                                             ; preds = %3316
  %3575 = load ptr, ptr %17, align 8, !tbaa !5
  %3576 = load i32, ptr %61, align 4, !tbaa !9
  %3577 = sext i32 %3576 to i64
  %3578 = getelementptr inbounds float, ptr %3575, i64 %3577
  %3579 = load float, ptr %3578, align 4, !tbaa !11
  %3580 = load ptr, ptr %14, align 8, !tbaa !5
  %3581 = load i32, ptr %61, align 4, !tbaa !9
  %3582 = sext i32 %3581 to i64
  %3583 = getelementptr inbounds float, ptr %3580, i64 %3582
  %3584 = load float, ptr %3583, align 4, !tbaa !11
  %3585 = fmul float %3579, %3584
  store float %3585, ptr %35, align 4, !tbaa !11
  %3586 = load ptr, ptr %17, align 8, !tbaa !5
  %3587 = load i32, ptr %62, align 4, !tbaa !9
  %3588 = sext i32 %3587 to i64
  %3589 = getelementptr inbounds float, ptr %3586, i64 %3588
  %3590 = load float, ptr %3589, align 4, !tbaa !11
  %3591 = load ptr, ptr %14, align 8, !tbaa !5
  %3592 = load i32, ptr %62, align 4, !tbaa !9
  %3593 = sext i32 %3592 to i64
  %3594 = getelementptr inbounds float, ptr %3591, i64 %3593
  %3595 = load float, ptr %3594, align 4, !tbaa !11
  %3596 = fmul float %3590, %3595
  store float %3596, ptr %37, align 4, !tbaa !11
  %3597 = load float, ptr %52, align 4, !tbaa !11
  %3598 = load float, ptr %59, align 4, !tbaa !11
  %3599 = fadd float %3597, %3598
  %3600 = load float, ptr %56, align 4, !tbaa !11
  %3601 = fadd float %3599, %3600
  store float %3601, ptr %26, align 4, !tbaa !11
  %3602 = load i32, ptr %40, align 4, !tbaa !9
  %3603 = icmp ne i32 %3602, 0
  br i1 %3603, label %3604, label %3626

3604:                                             ; preds = %3574
  %3605 = load float, ptr %26, align 4, !tbaa !11
  %3606 = load float, ptr %35, align 4, !tbaa !11
  %3607 = load float, ptr %23, align 4, !tbaa !11
  %3608 = fneg float %3606
  %3609 = call float @llvm.fmuladd.f32(float %3608, float %3607, float %3605)
  %3610 = load float, ptr %37, align 4, !tbaa !11
  %3611 = load float, ptr %21, align 4, !tbaa !11
  %3612 = fneg float %3610
  %3613 = call float @llvm.fmuladd.f32(float %3612, float %3611, float %3609)
  store float %3613, ptr %32, align 4, !tbaa !11
  %3614 = load float, ptr %35, align 4, !tbaa !11
  %3615 = load float, ptr %35, align 4, !tbaa !11
  %3616 = fmul float %3614, %3615
  %3617 = load float, ptr %23, align 4, !tbaa !11
  %3618 = fmul float %3616, %3617
  %3619 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 0
  store float %3618, ptr %3619, align 4, !tbaa !11
  %3620 = load float, ptr %37, align 4, !tbaa !11
  %3621 = load float, ptr %37, align 4, !tbaa !11
  %3622 = fmul float %3620, %3621
  %3623 = load float, ptr %21, align 4, !tbaa !11
  %3624 = fmul float %3622, %3623
  %3625 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 2
  store float %3624, ptr %3625, align 4, !tbaa !11
  br label %3788

3626:                                             ; preds = %3574
  %3627 = load i32, ptr %49, align 4, !tbaa !9
  %3628 = icmp ne i32 %3627, 0
  br i1 %3628, label %3629, label %3708

3629:                                             ; preds = %3626
  %3630 = load ptr, ptr %13, align 8, !tbaa !5
  %3631 = load i32, ptr %61, align 4, !tbaa !9
  %3632 = sext i32 %3631 to i64
  %3633 = getelementptr inbounds float, ptr %3630, i64 %3632
  %3634 = load float, ptr %3633, align 4, !tbaa !11
  %3635 = load float, ptr %35, align 4, !tbaa !11
  %3636 = fdiv float %3634, %3635
  store float %3636, ptr %28, align 4, !tbaa !11
  %3637 = load float, ptr %28, align 4, !tbaa !11
  %3638 = load float, ptr %28, align 4, !tbaa !11
  %3639 = fmul float %3638, %3637
  store float %3639, ptr %28, align 4, !tbaa !11
  %3640 = load ptr, ptr %12, align 8, !tbaa !5
  %3641 = load i32, ptr %61, align 4, !tbaa !9
  %3642 = sext i32 %3641 to i64
  %3643 = getelementptr inbounds float, ptr %3640, i64 %3642
  %3644 = load float, ptr %3643, align 4, !tbaa !11
  %3645 = load ptr, ptr %12, align 8, !tbaa !5
  %3646 = load i32, ptr %62, align 4, !tbaa !9
  %3647 = sext i32 %3646 to i64
  %3648 = getelementptr inbounds float, ptr %3645, i64 %3647
  %3649 = load float, ptr %3648, align 4, !tbaa !11
  %3650 = fsub float %3644, %3649
  %3651 = load ptr, ptr %12, align 8, !tbaa !5
  %3652 = load i32, ptr %61, align 4, !tbaa !9
  %3653 = sext i32 %3652 to i64
  %3654 = getelementptr inbounds float, ptr %3651, i64 %3653
  %3655 = load float, ptr %3654, align 4, !tbaa !11
  %3656 = load ptr, ptr %12, align 8, !tbaa !5
  %3657 = load i32, ptr %62, align 4, !tbaa !9
  %3658 = sext i32 %3657 to i64
  %3659 = getelementptr inbounds float, ptr %3656, i64 %3658
  %3660 = load float, ptr %3659, align 4, !tbaa !11
  %3661 = fadd float %3655, %3660
  %3662 = fmul float %3650, %3661
  %3663 = load float, ptr %28, align 4, !tbaa !11
  %3664 = fmul float %3662, %3663
  store float %3664, ptr %29, align 4, !tbaa !11
  %3665 = load float, ptr %26, align 4, !tbaa !11
  %3666 = load float, ptr %37, align 4, !tbaa !11
  %3667 = load float, ptr %23, align 4, !tbaa !11
  %3668 = load float, ptr %21, align 4, !tbaa !11
  %3669 = fadd float %3667, %3668
  %3670 = fneg float %3666
  %3671 = call float @llvm.fmuladd.f32(float %3670, float %3669, float %3665)
  %3672 = load float, ptr %29, align 4, !tbaa !11
  %3673 = fsub float %3671, %3672
  store float %3673, ptr %32, align 4, !tbaa !11
  %3674 = load ptr, ptr %13, align 8, !tbaa !5
  %3675 = load i32, ptr %61, align 4, !tbaa !9
  %3676 = sext i32 %3675 to i64
  %3677 = getelementptr inbounds float, ptr %3674, i64 %3676
  %3678 = load float, ptr %3677, align 4, !tbaa !11
  %3679 = load ptr, ptr %13, align 8, !tbaa !5
  %3680 = load i32, ptr %61, align 4, !tbaa !9
  %3681 = sext i32 %3680 to i64
  %3682 = getelementptr inbounds float, ptr %3679, i64 %3681
  %3683 = load float, ptr %3682, align 4, !tbaa !11
  %3684 = fmul float %3678, %3683
  %3685 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 0
  store float %3684, ptr %3685, align 4, !tbaa !11
  %3686 = load float, ptr %23, align 4, !tbaa !11
  %3687 = load float, ptr %28, align 4, !tbaa !11
  %3688 = fcmp olt float %3686, %3687
  br i1 %3688, label %3689, label %3696

3689:                                             ; preds = %3629
  %3690 = load float, ptr %37, align 4, !tbaa !11
  %3691 = load float, ptr %37, align 4, !tbaa !11
  %3692 = fmul float %3690, %3691
  %3693 = load float, ptr %21, align 4, !tbaa !11
  %3694 = fmul float %3692, %3693
  %3695 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 2
  store float %3694, ptr %3695, align 4, !tbaa !11
  br label %3707

3696:                                             ; preds = %3629
  %3697 = load float, ptr %37, align 4, !tbaa !11
  %3698 = load float, ptr %37, align 4, !tbaa !11
  %3699 = fmul float %3697, %3698
  %3700 = load float, ptr %23, align 4, !tbaa !11
  %3701 = load float, ptr %28, align 4, !tbaa !11
  %3702 = fsub float %3700, %3701
  %3703 = load float, ptr %21, align 4, !tbaa !11
  %3704 = fadd float %3702, %3703
  %3705 = fmul float %3699, %3704
  %3706 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 2
  store float %3705, ptr %3706, align 4, !tbaa !11
  br label %3707

3707:                                             ; preds = %3696, %3689
  br label %3787

3708:                                             ; preds = %3626
  %3709 = load ptr, ptr %13, align 8, !tbaa !5
  %3710 = load i32, ptr %62, align 4, !tbaa !9
  %3711 = sext i32 %3710 to i64
  %3712 = getelementptr inbounds float, ptr %3709, i64 %3711
  %3713 = load float, ptr %3712, align 4, !tbaa !11
  %3714 = load float, ptr %37, align 4, !tbaa !11
  %3715 = fdiv float %3713, %3714
  store float %3715, ptr %28, align 4, !tbaa !11
  %3716 = load float, ptr %28, align 4, !tbaa !11
  %3717 = load float, ptr %28, align 4, !tbaa !11
  %3718 = fmul float %3717, %3716
  store float %3718, ptr %28, align 4, !tbaa !11
  %3719 = load ptr, ptr %12, align 8, !tbaa !5
  %3720 = load i32, ptr %62, align 4, !tbaa !9
  %3721 = sext i32 %3720 to i64
  %3722 = getelementptr inbounds float, ptr %3719, i64 %3721
  %3723 = load float, ptr %3722, align 4, !tbaa !11
  %3724 = load ptr, ptr %12, align 8, !tbaa !5
  %3725 = load i32, ptr %61, align 4, !tbaa !9
  %3726 = sext i32 %3725 to i64
  %3727 = getelementptr inbounds float, ptr %3724, i64 %3726
  %3728 = load float, ptr %3727, align 4, !tbaa !11
  %3729 = fsub float %3723, %3728
  %3730 = load ptr, ptr %12, align 8, !tbaa !5
  %3731 = load i32, ptr %61, align 4, !tbaa !9
  %3732 = sext i32 %3731 to i64
  %3733 = getelementptr inbounds float, ptr %3730, i64 %3732
  %3734 = load float, ptr %3733, align 4, !tbaa !11
  %3735 = load ptr, ptr %12, align 8, !tbaa !5
  %3736 = load i32, ptr %62, align 4, !tbaa !9
  %3737 = sext i32 %3736 to i64
  %3738 = getelementptr inbounds float, ptr %3735, i64 %3737
  %3739 = load float, ptr %3738, align 4, !tbaa !11
  %3740 = fadd float %3734, %3739
  %3741 = fmul float %3729, %3740
  %3742 = load float, ptr %28, align 4, !tbaa !11
  %3743 = fmul float %3741, %3742
  store float %3743, ptr %29, align 4, !tbaa !11
  %3744 = load float, ptr %26, align 4, !tbaa !11
  %3745 = load float, ptr %35, align 4, !tbaa !11
  %3746 = load float, ptr %23, align 4, !tbaa !11
  %3747 = load float, ptr %21, align 4, !tbaa !11
  %3748 = fadd float %3746, %3747
  %3749 = fneg float %3745
  %3750 = call float @llvm.fmuladd.f32(float %3749, float %3748, float %3744)
  %3751 = load float, ptr %29, align 4, !tbaa !11
  %3752 = fsub float %3750, %3751
  store float %3752, ptr %32, align 4, !tbaa !11
  %3753 = load float, ptr %21, align 4, !tbaa !11
  %3754 = load float, ptr %28, align 4, !tbaa !11
  %3755 = fcmp olt float %3753, %3754
  br i1 %3755, label %3756, label %3763

3756:                                             ; preds = %3708
  %3757 = load float, ptr %35, align 4, !tbaa !11
  %3758 = load float, ptr %35, align 4, !tbaa !11
  %3759 = fmul float %3757, %3758
  %3760 = load float, ptr %23, align 4, !tbaa !11
  %3761 = fmul float %3759, %3760
  %3762 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 0
  store float %3761, ptr %3762, align 4, !tbaa !11
  br label %3774

3763:                                             ; preds = %3708
  %3764 = load float, ptr %35, align 4, !tbaa !11
  %3765 = load float, ptr %35, align 4, !tbaa !11
  %3766 = fmul float %3764, %3765
  %3767 = load float, ptr %23, align 4, !tbaa !11
  %3768 = load float, ptr %21, align 4, !tbaa !11
  %3769 = load float, ptr %28, align 4, !tbaa !11
  %3770 = fsub float %3768, %3769
  %3771 = fadd float %3767, %3770
  %3772 = fmul float %3766, %3771
  %3773 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 0
  store float %3772, ptr %3773, align 4, !tbaa !11
  br label %3774

3774:                                             ; preds = %3763, %3756
  %3775 = load ptr, ptr %13, align 8, !tbaa !5
  %3776 = load i32, ptr %62, align 4, !tbaa !9
  %3777 = sext i32 %3776 to i64
  %3778 = getelementptr inbounds float, ptr %3775, i64 %3777
  %3779 = load float, ptr %3778, align 4, !tbaa !11
  %3780 = load ptr, ptr %13, align 8, !tbaa !5
  %3781 = load i32, ptr %62, align 4, !tbaa !9
  %3782 = sext i32 %3781 to i64
  %3783 = getelementptr inbounds float, ptr %3780, i64 %3782
  %3784 = load float, ptr %3783, align 4, !tbaa !11
  %3785 = fmul float %3779, %3784
  %3786 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 2
  store float %3785, ptr %3786, align 4, !tbaa !11
  br label %3787

3787:                                             ; preds = %3774, %3707
  br label %3788

3788:                                             ; preds = %3787, %3604
  %3789 = load float, ptr %35, align 4, !tbaa !11
  %3790 = getelementptr inbounds [3 x float], ptr %43, i64 0, i64 0
  store float %3789, ptr %3790, align 4, !tbaa !11
  %3791 = load ptr, ptr %14, align 8, !tbaa !5
  %3792 = load i32, ptr %46, align 4, !tbaa !9
  %3793 = sext i32 %3792 to i64
  %3794 = getelementptr inbounds float, ptr %3791, i64 %3793
  %3795 = load float, ptr %3794, align 4, !tbaa !11
  %3796 = load ptr, ptr %17, align 8, !tbaa !5
  %3797 = load i32, ptr %46, align 4, !tbaa !9
  %3798 = sext i32 %3797 to i64
  %3799 = getelementptr inbounds float, ptr %3796, i64 %3798
  %3800 = load float, ptr %3799, align 4, !tbaa !11
  %3801 = fmul float %3795, %3800
  %3802 = getelementptr inbounds [3 x float], ptr %43, i64 0, i64 1
  store float %3801, ptr %3802, align 4, !tbaa !11
  %3803 = load float, ptr %37, align 4, !tbaa !11
  %3804 = getelementptr inbounds [3 x float], ptr %43, i64 0, i64 2
  store float %3803, ptr %3804, align 4, !tbaa !11
  %3805 = getelementptr inbounds [3 x float], ptr %43, i64 0, i64 0
  %3806 = getelementptr inbounds [3 x float], ptr %48, i64 0, i64 0
  %3807 = load ptr, ptr %18, align 8, !tbaa !5
  call void @slaed6_(ptr noundef %38, ptr noundef %49, ptr noundef %32, ptr noundef %3805, ptr noundef %3806, ptr noundef %34, ptr noundef %55, ptr noundef %3807)
  %3808 = load ptr, ptr %18, align 8, !tbaa !5
  %3809 = load i32, ptr %3808, align 4, !tbaa !9
  %3810 = icmp ne i32 %3809, 0
  br i1 %3810, label %3811, label %4067

3811:                                             ; preds = %3788
  store i32 0, ptr %45, align 4, !tbaa !9
  %3812 = load ptr, ptr %18, align 8, !tbaa !5
  store i32 0, ptr %3812, align 4, !tbaa !9
  %3813 = load ptr, ptr %17, align 8, !tbaa !5
  %3814 = load i32, ptr %53, align 4, !tbaa !9
  %3815 = sext i32 %3814 to i64
  %3816 = getelementptr inbounds float, ptr %3813, i64 %3815
  %3817 = load float, ptr %3816, align 4, !tbaa !11
  %3818 = load ptr, ptr %14, align 8, !tbaa !5
  %3819 = load i32, ptr %53, align 4, !tbaa !9
  %3820 = sext i32 %3819 to i64
  %3821 = getelementptr inbounds float, ptr %3818, i64 %3820
  %3822 = load float, ptr %3821, align 4, !tbaa !11
  %3823 = fmul float %3817, %3822
  store float %3823, ptr %51, align 4, !tbaa !11
  %3824 = load ptr, ptr %17, align 8, !tbaa !5
  %3825 = load ptr, ptr %11, align 8, !tbaa !5
  %3826 = load i32, ptr %3825, align 4, !tbaa !9
  %3827 = sext i32 %3826 to i64
  %3828 = getelementptr inbounds float, ptr %3824, i64 %3827
  %3829 = load float, ptr %3828, align 4, !tbaa !11
  %3830 = load ptr, ptr %14, align 8, !tbaa !5
  %3831 = load ptr, ptr %11, align 8, !tbaa !5
  %3832 = load i32, ptr %3831, align 4, !tbaa !9
  %3833 = sext i32 %3832 to i64
  %3834 = getelementptr inbounds float, ptr %3830, i64 %3833
  %3835 = load float, ptr %3834, align 4, !tbaa !11
  %3836 = fmul float %3829, %3835
  store float %3836, ptr %39, align 4, !tbaa !11
  %3837 = load i32, ptr %40, align 4, !tbaa !9
  %3838 = icmp ne i32 %3837, 0
  br i1 %3838, label %3881, label %3839

3839:                                             ; preds = %3811
  %3840 = load i32, ptr %49, align 4, !tbaa !9
  %3841 = icmp ne i32 %3840, 0
  br i1 %3841, label %3842, label %3861

3842:                                             ; preds = %3839
  %3843 = load ptr, ptr %13, align 8, !tbaa !5
  %3844 = load ptr, ptr %11, align 8, !tbaa !5
  %3845 = load i32, ptr %3844, align 4, !tbaa !9
  %3846 = sext i32 %3845 to i64
  %3847 = getelementptr inbounds float, ptr %3843, i64 %3846
  %3848 = load float, ptr %3847, align 4, !tbaa !11
  %3849 = load float, ptr %39, align 4, !tbaa !11
  %3850 = fdiv float %3848, %3849
  store float %3850, ptr %20, align 4, !tbaa !11
  %3851 = load float, ptr %34, align 4, !tbaa !11
  %3852 = load float, ptr %51, align 4, !tbaa !11
  %3853 = load float, ptr %47, align 4, !tbaa !11
  %3854 = fneg float %3852
  %3855 = call float @llvm.fmuladd.f32(float %3854, float %3853, float %3851)
  %3856 = load float, ptr %36, align 4, !tbaa !11
  %3857 = load float, ptr %20, align 4, !tbaa !11
  %3858 = load float, ptr %20, align 4, !tbaa !11
  %3859 = fmul float %3857, %3858
  %3860 = call float @llvm.fmuladd.f32(float %3856, float %3859, float %3855)
  store float %3860, ptr %32, align 4, !tbaa !11
  br label %3880

3861:                                             ; preds = %3839
  %3862 = load ptr, ptr %13, align 8, !tbaa !5
  %3863 = load i32, ptr %53, align 4, !tbaa !9
  %3864 = sext i32 %3863 to i64
  %3865 = getelementptr inbounds float, ptr %3862, i64 %3864
  %3866 = load float, ptr %3865, align 4, !tbaa !11
  %3867 = load float, ptr %51, align 4, !tbaa !11
  %3868 = fdiv float %3866, %3867
  store float %3868, ptr %20, align 4, !tbaa !11
  %3869 = load float, ptr %34, align 4, !tbaa !11
  %3870 = load float, ptr %39, align 4, !tbaa !11
  %3871 = load float, ptr %47, align 4, !tbaa !11
  %3872 = fneg float %3870
  %3873 = call float @llvm.fmuladd.f32(float %3872, float %3871, float %3869)
  %3874 = load float, ptr %36, align 4, !tbaa !11
  %3875 = load float, ptr %20, align 4, !tbaa !11
  %3876 = load float, ptr %20, align 4, !tbaa !11
  %3877 = fmul float %3875, %3876
  %3878 = fneg float %3874
  %3879 = call float @llvm.fmuladd.f32(float %3878, float %3877, float %3873)
  store float %3879, ptr %32, align 4, !tbaa !11
  br label %3880

3880:                                             ; preds = %3861, %3842
  br label %3921

3881:                                             ; preds = %3811
  %3882 = load ptr, ptr %13, align 8, !tbaa !5
  %3883 = load i32, ptr %46, align 4, !tbaa !9
  %3884 = sext i32 %3883 to i64
  %3885 = getelementptr inbounds float, ptr %3882, i64 %3884
  %3886 = load float, ptr %3885, align 4, !tbaa !11
  %3887 = load ptr, ptr %17, align 8, !tbaa !5
  %3888 = load i32, ptr %46, align 4, !tbaa !9
  %3889 = sext i32 %3888 to i64
  %3890 = getelementptr inbounds float, ptr %3887, i64 %3889
  %3891 = load float, ptr %3890, align 4, !tbaa !11
  %3892 = load ptr, ptr %14, align 8, !tbaa !5
  %3893 = load i32, ptr %46, align 4, !tbaa !9
  %3894 = sext i32 %3893 to i64
  %3895 = getelementptr inbounds float, ptr %3892, i64 %3894
  %3896 = load float, ptr %3895, align 4, !tbaa !11
  %3897 = fmul float %3891, %3896
  %3898 = fdiv float %3886, %3897
  store float %3898, ptr %26, align 4, !tbaa !11
  %3899 = load i32, ptr %49, align 4, !tbaa !9
  %3900 = icmp ne i32 %3899, 0
  br i1 %3900, label %3901, label %3906

3901:                                             ; preds = %3881
  %3902 = load float, ptr %26, align 4, !tbaa !11
  %3903 = load float, ptr %26, align 4, !tbaa !11
  %3904 = load float, ptr %23, align 4, !tbaa !11
  %3905 = call float @llvm.fmuladd.f32(float %3902, float %3903, float %3904)
  store float %3905, ptr %23, align 4, !tbaa !11
  br label %3911

3906:                                             ; preds = %3881
  %3907 = load float, ptr %26, align 4, !tbaa !11
  %3908 = load float, ptr %26, align 4, !tbaa !11
  %3909 = load float, ptr %21, align 4, !tbaa !11
  %3910 = call float @llvm.fmuladd.f32(float %3907, float %3908, float %3909)
  store float %3910, ptr %21, align 4, !tbaa !11
  br label %3911

3911:                                             ; preds = %3906, %3901
  %3912 = load float, ptr %34, align 4, !tbaa !11
  %3913 = load float, ptr %39, align 4, !tbaa !11
  %3914 = load float, ptr %23, align 4, !tbaa !11
  %3915 = fneg float %3913
  %3916 = call float @llvm.fmuladd.f32(float %3915, float %3914, float %3912)
  %3917 = load float, ptr %51, align 4, !tbaa !11
  %3918 = load float, ptr %21, align 4, !tbaa !11
  %3919 = fneg float %3917
  %3920 = call float @llvm.fmuladd.f32(float %3919, float %3918, float %3916)
  store float %3920, ptr %32, align 4, !tbaa !11
  br label %3921

3921:                                             ; preds = %3911, %3880
  %3922 = load float, ptr %51, align 4, !tbaa !11
  %3923 = load float, ptr %39, align 4, !tbaa !11
  %3924 = fadd float %3922, %3923
  %3925 = load float, ptr %34, align 4, !tbaa !11
  %3926 = load float, ptr %51, align 4, !tbaa !11
  %3927 = load float, ptr %39, align 4, !tbaa !11
  %3928 = fmul float %3926, %3927
  %3929 = load float, ptr %47, align 4, !tbaa !11
  %3930 = fmul float %3928, %3929
  %3931 = fneg float %3930
  %3932 = call float @llvm.fmuladd.f32(float %3924, float %3925, float %3931)
  store float %3932, ptr %30, align 4, !tbaa !11
  %3933 = load float, ptr %51, align 4, !tbaa !11
  %3934 = load float, ptr %39, align 4, !tbaa !11
  %3935 = fmul float %3933, %3934
  %3936 = load float, ptr %34, align 4, !tbaa !11
  %3937 = fmul float %3935, %3936
  store float %3937, ptr %31, align 4, !tbaa !11
  %3938 = load float, ptr %32, align 4, !tbaa !11
  %3939 = fcmp oeq float %3938, 0.000000e+00
  br i1 %3939, label %3940, label %4006

3940:                                             ; preds = %3921
  %3941 = load float, ptr %30, align 4, !tbaa !11
  %3942 = fcmp oeq float %3941, 0.000000e+00
  br i1 %3942, label %3943, label %4002

3943:                                             ; preds = %3940
  %3944 = load i32, ptr %40, align 4, !tbaa !9
  %3945 = icmp ne i32 %3944, 0
  br i1 %3945, label %3990, label %3946

3946:                                             ; preds = %3943
  %3947 = load i32, ptr %49, align 4, !tbaa !9
  %3948 = icmp ne i32 %3947, 0
  br i1 %3948, label %3949, label %3970

3949:                                             ; preds = %3946
  %3950 = load ptr, ptr %13, align 8, !tbaa !5
  %3951 = load ptr, ptr %11, align 8, !tbaa !5
  %3952 = load i32, ptr %3951, align 4, !tbaa !9
  %3953 = sext i32 %3952 to i64
  %3954 = getelementptr inbounds float, ptr %3950, i64 %3953
  %3955 = load float, ptr %3954, align 4, !tbaa !11
  %3956 = load ptr, ptr %13, align 8, !tbaa !5
  %3957 = load ptr, ptr %11, align 8, !tbaa !5
  %3958 = load i32, ptr %3957, align 4, !tbaa !9
  %3959 = sext i32 %3958 to i64
  %3960 = getelementptr inbounds float, ptr %3956, i64 %3959
  %3961 = load float, ptr %3960, align 4, !tbaa !11
  %3962 = load float, ptr %51, align 4, !tbaa !11
  %3963 = load float, ptr %51, align 4, !tbaa !11
  %3964 = fmul float %3962, %3963
  %3965 = load float, ptr %23, align 4, !tbaa !11
  %3966 = load float, ptr %21, align 4, !tbaa !11
  %3967 = fadd float %3965, %3966
  %3968 = fmul float %3964, %3967
  %3969 = call float @llvm.fmuladd.f32(float %3955, float %3961, float %3968)
  store float %3969, ptr %30, align 4, !tbaa !11
  br label %3989

3970:                                             ; preds = %3946
  %3971 = load ptr, ptr %13, align 8, !tbaa !5
  %3972 = load i32, ptr %53, align 4, !tbaa !9
  %3973 = sext i32 %3972 to i64
  %3974 = getelementptr inbounds float, ptr %3971, i64 %3973
  %3975 = load float, ptr %3974, align 4, !tbaa !11
  %3976 = load ptr, ptr %13, align 8, !tbaa !5
  %3977 = load i32, ptr %53, align 4, !tbaa !9
  %3978 = sext i32 %3977 to i64
  %3979 = getelementptr inbounds float, ptr %3976, i64 %3978
  %3980 = load float, ptr %3979, align 4, !tbaa !11
  %3981 = load float, ptr %39, align 4, !tbaa !11
  %3982 = load float, ptr %39, align 4, !tbaa !11
  %3983 = fmul float %3981, %3982
  %3984 = load float, ptr %23, align 4, !tbaa !11
  %3985 = load float, ptr %21, align 4, !tbaa !11
  %3986 = fadd float %3984, %3985
  %3987 = fmul float %3983, %3986
  %3988 = call float @llvm.fmuladd.f32(float %3975, float %3980, float %3987)
  store float %3988, ptr %30, align 4, !tbaa !11
  br label %3989

3989:                                             ; preds = %3970, %3949
  br label %4001

3990:                                             ; preds = %3943
  %3991 = load float, ptr %39, align 4, !tbaa !11
  %3992 = load float, ptr %39, align 4, !tbaa !11
  %3993 = fmul float %3991, %3992
  %3994 = load float, ptr %23, align 4, !tbaa !11
  %3995 = load float, ptr %51, align 4, !tbaa !11
  %3996 = load float, ptr %51, align 4, !tbaa !11
  %3997 = fmul float %3995, %3996
  %3998 = load float, ptr %21, align 4, !tbaa !11
  %3999 = fmul float %3997, %3998
  %4000 = call float @llvm.fmuladd.f32(float %3993, float %3994, float %3999)
  store float %4000, ptr %30, align 4, !tbaa !11
  br label %4001

4001:                                             ; preds = %3990, %3989
  br label %4002

4002:                                             ; preds = %4001, %3940
  %4003 = load float, ptr %31, align 4, !tbaa !11
  %4004 = load float, ptr %30, align 4, !tbaa !11
  %4005 = fdiv float %4003, %4004
  store float %4005, ptr %55, align 4, !tbaa !11
  br label %4066

4006:                                             ; preds = %3921
  %4007 = load float, ptr %30, align 4, !tbaa !11
  %4008 = fcmp ole float %4007, 0.000000e+00
  br i1 %4008, label %4009, label %4037

4009:                                             ; preds = %4006
  %4010 = load float, ptr %30, align 4, !tbaa !11
  %4011 = fpext float %4010 to double
  %4012 = load float, ptr %30, align 4, !tbaa !11
  %4013 = load float, ptr %30, align 4, !tbaa !11
  %4014 = load float, ptr %31, align 4, !tbaa !11
  %4015 = fmul float %4014, 4.000000e+00
  %4016 = load float, ptr %32, align 4, !tbaa !11
  %4017 = fmul float %4015, %4016
  %4018 = fneg float %4017
  %4019 = call float @llvm.fmuladd.f32(float %4012, float %4013, float %4018)
  store float %4019, ptr %20, align 4, !tbaa !11
  %4020 = load float, ptr %20, align 4, !tbaa !11
  %4021 = fcmp oge float %4020, 0.000000e+00
  br i1 %4021, label %4022, label %4024

4022:                                             ; preds = %4009
  %4023 = load float, ptr %20, align 4, !tbaa !11
  br label %4027

4024:                                             ; preds = %4009
  %4025 = load float, ptr %20, align 4, !tbaa !11
  %4026 = fneg float %4025
  br label %4027

4027:                                             ; preds = %4024, %4022
  %4028 = phi float [ %4023, %4022 ], [ %4026, %4024 ]
  %4029 = fpext float %4028 to double
  %4030 = call double @sqrt(double noundef %4029) #5
  %4031 = fsub double %4011, %4030
  %4032 = load float, ptr %32, align 4, !tbaa !11
  %4033 = fmul float %4032, 2.000000e+00
  %4034 = fpext float %4033 to double
  %4035 = fdiv double %4031, %4034
  %4036 = fptrunc double %4035 to float
  store float %4036, ptr %55, align 4, !tbaa !11
  br label %4065

4037:                                             ; preds = %4006
  %4038 = load float, ptr %31, align 4, !tbaa !11
  %4039 = fmul float %4038, 2.000000e+00
  %4040 = fpext float %4039 to double
  %4041 = load float, ptr %30, align 4, !tbaa !11
  %4042 = fpext float %4041 to double
  %4043 = load float, ptr %30, align 4, !tbaa !11
  %4044 = load float, ptr %30, align 4, !tbaa !11
  %4045 = load float, ptr %31, align 4, !tbaa !11
  %4046 = fmul float %4045, 4.000000e+00
  %4047 = load float, ptr %32, align 4, !tbaa !11
  %4048 = fmul float %4046, %4047
  %4049 = fneg float %4048
  %4050 = call float @llvm.fmuladd.f32(float %4043, float %4044, float %4049)
  store float %4050, ptr %20, align 4, !tbaa !11
  %4051 = load float, ptr %20, align 4, !tbaa !11
  %4052 = fcmp oge float %4051, 0.000000e+00
  br i1 %4052, label %4053, label %4055

4053:                                             ; preds = %4037
  %4054 = load float, ptr %20, align 4, !tbaa !11
  br label %4058

4055:                                             ; preds = %4037
  %4056 = load float, ptr %20, align 4, !tbaa !11
  %4057 = fneg float %4056
  br label %4058

4058:                                             ; preds = %4055, %4053
  %4059 = phi float [ %4054, %4053 ], [ %4057, %4055 ]
  %4060 = fpext float %4059 to double
  %4061 = call double @sqrt(double noundef %4060) #5
  %4062 = fadd double %4042, %4061
  %4063 = fdiv double %4040, %4062
  %4064 = fptrunc double %4063 to float
  store float %4064, ptr %55, align 4, !tbaa !11
  br label %4065

4065:                                             ; preds = %4058, %4027
  br label %4066

4066:                                             ; preds = %4065, %4002
  br label %4067

4067:                                             ; preds = %4066, %3788
  br label %4068

4068:                                             ; preds = %4067, %3573
  %4069 = load float, ptr %34, align 4, !tbaa !11
  %4070 = load float, ptr %55, align 4, !tbaa !11
  %4071 = fmul float %4069, %4070
  %4072 = fcmp oge float %4071, 0.000000e+00
  br i1 %4072, label %4073, label %4078

4073:                                             ; preds = %4068
  %4074 = load float, ptr %34, align 4, !tbaa !11
  %4075 = fneg float %4074
  %4076 = load float, ptr %47, align 4, !tbaa !11
  %4077 = fdiv float %4075, %4076
  store float %4077, ptr %55, align 4, !tbaa !11
  br label %4078

4078:                                             ; preds = %4073, %4068
  %4079 = load ptr, ptr %16, align 8, !tbaa !5
  %4080 = load float, ptr %4079, align 4, !tbaa !11
  %4081 = fpext float %4080 to double
  %4082 = load ptr, ptr %16, align 8, !tbaa !5
  %4083 = load float, ptr %4082, align 4, !tbaa !11
  %4084 = load ptr, ptr %16, align 8, !tbaa !5
  %4085 = load float, ptr %4084, align 4, !tbaa !11
  %4086 = load float, ptr %55, align 4, !tbaa !11
  %4087 = call float @llvm.fmuladd.f32(float %4083, float %4085, float %4086)
  %4088 = fpext float %4087 to double
  %4089 = call double @sqrt(double noundef %4088) #5
  %4090 = fadd double %4081, %4089
  %4091 = load float, ptr %55, align 4, !tbaa !11
  %4092 = fpext float %4091 to double
  %4093 = fdiv double %4092, %4090
  %4094 = fptrunc double %4093 to float
  store float %4094, ptr %55, align 4, !tbaa !11
  %4095 = load float, ptr %58, align 4, !tbaa !11
  %4096 = load float, ptr %55, align 4, !tbaa !11
  %4097 = fadd float %4095, %4096
  store float %4097, ptr %26, align 4, !tbaa !11
  %4098 = load float, ptr %26, align 4, !tbaa !11
  %4099 = load float, ptr %24, align 4, !tbaa !11
  %4100 = fcmp ogt float %4098, %4099
  br i1 %4100, label %4105, label %4101

4101:                                             ; preds = %4078
  %4102 = load float, ptr %26, align 4, !tbaa !11
  %4103 = load float, ptr %22, align 4, !tbaa !11
  %4104 = fcmp olt float %4102, %4103
  br i1 %4104, label %4105, label %4154

4105:                                             ; preds = %4101, %4078
  %4106 = load float, ptr %34, align 4, !tbaa !11
  %4107 = fcmp olt float %4106, 0.000000e+00
  br i1 %4107, label %4108, label %4113

4108:                                             ; preds = %4105
  %4109 = load float, ptr %24, align 4, !tbaa !11
  %4110 = load float, ptr %58, align 4, !tbaa !11
  %4111 = fsub float %4109, %4110
  %4112 = fdiv float %4111, 2.000000e+00
  store float %4112, ptr %55, align 4, !tbaa !11
  br label %4118

4113:                                             ; preds = %4105
  %4114 = load float, ptr %22, align 4, !tbaa !11
  %4115 = load float, ptr %58, align 4, !tbaa !11
  %4116 = fsub float %4114, %4115
  %4117 = fdiv float %4116, 2.000000e+00
  store float %4117, ptr %55, align 4, !tbaa !11
  br label %4118

4118:                                             ; preds = %4113, %4108
  %4119 = load i32, ptr %60, align 4, !tbaa !9
  %4120 = icmp ne i32 %4119, 0
  br i1 %4120, label %4121, label %4153

4121:                                             ; preds = %4118
  %4122 = load float, ptr %34, align 4, !tbaa !11
  %4123 = fcmp olt float %4122, 0.000000e+00
  br i1 %4123, label %4124, label %4138

4124:                                             ; preds = %4121
  %4125 = load float, ptr %58, align 4, !tbaa !11
  %4126 = fcmp ogt float %4125, 0.000000e+00
  br i1 %4126, label %4127, label %4137

4127:                                             ; preds = %4124
  %4128 = load float, ptr %24, align 4, !tbaa !11
  %4129 = load float, ptr %58, align 4, !tbaa !11
  %4130 = fmul float %4128, %4129
  %4131 = fpext float %4130 to double
  %4132 = call double @sqrt(double noundef %4131) #5
  %4133 = load float, ptr %58, align 4, !tbaa !11
  %4134 = fpext float %4133 to double
  %4135 = fsub double %4132, %4134
  %4136 = fptrunc double %4135 to float
  store float %4136, ptr %55, align 4, !tbaa !11
  br label %4137

4137:                                             ; preds = %4127, %4124
  br label %4152

4138:                                             ; preds = %4121
  %4139 = load float, ptr %22, align 4, !tbaa !11
  %4140 = fcmp ogt float %4139, 0.000000e+00
  br i1 %4140, label %4141, label %4151

4141:                                             ; preds = %4138
  %4142 = load float, ptr %22, align 4, !tbaa !11
  %4143 = load float, ptr %58, align 4, !tbaa !11
  %4144 = fmul float %4142, %4143
  %4145 = fpext float %4144 to double
  %4146 = call double @sqrt(double noundef %4145) #5
  %4147 = load float, ptr %58, align 4, !tbaa !11
  %4148 = fpext float %4147 to double
  %4149 = fsub double %4146, %4148
  %4150 = fptrunc double %4149 to float
  store float %4150, ptr %55, align 4, !tbaa !11
  br label %4151

4151:                                             ; preds = %4141, %4138
  br label %4152

4152:                                             ; preds = %4151, %4137
  br label %4153

4153:                                             ; preds = %4152, %4118
  br label %4154

4154:                                             ; preds = %4153, %4101
  %4155 = load float, ptr %34, align 4, !tbaa !11
  store float %4155, ptr %27, align 4, !tbaa !11
  %4156 = load float, ptr %55, align 4, !tbaa !11
  %4157 = load float, ptr %58, align 4, !tbaa !11
  %4158 = fadd float %4157, %4156
  store float %4158, ptr %58, align 4, !tbaa !11
  %4159 = load float, ptr %55, align 4, !tbaa !11
  %4160 = load ptr, ptr %16, align 8, !tbaa !5
  %4161 = load float, ptr %4160, align 4, !tbaa !11
  %4162 = fadd float %4161, %4159
  store float %4162, ptr %4160, align 4, !tbaa !11
  %4163 = load ptr, ptr %10, align 8, !tbaa !5
  %4164 = load i32, ptr %4163, align 4, !tbaa !9
  store i32 %4164, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %4165

4165:                                             ; preds = %4184, %4154
  %4166 = load i32, ptr %33, align 4, !tbaa !9
  %4167 = load i32, ptr %19, align 4, !tbaa !9
  %4168 = icmp sle i32 %4166, %4167
  br i1 %4168, label %4169, label %4187

4169:                                             ; preds = %4165
  %4170 = load float, ptr %55, align 4, !tbaa !11
  %4171 = load ptr, ptr %17, align 8, !tbaa !5
  %4172 = load i32, ptr %33, align 4, !tbaa !9
  %4173 = sext i32 %4172 to i64
  %4174 = getelementptr inbounds float, ptr %4171, i64 %4173
  %4175 = load float, ptr %4174, align 4, !tbaa !11
  %4176 = fadd float %4175, %4170
  store float %4176, ptr %4174, align 4, !tbaa !11
  %4177 = load float, ptr %55, align 4, !tbaa !11
  %4178 = load ptr, ptr %14, align 8, !tbaa !5
  %4179 = load i32, ptr %33, align 4, !tbaa !9
  %4180 = sext i32 %4179 to i64
  %4181 = getelementptr inbounds float, ptr %4178, i64 %4180
  %4182 = load float, ptr %4181, align 4, !tbaa !11
  %4183 = fsub float %4182, %4177
  store float %4183, ptr %4181, align 4, !tbaa !11
  br label %4184

4184:                                             ; preds = %4169
  %4185 = load i32, ptr %33, align 4, !tbaa !9
  %4186 = add nsw i32 %4185, 1
  store i32 %4186, ptr %33, align 4, !tbaa !9
  br label %4165, !llvm.loop !32

4187:                                             ; preds = %4165
  store float 0.000000e+00, ptr %23, align 4, !tbaa !11
  store float 0.000000e+00, ptr %59, align 4, !tbaa !11
  store float 0.000000e+00, ptr %50, align 4, !tbaa !11
  %4188 = load i32, ptr %61, align 4, !tbaa !9
  store i32 %4188, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %4189

4189:                                             ; preds = %4226, %4187
  %4190 = load i32, ptr %33, align 4, !tbaa !9
  %4191 = load i32, ptr %19, align 4, !tbaa !9
  %4192 = icmp sle i32 %4190, %4191
  br i1 %4192, label %4193, label %4229

4193:                                             ; preds = %4189
  %4194 = load ptr, ptr %13, align 8, !tbaa !5
  %4195 = load i32, ptr %33, align 4, !tbaa !9
  %4196 = sext i32 %4195 to i64
  %4197 = getelementptr inbounds float, ptr %4194, i64 %4196
  %4198 = load float, ptr %4197, align 4, !tbaa !11
  %4199 = load ptr, ptr %17, align 8, !tbaa !5
  %4200 = load i32, ptr %33, align 4, !tbaa !9
  %4201 = sext i32 %4200 to i64
  %4202 = getelementptr inbounds float, ptr %4199, i64 %4201
  %4203 = load float, ptr %4202, align 4, !tbaa !11
  %4204 = load ptr, ptr %14, align 8, !tbaa !5
  %4205 = load i32, ptr %33, align 4, !tbaa !9
  %4206 = sext i32 %4205 to i64
  %4207 = getelementptr inbounds float, ptr %4204, i64 %4206
  %4208 = load float, ptr %4207, align 4, !tbaa !11
  %4209 = fmul float %4203, %4208
  %4210 = fdiv float %4198, %4209
  store float %4210, ptr %26, align 4, !tbaa !11
  %4211 = load ptr, ptr %13, align 8, !tbaa !5
  %4212 = load i32, ptr %33, align 4, !tbaa !9
  %4213 = sext i32 %4212 to i64
  %4214 = getelementptr inbounds float, ptr %4211, i64 %4213
  %4215 = load float, ptr %4214, align 4, !tbaa !11
  %4216 = load float, ptr %26, align 4, !tbaa !11
  %4217 = load float, ptr %59, align 4, !tbaa !11
  %4218 = call float @llvm.fmuladd.f32(float %4215, float %4216, float %4217)
  store float %4218, ptr %59, align 4, !tbaa !11
  %4219 = load float, ptr %26, align 4, !tbaa !11
  %4220 = load float, ptr %26, align 4, !tbaa !11
  %4221 = load float, ptr %23, align 4, !tbaa !11
  %4222 = call float @llvm.fmuladd.f32(float %4219, float %4220, float %4221)
  store float %4222, ptr %23, align 4, !tbaa !11
  %4223 = load float, ptr %59, align 4, !tbaa !11
  %4224 = load float, ptr %50, align 4, !tbaa !11
  %4225 = fadd float %4224, %4223
  store float %4225, ptr %50, align 4, !tbaa !11
  br label %4226

4226:                                             ; preds = %4193
  %4227 = load i32, ptr %33, align 4, !tbaa !9
  %4228 = add nsw i32 %4227, 1
  store i32 %4228, ptr %33, align 4, !tbaa !9
  br label %4189, !llvm.loop !33

4229:                                             ; preds = %4189
  %4230 = load float, ptr %50, align 4, !tbaa !11
  %4231 = fcmp oge float %4230, 0.000000e+00
  br i1 %4231, label %4232, label %4234

4232:                                             ; preds = %4229
  %4233 = load float, ptr %50, align 4, !tbaa !11
  br label %4237

4234:                                             ; preds = %4229
  %4235 = load float, ptr %50, align 4, !tbaa !11
  %4236 = fneg float %4235
  br label %4237

4237:                                             ; preds = %4234, %4232
  %4238 = phi float [ %4233, %4232 ], [ %4236, %4234 ]
  store float %4238, ptr %50, align 4, !tbaa !11
  store float 0.000000e+00, ptr %21, align 4, !tbaa !11
  store float 0.000000e+00, ptr %56, align 4, !tbaa !11
  %4239 = load i32, ptr %62, align 4, !tbaa !9
  store i32 %4239, ptr %19, align 4, !tbaa !9
  %4240 = load ptr, ptr %10, align 8, !tbaa !5
  %4241 = load i32, ptr %4240, align 4, !tbaa !9
  store i32 %4241, ptr %33, align 4, !tbaa !9
  br label %4242

4242:                                             ; preds = %4279, %4237
  %4243 = load i32, ptr %33, align 4, !tbaa !9
  %4244 = load i32, ptr %19, align 4, !tbaa !9
  %4245 = icmp sge i32 %4243, %4244
  br i1 %4245, label %4246, label %4282

4246:                                             ; preds = %4242
  %4247 = load ptr, ptr %13, align 8, !tbaa !5
  %4248 = load i32, ptr %33, align 4, !tbaa !9
  %4249 = sext i32 %4248 to i64
  %4250 = getelementptr inbounds float, ptr %4247, i64 %4249
  %4251 = load float, ptr %4250, align 4, !tbaa !11
  %4252 = load ptr, ptr %17, align 8, !tbaa !5
  %4253 = load i32, ptr %33, align 4, !tbaa !9
  %4254 = sext i32 %4253 to i64
  %4255 = getelementptr inbounds float, ptr %4252, i64 %4254
  %4256 = load float, ptr %4255, align 4, !tbaa !11
  %4257 = load ptr, ptr %14, align 8, !tbaa !5
  %4258 = load i32, ptr %33, align 4, !tbaa !9
  %4259 = sext i32 %4258 to i64
  %4260 = getelementptr inbounds float, ptr %4257, i64 %4259
  %4261 = load float, ptr %4260, align 4, !tbaa !11
  %4262 = fmul float %4256, %4261
  %4263 = fdiv float %4251, %4262
  store float %4263, ptr %26, align 4, !tbaa !11
  %4264 = load ptr, ptr %13, align 8, !tbaa !5
  %4265 = load i32, ptr %33, align 4, !tbaa !9
  %4266 = sext i32 %4265 to i64
  %4267 = getelementptr inbounds float, ptr %4264, i64 %4266
  %4268 = load float, ptr %4267, align 4, !tbaa !11
  %4269 = load float, ptr %26, align 4, !tbaa !11
  %4270 = load float, ptr %56, align 4, !tbaa !11
  %4271 = call float @llvm.fmuladd.f32(float %4268, float %4269, float %4270)
  store float %4271, ptr %56, align 4, !tbaa !11
  %4272 = load float, ptr %26, align 4, !tbaa !11
  %4273 = load float, ptr %26, align 4, !tbaa !11
  %4274 = load float, ptr %21, align 4, !tbaa !11
  %4275 = call float @llvm.fmuladd.f32(float %4272, float %4273, float %4274)
  store float %4275, ptr %21, align 4, !tbaa !11
  %4276 = load float, ptr %56, align 4, !tbaa !11
  %4277 = load float, ptr %50, align 4, !tbaa !11
  %4278 = fadd float %4277, %4276
  store float %4278, ptr %50, align 4, !tbaa !11
  br label %4279

4279:                                             ; preds = %4246
  %4280 = load i32, ptr %33, align 4, !tbaa !9
  %4281 = add nsw i32 %4280, -1
  store i32 %4281, ptr %33, align 4, !tbaa !9
  br label %4242, !llvm.loop !34

4282:                                             ; preds = %4242
  %4283 = load ptr, ptr %17, align 8, !tbaa !5
  %4284 = load i32, ptr %46, align 4, !tbaa !9
  %4285 = sext i32 %4284 to i64
  %4286 = getelementptr inbounds float, ptr %4283, i64 %4285
  %4287 = load float, ptr %4286, align 4, !tbaa !11
  %4288 = load ptr, ptr %14, align 8, !tbaa !5
  %4289 = load i32, ptr %46, align 4, !tbaa !9
  %4290 = sext i32 %4289 to i64
  %4291 = getelementptr inbounds float, ptr %4288, i64 %4290
  %4292 = load float, ptr %4291, align 4, !tbaa !11
  %4293 = fmul float %4287, %4292
  store float %4293, ptr %63, align 4, !tbaa !11
  %4294 = load ptr, ptr %13, align 8, !tbaa !5
  %4295 = load i32, ptr %46, align 4, !tbaa !9
  %4296 = sext i32 %4295 to i64
  %4297 = getelementptr inbounds float, ptr %4294, i64 %4296
  %4298 = load float, ptr %4297, align 4, !tbaa !11
  %4299 = load float, ptr %63, align 4, !tbaa !11
  %4300 = fdiv float %4298, %4299
  store float %4300, ptr %26, align 4, !tbaa !11
  %4301 = load float, ptr %23, align 4, !tbaa !11
  %4302 = load float, ptr %21, align 4, !tbaa !11
  %4303 = fadd float %4301, %4302
  %4304 = load float, ptr %26, align 4, !tbaa !11
  %4305 = load float, ptr %26, align 4, !tbaa !11
  %4306 = call float @llvm.fmuladd.f32(float %4304, float %4305, float %4303)
  store float %4306, ptr %47, align 4, !tbaa !11
  %4307 = load ptr, ptr %13, align 8, !tbaa !5
  %4308 = load i32, ptr %46, align 4, !tbaa !9
  %4309 = sext i32 %4308 to i64
  %4310 = getelementptr inbounds float, ptr %4307, i64 %4309
  %4311 = load float, ptr %4310, align 4, !tbaa !11
  %4312 = load float, ptr %26, align 4, !tbaa !11
  %4313 = fmul float %4311, %4312
  store float %4313, ptr %26, align 4, !tbaa !11
  %4314 = load float, ptr %52, align 4, !tbaa !11
  %4315 = load float, ptr %56, align 4, !tbaa !11
  %4316 = fadd float %4314, %4315
  %4317 = load float, ptr %59, align 4, !tbaa !11
  %4318 = fadd float %4316, %4317
  %4319 = load float, ptr %26, align 4, !tbaa !11
  %4320 = fadd float %4318, %4319
  store float %4320, ptr %34, align 4, !tbaa !11
  %4321 = load float, ptr %56, align 4, !tbaa !11
  %4322 = load float, ptr %59, align 4, !tbaa !11
  %4323 = fsub float %4321, %4322
  %4324 = load float, ptr %50, align 4, !tbaa !11
  %4325 = call float @llvm.fmuladd.f32(float %4323, float 8.000000e+00, float %4324)
  %4326 = load float, ptr %52, align 4, !tbaa !11
  %4327 = call float @llvm.fmuladd.f32(float %4326, float 2.000000e+00, float %4325)
  %4328 = load float, ptr %26, align 4, !tbaa !11
  %4329 = fcmp oge float %4328, 0.000000e+00
  br i1 %4329, label %4330, label %4332

4330:                                             ; preds = %4282
  %4331 = load float, ptr %26, align 4, !tbaa !11
  br label %4335

4332:                                             ; preds = %4282
  %4333 = load float, ptr %26, align 4, !tbaa !11
  %4334 = fneg float %4333
  br label %4335

4335:                                             ; preds = %4332, %4330
  %4336 = phi float [ %4331, %4330 ], [ %4334, %4332 ]
  %4337 = call float @llvm.fmuladd.f32(float %4336, float 3.000000e+00, float %4327)
  store float %4337, ptr %50, align 4, !tbaa !11
  %4338 = load float, ptr %34, align 4, !tbaa !11
  %4339 = load float, ptr %27, align 4, !tbaa !11
  %4340 = fmul float %4338, %4339
  %4341 = fcmp ogt float %4340, 0.000000e+00
  br i1 %4341, label %4342, label %4368

4342:                                             ; preds = %4335
  %4343 = load float, ptr %34, align 4, !tbaa !11
  %4344 = fcmp oge float %4343, 0.000000e+00
  br i1 %4344, label %4345, label %4347

4345:                                             ; preds = %4342
  %4346 = load float, ptr %34, align 4, !tbaa !11
  br label %4350

4347:                                             ; preds = %4342
  %4348 = load float, ptr %34, align 4, !tbaa !11
  %4349 = fneg float %4348
  br label %4350

4350:                                             ; preds = %4347, %4345
  %4351 = phi float [ %4346, %4345 ], [ %4349, %4347 ]
  %4352 = load float, ptr %27, align 4, !tbaa !11
  %4353 = fcmp oge float %4352, 0.000000e+00
  br i1 %4353, label %4354, label %4356

4354:                                             ; preds = %4350
  %4355 = load float, ptr %27, align 4, !tbaa !11
  br label %4359

4356:                                             ; preds = %4350
  %4357 = load float, ptr %27, align 4, !tbaa !11
  %4358 = fneg float %4357
  br label %4359

4359:                                             ; preds = %4356, %4354
  %4360 = phi float [ %4355, %4354 ], [ %4358, %4356 ]
  %4361 = fdiv float %4360, 1.000000e+01
  %4362 = fcmp ogt float %4351, %4361
  br i1 %4362, label %4363, label %4368

4363:                                             ; preds = %4359
  %4364 = load i32, ptr %40, align 4, !tbaa !9
  %4365 = icmp ne i32 %4364, 0
  %4366 = xor i1 %4365, true
  %4367 = zext i1 %4366 to i32
  store i32 %4367, ptr %40, align 4, !tbaa !9
  br label %4368

4368:                                             ; preds = %4363, %4359, %4335
  br label %4369

4369:                                             ; preds = %4368
  %4370 = load i32, ptr %38, align 4, !tbaa !9
  %4371 = add nsw i32 %4370, 1
  store i32 %4371, ptr %38, align 4, !tbaa !9
  br label %3275, !llvm.loop !35

4372:                                             ; preds = %3275
  %4373 = load ptr, ptr %18, align 8, !tbaa !5
  store i32 1, ptr %4373, align 4, !tbaa !9
  br label %4374

4374:                                             ; preds = %4372
  br label %4375

4375:                                             ; preds = %4374, %3292, %2324, %1477, %1191, %856
  store i32 1, ptr %64, align 4
  br label %4376

4376:                                             ; preds = %4375, %107, %77
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #5
  call void @llvm.lifetime.end.p0(i64 12, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 12, ptr %43) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #5
  ret void
}

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #3

declare void @slasd5_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #4

declare float @slamch_(ptr noundef) #4

declare void @slaed6_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #4

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { "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 #5 = { 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 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"float", !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}
!32 = distinct !{!32, !14}
!33 = distinct !{!33, !14}
!34 = distinct !{!34, !14}
!35 = distinct !{!35, !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"

@.str = external hidden unnamed_addr constant [8 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @slasd4_(ptr nocapture noundef readonly %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) local_unnamed_addr #0 {
  %10 = alloca float, align 4
  %11 = alloca float, align 4
  %12 = alloca i32, align 4
  %13 = alloca [3 x float], align 4
  %14 = alloca [3 x float], align 4
  %15 = alloca i32, align 4
  %16 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %13) #6
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #6
  %17 = getelementptr inbounds i8, ptr %7, i64 -4
  %18 = getelementptr inbounds i8, ptr %4, i64 -4
  %19 = getelementptr inbounds i8, ptr %3, i64 -4
  %20 = getelementptr inbounds i8, ptr %2, i64 -4
  store i32 0, ptr %8, align 4, !tbaa !5
  %21 = load i32, ptr %0, align 4, !tbaa !5
  switch i32 %21, label %30 [
    i32 1, label %22
    i32 2, label %29
  ]

22:                                               ; preds = %9
  %23 = load float, ptr %2, align 4, !tbaa !9
  %24 = load float, ptr %5, align 4, !tbaa !9
  %25 = load float, ptr %3, align 4, !tbaa !9
  %26 = fmul float %24, %25
  %27 = fmul float %25, %26
  %28 = tail call float @llvm.fmuladd.f32(float %23, float %23, float %27)
  %sqrtf1648 = tail call float @sqrtf(float noundef %28) #2
  store float %sqrtf1648, ptr %6, align 4, !tbaa !9
  store float 1.000000e+00, ptr %4, align 4, !tbaa !9
  store float 1.000000e+00, ptr %7, align 4, !tbaa !9
  br label %.loopexit1656

29:                                               ; preds = %9
  tail call void @slasd5_(ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7) #6
  br label %.loopexit1656

30:                                               ; preds = %9
  %31 = tail call float @slamch_(ptr noundef nonnull @.str) #6
  %32 = load float, ptr %5, align 4, !tbaa !9
  %33 = fdiv float 1.000000e+00, %32
  %34 = load i32, ptr %1, align 4, !tbaa !5
  %35 = load i32, ptr %0, align 4, !tbaa !5
  %36 = icmp eq i32 %34, %35
  br i1 %36, label %37, label %770

37:                                               ; preds = %30
  %38 = add nsw i32 %34, -1
  %39 = fmul float %32, 5.000000e-01
  %40 = fpext float %39 to double
  %41 = sext i32 %34 to i64
  %42 = getelementptr inbounds float, ptr %20, i64 %41
  %43 = load float, ptr %42, align 4, !tbaa !9
  %44 = fpext float %43 to double
  %45 = tail call float @llvm.fmuladd.f32(float %43, float %43, float %39)
  %46 = fpext float %45 to double
  %47 = tail call double @sqrt(double noundef %46) #6
  %48 = fadd double %47, %44
  %49 = fdiv double %40, %48
  %50 = fptrunc double %49 to float
  %51 = load i32, ptr %0, align 4, !tbaa !5
  %.not16361765 = icmp slt i32 %51, 1
  br i1 %.not16361765, label %._crit_edge1775, label %.lr.ph1768

.lr.ph1768:                                       ; preds = %37
  %52 = zext nneg i32 %51 to i64
  %53 = getelementptr inbounds float, ptr %20, i64 %52
  %54 = add nuw i32 %51, 1
  %wide.trip.count1923 = zext i32 %54 to i64
  %55 = zext nneg i32 %51 to i64
  %min.iters.check2181 = icmp ult i32 %51, 16
  br i1 %min.iters.check2181, label %scalar.ph2180.preheader, label %vector.memcheck2155

vector.memcheck2155:                              ; preds = %.lr.ph1768
  %56 = shl nuw nsw i64 %wide.trip.count1923, 2
  %57 = add nsw i64 %56, -4
  %scevgep2156 = getelementptr i8, ptr %7, i64 %57
  %scevgep2157 = getelementptr i8, ptr %4, i64 %57
  %58 = shl nuw nsw i64 %52, 2
  %scevgep2158 = getelementptr i8, ptr %2, i64 %58
  %scevgep2159 = getelementptr i8, ptr %2, i64 %57
  %bound02160 = icmp ugt ptr %scevgep2157, %7
  %bound12161 = icmp ugt ptr %scevgep2156, %4
  %found.conflict2162 = and i1 %bound02160, %bound12161
  %bound02163 = icmp ugt ptr %scevgep2158, %7
  %bound12164 = icmp ult ptr %53, %scevgep2156
  %found.conflict2165 = and i1 %bound02163, %bound12164
  %conflict.rdx2166 = or i1 %found.conflict2162, %found.conflict2165
  %bound02167 = icmp ugt ptr %scevgep2159, %7
  %bound12168 = icmp ugt ptr %scevgep2156, %2
  %found.conflict2169 = and i1 %bound02167, %bound12168
  %conflict.rdx2170 = or i1 %conflict.rdx2166, %found.conflict2169
  %bound02171 = icmp ugt ptr %scevgep2158, %4
  %bound12172 = icmp ult ptr %53, %scevgep2157
  %found.conflict2173 = and i1 %bound02171, %bound12172
  %conflict.rdx2174 = or i1 %conflict.rdx2170, %found.conflict2173
  %bound02175 = icmp ugt ptr %scevgep2159, %4
  %bound12176 = icmp ugt ptr %scevgep2157, %2
  %found.conflict2177 = and i1 %bound02175, %bound12176
  %conflict.rdx2178 = or i1 %conflict.rdx2174, %found.conflict2177
  br i1 %conflict.rdx2178, label %scalar.ph2180.preheader, label %vector.ph2182

vector.ph2182:                                    ; preds = %vector.memcheck2155
  %n.vec2184 = and i64 %55, 2147483644
  %ind.end2185 = or disjoint i64 %n.vec2184, 1
  %broadcast.splatinsert2193 = insertelement <4 x float> poison, float %50, i64 0
  %broadcast.splat2194 = shufflevector <4 x float> %broadcast.splatinsert2193, <4 x float> poison, <4 x i32> zeroinitializer
  %59 = load float, ptr %53, align 4, !tbaa !9, !alias.scope !11
  %broadcast.splatinsert2191 = insertelement <4 x float> poison, float %59, i64 0
  %broadcast.splat2192 = shufflevector <4 x float> %broadcast.splatinsert2191, <4 x float> poison, <4 x i32> zeroinitializer
  %60 = load float, ptr %53, align 4, !tbaa !9, !alias.scope !11
  %broadcast.splatinsert2196 = insertelement <4 x float> poison, float %60, i64 0
  %broadcast.splat2197 = shufflevector <4 x float> %broadcast.splatinsert2196, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2187

vector.body2187:                                  ; preds = %vector.body2187, %vector.ph2182
  %index2188 = phi i64 [ 0, %vector.ph2182 ], [ %index.next2198, %vector.body2187 ]
  %61 = getelementptr float, ptr %2, i64 %index2188
  %wide.load2190 = load <4 x float>, ptr %61, align 4, !tbaa !9, !alias.scope !14
  %62 = fadd <4 x float> %wide.load2190, %broadcast.splat2192
  %63 = fadd <4 x float> %62, %broadcast.splat2194
  %64 = getelementptr float, ptr %7, i64 %index2188
  store <4 x float> %63, ptr %64, align 4, !tbaa !9, !alias.scope !16, !noalias !18
  %wide.load2195 = load <4 x float>, ptr %61, align 4, !tbaa !9, !alias.scope !14
  %65 = fsub <4 x float> %wide.load2195, %broadcast.splat2197
  %66 = fsub <4 x float> %65, %broadcast.splat2194
  %67 = getelementptr float, ptr %4, i64 %index2188
  store <4 x float> %66, ptr %67, align 4, !tbaa !9, !alias.scope !20, !noalias !21
  %index.next2198 = add nuw i64 %index2188, 4
  %68 = icmp eq i64 %index.next2198, %n.vec2184
  br i1 %68, label %middle.block2179, label %vector.body2187, !llvm.loop !22

middle.block2179:                                 ; preds = %vector.body2187
  %cmp.n2199 = icmp eq i64 %n.vec2184, %55
  br i1 %cmp.n2199, label %._crit_edge1769, label %scalar.ph2180.preheader

scalar.ph2180.preheader:                          ; preds = %middle.block2179, %vector.memcheck2155, %.lr.ph1768
  %indvars.iv1920.ph = phi i64 [ 1, %vector.memcheck2155 ], [ 1, %.lr.ph1768 ], [ %ind.end2185, %middle.block2179 ]
  %69 = zext nneg i32 %51 to i64
  %70 = and i32 %51, 1
  %lcmp.mod2366.not = icmp eq i32 %70, 0
  br i1 %lcmp.mod2366.not, label %scalar.ph2180.prol.loopexit, label %scalar.ph2180.prol

scalar.ph2180.prol:                               ; preds = %scalar.ph2180.preheader
  %71 = getelementptr inbounds float, ptr %20, i64 %indvars.iv1920.ph
  %72 = load float, ptr %71, align 4, !tbaa !9
  %73 = load float, ptr %53, align 4, !tbaa !9
  %74 = fadd float %72, %73
  %75 = fadd float %74, %50
  %76 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1920.ph
  store float %75, ptr %76, align 4, !tbaa !9
  %77 = load float, ptr %71, align 4, !tbaa !9
  %78 = load float, ptr %53, align 4, !tbaa !9
  %79 = fsub float %77, %78
  %80 = fsub float %79, %50
  %81 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1920.ph
  store float %80, ptr %81, align 4, !tbaa !9
  %indvars.iv.next1921.prol = add nuw nsw i64 %indvars.iv1920.ph, 1
  br label %scalar.ph2180.prol.loopexit

scalar.ph2180.prol.loopexit:                      ; preds = %scalar.ph2180.prol, %scalar.ph2180.preheader
  %indvars.iv1920.unr = phi i64 [ %indvars.iv1920.ph, %scalar.ph2180.preheader ], [ %indvars.iv.next1921.prol, %scalar.ph2180.prol ]
  %82 = icmp eq i64 %indvars.iv1920.ph, %69
  br i1 %82, label %._crit_edge1769, label %scalar.ph2180

scalar.ph2180:                                    ; preds = %scalar.ph2180.prol.loopexit, %scalar.ph2180
  %indvars.iv1920 = phi i64 [ %indvars.iv.next1921.1, %scalar.ph2180 ], [ %indvars.iv1920.unr, %scalar.ph2180.prol.loopexit ]
  %83 = getelementptr inbounds float, ptr %20, i64 %indvars.iv1920
  %84 = load float, ptr %83, align 4, !tbaa !9
  %85 = load float, ptr %53, align 4, !tbaa !9
  %86 = fadd float %84, %85
  %87 = fadd float %86, %50
  %88 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1920
  store float %87, ptr %88, align 4, !tbaa !9
  %89 = load float, ptr %83, align 4, !tbaa !9
  %90 = load float, ptr %53, align 4, !tbaa !9
  %91 = fsub float %89, %90
  %92 = fsub float %91, %50
  %93 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1920
  store float %92, ptr %93, align 4, !tbaa !9
  %94 = getelementptr float, ptr %2, i64 %indvars.iv1920
  %95 = load float, ptr %94, align 4, !tbaa !9
  %96 = load float, ptr %53, align 4, !tbaa !9
  %97 = fadd float %95, %96
  %98 = fadd float %97, %50
  %99 = getelementptr float, ptr %7, i64 %indvars.iv1920
  store float %98, ptr %99, align 4, !tbaa !9
  %100 = load float, ptr %94, align 4, !tbaa !9
  %101 = load float, ptr %53, align 4, !tbaa !9
  %102 = fsub float %100, %101
  %103 = fsub float %102, %50
  %104 = getelementptr float, ptr %4, i64 %indvars.iv1920
  store float %103, ptr %104, align 4, !tbaa !9
  %indvars.iv.next1921.1 = add nuw nsw i64 %indvars.iv1920, 2
  %exitcond1924.not.1 = icmp eq i64 %indvars.iv.next1921.1, %wide.trip.count1923
  br i1 %exitcond1924.not.1, label %._crit_edge1769, label %scalar.ph2180, !llvm.loop !26

._crit_edge1769:                                  ; preds = %scalar.ph2180.prol.loopexit, %scalar.ph2180, %middle.block2179
  %.not16371770 = icmp slt i32 %51, 3
  br i1 %.not16371770, label %._crit_edge1775, label %.lr.ph1774.preheader

.lr.ph1774.preheader:                             ; preds = %._crit_edge1769
  %105 = zext nneg i32 %51 to i64
  %xtraiter2367 = and i64 %105, 1
  %106 = icmp eq i32 %51, 3
  br i1 %106, label %._crit_edge1775.loopexit.unr-lcssa, label %.lr.ph1774.preheader.new

.lr.ph1774.preheader.new:                         ; preds = %.lr.ph1774.preheader
  %107 = and i64 %105, 2147483646
  %108 = add nsw i64 %107, -4
  br label %.lr.ph1774

.lr.ph1774:                                       ; preds = %.lr.ph1774, %.lr.ph1774.preheader.new
  %indvars.iv1925 = phi i64 [ 1, %.lr.ph1774.preheader.new ], [ %indvars.iv.next1926.1, %.lr.ph1774 ]
  %.014751772 = phi float [ 0.000000e+00, %.lr.ph1774.preheader.new ], [ %128, %.lr.ph1774 ]
  %niter2371 = phi i64 [ 0, %.lr.ph1774.preheader.new ], [ %niter2371.next.1, %.lr.ph1774 ]
  %109 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1925
  %110 = load float, ptr %109, align 4, !tbaa !9
  %111 = fmul float %110, %110
  %112 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1925
  %113 = load float, ptr %112, align 4, !tbaa !9
  %114 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1925
  %115 = load float, ptr %114, align 4, !tbaa !9
  %116 = fmul float %113, %115
  %117 = fdiv float %111, %116
  %118 = fadd float %.014751772, %117
  %119 = getelementptr float, ptr %3, i64 %indvars.iv1925
  %120 = load float, ptr %119, align 4, !tbaa !9
  %121 = fmul float %120, %120
  %122 = getelementptr float, ptr %4, i64 %indvars.iv1925
  %123 = load float, ptr %122, align 4, !tbaa !9
  %124 = getelementptr float, ptr %7, i64 %indvars.iv1925
  %125 = load float, ptr %124, align 4, !tbaa !9
  %126 = fmul float %123, %125
  %127 = fdiv float %121, %126
  %128 = fadd float %118, %127
  %indvars.iv.next1926.1 = add nuw nsw i64 %indvars.iv1925, 2
  %niter2371.next.1 = add i64 %niter2371, 2
  %niter2371.ncmp.1 = icmp eq i64 %niter2371, %108
  br i1 %niter2371.ncmp.1, label %._crit_edge1775.loopexit.unr-lcssa, label %.lr.ph1774, !llvm.loop !27

._crit_edge1775.loopexit.unr-lcssa:               ; preds = %.lr.ph1774, %.lr.ph1774.preheader
  %.lcssa2308.ph = phi float [ poison, %.lr.ph1774.preheader ], [ %128, %.lr.ph1774 ]
  %indvars.iv1925.unr = phi i64 [ 1, %.lr.ph1774.preheader ], [ %indvars.iv.next1926.1, %.lr.ph1774 ]
  %.014751772.unr = phi float [ 0.000000e+00, %.lr.ph1774.preheader ], [ %128, %.lr.ph1774 ]
  %lcmp.mod2368.not = icmp eq i64 %xtraiter2367, 0
  br i1 %lcmp.mod2368.not, label %._crit_edge1775, label %.lr.ph1774.epil

.lr.ph1774.epil:                                  ; preds = %._crit_edge1775.loopexit.unr-lcssa
  %129 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1925.unr
  %130 = load float, ptr %129, align 4, !tbaa !9
  %131 = fmul float %130, %130
  %132 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1925.unr
  %133 = load float, ptr %132, align 4, !tbaa !9
  %134 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1925.unr
  %135 = load float, ptr %134, align 4, !tbaa !9
  %136 = fmul float %133, %135
  %137 = fdiv float %131, %136
  %138 = fadd float %.014751772.unr, %137
  br label %._crit_edge1775

._crit_edge1775:                                  ; preds = %.lr.ph1774.epil, %._crit_edge1775.loopexit.unr-lcssa, %37, %._crit_edge1769
  %.01475.lcssa = phi float [ 0.000000e+00, %._crit_edge1769 ], [ 0.000000e+00, %37 ], [ %.lcssa2308.ph, %._crit_edge1775.loopexit.unr-lcssa ], [ %138, %.lr.ph1774.epil ]
  %139 = fadd float %33, %.01475.lcssa
  %140 = sext i32 %38 to i64
  %141 = getelementptr inbounds float, ptr %19, i64 %140
  %142 = load float, ptr %141, align 4, !tbaa !9
  %143 = getelementptr inbounds float, ptr %18, i64 %140
  %144 = load float, ptr %143, align 4, !tbaa !9
  %145 = getelementptr inbounds float, ptr %17, i64 %140
  %146 = load float, ptr %145, align 4, !tbaa !9
  %147 = sext i32 %51 to i64
  %148 = getelementptr inbounds float, ptr %19, i64 %147
  %149 = load float, ptr %148, align 4, !tbaa !9
  %150 = getelementptr inbounds float, ptr %18, i64 %147
  %151 = load float, ptr %150, align 4, !tbaa !9
  %152 = getelementptr inbounds float, ptr %17, i64 %147
  %153 = load float, ptr %152, align 4, !tbaa !9
  %154 = insertelement <2 x float> poison, float %142, i64 0
  %155 = insertelement <2 x float> %154, float %149, i64 1
  %156 = fmul <2 x float> %155, %155
  %157 = insertelement <2 x float> poison, float %144, i64 0
  %158 = insertelement <2 x float> %157, float %151, i64 1
  %159 = insertelement <2 x float> poison, float %146, i64 0
  %160 = insertelement <2 x float> %159, float %153, i64 1
  %161 = fmul <2 x float> %158, %160
  %162 = fdiv <2 x float> %156, %161
  %163 = extractelement <2 x float> %162, i64 0
  %164 = fadd float %139, %163
  %165 = extractelement <2 x float> %162, i64 1
  %166 = fadd float %164, %165
  %167 = fcmp ugt float %166, 0.000000e+00
  %168 = getelementptr inbounds float, ptr %20, i64 %147
  %169 = load float, ptr %168, align 4, !tbaa !9
  br i1 %167, label %230, label %170

170:                                              ; preds = %._crit_edge1775
  %171 = load float, ptr %5, align 4, !tbaa !9
  %172 = tail call float @llvm.fmuladd.f32(float %169, float %169, float %171)
  %sqrtf1638 = tail call float @sqrtf(float noundef %172) #2
  %173 = load i32, ptr %0, align 4, !tbaa !5
  %174 = add nsw i32 %173, -1
  %175 = sext i32 %174 to i64
  %176 = getelementptr inbounds float, ptr %19, i64 %175
  %177 = getelementptr inbounds float, ptr %20, i64 %175
  %178 = load float, ptr %177, align 4, !tbaa !9
  %179 = fadd float %sqrtf1638, %178
  %180 = sext i32 %173 to i64
  %181 = getelementptr inbounds float, ptr %20, i64 %180
  %182 = load float, ptr %181, align 4, !tbaa !9
  %183 = fsub float %182, %178
  %184 = load float, ptr %5, align 4, !tbaa !9
  %185 = fadd float %sqrtf1638, %182
  %186 = fdiv float %184, %185
  %187 = fadd float %183, %186
  %188 = fmul float %179, %187
  %189 = load <2 x float>, ptr %176, align 4, !tbaa !9
  %190 = fmul <2 x float> %189, %189
  %191 = insertelement <2 x float> poison, float %188, i64 0
  %192 = insertelement <2 x float> %191, float %184, i64 1
  %193 = fdiv <2 x float> %190, %192
  %shift = shufflevector <2 x float> %193, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %194 = fadd <2 x float> %shift, %193
  %195 = extractelement <2 x float> %194, i64 0
  %196 = fcmp ugt float %139, %195
  br i1 %196, label %197, label %281

197:                                              ; preds = %170
  %198 = fadd float %178, %182
  %199 = fmul float %183, %198
  %200 = fneg float %139
  %201 = extractelement <2 x float> %190, i64 0
  %202 = tail call float @llvm.fmuladd.f32(float %200, float %199, float %201)
  %203 = extractelement <2 x float> %189, i64 1
  %204 = tail call float @llvm.fmuladd.f32(float %203, float %203, float %202)
  %205 = extractelement <2 x float> %190, i64 1
  %206 = fmul float %199, %205
  %207 = fcmp olt float %204, 0.000000e+00
  br i1 %207, label %208, label %219

208:                                              ; preds = %197
  %209 = fmul float %206, 2.000000e+00
  %210 = fpext float %209 to double
  %211 = fmul float %206, 4.000000e+00
  %212 = fmul float %139, %211
  %213 = tail call float @llvm.fmuladd.f32(float %204, float %204, float %212)
  %214 = fpext float %213 to double
  %215 = tail call double @sqrt(double noundef %214) #6
  %216 = fpext float %204 to double
  %217 = fsub double %215, %216
  %218 = fdiv double %210, %217
  br label %.sink.split

219:                                              ; preds = %197
  %220 = fpext float %204 to double
  %221 = fmul float %206, 4.000000e+00
  %222 = fmul float %139, %221
  %223 = tail call float @llvm.fmuladd.f32(float %204, float %204, float %222)
  %224 = fpext float %223 to double
  %225 = tail call double @sqrt(double noundef %224) #6
  %226 = fadd double %225, %220
  %227 = fmul float %139, 2.000000e+00
  %228 = fpext float %227 to double
  %229 = fdiv double %226, %228
  br label %.sink.split

230:                                              ; preds = %._crit_edge1775
  %231 = add nsw i32 %51, -1
  %232 = sext i32 %231 to i64
  %233 = getelementptr inbounds float, ptr %20, i64 %232
  %234 = load float, ptr %233, align 4, !tbaa !9
  %235 = fsub float %169, %234
  %236 = fadd float %169, %234
  %237 = fmul float %235, %236
  %238 = fneg float %139
  %239 = getelementptr inbounds float, ptr %19, i64 %232
  %240 = load float, ptr %239, align 4, !tbaa !9
  %241 = fmul float %240, %240
  %242 = tail call float @llvm.fmuladd.f32(float %238, float %237, float %241)
  %243 = tail call float @llvm.fmuladd.f32(float %149, float %149, float %242)
  %244 = extractelement <2 x float> %156, i64 1
  %245 = fmul float %244, %237
  %246 = fcmp olt float %243, 0.000000e+00
  br i1 %246, label %247, label %258

247:                                              ; preds = %230
  %248 = fmul float %245, 2.000000e+00
  %249 = fpext float %248 to double
  %250 = fmul float %245, 4.000000e+00
  %251 = fmul float %139, %250
  %252 = tail call float @llvm.fmuladd.f32(float %243, float %243, float %251)
  %253 = fpext float %252 to double
  %254 = tail call double @sqrt(double noundef %253) #6
  %255 = fpext float %243 to double
  %256 = fsub double %254, %255
  %257 = fdiv double %249, %256
  br label %.sink.split

258:                                              ; preds = %230
  %259 = fpext float %243 to double
  %260 = fmul float %245, 4.000000e+00
  %261 = fmul float %139, %260
  %262 = tail call float @llvm.fmuladd.f32(float %243, float %243, float %261)
  %263 = fpext float %262 to double
  %264 = tail call double @sqrt(double noundef %263) #6
  %265 = fadd double %264, %259
  %266 = fmul float %139, 2.000000e+00
  %267 = fpext float %266 to double
  %268 = fdiv double %265, %267
  br label %.sink.split

.sink.split:                                      ; preds = %247, %258, %208, %219
  %.0.in.sink = phi double [ %218, %208 ], [ %229, %219 ], [ %257, %247 ], [ %268, %258 ]
  %.0 = fptrunc double %.0.in.sink to float
  %269 = fpext float %.0 to double
  %270 = load i32, ptr %0, align 4, !tbaa !5
  %271 = sext i32 %270 to i64
  %272 = getelementptr inbounds float, ptr %20, i64 %271
  %273 = load float, ptr %272, align 4, !tbaa !9
  %274 = fpext float %273 to double
  %275 = tail call float @llvm.fmuladd.f32(float %273, float %273, float %.0)
  %276 = fpext float %275 to double
  %277 = tail call double @sqrt(double noundef %276) #6
  %278 = fadd double %277, %274
  %279 = fdiv double %269, %278
  %280 = fptrunc double %279 to float
  br label %281

281:                                              ; preds = %.sink.split, %170
  %.01479 = phi float [ %184, %170 ], [ %280, %.sink.split ]
  %282 = load i32, ptr %0, align 4, !tbaa !5
  %283 = sext i32 %282 to i64
  %284 = getelementptr inbounds float, ptr %20, i64 %283
  %285 = load float, ptr %284, align 4, !tbaa !9
  %286 = fadd float %.01479, %285
  store float %286, ptr %6, align 4, !tbaa !9
  %.not16391777 = icmp slt i32 %282, 1
  br i1 %.not16391777, label %.preheader1654, label %.lr.ph1780.preheader

.lr.ph1780.preheader:                             ; preds = %281
  %287 = add nuw i32 %282, 1
  %wide.trip.count1933 = zext i32 %287 to i64
  %288 = zext nneg i32 %282 to i64
  %min.iters.check2226 = icmp ult i32 %282, 16
  br i1 %min.iters.check2226, label %.lr.ph1780.preheader2307, label %vector.memcheck2200

.lr.ph1780.preheader2307:                         ; preds = %middle.block2224, %vector.memcheck2200, %.lr.ph1780.preheader
  %indvars.iv1930.ph = phi i64 [ 1, %vector.memcheck2200 ], [ 1, %.lr.ph1780.preheader ], [ %ind.end2230, %middle.block2224 ]
  %289 = zext nneg i32 %282 to i64
  %290 = and i32 %282, 1
  %lcmp.mod2373.not = icmp eq i32 %290, 0
  br i1 %lcmp.mod2373.not, label %.lr.ph1780.prol.loopexit, label %.lr.ph1780.prol

.lr.ph1780.prol:                                  ; preds = %.lr.ph1780.preheader2307
  %291 = getelementptr inbounds float, ptr %20, i64 %indvars.iv1930.ph
  %292 = load float, ptr %291, align 4, !tbaa !9
  %293 = load float, ptr %284, align 4, !tbaa !9
  %294 = fsub float %292, %293
  %295 = fsub float %294, %.01479
  %296 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1930.ph
  store float %295, ptr %296, align 4, !tbaa !9
  %297 = load float, ptr %291, align 4, !tbaa !9
  %298 = load float, ptr %284, align 4, !tbaa !9
  %299 = fadd float %297, %298
  %300 = fadd float %.01479, %299
  %301 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1930.ph
  store float %300, ptr %301, align 4, !tbaa !9
  %indvars.iv.next1931.prol = add nuw nsw i64 %indvars.iv1930.ph, 1
  br label %.lr.ph1780.prol.loopexit

.lr.ph1780.prol.loopexit:                         ; preds = %.lr.ph1780.prol, %.lr.ph1780.preheader2307
  %indvars.iv1930.unr = phi i64 [ %indvars.iv1930.ph, %.lr.ph1780.preheader2307 ], [ %indvars.iv.next1931.prol, %.lr.ph1780.prol ]
  %302 = icmp eq i64 %indvars.iv1930.ph, %289
  br i1 %302, label %.preheader1654, label %.lr.ph1780

vector.memcheck2200:                              ; preds = %.lr.ph1780.preheader
  %303 = shl nuw nsw i64 %wide.trip.count1933, 2
  %304 = add nsw i64 %303, -4
  %scevgep2201 = getelementptr i8, ptr %4, i64 %304
  %scevgep2202 = getelementptr i8, ptr %7, i64 %304
  %305 = shl nuw nsw i64 %283, 2
  %scevgep2203 = getelementptr i8, ptr %2, i64 %305
  %scevgep2204 = getelementptr i8, ptr %2, i64 %304
  %bound02205 = icmp ugt ptr %scevgep2202, %4
  %bound12206 = icmp ugt ptr %scevgep2201, %7
  %found.conflict2207 = and i1 %bound02205, %bound12206
  %bound02208 = icmp ugt ptr %scevgep2203, %4
  %bound12209 = icmp ult ptr %284, %scevgep2201
  %found.conflict2210 = and i1 %bound02208, %bound12209
  %conflict.rdx2211 = or i1 %found.conflict2207, %found.conflict2210
  %bound02212 = icmp ugt ptr %scevgep2204, %4
  %bound12213 = icmp ugt ptr %scevgep2201, %2
  %found.conflict2214 = and i1 %bound02212, %bound12213
  %conflict.rdx2215 = or i1 %conflict.rdx2211, %found.conflict2214
  %bound02216 = icmp ugt ptr %scevgep2203, %7
  %bound12217 = icmp ult ptr %284, %scevgep2202
  %found.conflict2218 = and i1 %bound02216, %bound12217
  %conflict.rdx2219 = or i1 %conflict.rdx2215, %found.conflict2218
  %bound02220 = icmp ugt ptr %scevgep2204, %7
  %bound12221 = icmp ugt ptr %scevgep2202, %2
  %found.conflict2222 = and i1 %bound02220, %bound12221
  %conflict.rdx2223 = or i1 %conflict.rdx2219, %found.conflict2222
  br i1 %conflict.rdx2223, label %.lr.ph1780.preheader2307, label %vector.ph2227

vector.ph2227:                                    ; preds = %vector.memcheck2200
  %n.vec2229 = and i64 %288, 2147483644
  %ind.end2230 = or disjoint i64 %n.vec2229, 1
  %broadcast.splatinsert2238 = insertelement <4 x float> poison, float %.01479, i64 0
  %broadcast.splat2239 = shufflevector <4 x float> %broadcast.splatinsert2238, <4 x float> poison, <4 x i32> zeroinitializer
  %306 = load float, ptr %284, align 4, !tbaa !9, !alias.scope !28
  %broadcast.splatinsert2236 = insertelement <4 x float> poison, float %306, i64 0
  %broadcast.splat2237 = shufflevector <4 x float> %broadcast.splatinsert2236, <4 x float> poison, <4 x i32> zeroinitializer
  %307 = load float, ptr %284, align 4, !tbaa !9, !alias.scope !28
  %broadcast.splatinsert2241 = insertelement <4 x float> poison, float %307, i64 0
  %broadcast.splat2242 = shufflevector <4 x float> %broadcast.splatinsert2241, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2232

vector.body2232:                                  ; preds = %vector.body2232, %vector.ph2227
  %index2233 = phi i64 [ 0, %vector.ph2227 ], [ %index.next2243, %vector.body2232 ]
  %308 = getelementptr float, ptr %2, i64 %index2233
  %wide.load2235 = load <4 x float>, ptr %308, align 4, !tbaa !9, !alias.scope !31
  %309 = fsub <4 x float> %wide.load2235, %broadcast.splat2237
  %310 = fsub <4 x float> %309, %broadcast.splat2239
  %311 = getelementptr float, ptr %4, i64 %index2233
  store <4 x float> %310, ptr %311, align 4, !tbaa !9, !alias.scope !33, !noalias !35
  %wide.load2240 = load <4 x float>, ptr %308, align 4, !tbaa !9, !alias.scope !31
  %312 = fadd <4 x float> %wide.load2240, %broadcast.splat2242
  %313 = fadd <4 x float> %broadcast.splat2239, %312
  %314 = getelementptr float, ptr %7, i64 %index2233
  store <4 x float> %313, ptr %314, align 4, !tbaa !9, !alias.scope !37, !noalias !38
  %index.next2243 = add nuw i64 %index2233, 4
  %315 = icmp eq i64 %index.next2243, %n.vec2229
  br i1 %315, label %middle.block2224, label %vector.body2232, !llvm.loop !39

middle.block2224:                                 ; preds = %vector.body2232
  %cmp.n2244 = icmp eq i64 %n.vec2229, %288
  br i1 %cmp.n2244, label %.preheader1654, label %.lr.ph1780.preheader2307

.preheader1654:                                   ; preds = %.lr.ph1780.prol.loopexit, %.lr.ph1780, %middle.block2224, %281
  %.not1640.not1781 = icmp sgt i32 %34, 1
  br i1 %.not1640.not1781, label %.lr.ph1786.preheader, label %._crit_edge1787

.lr.ph1786.preheader:                             ; preds = %.preheader1654
  %wide.trip.count1938 = zext nneg i32 %34 to i64
  %316 = add nsw i64 %wide.trip.count1938, -1
  %xtraiter2374 = and i64 %316, 1
  %317 = icmp eq i32 %34, 2
  br i1 %317, label %._crit_edge1787.loopexit.unr-lcssa, label %.lr.ph1786.preheader.new

.lr.ph1786.preheader.new:                         ; preds = %.lr.ph1786.preheader
  %unroll_iter2380 = and i64 %316, -2
  br label %.lr.ph1786

.lr.ph1780:                                       ; preds = %.lr.ph1780.prol.loopexit, %.lr.ph1780
  %indvars.iv1930 = phi i64 [ %indvars.iv.next1931.1, %.lr.ph1780 ], [ %indvars.iv1930.unr, %.lr.ph1780.prol.loopexit ]
  %318 = getelementptr inbounds float, ptr %20, i64 %indvars.iv1930
  %319 = load float, ptr %318, align 4, !tbaa !9
  %320 = load float, ptr %284, align 4, !tbaa !9
  %321 = fsub float %319, %320
  %322 = fsub float %321, %.01479
  %323 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1930
  store float %322, ptr %323, align 4, !tbaa !9
  %324 = load float, ptr %318, align 4, !tbaa !9
  %325 = load float, ptr %284, align 4, !tbaa !9
  %326 = fadd float %324, %325
  %327 = fadd float %.01479, %326
  %328 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1930
  store float %327, ptr %328, align 4, !tbaa !9
  %329 = getelementptr float, ptr %2, i64 %indvars.iv1930
  %330 = load float, ptr %329, align 4, !tbaa !9
  %331 = load float, ptr %284, align 4, !tbaa !9
  %332 = fsub float %330, %331
  %333 = fsub float %332, %.01479
  %334 = getelementptr float, ptr %4, i64 %indvars.iv1930
  store float %333, ptr %334, align 4, !tbaa !9
  %335 = load float, ptr %329, align 4, !tbaa !9
  %336 = load float, ptr %284, align 4, !tbaa !9
  %337 = fadd float %335, %336
  %338 = fadd float %.01479, %337
  %339 = getelementptr float, ptr %7, i64 %indvars.iv1930
  store float %338, ptr %339, align 4, !tbaa !9
  %indvars.iv.next1931.1 = add nuw nsw i64 %indvars.iv1930, 2
  %exitcond1934.not.1 = icmp eq i64 %indvars.iv.next1931.1, %wide.trip.count1933
  br i1 %exitcond1934.not.1, label %.preheader1654, label %.lr.ph1780, !llvm.loop !40

.lr.ph1786:                                       ; preds = %.lr.ph1786, %.lr.ph1786.preheader.new
  %indvars.iv1935 = phi i64 [ 1, %.lr.ph1786.preheader.new ], [ %indvars.iv.next1936.1, %.lr.ph1786 ]
  %.014881784 = phi float [ 0.000000e+00, %.lr.ph1786.preheader.new ], [ %368, %.lr.ph1786 ]
  %340 = phi <2 x float> [ zeroinitializer, %.lr.ph1786.preheader.new ], [ %366, %.lr.ph1786 ]
  %niter2381 = phi i64 [ 0, %.lr.ph1786.preheader.new ], [ %niter2381.next.1, %.lr.ph1786 ]
  %341 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1935
  %342 = load float, ptr %341, align 4, !tbaa !9
  %343 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1935
  %344 = load float, ptr %343, align 4, !tbaa !9
  %345 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1935
  %346 = load float, ptr %345, align 4, !tbaa !9
  %347 = fmul float %344, %346
  %348 = fdiv float %342, %347
  %349 = insertelement <2 x float> poison, float %342, i64 0
  %350 = insertelement <2 x float> %349, float %348, i64 1
  %351 = shufflevector <2 x float> %350, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %352 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %350, <2 x float> %351, <2 x float> %340)
  %353 = extractelement <2 x float> %352, i64 0
  %354 = fadd float %.014881784, %353
  %355 = getelementptr float, ptr %3, i64 %indvars.iv1935
  %356 = load float, ptr %355, align 4, !tbaa !9
  %357 = getelementptr float, ptr %4, i64 %indvars.iv1935
  %358 = load float, ptr %357, align 4, !tbaa !9
  %359 = getelementptr float, ptr %7, i64 %indvars.iv1935
  %360 = load float, ptr %359, align 4, !tbaa !9
  %361 = fmul float %358, %360
  %362 = fdiv float %356, %361
  %363 = insertelement <2 x float> poison, float %356, i64 0
  %364 = insertelement <2 x float> %363, float %362, i64 1
  %365 = shufflevector <2 x float> %364, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %366 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %364, <2 x float> %365, <2 x float> %352)
  %367 = extractelement <2 x float> %366, i64 0
  %368 = fadd float %354, %367
  %indvars.iv.next1936.1 = add nuw nsw i64 %indvars.iv1935, 2
  %niter2381.next.1 = add i64 %niter2381, 2
  %niter2381.ncmp.1 = icmp eq i64 %niter2381.next.1, %unroll_iter2380
  br i1 %niter2381.ncmp.1, label %._crit_edge1787.loopexit.unr-lcssa.loopexit, label %.lr.ph1786, !llvm.loop !41

._crit_edge1787.loopexit.unr-lcssa.loopexit:      ; preds = %.lr.ph1786
  %369 = extractelement <2 x float> %366, i64 1
  br label %._crit_edge1787.loopexit.unr-lcssa

._crit_edge1787.loopexit.unr-lcssa:               ; preds = %._crit_edge1787.loopexit.unr-lcssa.loopexit, %.lr.ph1786.preheader
  %.lcssa2306.ph = phi float [ poison, %.lr.ph1786.preheader ], [ %367, %._crit_edge1787.loopexit.unr-lcssa.loopexit ]
  %.lcssa2305.ph = phi float [ poison, %.lr.ph1786.preheader ], [ %368, %._crit_edge1787.loopexit.unr-lcssa.loopexit ]
  %.lcssa2304.ph = phi float [ poison, %.lr.ph1786.preheader ], [ %369, %._crit_edge1787.loopexit.unr-lcssa.loopexit ]
  %indvars.iv1935.unr = phi i64 [ 1, %.lr.ph1786.preheader ], [ %indvars.iv.next1936.1, %._crit_edge1787.loopexit.unr-lcssa.loopexit ]
  %.014881784.unr = phi float [ 0.000000e+00, %.lr.ph1786.preheader ], [ %368, %._crit_edge1787.loopexit.unr-lcssa.loopexit ]
  %.unr2375 = phi <2 x float> [ zeroinitializer, %.lr.ph1786.preheader ], [ %366, %._crit_edge1787.loopexit.unr-lcssa.loopexit ]
  %lcmp.mod2376.not = icmp eq i64 %xtraiter2374, 0
  br i1 %lcmp.mod2376.not, label %._crit_edge1787, label %.lr.ph1786.epil

.lr.ph1786.epil:                                  ; preds = %._crit_edge1787.loopexit.unr-lcssa
  %370 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1935.unr
  %371 = load float, ptr %370, align 4, !tbaa !9
  %372 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1935.unr
  %373 = load float, ptr %372, align 4, !tbaa !9
  %374 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1935.unr
  %375 = load float, ptr %374, align 4, !tbaa !9
  %376 = fmul float %373, %375
  %377 = fdiv float %371, %376
  %378 = insertelement <2 x float> poison, float %371, i64 0
  %379 = insertelement <2 x float> %378, float %377, i64 1
  %380 = shufflevector <2 x float> %379, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %381 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %379, <2 x float> %380, <2 x float> %.unr2375)
  %382 = extractelement <2 x float> %381, i64 0
  %383 = fadd float %.014881784.unr, %382
  %384 = extractelement <2 x float> %381, i64 1
  br label %._crit_edge1787

._crit_edge1787:                                  ; preds = %.lr.ph1786.epil, %._crit_edge1787.loopexit.unr-lcssa, %.preheader1654
  %.01535.lcssa = phi float [ 0.000000e+00, %.preheader1654 ], [ %.lcssa2304.ph, %._crit_edge1787.loopexit.unr-lcssa ], [ %384, %.lr.ph1786.epil ]
  %.01488.lcssa = phi float [ 0.000000e+00, %.preheader1654 ], [ %.lcssa2305.ph, %._crit_edge1787.loopexit.unr-lcssa ], [ %383, %.lr.ph1786.epil ]
  %.11476.lcssa = phi float [ 0.000000e+00, %.preheader1654 ], [ %.lcssa2306.ph, %._crit_edge1787.loopexit.unr-lcssa ], [ %382, %.lr.ph1786.epil ]
  %385 = fcmp oge float %.01488.lcssa, 0.000000e+00
  %386 = fneg float %.01488.lcssa
  %387 = select i1 %385, float %.01488.lcssa, float %386
  %388 = getelementptr inbounds float, ptr %19, i64 %283
  %389 = load float, ptr %388, align 4, !tbaa !9
  %390 = getelementptr inbounds float, ptr %18, i64 %283
  %391 = load float, ptr %390, align 4, !tbaa !9
  %392 = getelementptr inbounds float, ptr %17, i64 %283
  %393 = load float, ptr %392, align 4, !tbaa !9
  %394 = fmul float %391, %393
  %395 = fdiv float %389, %394
  %396 = fmul float %389, %395
  %397 = fneg float %396
  %398 = fsub float %397, %.11476.lcssa
  %399 = tail call float @llvm.fmuladd.f32(float %398, float 8.000000e+00, float %387)
  %400 = fsub float %399, %396
  %401 = fadd float %33, %400
  %402 = fadd float %33, %396
  %403 = fadd float %.11476.lcssa, %402
  %404 = fcmp oge float %403, 0.000000e+00
  %405 = fneg float %403
  %406 = select i1 %404, float %403, float %405
  %407 = fmul float %31, %401
  %408 = fcmp ugt float %406, %407
  br i1 %408, label %thread-pre-split, label %.loopexit1656

thread-pre-split:                                 ; preds = %._crit_edge1787
  %409 = fmul float %395, %395
  %410 = add nsw i32 %282, -1
  %411 = sext i32 %410 to i64
  %412 = getelementptr inbounds float, ptr %17, i64 %411
  %413 = load float, ptr %412, align 4, !tbaa !9
  %414 = getelementptr inbounds float, ptr %18, i64 %411
  %415 = load float, ptr %414, align 4, !tbaa !9
  %416 = fmul float %413, %415
  %417 = fneg float %416
  %418 = tail call float @llvm.fmuladd.f32(float %417, float %.01535.lcssa, float %403)
  %419 = fneg float %394
  %420 = tail call float @llvm.fmuladd.f32(float %419, float %409, float %418)
  %421 = fadd float %394, %416
  %422 = fmul float %394, %416
  %423 = fadd float %.01535.lcssa, %409
  %424 = fneg float %422
  %425 = fmul float %423, %424
  %426 = tail call float @llvm.fmuladd.f32(float %421, float %403, float %425)
  %427 = fmul float %403, %422
  %428 = fcmp olt float %420, 0.000000e+00
  %429 = fneg float %420
  %430 = select i1 %428, float %429, float %420
  %431 = fcmp oeq float %420, 0.000000e+00
  br i1 %431, label %432, label %437

432:                                              ; preds = %thread-pre-split
  %433 = load float, ptr %5, align 4, !tbaa !9
  %434 = load float, ptr %6, align 4, !tbaa !9
  %435 = fneg float %434
  %436 = tail call float @llvm.fmuladd.f32(float %435, float %434, float %433)
  br label %469

437:                                              ; preds = %thread-pre-split
  %438 = fcmp ult float %426, 0.000000e+00
  br i1 %438, label %454, label %439

439:                                              ; preds = %437
  %440 = fpext float %426 to double
  %441 = fmul float %427, -4.000000e+00
  %442 = fmul float %441, %430
  %443 = tail call float @llvm.fmuladd.f32(float %426, float %426, float %442)
  %444 = fcmp oge float %443, 0.000000e+00
  %445 = fneg float %443
  %446 = select i1 %444, float %443, float %445
  %447 = fpext float %446 to double
  %448 = tail call double @sqrt(double noundef %447) #6
  %449 = fadd double %448, %440
  %450 = fmul float %430, 2.000000e+00
  %451 = fpext float %450 to double
  %452 = fdiv double %449, %451
  %453 = fptrunc double %452 to float
  br label %469

454:                                              ; preds = %437
  %455 = fmul float %427, 2.000000e+00
  %456 = fpext float %455 to double
  %457 = fpext float %426 to double
  %458 = fmul float %427, -4.000000e+00
  %459 = fmul float %458, %430
  %460 = tail call float @llvm.fmuladd.f32(float %426, float %426, float %459)
  %461 = fcmp oge float %460, 0.000000e+00
  %462 = fneg float %460
  %463 = select i1 %461, float %460, float %462
  %464 = fpext float %463 to double
  %465 = tail call double @sqrt(double noundef %464) #6
  %466 = fsub double %457, %465
  %467 = fdiv double %456, %466
  %468 = fptrunc double %467 to float
  br label %469

469:                                              ; preds = %439, %454, %432
  %470 = phi float [ %453, %439 ], [ %468, %454 ], [ %436, %432 ]
  %471 = fmul float %403, %470
  %472 = fcmp ogt float %471, 0.000000e+00
  %473 = fdiv float %405, %423
  %474 = select i1 %472, float %473, float %470
  %475 = fsub float %474, %394
  %476 = load float, ptr %5, align 4, !tbaa !9
  %477 = fcmp ogt float %475, %476
  %478 = fadd float %394, %476
  %479 = select i1 %477, float %478, float %474
  %480 = load float, ptr %6, align 4, !tbaa !9
  %481 = fpext float %480 to double
  %482 = tail call float @llvm.fmuladd.f32(float %480, float %480, float %479)
  %483 = fpext float %482 to double
  %484 = tail call double @sqrt(double noundef %483) #6
  %485 = fadd double %484, %481
  %486 = fpext float %479 to double
  %487 = fdiv double %486, %485
  %488 = fptrunc double %487 to float
  %489 = load float, ptr %6, align 4, !tbaa !9
  %490 = fadd float %489, %488
  store float %490, ptr %6, align 4, !tbaa !9
  %491 = load i32, ptr %0, align 4, !tbaa !5
  %.not16411791 = icmp slt i32 %491, 1
  br i1 %.not16411791, label %.preheader1653, label %.lr.ph1794.preheader

.lr.ph1794.preheader:                             ; preds = %469
  %492 = add nuw i32 %491, 1
  %wide.trip.count1943 = zext i32 %492 to i64
  %493 = zext nneg i32 %491 to i64
  %min.iters.check2253 = icmp ult i32 %491, 8
  br i1 %min.iters.check2253, label %.lr.ph1794.preheader2303, label %vector.memcheck2245

.lr.ph1794.preheader2303:                         ; preds = %middle.block2251, %vector.memcheck2245, %.lr.ph1794.preheader
  %indvars.iv1940.ph = phi i64 [ 1, %vector.memcheck2245 ], [ 1, %.lr.ph1794.preheader ], [ %ind.end2257, %middle.block2251 ]
  %494 = zext nneg i32 %491 to i64
  %495 = and i32 %491, 1
  %lcmp.mod2383.not = icmp eq i32 %495, 0
  br i1 %lcmp.mod2383.not, label %.lr.ph1794.prol.loopexit, label %.lr.ph1794.prol

.lr.ph1794.prol:                                  ; preds = %.lr.ph1794.preheader2303
  %496 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1940.ph
  %497 = load float, ptr %496, align 4, !tbaa !9
  %498 = fsub float %497, %488
  store float %498, ptr %496, align 4, !tbaa !9
  %499 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1940.ph
  %500 = load float, ptr %499, align 4, !tbaa !9
  %501 = fadd float %500, %488
  store float %501, ptr %499, align 4, !tbaa !9
  %indvars.iv.next1941.prol = add nuw nsw i64 %indvars.iv1940.ph, 1
  br label %.lr.ph1794.prol.loopexit

.lr.ph1794.prol.loopexit:                         ; preds = %.lr.ph1794.prol, %.lr.ph1794.preheader2303
  %indvars.iv1940.unr = phi i64 [ %indvars.iv1940.ph, %.lr.ph1794.preheader2303 ], [ %indvars.iv.next1941.prol, %.lr.ph1794.prol ]
  %502 = icmp eq i64 %indvars.iv1940.ph, %494
  br i1 %502, label %.preheader1653, label %.lr.ph1794

vector.memcheck2245:                              ; preds = %.lr.ph1794.preheader
  %503 = shl nuw nsw i64 %wide.trip.count1943, 2
  %504 = add nsw i64 %503, -4
  %scevgep2246 = getelementptr i8, ptr %4, i64 %504
  %scevgep2247 = getelementptr i8, ptr %7, i64 %504
  %bound02248 = icmp ugt ptr %scevgep2247, %4
  %bound12249 = icmp ugt ptr %scevgep2246, %7
  %found.conflict2250 = and i1 %bound02248, %bound12249
  br i1 %found.conflict2250, label %.lr.ph1794.preheader2303, label %vector.ph2254

vector.ph2254:                                    ; preds = %vector.memcheck2245
  %n.vec2256 = and i64 %493, 2147483640
  %ind.end2257 = or disjoint i64 %n.vec2256, 1
  %broadcast.splatinsert2264 = insertelement <4 x float> poison, float %488, i64 0
  %broadcast.splat2265 = shufflevector <4 x float> %broadcast.splatinsert2264, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2259

vector.body2259:                                  ; preds = %vector.body2259, %vector.ph2254
  %index2260 = phi i64 [ 0, %vector.ph2254 ], [ %index.next2268, %vector.body2259 ]
  %505 = getelementptr float, ptr %4, i64 %index2260
  %506 = getelementptr inbounds i8, ptr %505, i64 16
  %wide.load2262 = load <4 x float>, ptr %505, align 4, !tbaa !9, !alias.scope !42, !noalias !45
  %wide.load2263 = load <4 x float>, ptr %506, align 4, !tbaa !9, !alias.scope !42, !noalias !45
  %507 = fsub <4 x float> %wide.load2262, %broadcast.splat2265
  %508 = fsub <4 x float> %wide.load2263, %broadcast.splat2265
  store <4 x float> %507, ptr %505, align 4, !tbaa !9, !alias.scope !42, !noalias !45
  store <4 x float> %508, ptr %506, align 4, !tbaa !9, !alias.scope !42, !noalias !45
  %509 = getelementptr float, ptr %7, i64 %index2260
  %510 = getelementptr inbounds i8, ptr %509, i64 16
  %wide.load2266 = load <4 x float>, ptr %509, align 4, !tbaa !9, !alias.scope !45
  %wide.load2267 = load <4 x float>, ptr %510, align 4, !tbaa !9, !alias.scope !45
  %511 = fadd <4 x float> %wide.load2266, %broadcast.splat2265
  %512 = fadd <4 x float> %wide.load2267, %broadcast.splat2265
  store <4 x float> %511, ptr %509, align 4, !tbaa !9, !alias.scope !45
  store <4 x float> %512, ptr %510, align 4, !tbaa !9, !alias.scope !45
  %index.next2268 = add nuw i64 %index2260, 8
  %513 = icmp eq i64 %index.next2268, %n.vec2256
  br i1 %513, label %middle.block2251, label %vector.body2259, !llvm.loop !47

middle.block2251:                                 ; preds = %vector.body2259
  %cmp.n2269 = icmp eq i64 %n.vec2256, %493
  br i1 %cmp.n2269, label %.preheader1653, label %.lr.ph1794.preheader2303

.preheader1653:                                   ; preds = %.lr.ph1794.prol.loopexit, %.lr.ph1794, %middle.block2251, %469
  br i1 %.not1640.not1781, label %.lr.ph1800.preheader, label %.lr.ph1833

.lr.ph1800.preheader:                             ; preds = %.preheader1653
  %wide.trip.count1948 = zext nneg i32 %34 to i64
  %514 = add nsw i64 %wide.trip.count1948, -1
  %xtraiter2384 = and i64 %514, 1
  %515 = icmp eq i32 %34, 2
  br i1 %515, label %.lr.ph1833.loopexit.unr-lcssa, label %.lr.ph1800.preheader.new

.lr.ph1800.preheader.new:                         ; preds = %.lr.ph1800.preheader
  %unroll_iter2390 = and i64 %514, -2
  br label %.lr.ph1800

.lr.ph1794:                                       ; preds = %.lr.ph1794.prol.loopexit, %.lr.ph1794
  %indvars.iv1940 = phi i64 [ %indvars.iv.next1941.1, %.lr.ph1794 ], [ %indvars.iv1940.unr, %.lr.ph1794.prol.loopexit ]
  %516 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1940
  %517 = load float, ptr %516, align 4, !tbaa !9
  %518 = fsub float %517, %488
  store float %518, ptr %516, align 4, !tbaa !9
  %519 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1940
  %520 = load float, ptr %519, align 4, !tbaa !9
  %521 = fadd float %520, %488
  store float %521, ptr %519, align 4, !tbaa !9
  %522 = getelementptr float, ptr %4, i64 %indvars.iv1940
  %523 = load float, ptr %522, align 4, !tbaa !9
  %524 = fsub float %523, %488
  store float %524, ptr %522, align 4, !tbaa !9
  %525 = getelementptr float, ptr %7, i64 %indvars.iv1940
  %526 = load float, ptr %525, align 4, !tbaa !9
  %527 = fadd float %526, %488
  store float %527, ptr %525, align 4, !tbaa !9
  %indvars.iv.next1941.1 = add nuw nsw i64 %indvars.iv1940, 2
  %exitcond1944.not.1 = icmp eq i64 %indvars.iv.next1941.1, %wide.trip.count1943
  br i1 %exitcond1944.not.1, label %.preheader1653, label %.lr.ph1794, !llvm.loop !48

.lr.ph1800:                                       ; preds = %.lr.ph1800, %.lr.ph1800.preheader.new
  %indvars.iv1945 = phi i64 [ 1, %.lr.ph1800.preheader.new ], [ %indvars.iv.next1946.1, %.lr.ph1800 ]
  %.114891798 = phi float [ 0.000000e+00, %.lr.ph1800.preheader.new ], [ %556, %.lr.ph1800 ]
  %528 = phi <2 x float> [ zeroinitializer, %.lr.ph1800.preheader.new ], [ %554, %.lr.ph1800 ]
  %niter2391 = phi i64 [ 0, %.lr.ph1800.preheader.new ], [ %niter2391.next.1, %.lr.ph1800 ]
  %529 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1945
  %530 = load float, ptr %529, align 4, !tbaa !9
  %531 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1945
  %532 = load float, ptr %531, align 4, !tbaa !9
  %533 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1945
  %534 = load float, ptr %533, align 4, !tbaa !9
  %535 = fmul float %532, %534
  %536 = fdiv float %530, %535
  %537 = insertelement <2 x float> poison, float %530, i64 0
  %538 = insertelement <2 x float> %537, float %536, i64 1
  %539 = shufflevector <2 x float> %538, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %540 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %538, <2 x float> %539, <2 x float> %528)
  %541 = extractelement <2 x float> %540, i64 0
  %542 = fadd float %.114891798, %541
  %543 = getelementptr float, ptr %3, i64 %indvars.iv1945
  %544 = load float, ptr %543, align 4, !tbaa !9
  %545 = getelementptr float, ptr %7, i64 %indvars.iv1945
  %546 = load float, ptr %545, align 4, !tbaa !9
  %547 = getelementptr float, ptr %4, i64 %indvars.iv1945
  %548 = load float, ptr %547, align 4, !tbaa !9
  %549 = fmul float %546, %548
  %550 = fdiv float %544, %549
  %551 = insertelement <2 x float> poison, float %544, i64 0
  %552 = insertelement <2 x float> %551, float %550, i64 1
  %553 = shufflevector <2 x float> %552, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %554 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %552, <2 x float> %553, <2 x float> %540)
  %555 = extractelement <2 x float> %554, i64 0
  %556 = fadd float %542, %555
  %indvars.iv.next1946.1 = add nuw nsw i64 %indvars.iv1945, 2
  %niter2391.next.1 = add i64 %niter2391, 2
  %niter2391.ncmp.1 = icmp eq i64 %niter2391.next.1, %unroll_iter2390
  br i1 %niter2391.ncmp.1, label %.lr.ph1833.loopexit.unr-lcssa.loopexit, label %.lr.ph1800, !llvm.loop !49

.lr.ph1833.loopexit.unr-lcssa.loopexit:           ; preds = %.lr.ph1800
  %557 = extractelement <2 x float> %554, i64 1
  br label %.lr.ph1833.loopexit.unr-lcssa

.lr.ph1833.loopexit.unr-lcssa:                    ; preds = %.lr.ph1833.loopexit.unr-lcssa.loopexit, %.lr.ph1800.preheader
  %.lcssa2302.ph = phi float [ poison, %.lr.ph1800.preheader ], [ %555, %.lr.ph1833.loopexit.unr-lcssa.loopexit ]
  %.lcssa2301.ph = phi float [ poison, %.lr.ph1800.preheader ], [ %556, %.lr.ph1833.loopexit.unr-lcssa.loopexit ]
  %.lcssa2300.ph = phi float [ poison, %.lr.ph1800.preheader ], [ %557, %.lr.ph1833.loopexit.unr-lcssa.loopexit ]
  %indvars.iv1945.unr = phi i64 [ 1, %.lr.ph1800.preheader ], [ %indvars.iv.next1946.1, %.lr.ph1833.loopexit.unr-lcssa.loopexit ]
  %.114891798.unr = phi float [ 0.000000e+00, %.lr.ph1800.preheader ], [ %556, %.lr.ph1833.loopexit.unr-lcssa.loopexit ]
  %.unr2385 = phi <2 x float> [ zeroinitializer, %.lr.ph1800.preheader ], [ %554, %.lr.ph1833.loopexit.unr-lcssa.loopexit ]
  %lcmp.mod2386.not = icmp eq i64 %xtraiter2384, 0
  br i1 %lcmp.mod2386.not, label %.lr.ph1833, label %.lr.ph1800.epil

.lr.ph1800.epil:                                  ; preds = %.lr.ph1833.loopexit.unr-lcssa
  %558 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1945.unr
  %559 = load float, ptr %558, align 4, !tbaa !9
  %560 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1945.unr
  %561 = load float, ptr %560, align 4, !tbaa !9
  %562 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1945.unr
  %563 = load float, ptr %562, align 4, !tbaa !9
  %564 = fmul float %561, %563
  %565 = fdiv float %559, %564
  %566 = insertelement <2 x float> poison, float %559, i64 0
  %567 = insertelement <2 x float> %566, float %565, i64 1
  %568 = shufflevector <2 x float> %567, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %569 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %567, <2 x float> %568, <2 x float> %.unr2385)
  %570 = extractelement <2 x float> %569, i64 0
  %571 = fadd float %.114891798.unr, %570
  %572 = extractelement <2 x float> %569, i64 1
  br label %.lr.ph1833

.lr.ph1833:                                       ; preds = %.lr.ph1800.epil, %.lr.ph1833.loopexit.unr-lcssa, %.preheader1653
  %.11536.lcssa = phi float [ 0.000000e+00, %.preheader1653 ], [ %.lcssa2300.ph, %.lr.ph1833.loopexit.unr-lcssa ], [ %572, %.lr.ph1800.epil ]
  %.11489.lcssa = phi float [ 0.000000e+00, %.preheader1653 ], [ %.lcssa2301.ph, %.lr.ph1833.loopexit.unr-lcssa ], [ %571, %.lr.ph1800.epil ]
  %.21477.lcssa = phi float [ 0.000000e+00, %.preheader1653 ], [ %.lcssa2302.ph, %.lr.ph1833.loopexit.unr-lcssa ], [ %570, %.lr.ph1800.epil ]
  %573 = sext i32 %491 to i64
  %574 = getelementptr inbounds float, ptr %19, i64 %573
  %575 = load float, ptr %574, align 4, !tbaa !9
  %576 = getelementptr inbounds float, ptr %17, i64 %573
  %577 = load float, ptr %576, align 4, !tbaa !9
  %578 = getelementptr inbounds float, ptr %18, i64 %573
  %579 = load float, ptr %578, align 4, !tbaa !9
  %580 = fmul float %577, %579
  %581 = fdiv float %575, %580
  %582 = fmul float %575, %581
  %583 = fadd float %33, %582
  %584 = fadd float %.21477.lcssa, %583
  %585 = fneg float %582
  %586 = fsub float %585, %.21477.lcssa
  %587 = fcmp oge float %.11489.lcssa, 0.000000e+00
  %588 = fneg float %.11489.lcssa
  %589 = select i1 %587, float %.11489.lcssa, float %588
  %590 = tail call float @llvm.fmuladd.f32(float %586, float 8.000000e+00, float %589)
  %591 = fsub float %590, %582
  %592 = fmul float %581, %581
  %wide.trip.count1958 = zext i32 %34 to i64
  %scevgep2271 = getelementptr i8, ptr %4, i64 -4
  %scevgep2273 = getelementptr i8, ptr %7, i64 -4
  %593 = add nsw i64 %wide.trip.count1958, -1
  %xtraiter2394 = and i64 %593, 1
  %594 = icmp eq i32 %34, 2
  %unroll_iter2400 = and i64 %593, -2
  %lcmp.mod2396.not = icmp eq i64 %xtraiter2394, 0
  br label %595

595:                                              ; preds = %.lr.ph1833, %._crit_edge1815
  %596 = phi float [ %579, %.lr.ph1833 ], [ %757, %._crit_edge1815 ]
  %597 = phi float [ %577, %.lr.ph1833 ], [ %755, %._crit_edge1815 ]
  %598 = phi i32 [ %491, %.lr.ph1833 ], [ %671, %._crit_edge1815 ]
  %storemerge16431831 = phi i32 [ 3, %.lr.ph1833 ], [ %storemerge1643, %._crit_edge1815 ]
  %.pn1830 = phi float [ %591, %.lr.ph1833 ], [ %767, %._crit_edge1815 ]
  %.015041829 = phi float [ %592, %.lr.ph1833 ], [ %763, %._crit_edge1815 ]
  %.215371828 = phi float [ %.11536.lcssa, %.lr.ph1833 ], [ %.31538.lcssa, %._crit_edge1815 ]
  %storemerge16441827 = phi float [ %584, %.lr.ph1833 ], [ %769, %._crit_edge1815 ]
  %.21490 = fadd float %33, %.pn1830
  %599 = fcmp oge float %storemerge16441827, 0.000000e+00
  %600 = fneg float %storemerge16441827
  %601 = select i1 %599, float %storemerge16441827, float %600
  %602 = fmul float %31, %.21490
  %603 = fcmp ugt float %601, %602
  br i1 %603, label %604, label %.loopexit1656

604:                                              ; preds = %595
  %605 = add nsw i32 %598, -1
  %606 = sext i32 %605 to i64
  %607 = getelementptr inbounds float, ptr %17, i64 %606
  %608 = load float, ptr %607, align 4, !tbaa !9
  %609 = getelementptr inbounds float, ptr %18, i64 %606
  %610 = load float, ptr %609, align 4, !tbaa !9
  %611 = fmul float %608, %610
  %612 = fmul float %597, %596
  %613 = fneg float %611
  %614 = tail call float @llvm.fmuladd.f32(float %613, float %.215371828, float %storemerge16441827)
  %615 = fneg float %612
  %616 = tail call float @llvm.fmuladd.f32(float %615, float %.015041829, float %614)
  %617 = fadd float %611, %612
  %618 = fmul float %611, %612
  %619 = fadd float %.215371828, %.015041829
  %620 = fneg float %618
  %621 = fmul float %619, %620
  %622 = tail call float @llvm.fmuladd.f32(float %617, float %storemerge16441827, float %621)
  %623 = fmul float %storemerge16441827, %618
  %624 = fcmp ult float %622, 0.000000e+00
  br i1 %624, label %639, label %625

625:                                              ; preds = %604
  %626 = fpext float %622 to double
  %627 = fmul float %623, -4.000000e+00
  %628 = fmul float %616, %627
  %629 = tail call float @llvm.fmuladd.f32(float %622, float %622, float %628)
  %630 = fcmp oge float %629, 0.000000e+00
  %631 = fneg float %629
  %632 = select i1 %630, float %629, float %631
  %633 = fpext float %632 to double
  %634 = tail call double @sqrt(double noundef %633) #6
  %635 = fadd double %634, %626
  %636 = fmul float %616, 2.000000e+00
  %637 = fpext float %636 to double
  %638 = fdiv double %635, %637
  br label %653

639:                                              ; preds = %604
  %640 = fmul float %623, 2.000000e+00
  %641 = fpext float %640 to double
  %642 = fpext float %622 to double
  %643 = fmul float %623, -4.000000e+00
  %644 = fmul float %616, %643
  %645 = tail call float @llvm.fmuladd.f32(float %622, float %622, float %644)
  %646 = fcmp oge float %645, 0.000000e+00
  %647 = fneg float %645
  %648 = select i1 %646, float %645, float %647
  %649 = fpext float %648 to double
  %650 = tail call double @sqrt(double noundef %649) #6
  %651 = fsub double %642, %650
  %652 = fdiv double %641, %651
  br label %653

653:                                              ; preds = %639, %625
  %storemerge1645.in = phi double [ %652, %639 ], [ %638, %625 ]
  %storemerge1645 = fptrunc double %storemerge1645.in to float
  %654 = fmul float %storemerge16441827, %storemerge1645
  %655 = fcmp ogt float %654, 0.000000e+00
  %656 = fdiv float %600, %619
  %storemerge16451824 = select i1 %655, float %656, float %storemerge1645
  %657 = fsub float %storemerge16451824, %612
  %658 = fcmp ugt float %657, 0.000000e+00
  %659 = fmul float %storemerge16451824, 5.000000e-01
  %storemerge16451825 = select i1 %658, float %storemerge16451824, float %659
  %660 = load float, ptr %6, align 4, !tbaa !9
  %661 = fpext float %660 to double
  %662 = tail call float @llvm.fmuladd.f32(float %660, float %660, float %storemerge16451825)
  %663 = fpext float %662 to double
  %664 = tail call double @sqrt(double noundef %663) #6
  %665 = fadd double %664, %661
  %666 = fpext float %storemerge16451825 to double
  %667 = fdiv double %666, %665
  %668 = fptrunc double %667 to float
  %669 = load float, ptr %6, align 4, !tbaa !9
  %670 = fadd float %669, %668
  store float %670, ptr %6, align 4, !tbaa !9
  %671 = load i32, ptr %0, align 4, !tbaa !5
  %.not16461805 = icmp slt i32 %671, 1
  br i1 %.not16461805, label %.preheader, label %.lr.ph1808.preheader

.lr.ph1808.preheader:                             ; preds = %653
  %672 = add nuw i32 %671, 1
  %wide.trip.count1953 = zext i32 %672 to i64
  %673 = zext nneg i32 %671 to i64
  %min.iters.check2280 = icmp ult i32 %671, 8
  br i1 %min.iters.check2280, label %.lr.ph1808.preheader2297, label %vector.memcheck2270

.lr.ph1808.preheader2297:                         ; preds = %middle.block2278, %vector.memcheck2270, %.lr.ph1808.preheader
  %indvars.iv1950.ph = phi i64 [ 1, %vector.memcheck2270 ], [ 1, %.lr.ph1808.preheader ], [ %ind.end2284, %middle.block2278 ]
  %674 = zext nneg i32 %671 to i64
  %675 = and i32 %671, 1
  %lcmp.mod2393.not = icmp eq i32 %675, 0
  br i1 %lcmp.mod2393.not, label %.lr.ph1808.prol.loopexit, label %.lr.ph1808.prol

.lr.ph1808.prol:                                  ; preds = %.lr.ph1808.preheader2297
  %676 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1950.ph
  %677 = load float, ptr %676, align 4, !tbaa !9
  %678 = fsub float %677, %668
  store float %678, ptr %676, align 4, !tbaa !9
  %679 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1950.ph
  %680 = load float, ptr %679, align 4, !tbaa !9
  %681 = fadd float %680, %668
  store float %681, ptr %679, align 4, !tbaa !9
  %indvars.iv.next1951.prol = add nuw nsw i64 %indvars.iv1950.ph, 1
  br label %.lr.ph1808.prol.loopexit

.lr.ph1808.prol.loopexit:                         ; preds = %.lr.ph1808.prol, %.lr.ph1808.preheader2297
  %indvars.iv1950.unr = phi i64 [ %indvars.iv1950.ph, %.lr.ph1808.preheader2297 ], [ %indvars.iv.next1951.prol, %.lr.ph1808.prol ]
  %682 = icmp eq i64 %indvars.iv1950.ph, %674
  br i1 %682, label %.preheader, label %.lr.ph1808

vector.memcheck2270:                              ; preds = %.lr.ph1808.preheader
  %683 = shl nuw nsw i64 %wide.trip.count1953, 2
  %scevgep2272 = getelementptr i8, ptr %scevgep2271, i64 %683
  %scevgep2274 = getelementptr i8, ptr %scevgep2273, i64 %683
  %bound02275 = icmp ugt ptr %scevgep2274, %4
  %bound12276 = icmp ugt ptr %scevgep2272, %7
  %found.conflict2277 = and i1 %bound02275, %bound12276
  br i1 %found.conflict2277, label %.lr.ph1808.preheader2297, label %vector.ph2281

vector.ph2281:                                    ; preds = %vector.memcheck2270
  %n.vec2283 = and i64 %673, 2147483640
  %ind.end2284 = or disjoint i64 %n.vec2283, 1
  %broadcast.splatinsert2291 = insertelement <4 x float> poison, float %668, i64 0
  %broadcast.splat2292 = shufflevector <4 x float> %broadcast.splatinsert2291, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2286

vector.body2286:                                  ; preds = %vector.body2286, %vector.ph2281
  %index2287 = phi i64 [ 0, %vector.ph2281 ], [ %index.next2295, %vector.body2286 ]
  %684 = getelementptr float, ptr %4, i64 %index2287
  %685 = getelementptr inbounds i8, ptr %684, i64 16
  %wide.load2289 = load <4 x float>, ptr %684, align 4, !tbaa !9, !alias.scope !50, !noalias !53
  %wide.load2290 = load <4 x float>, ptr %685, align 4, !tbaa !9, !alias.scope !50, !noalias !53
  %686 = fsub <4 x float> %wide.load2289, %broadcast.splat2292
  %687 = fsub <4 x float> %wide.load2290, %broadcast.splat2292
  store <4 x float> %686, ptr %684, align 4, !tbaa !9, !alias.scope !50, !noalias !53
  store <4 x float> %687, ptr %685, align 4, !tbaa !9, !alias.scope !50, !noalias !53
  %688 = getelementptr float, ptr %7, i64 %index2287
  %689 = getelementptr inbounds i8, ptr %688, i64 16
  %wide.load2293 = load <4 x float>, ptr %688, align 4, !tbaa !9, !alias.scope !53
  %wide.load2294 = load <4 x float>, ptr %689, align 4, !tbaa !9, !alias.scope !53
  %690 = fadd <4 x float> %wide.load2293, %broadcast.splat2292
  %691 = fadd <4 x float> %wide.load2294, %broadcast.splat2292
  store <4 x float> %690, ptr %688, align 4, !tbaa !9, !alias.scope !53
  store <4 x float> %691, ptr %689, align 4, !tbaa !9, !alias.scope !53
  %index.next2295 = add nuw i64 %index2287, 8
  %692 = icmp eq i64 %index.next2295, %n.vec2283
  br i1 %692, label %middle.block2278, label %vector.body2286, !llvm.loop !55

middle.block2278:                                 ; preds = %vector.body2286
  %cmp.n2296 = icmp eq i64 %n.vec2283, %673
  br i1 %cmp.n2296, label %.preheader, label %.lr.ph1808.preheader2297

.preheader:                                       ; preds = %.lr.ph1808.prol.loopexit, %.lr.ph1808, %middle.block2278, %653
  br i1 %.not1640.not1781, label %.lr.ph1814.preheader, label %._crit_edge1815

.lr.ph1814.preheader:                             ; preds = %.preheader
  br i1 %594, label %._crit_edge1815.loopexit.unr-lcssa, label %.lr.ph1814

.lr.ph1808:                                       ; preds = %.lr.ph1808.prol.loopexit, %.lr.ph1808
  %indvars.iv1950 = phi i64 [ %indvars.iv.next1951.1, %.lr.ph1808 ], [ %indvars.iv1950.unr, %.lr.ph1808.prol.loopexit ]
  %693 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1950
  %694 = load float, ptr %693, align 4, !tbaa !9
  %695 = fsub float %694, %668
  store float %695, ptr %693, align 4, !tbaa !9
  %696 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1950
  %697 = load float, ptr %696, align 4, !tbaa !9
  %698 = fadd float %697, %668
  store float %698, ptr %696, align 4, !tbaa !9
  %699 = getelementptr float, ptr %4, i64 %indvars.iv1950
  %700 = load float, ptr %699, align 4, !tbaa !9
  %701 = fsub float %700, %668
  store float %701, ptr %699, align 4, !tbaa !9
  %702 = getelementptr float, ptr %7, i64 %indvars.iv1950
  %703 = load float, ptr %702, align 4, !tbaa !9
  %704 = fadd float %703, %668
  store float %704, ptr %702, align 4, !tbaa !9
  %indvars.iv.next1951.1 = add nuw nsw i64 %indvars.iv1950, 2
  %exitcond1954.not.1 = icmp eq i64 %indvars.iv.next1951.1, %wide.trip.count1953
  br i1 %exitcond1954.not.1, label %.preheader, label %.lr.ph1808, !llvm.loop !56

.lr.ph1814:                                       ; preds = %.lr.ph1814.preheader, %.lr.ph1814
  %indvars.iv1955 = phi i64 [ %indvars.iv.next1956.1, %.lr.ph1814 ], [ 1, %.lr.ph1814.preheader ]
  %.314911812 = phi float [ %733, %.lr.ph1814 ], [ 0.000000e+00, %.lr.ph1814.preheader ]
  %705 = phi <2 x float> [ %731, %.lr.ph1814 ], [ zeroinitializer, %.lr.ph1814.preheader ]
  %niter2401 = phi i64 [ %niter2401.next.1, %.lr.ph1814 ], [ 0, %.lr.ph1814.preheader ]
  %706 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1955
  %707 = load float, ptr %706, align 4, !tbaa !9
  %708 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1955
  %709 = load float, ptr %708, align 4, !tbaa !9
  %710 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1955
  %711 = load float, ptr %710, align 4, !tbaa !9
  %712 = fmul float %709, %711
  %713 = fdiv float %707, %712
  %714 = insertelement <2 x float> poison, float %707, i64 0
  %715 = insertelement <2 x float> %714, float %713, i64 1
  %716 = shufflevector <2 x float> %715, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %717 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %715, <2 x float> %716, <2 x float> %705)
  %718 = extractelement <2 x float> %717, i64 0
  %719 = fadd float %.314911812, %718
  %720 = getelementptr float, ptr %3, i64 %indvars.iv1955
  %721 = load float, ptr %720, align 4, !tbaa !9
  %722 = getelementptr float, ptr %7, i64 %indvars.iv1955
  %723 = load float, ptr %722, align 4, !tbaa !9
  %724 = getelementptr float, ptr %4, i64 %indvars.iv1955
  %725 = load float, ptr %724, align 4, !tbaa !9
  %726 = fmul float %723, %725
  %727 = fdiv float %721, %726
  %728 = insertelement <2 x float> poison, float %721, i64 0
  %729 = insertelement <2 x float> %728, float %727, i64 1
  %730 = shufflevector <2 x float> %729, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %731 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %729, <2 x float> %730, <2 x float> %717)
  %732 = extractelement <2 x float> %731, i64 0
  %733 = fadd float %719, %732
  %indvars.iv.next1956.1 = add nuw nsw i64 %indvars.iv1955, 2
  %niter2401.next.1 = add i64 %niter2401, 2
  %niter2401.ncmp.1 = icmp eq i64 %niter2401.next.1, %unroll_iter2400
  br i1 %niter2401.ncmp.1, label %._crit_edge1815.loopexit.unr-lcssa.loopexit, label %.lr.ph1814, !llvm.loop !57

._crit_edge1815.loopexit.unr-lcssa.loopexit:      ; preds = %.lr.ph1814
  %734 = extractelement <2 x float> %731, i64 1
  br label %._crit_edge1815.loopexit.unr-lcssa

._crit_edge1815.loopexit.unr-lcssa:               ; preds = %._crit_edge1815.loopexit.unr-lcssa.loopexit, %.lr.ph1814.preheader
  %.lcssa2299.ph = phi float [ poison, %.lr.ph1814.preheader ], [ %732, %._crit_edge1815.loopexit.unr-lcssa.loopexit ]
  %.lcssa2298.ph = phi float [ poison, %.lr.ph1814.preheader ], [ %733, %._crit_edge1815.loopexit.unr-lcssa.loopexit ]
  %.lcssa.ph = phi float [ poison, %.lr.ph1814.preheader ], [ %734, %._crit_edge1815.loopexit.unr-lcssa.loopexit ]
  %indvars.iv1955.unr = phi i64 [ 1, %.lr.ph1814.preheader ], [ %indvars.iv.next1956.1, %._crit_edge1815.loopexit.unr-lcssa.loopexit ]
  %.314911812.unr = phi float [ 0.000000e+00, %.lr.ph1814.preheader ], [ %733, %._crit_edge1815.loopexit.unr-lcssa.loopexit ]
  %.unr2395 = phi <2 x float> [ zeroinitializer, %.lr.ph1814.preheader ], [ %731, %._crit_edge1815.loopexit.unr-lcssa.loopexit ]
  br i1 %lcmp.mod2396.not, label %._crit_edge1815, label %.lr.ph1814.epil

.lr.ph1814.epil:                                  ; preds = %._crit_edge1815.loopexit.unr-lcssa
  %735 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1955.unr
  %736 = load float, ptr %735, align 4, !tbaa !9
  %737 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1955.unr
  %738 = load float, ptr %737, align 4, !tbaa !9
  %739 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1955.unr
  %740 = load float, ptr %739, align 4, !tbaa !9
  %741 = fmul float %738, %740
  %742 = fdiv float %736, %741
  %743 = insertelement <2 x float> poison, float %736, i64 0
  %744 = insertelement <2 x float> %743, float %742, i64 1
  %745 = shufflevector <2 x float> %744, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %746 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %744, <2 x float> %745, <2 x float> %.unr2395)
  %747 = extractelement <2 x float> %746, i64 0
  %748 = fadd float %.314911812.unr, %747
  %749 = extractelement <2 x float> %746, i64 1
  br label %._crit_edge1815

._crit_edge1815:                                  ; preds = %.lr.ph1814.epil, %._crit_edge1815.loopexit.unr-lcssa, %.preheader
  %.31538.lcssa = phi float [ 0.000000e+00, %.preheader ], [ %.lcssa.ph, %._crit_edge1815.loopexit.unr-lcssa ], [ %749, %.lr.ph1814.epil ]
  %.31491.lcssa = phi float [ 0.000000e+00, %.preheader ], [ %.lcssa2298.ph, %._crit_edge1815.loopexit.unr-lcssa ], [ %748, %.lr.ph1814.epil ]
  %.31478.lcssa = phi float [ 0.000000e+00, %.preheader ], [ %.lcssa2299.ph, %._crit_edge1815.loopexit.unr-lcssa ], [ %747, %.lr.ph1814.epil ]
  %750 = fcmp oge float %.31491.lcssa, 0.000000e+00
  %751 = fneg float %.31491.lcssa
  %752 = select i1 %750, float %.31491.lcssa, float %751
  %753 = sext i32 %671 to i64
  %754 = getelementptr inbounds float, ptr %17, i64 %753
  %755 = load float, ptr %754, align 4, !tbaa !9
  %756 = getelementptr inbounds float, ptr %18, i64 %753
  %757 = load float, ptr %756, align 4, !tbaa !9
  %758 = fmul float %755, %757
  %759 = getelementptr inbounds float, ptr %19, i64 %753
  %760 = load float, ptr %759, align 4, !tbaa !9
  %761 = fdiv float %760, %758
  %762 = fmul float %760, %761
  %763 = fmul float %761, %761
  %764 = fneg float %762
  %765 = fsub float %764, %.31478.lcssa
  %766 = tail call float @llvm.fmuladd.f32(float %765, float 8.000000e+00, float %752)
  %767 = fsub float %766, %762
  %768 = fadd float %33, %762
  %769 = fadd float %.31478.lcssa, %768
  %storemerge1643 = add i32 %storemerge16431831, 1
  %exitcond1960.not = icmp eq i32 %storemerge1643, 401
  br i1 %exitcond1960.not, label %._crit_edge1834, label %595, !llvm.loop !58

._crit_edge1834:                                  ; preds = %._crit_edge1815
  store i32 1, ptr %8, align 4, !tbaa !5
  br label %.loopexit1656

770:                                              ; preds = %30
  store i32 1, ptr %12, align 4, !tbaa !5
  %771 = add nsw i32 %34, 1
  %772 = sext i32 %771 to i64
  %773 = getelementptr inbounds float, ptr %20, i64 %772
  %774 = load float, ptr %773, align 4, !tbaa !9
  %775 = sext i32 %34 to i64
  %776 = getelementptr inbounds float, ptr %20, i64 %775
  %777 = load float, ptr %776, align 4, !tbaa !9
  %778 = fsub float %774, %777
  %779 = fadd float %774, %777
  %780 = fmul float %778, %779
  %781 = fmul float %780, 5.000000e-01
  %782 = fmul float %774, %774
  %783 = tail call float @llvm.fmuladd.f32(float %777, float %777, float %782)
  %784 = fmul float %783, 5.000000e-01
  %sqrtf = tail call float @sqrtf(float noundef %784) #2
  %785 = load i32, ptr %1, align 4, !tbaa !5
  %786 = sext i32 %785 to i64
  %787 = getelementptr inbounds float, ptr %20, i64 %786
  %788 = load float, ptr %787, align 4, !tbaa !9
  %789 = fadd float %sqrtf, %788
  %790 = fdiv float %781, %789
  %791 = load i32, ptr %0, align 4, !tbaa !5
  %.not1659 = icmp slt i32 %791, 1
  br i1 %.not1659, label %.preheader1658, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %770
  %792 = add nuw i32 %791, 1
  %wide.trip.count = zext i32 %792 to i64
  %793 = zext nneg i32 %791 to i64
  %min.iters.check = icmp ult i32 %791, 16
  br i1 %min.iters.check, label %.lr.ph.preheader2331, label %vector.memcheck

.lr.ph.preheader2331:                             ; preds = %middle.block, %vector.memcheck, %.lr.ph.preheader
  %indvars.iv.ph = phi i64 [ 1, %vector.memcheck ], [ 1, %.lr.ph.preheader ], [ %ind.end, %middle.block ]
  %794 = zext nneg i32 %791 to i64
  %795 = and i32 %791, 1
  %lcmp.mod.not = icmp eq i32 %795, 0
  br i1 %lcmp.mod.not, label %.lr.ph.prol.loopexit, label %.lr.ph.prol

.lr.ph.prol:                                      ; preds = %.lr.ph.preheader2331
  %796 = getelementptr inbounds float, ptr %20, i64 %indvars.iv.ph
  %797 = load float, ptr %796, align 4, !tbaa !9
  %798 = load float, ptr %787, align 4, !tbaa !9
  %799 = fadd float %797, %798
  %800 = fadd float %790, %799
  %801 = getelementptr inbounds float, ptr %17, i64 %indvars.iv.ph
  store float %800, ptr %801, align 4, !tbaa !9
  %802 = load float, ptr %796, align 4, !tbaa !9
  %803 = load float, ptr %787, align 4, !tbaa !9
  %804 = fsub float %802, %803
  %805 = fsub float %804, %790
  %806 = getelementptr inbounds float, ptr %18, i64 %indvars.iv.ph
  store float %805, ptr %806, align 4, !tbaa !9
  %indvars.iv.next.prol = add nuw nsw i64 %indvars.iv.ph, 1
  br label %.lr.ph.prol.loopexit

.lr.ph.prol.loopexit:                             ; preds = %.lr.ph.prol, %.lr.ph.preheader2331
  %indvars.iv.unr = phi i64 [ %indvars.iv.ph, %.lr.ph.preheader2331 ], [ %indvars.iv.next.prol, %.lr.ph.prol ]
  %807 = icmp eq i64 %indvars.iv.ph, %794
  br i1 %807, label %.preheader1658, label %.lr.ph

vector.memcheck:                                  ; preds = %.lr.ph.preheader
  %808 = shl nuw nsw i64 %wide.trip.count, 2
  %809 = add nsw i64 %808, -4
  %scevgep = getelementptr i8, ptr %7, i64 %809
  %scevgep2035 = getelementptr i8, ptr %4, i64 %809
  %810 = shl nsw i64 %786, 2
  %scevgep2036 = getelementptr i8, ptr %2, i64 %810
  %scevgep2037 = getelementptr i8, ptr %2, i64 %809
  %bound0 = icmp ugt ptr %scevgep2035, %7
  %bound1 = icmp ugt ptr %scevgep, %4
  %found.conflict = and i1 %bound0, %bound1
  %bound02038 = icmp ugt ptr %scevgep2036, %7
  %bound12039 = icmp ult ptr %787, %scevgep
  %found.conflict2040 = and i1 %bound02038, %bound12039
  %conflict.rdx = or i1 %found.conflict, %found.conflict2040
  %bound02041 = icmp ugt ptr %scevgep2037, %7
  %bound12042 = icmp ugt ptr %scevgep, %2
  %found.conflict2043 = and i1 %bound02041, %bound12042
  %conflict.rdx2044 = or i1 %conflict.rdx, %found.conflict2043
  %bound02045 = icmp ugt ptr %scevgep2036, %4
  %bound12046 = icmp ult ptr %787, %scevgep2035
  %found.conflict2047 = and i1 %bound02045, %bound12046
  %conflict.rdx2048 = or i1 %conflict.rdx2044, %found.conflict2047
  %bound02049 = icmp ugt ptr %scevgep2037, %4
  %bound12050 = icmp ugt ptr %scevgep2035, %2
  %found.conflict2051 = and i1 %bound02049, %bound12050
  %conflict.rdx2052 = or i1 %conflict.rdx2048, %found.conflict2051
  br i1 %conflict.rdx2052, label %.lr.ph.preheader2331, label %vector.ph

vector.ph:                                        ; preds = %vector.memcheck
  %n.vec = and i64 %793, 2147483644
  %ind.end = or disjoint i64 %n.vec, 1
  %broadcast.splatinsert2053 = insertelement <4 x float> poison, float %790, i64 0
  %broadcast.splat2054 = shufflevector <4 x float> %broadcast.splatinsert2053, <4 x float> poison, <4 x i32> zeroinitializer
  %811 = load float, ptr %787, align 4, !tbaa !9, !alias.scope !59
  %broadcast.splatinsert = insertelement <4 x float> poison, float %811, i64 0
  %broadcast.splat = shufflevector <4 x float> %broadcast.splatinsert, <4 x float> poison, <4 x i32> zeroinitializer
  %812 = load float, ptr %787, align 4, !tbaa !9, !alias.scope !59
  %broadcast.splatinsert2056 = insertelement <4 x float> poison, float %812, i64 0
  %broadcast.splat2057 = shufflevector <4 x float> %broadcast.splatinsert2056, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %813 = getelementptr float, ptr %2, i64 %index
  %wide.load = load <4 x float>, ptr %813, align 4, !tbaa !9, !alias.scope !62
  %814 = fadd <4 x float> %wide.load, %broadcast.splat
  %815 = fadd <4 x float> %broadcast.splat2054, %814
  %816 = getelementptr float, ptr %7, i64 %index
  store <4 x float> %815, ptr %816, align 4, !tbaa !9, !alias.scope !64, !noalias !66
  %wide.load2055 = load <4 x float>, ptr %813, align 4, !tbaa !9, !alias.scope !62
  %817 = fsub <4 x float> %wide.load2055, %broadcast.splat2057
  %818 = fsub <4 x float> %817, %broadcast.splat2054
  %819 = getelementptr float, ptr %4, i64 %index
  store <4 x float> %818, ptr %819, align 4, !tbaa !9, !alias.scope !68, !noalias !69
  %index.next = add nuw i64 %index, 4
  %820 = icmp eq i64 %index.next, %n.vec
  br i1 %820, label %middle.block, label %vector.body, !llvm.loop !70

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %n.vec, %793
  br i1 %cmp.n, label %.preheader1658, label %.lr.ph.preheader2331

.preheader1658:                                   ; preds = %.lr.ph.prol.loopexit, %.lr.ph, %middle.block, %770
  %.not1595.not1661 = icmp sgt i32 %785, 1
  br i1 %.not1595.not1661, label %.lr.ph1664.preheader, label %._crit_edge

.lr.ph1664.preheader:                             ; preds = %.preheader1658
  %wide.trip.count1876 = zext nneg i32 %785 to i64
  %821 = add nsw i64 %wide.trip.count1876, -1
  %xtraiter2332 = and i64 %821, 1
  %822 = icmp eq i32 %785, 2
  br i1 %822, label %._crit_edge.loopexit.unr-lcssa, label %.lr.ph1664.preheader.new

.lr.ph1664.preheader.new:                         ; preds = %.lr.ph1664.preheader
  %unroll_iter = and i64 %821, -2
  br label %.lr.ph1664

.lr.ph:                                           ; preds = %.lr.ph.prol.loopexit, %.lr.ph
  %indvars.iv = phi i64 [ %indvars.iv.next.1, %.lr.ph ], [ %indvars.iv.unr, %.lr.ph.prol.loopexit ]
  %823 = getelementptr inbounds float, ptr %20, i64 %indvars.iv
  %824 = load float, ptr %823, align 4, !tbaa !9
  %825 = load float, ptr %787, align 4, !tbaa !9
  %826 = fadd float %824, %825
  %827 = fadd float %790, %826
  %828 = getelementptr inbounds float, ptr %17, i64 %indvars.iv
  store float %827, ptr %828, align 4, !tbaa !9
  %829 = load float, ptr %823, align 4, !tbaa !9
  %830 = load float, ptr %787, align 4, !tbaa !9
  %831 = fsub float %829, %830
  %832 = fsub float %831, %790
  %833 = getelementptr inbounds float, ptr %18, i64 %indvars.iv
  store float %832, ptr %833, align 4, !tbaa !9
  %834 = getelementptr float, ptr %2, i64 %indvars.iv
  %835 = load float, ptr %834, align 4, !tbaa !9
  %836 = load float, ptr %787, align 4, !tbaa !9
  %837 = fadd float %835, %836
  %838 = fadd float %790, %837
  %839 = getelementptr float, ptr %7, i64 %indvars.iv
  store float %838, ptr %839, align 4, !tbaa !9
  %840 = load float, ptr %834, align 4, !tbaa !9
  %841 = load float, ptr %787, align 4, !tbaa !9
  %842 = fsub float %840, %841
  %843 = fsub float %842, %790
  %844 = getelementptr float, ptr %4, i64 %indvars.iv
  store float %843, ptr %844, align 4, !tbaa !9
  %indvars.iv.next.1 = add nuw nsw i64 %indvars.iv, 2
  %exitcond.not.1 = icmp eq i64 %indvars.iv.next.1, %wide.trip.count
  br i1 %exitcond.not.1, label %.preheader1658, label %.lr.ph, !llvm.loop !71

.lr.ph1664:                                       ; preds = %.lr.ph1664, %.lr.ph1664.preheader.new
  %indvars.iv1873 = phi i64 [ 1, %.lr.ph1664.preheader.new ], [ %indvars.iv.next1874.1, %.lr.ph1664 ]
  %.41663 = phi float [ 0.000000e+00, %.lr.ph1664.preheader.new ], [ %864, %.lr.ph1664 ]
  %niter = phi i64 [ 0, %.lr.ph1664.preheader.new ], [ %niter.next.1, %.lr.ph1664 ]
  %845 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1873
  %846 = load float, ptr %845, align 4, !tbaa !9
  %847 = fmul float %846, %846
  %848 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1873
  %849 = load float, ptr %848, align 4, !tbaa !9
  %850 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1873
  %851 = load float, ptr %850, align 4, !tbaa !9
  %852 = fmul float %849, %851
  %853 = fdiv float %847, %852
  %854 = fadd float %.41663, %853
  %855 = getelementptr float, ptr %3, i64 %indvars.iv1873
  %856 = load float, ptr %855, align 4, !tbaa !9
  %857 = fmul float %856, %856
  %858 = getelementptr float, ptr %7, i64 %indvars.iv1873
  %859 = load float, ptr %858, align 4, !tbaa !9
  %860 = getelementptr float, ptr %4, i64 %indvars.iv1873
  %861 = load float, ptr %860, align 4, !tbaa !9
  %862 = fmul float %859, %861
  %863 = fdiv float %857, %862
  %864 = fadd float %854, %863
  %indvars.iv.next1874.1 = add nuw nsw i64 %indvars.iv1873, 2
  %niter.next.1 = add i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %._crit_edge.loopexit.unr-lcssa, label %.lr.ph1664, !llvm.loop !72

._crit_edge.loopexit.unr-lcssa:                   ; preds = %.lr.ph1664, %.lr.ph1664.preheader
  %.lcssa2330.ph = phi float [ poison, %.lr.ph1664.preheader ], [ %864, %.lr.ph1664 ]
  %indvars.iv1873.unr = phi i64 [ 1, %.lr.ph1664.preheader ], [ %indvars.iv.next1874.1, %.lr.ph1664 ]
  %.41663.unr = phi float [ 0.000000e+00, %.lr.ph1664.preheader ], [ %864, %.lr.ph1664 ]
  %lcmp.mod2333.not = icmp eq i64 %xtraiter2332, 0
  br i1 %lcmp.mod2333.not, label %._crit_edge, label %.lr.ph1664.epil

.lr.ph1664.epil:                                  ; preds = %._crit_edge.loopexit.unr-lcssa
  %865 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1873.unr
  %866 = load float, ptr %865, align 4, !tbaa !9
  %867 = fmul float %866, %866
  %868 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1873.unr
  %869 = load float, ptr %868, align 4, !tbaa !9
  %870 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1873.unr
  %871 = load float, ptr %870, align 4, !tbaa !9
  %872 = fmul float %869, %871
  %873 = fdiv float %867, %872
  %874 = fadd float %.41663.unr, %873
  br label %._crit_edge

._crit_edge:                                      ; preds = %.lr.ph1664.epil, %._crit_edge.loopexit.unr-lcssa, %.preheader1658
  %.4.lcssa = phi float [ 0.000000e+00, %.preheader1658 ], [ %.lcssa2330.ph, %._crit_edge.loopexit.unr-lcssa ], [ %874, %.lr.ph1664.epil ]
  %875 = add nsw i32 %785, 2
  %.not15961665 = icmp slt i32 %791, %875
  br i1 %.not15961665, label %._crit_edge1670, label %.lr.ph1669.preheader

.lr.ph1669.preheader:                             ; preds = %._crit_edge
  %876 = sext i32 %791 to i64
  %877 = sext i32 %875 to i64
  %878 = add nsw i64 %876, %877
  %879 = and i64 %878, 1
  %lcmp.mod2336.not.not = icmp eq i64 %879, 0
  br i1 %lcmp.mod2336.not.not, label %.lr.ph1669.prol, label %.lr.ph1669.prol.loopexit

.lr.ph1669.prol:                                  ; preds = %.lr.ph1669.preheader
  %880 = getelementptr inbounds float, ptr %19, i64 %876
  %881 = load float, ptr %880, align 4, !tbaa !9
  %882 = fmul float %881, %881
  %883 = getelementptr inbounds float, ptr %17, i64 %876
  %884 = load float, ptr %883, align 4, !tbaa !9
  %885 = getelementptr inbounds float, ptr %18, i64 %876
  %886 = load float, ptr %885, align 4, !tbaa !9
  %887 = fmul float %884, %886
  %888 = fdiv float %882, %887
  %889 = fadd float %888, 0.000000e+00
  %indvars.iv.next1879.prol = add nsw i64 %876, -1
  br label %.lr.ph1669.prol.loopexit

.lr.ph1669.prol.loopexit:                         ; preds = %.lr.ph1669.prol, %.lr.ph1669.preheader
  %indvars.iv1878.unr = phi i64 [ %876, %.lr.ph1669.preheader ], [ %indvars.iv.next1879.prol, %.lr.ph1669.prol ]
  %.014831667.unr = phi float [ 0.000000e+00, %.lr.ph1669.preheader ], [ %889, %.lr.ph1669.prol ]
  %.lcssa2329.unr = phi float [ poison, %.lr.ph1669.preheader ], [ %889, %.lr.ph1669.prol ]
  %890 = icmp eq i32 %791, %875
  br i1 %890, label %._crit_edge1670, label %.lr.ph1669

.lr.ph1669:                                       ; preds = %.lr.ph1669.prol.loopexit, %.lr.ph1669
  %indvars.iv1878 = phi i64 [ %indvars.iv.next1879.1, %.lr.ph1669 ], [ %indvars.iv1878.unr, %.lr.ph1669.prol.loopexit ]
  %.014831667 = phi float [ %910, %.lr.ph1669 ], [ %.014831667.unr, %.lr.ph1669.prol.loopexit ]
  %891 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1878
  %892 = load float, ptr %891, align 4, !tbaa !9
  %893 = fmul float %892, %892
  %894 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1878
  %895 = load float, ptr %894, align 4, !tbaa !9
  %896 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1878
  %897 = load float, ptr %896, align 4, !tbaa !9
  %898 = fmul float %895, %897
  %899 = fdiv float %893, %898
  %900 = fadd float %.014831667, %899
  %indvars.iv.next1879 = add nsw i64 %indvars.iv1878, -1
  %901 = getelementptr inbounds float, ptr %19, i64 %indvars.iv.next1879
  %902 = load float, ptr %901, align 4, !tbaa !9
  %903 = fmul float %902, %902
  %904 = getelementptr inbounds float, ptr %17, i64 %indvars.iv.next1879
  %905 = load float, ptr %904, align 4, !tbaa !9
  %906 = getelementptr inbounds float, ptr %18, i64 %indvars.iv.next1879
  %907 = load float, ptr %906, align 4, !tbaa !9
  %908 = fmul float %905, %907
  %909 = fdiv float %903, %908
  %910 = fadd float %900, %909
  %indvars.iv.next1879.1 = add nsw i64 %indvars.iv1878, -2
  %.not1596.not.1 = icmp sgt i64 %indvars.iv.next1879, %877
  br i1 %.not1596.not.1, label %.lr.ph1669, label %._crit_edge1670, !llvm.loop !73

._crit_edge1670:                                  ; preds = %.lr.ph1669.prol.loopexit, %.lr.ph1669, %._crit_edge
  %.01483.lcssa = phi float [ 0.000000e+00, %._crit_edge ], [ %.lcssa2329.unr, %.lr.ph1669.prol.loopexit ], [ %910, %.lr.ph1669 ]
  %911 = fadd float %33, %.4.lcssa
  %912 = fadd float %911, %.01483.lcssa
  store float %912, ptr %10, align 4, !tbaa !9
  %913 = getelementptr inbounds float, ptr %19, i64 %786
  %914 = load float, ptr %913, align 4, !tbaa !9
  %915 = getelementptr inbounds float, ptr %17, i64 %786
  %916 = load float, ptr %915, align 4, !tbaa !9
  %917 = getelementptr inbounds float, ptr %18, i64 %786
  %918 = load float, ptr %917, align 4, !tbaa !9
  %919 = getelementptr inbounds float, ptr %19, i64 %772
  %920 = load float, ptr %919, align 4, !tbaa !9
  %921 = getelementptr inbounds float, ptr %17, i64 %772
  %922 = load float, ptr %921, align 4, !tbaa !9
  %923 = getelementptr inbounds float, ptr %18, i64 %772
  %924 = load float, ptr %923, align 4, !tbaa !9
  %925 = insertelement <2 x float> poison, float %914, i64 0
  %926 = insertelement <2 x float> %925, float %920, i64 1
  %927 = fmul <2 x float> %926, %926
  %928 = insertelement <2 x float> poison, float %916, i64 0
  %929 = insertelement <2 x float> %928, float %922, i64 1
  %930 = insertelement <2 x float> poison, float %918, i64 0
  %931 = insertelement <2 x float> %930, float %924, i64 1
  %932 = fmul <2 x float> %929, %931
  %933 = fdiv <2 x float> %927, %932
  %934 = extractelement <2 x float> %933, i64 0
  %935 = fadd float %912, %934
  %936 = extractelement <2 x float> %933, i64 1
  %937 = fadd float %935, %936
  %938 = fcmp ule float %937, 0.000000e+00
  br i1 %938, label %1008, label %939

939:                                              ; preds = %._crit_edge1670
  store i32 1, ptr %15, align 4, !tbaa !5
  %940 = load float, ptr %787, align 4, !tbaa !9
  %941 = fadd float %sqrtf, %940
  %942 = fdiv float %781, %941
  %943 = extractelement <2 x float> %927, i64 0
  %944 = tail call float @llvm.fmuladd.f32(float %912, float %780, float %943)
  %945 = tail call float @llvm.fmuladd.f32(float %920, float %920, float %944)
  %946 = fmul float %780, %943
  %947 = fcmp ogt float %945, 0.000000e+00
  br i1 %947, label %948, label %962

948:                                              ; preds = %939
  %949 = fmul float %946, 2.000000e+00
  %950 = fpext float %949 to double
  %951 = fpext float %945 to double
  %952 = fmul float %946, -4.000000e+00
  %953 = fmul float %912, %952
  %954 = tail call float @llvm.fmuladd.f32(float %945, float %945, float %953)
  %955 = fcmp oge float %954, 0.000000e+00
  %956 = fneg float %954
  %957 = select i1 %955, float %954, float %956
  %958 = fpext float %957 to double
  %959 = tail call double @sqrt(double noundef %958) #6
  %960 = fadd double %959, %951
  %961 = fdiv double %950, %960
  br label %976

962:                                              ; preds = %939
  %963 = fpext float %945 to double
  %964 = fmul float %946, -4.000000e+00
  %965 = fmul float %912, %964
  %966 = tail call float @llvm.fmuladd.f32(float %945, float %945, float %965)
  %967 = fcmp oge float %966, 0.000000e+00
  %968 = fneg float %966
  %969 = select i1 %967, float %966, float %968
  %970 = fpext float %969 to double
  %971 = tail call double @sqrt(double noundef %970) #6
  %972 = fsub double %963, %971
  %973 = fmul float %912, 2.000000e+00
  %974 = fpext float %973 to double
  %975 = fdiv double %972, %974
  br label %976

976:                                              ; preds = %962, %948
  %.2.in = phi double [ %961, %948 ], [ %975, %962 ]
  %.2 = fptrunc double %.2.in to float
  %977 = fpext float %.2 to double
  %978 = load i32, ptr %1, align 4, !tbaa !5
  %979 = sext i32 %978 to i64
  %980 = getelementptr inbounds float, ptr %20, i64 %979
  %981 = load float, ptr %980, align 4, !tbaa !9
  %982 = fpext float %981 to double
  %983 = tail call float @llvm.fmuladd.f32(float %981, float %981, float %.2)
  %984 = fpext float %983 to double
  %985 = tail call double @sqrt(double noundef %984) #6
  %986 = fadd double %985, %982
  %987 = fdiv double %977, %986
  %988 = fptrunc double %987 to float
  %sqrtf1597 = tail call float @sqrtf(float noundef %31) #2
  %989 = load i32, ptr %1, align 4, !tbaa !5
  %990 = sext i32 %989 to i64
  %991 = getelementptr inbounds float, ptr %20, i64 %990
  %992 = load float, ptr %991, align 4, !tbaa !9
  %993 = load float, ptr %773, align 4, !tbaa !9
  %994 = fmul float %sqrtf1597, %993
  %995 = fcmp ugt float %992, %994
  br i1 %995, label %1063, label %996

996:                                              ; preds = %976
  %997 = getelementptr inbounds float, ptr %19, i64 %990
  %998 = load float, ptr %997, align 4, !tbaa !9
  %999 = fcmp oge float %998, 0.000000e+00
  %1000 = fneg float %998
  %1001 = select i1 %999, float %998, float %1000
  %1002 = fcmp ole float %1001, %sqrtf1597
  %1003 = fcmp ogt float %992, 0.000000e+00
  %or.cond = and i1 %1003, %1002
  br i1 %or.cond, label %1004, label %1063

1004:                                             ; preds = %996
  %1005 = fmul float %992, 1.000000e+01
  %1006 = fcmp ole float %1005, %942
  %1007 = select i1 %1006, float %1005, float %942
  br label %1063

1008:                                             ; preds = %._crit_edge1670
  store i32 0, ptr %15, align 4, !tbaa !5
  %1009 = fneg float %781
  %1010 = load float, ptr %773, align 4, !tbaa !9
  %1011 = fadd float %sqrtf, %1010
  %1012 = fdiv float %1009, %1011
  %1013 = fneg float %914
  %1014 = fmul float %914, %1013
  %1015 = tail call float @llvm.fmuladd.f32(float %912, float %780, float %1014)
  %1016 = fneg float %920
  %1017 = tail call float @llvm.fmuladd.f32(float %1016, float %920, float %1015)
  %1018 = extractelement <2 x float> %927, i64 1
  %1019 = fmul float %780, %1018
  %1020 = fcmp olt float %1017, 0.000000e+00
  br i1 %1020, label %1021, label %1035

1021:                                             ; preds = %1008
  %1022 = fmul float %1019, 2.000000e+00
  %1023 = fpext float %1022 to double
  %1024 = fpext float %1017 to double
  %1025 = fmul float %1019, 4.000000e+00
  %1026 = fmul float %912, %1025
  %1027 = tail call float @llvm.fmuladd.f32(float %1017, float %1017, float %1026)
  %1028 = fcmp oge float %1027, 0.000000e+00
  %1029 = fneg float %1027
  %1030 = select i1 %1028, float %1027, float %1029
  %1031 = fpext float %1030 to double
  %1032 = tail call double @sqrt(double noundef %1031) #6
  %1033 = fsub double %1024, %1032
  %1034 = fdiv double %1023, %1033
  br label %1050

1035:                                             ; preds = %1008
  %1036 = fpext float %1017 to double
  %1037 = fmul float %1019, 4.000000e+00
  %1038 = fmul float %912, %1037
  %1039 = tail call float @llvm.fmuladd.f32(float %1017, float %1017, float %1038)
  %1040 = fcmp oge float %1039, 0.000000e+00
  %1041 = fneg float %1039
  %1042 = select i1 %1040, float %1039, float %1041
  %1043 = fpext float %1042 to double
  %1044 = tail call double @sqrt(double noundef %1043) #6
  %1045 = fadd double %1044, %1036
  %1046 = fneg double %1045
  %1047 = fmul float %912, 2.000000e+00
  %1048 = fpext float %1047 to double
  %1049 = fdiv double %1046, %1048
  br label %1050

1050:                                             ; preds = %1035, %1021
  %.3.in = phi double [ %1034, %1021 ], [ %1049, %1035 ]
  %.3 = fptrunc double %.3.in to float
  %1051 = fpext float %.3 to double
  %1052 = load float, ptr %773, align 4, !tbaa !9
  %1053 = fpext float %1052 to double
  %1054 = tail call float @llvm.fmuladd.f32(float %1052, float %1052, float %.3)
  %1055 = fcmp oge float %1054, 0.000000e+00
  %1056 = fneg float %1054
  %1057 = select i1 %1055, float %1054, float %1056
  %1058 = fpext float %1057 to double
  %1059 = tail call double @sqrt(double noundef %1058) #6
  %1060 = fadd double %1059, %1053
  %1061 = fdiv double %1051, %1060
  %1062 = fptrunc double %1061 to float
  br label %1063

1063:                                             ; preds = %976, %996, %1004, %1050
  %.pre-phi = phi i64 [ %786, %976 ], [ %786, %996 ], [ %786, %1004 ], [ %772, %1050 ]
  %.01547 = phi float [ 0.000000e+00, %976 ], [ 0.000000e+00, %996 ], [ 0.000000e+00, %1004 ], [ %1012, %1050 ]
  %.01531 = phi float [ %942, %976 ], [ %942, %996 ], [ %942, %1004 ], [ 0.000000e+00, %1050 ]
  %.01498 = phi i32 [ %785, %976 ], [ %785, %996 ], [ %785, %1004 ], [ %771, %1050 ]
  %.21481 = phi float [ %988, %976 ], [ %988, %996 ], [ %1007, %1004 ], [ %1062, %1050 ]
  %.not1612 = phi i1 [ true, %976 ], [ true, %996 ], [ false, %1004 ], [ true, %1050 ]
  %1064 = getelementptr inbounds float, ptr %20, i64 %.pre-phi
  %1065 = load float, ptr %1064, align 4, !tbaa !9
  %1066 = fadd float %.21481, %1065
  store float %1066, ptr %6, align 4, !tbaa !9
  %1067 = load i32, ptr %0, align 4, !tbaa !5
  %.not15981672 = icmp slt i32 %1067, 1
  br i1 %.not15981672, label %._crit_edge1676, label %.lr.ph1675.preheader

.lr.ph1675.preheader:                             ; preds = %1063
  %1068 = add nuw i32 %1067, 1
  %wide.trip.count1884 = zext i32 %1068 to i64
  %1069 = zext nneg i32 %1067 to i64
  %min.iters.check2084 = icmp ult i32 %1067, 16
  br i1 %min.iters.check2084, label %.lr.ph1675.preheader2328, label %vector.memcheck2058

vector.memcheck2058:                              ; preds = %.lr.ph1675.preheader
  %1070 = shl nuw nsw i64 %wide.trip.count1884, 2
  %1071 = add nsw i64 %1070, -4
  %scevgep2059 = getelementptr i8, ptr %7, i64 %1071
  %scevgep2060 = getelementptr i8, ptr %4, i64 %1071
  %1072 = shl nsw i64 %.pre-phi, 2
  %scevgep2061 = getelementptr i8, ptr %2, i64 %1072
  %scevgep2062 = getelementptr i8, ptr %2, i64 %1071
  %bound02063 = icmp ugt ptr %scevgep2060, %7
  %bound12064 = icmp ugt ptr %scevgep2059, %4
  %found.conflict2065 = and i1 %bound02063, %bound12064
  %bound02066 = icmp ugt ptr %scevgep2061, %7
  %bound12067 = icmp ult ptr %1064, %scevgep2059
  %found.conflict2068 = and i1 %bound02066, %bound12067
  %conflict.rdx2069 = or i1 %found.conflict2065, %found.conflict2068
  %bound02070 = icmp ugt ptr %scevgep2062, %7
  %bound12071 = icmp ugt ptr %scevgep2059, %2
  %found.conflict2072 = and i1 %bound02070, %bound12071
  %conflict.rdx2073 = or i1 %conflict.rdx2069, %found.conflict2072
  %bound02074 = icmp ugt ptr %scevgep2061, %4
  %bound12075 = icmp ult ptr %1064, %scevgep2060
  %found.conflict2076 = and i1 %bound02074, %bound12075
  %conflict.rdx2077 = or i1 %conflict.rdx2073, %found.conflict2076
  %bound02078 = icmp ugt ptr %scevgep2062, %4
  %bound12079 = icmp ugt ptr %scevgep2060, %2
  %found.conflict2080 = and i1 %bound02078, %bound12079
  %conflict.rdx2081 = or i1 %conflict.rdx2077, %found.conflict2080
  br i1 %conflict.rdx2081, label %.lr.ph1675.preheader2328, label %vector.ph2085

vector.ph2085:                                    ; preds = %vector.memcheck2058
  %n.vec2087 = and i64 %1069, 2147483644
  %ind.end2088 = or disjoint i64 %n.vec2087, 1
  %broadcast.splatinsert2096 = insertelement <4 x float> poison, float %.21481, i64 0
  %broadcast.splat2097 = shufflevector <4 x float> %broadcast.splatinsert2096, <4 x float> poison, <4 x i32> zeroinitializer
  %1073 = load float, ptr %1064, align 4, !tbaa !9, !alias.scope !74
  %broadcast.splatinsert2094 = insertelement <4 x float> poison, float %1073, i64 0
  %broadcast.splat2095 = shufflevector <4 x float> %broadcast.splatinsert2094, <4 x float> poison, <4 x i32> zeroinitializer
  %1074 = load float, ptr %1064, align 4, !tbaa !9, !alias.scope !74
  %broadcast.splatinsert2099 = insertelement <4 x float> poison, float %1074, i64 0
  %broadcast.splat2100 = shufflevector <4 x float> %broadcast.splatinsert2099, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2090

vector.body2090:                                  ; preds = %vector.body2090, %vector.ph2085
  %index2091 = phi i64 [ 0, %vector.ph2085 ], [ %index.next2101, %vector.body2090 ]
  %1075 = getelementptr float, ptr %2, i64 %index2091
  %wide.load2093 = load <4 x float>, ptr %1075, align 4, !tbaa !9, !alias.scope !77
  %1076 = fadd <4 x float> %wide.load2093, %broadcast.splat2095
  %1077 = fadd <4 x float> %broadcast.splat2097, %1076
  %1078 = getelementptr float, ptr %7, i64 %index2091
  store <4 x float> %1077, ptr %1078, align 4, !tbaa !9, !alias.scope !79, !noalias !81
  %wide.load2098 = load <4 x float>, ptr %1075, align 4, !tbaa !9, !alias.scope !77
  %1079 = fsub <4 x float> %wide.load2098, %broadcast.splat2100
  %1080 = fsub <4 x float> %1079, %broadcast.splat2097
  %1081 = getelementptr float, ptr %4, i64 %index2091
  store <4 x float> %1080, ptr %1081, align 4, !tbaa !9, !alias.scope !83, !noalias !84
  %index.next2101 = add nuw i64 %index2091, 4
  %1082 = icmp eq i64 %index.next2101, %n.vec2087
  br i1 %1082, label %middle.block2082, label %vector.body2090, !llvm.loop !85

middle.block2082:                                 ; preds = %vector.body2090
  %cmp.n2102 = icmp eq i64 %n.vec2087, %1069
  br i1 %cmp.n2102, label %._crit_edge1676, label %.lr.ph1675.preheader2328

.lr.ph1675.preheader2328:                         ; preds = %middle.block2082, %vector.memcheck2058, %.lr.ph1675.preheader
  %indvars.iv1881.ph = phi i64 [ 1, %vector.memcheck2058 ], [ 1, %.lr.ph1675.preheader ], [ %ind.end2088, %middle.block2082 ]
  %1083 = zext nneg i32 %1067 to i64
  %1084 = and i32 %1067, 1
  %lcmp.mod2338.not = icmp eq i32 %1084, 0
  br i1 %lcmp.mod2338.not, label %.lr.ph1675.prol.loopexit, label %.lr.ph1675.prol

.lr.ph1675.prol:                                  ; preds = %.lr.ph1675.preheader2328
  %1085 = getelementptr inbounds float, ptr %20, i64 %indvars.iv1881.ph
  %1086 = load float, ptr %1085, align 4, !tbaa !9
  %1087 = load float, ptr %1064, align 4, !tbaa !9
  %1088 = fadd float %1086, %1087
  %1089 = fadd float %.21481, %1088
  %1090 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1881.ph
  store float %1089, ptr %1090, align 4, !tbaa !9
  %1091 = load float, ptr %1085, align 4, !tbaa !9
  %1092 = load float, ptr %1064, align 4, !tbaa !9
  %1093 = fsub float %1091, %1092
  %1094 = fsub float %1093, %.21481
  %1095 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1881.ph
  store float %1094, ptr %1095, align 4, !tbaa !9
  %indvars.iv.next1882.prol = add nuw nsw i64 %indvars.iv1881.ph, 1
  br label %.lr.ph1675.prol.loopexit

.lr.ph1675.prol.loopexit:                         ; preds = %.lr.ph1675.prol, %.lr.ph1675.preheader2328
  %indvars.iv1881.unr = phi i64 [ %indvars.iv1881.ph, %.lr.ph1675.preheader2328 ], [ %indvars.iv.next1882.prol, %.lr.ph1675.prol ]
  %1096 = icmp eq i64 %indvars.iv1881.ph, %1083
  br i1 %1096, label %._crit_edge1676, label %.lr.ph1675

.lr.ph1675:                                       ; preds = %.lr.ph1675.prol.loopexit, %.lr.ph1675
  %indvars.iv1881 = phi i64 [ %indvars.iv.next1882.1, %.lr.ph1675 ], [ %indvars.iv1881.unr, %.lr.ph1675.prol.loopexit ]
  %1097 = getelementptr inbounds float, ptr %20, i64 %indvars.iv1881
  %1098 = load float, ptr %1097, align 4, !tbaa !9
  %1099 = load float, ptr %1064, align 4, !tbaa !9
  %1100 = fadd float %1098, %1099
  %1101 = fadd float %.21481, %1100
  %1102 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1881
  store float %1101, ptr %1102, align 4, !tbaa !9
  %1103 = load float, ptr %1097, align 4, !tbaa !9
  %1104 = load float, ptr %1064, align 4, !tbaa !9
  %1105 = fsub float %1103, %1104
  %1106 = fsub float %1105, %.21481
  %1107 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1881
  store float %1106, ptr %1107, align 4, !tbaa !9
  %1108 = getelementptr float, ptr %2, i64 %indvars.iv1881
  %1109 = load float, ptr %1108, align 4, !tbaa !9
  %1110 = load float, ptr %1064, align 4, !tbaa !9
  %1111 = fadd float %1109, %1110
  %1112 = fadd float %.21481, %1111
  %1113 = getelementptr float, ptr %7, i64 %indvars.iv1881
  store float %1112, ptr %1113, align 4, !tbaa !9
  %1114 = load float, ptr %1108, align 4, !tbaa !9
  %1115 = load float, ptr %1064, align 4, !tbaa !9
  %1116 = fsub float %1114, %1115
  %1117 = fsub float %1116, %.21481
  %1118 = getelementptr float, ptr %4, i64 %indvars.iv1881
  store float %1117, ptr %1118, align 4, !tbaa !9
  %indvars.iv.next1882.1 = add nuw nsw i64 %indvars.iv1881, 2
  %exitcond1885.not.1 = icmp eq i64 %indvars.iv.next1882.1, %wide.trip.count1884
  br i1 %exitcond1885.not.1, label %._crit_edge1676, label %.lr.ph1675, !llvm.loop !86

._crit_edge1676:                                  ; preds = %.lr.ph1675.prol.loopexit, %.lr.ph1675, %middle.block2082, %1063
  %1119 = add nsw i32 %.01498, -1
  %1120 = add nsw i32 %.01498, 1
  %.not1599.not1677 = icmp sgt i32 %.01498, 1
  br i1 %.not1599.not1677, label %.lr.ph1683.preheader, label %._crit_edge1684

.lr.ph1683.preheader:                             ; preds = %._crit_edge1676
  %wide.trip.count1889 = zext nneg i32 %.01498 to i64
  %1121 = add nsw i64 %wide.trip.count1889, -1
  %xtraiter2339 = and i64 %1121, 1
  %1122 = icmp eq i32 %.01498, 2
  br i1 %1122, label %._crit_edge1684.loopexit.unr-lcssa, label %.lr.ph1683.preheader.new

.lr.ph1683.preheader.new:                         ; preds = %.lr.ph1683.preheader
  %unroll_iter2343 = and i64 %1121, -2
  br label %.lr.ph1683

.lr.ph1683:                                       ; preds = %.lr.ph1683, %.lr.ph1683.preheader.new
  %indvars.iv1886 = phi i64 [ 1, %.lr.ph1683.preheader.new ], [ %indvars.iv.next1887.1, %.lr.ph1683 ]
  %.414921680 = phi float [ 0.000000e+00, %.lr.ph1683.preheader.new ], [ %1151, %.lr.ph1683 ]
  %1123 = phi <2 x float> [ zeroinitializer, %.lr.ph1683.preheader.new ], [ %1149, %.lr.ph1683 ]
  %niter2344 = phi i64 [ 0, %.lr.ph1683.preheader.new ], [ %niter2344.next.1, %.lr.ph1683 ]
  %1124 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1886
  %1125 = load float, ptr %1124, align 4, !tbaa !9
  %1126 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1886
  %1127 = load float, ptr %1126, align 4, !tbaa !9
  %1128 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1886
  %1129 = load float, ptr %1128, align 4, !tbaa !9
  %1130 = fmul float %1127, %1129
  %1131 = fdiv float %1125, %1130
  %1132 = insertelement <2 x float> poison, float %1125, i64 0
  %1133 = insertelement <2 x float> %1132, float %1131, i64 1
  %1134 = shufflevector <2 x float> %1133, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %1135 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1133, <2 x float> %1134, <2 x float> %1123)
  %1136 = extractelement <2 x float> %1135, i64 0
  %1137 = fadd float %.414921680, %1136
  %1138 = getelementptr float, ptr %3, i64 %indvars.iv1886
  %1139 = load float, ptr %1138, align 4, !tbaa !9
  %1140 = getelementptr float, ptr %7, i64 %indvars.iv1886
  %1141 = load float, ptr %1140, align 4, !tbaa !9
  %1142 = getelementptr float, ptr %4, i64 %indvars.iv1886
  %1143 = load float, ptr %1142, align 4, !tbaa !9
  %1144 = fmul float %1141, %1143
  %1145 = fdiv float %1139, %1144
  %1146 = insertelement <2 x float> poison, float %1139, i64 0
  %1147 = insertelement <2 x float> %1146, float %1145, i64 1
  %1148 = shufflevector <2 x float> %1147, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %1149 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1147, <2 x float> %1148, <2 x float> %1135)
  %1150 = extractelement <2 x float> %1149, i64 0
  %1151 = fadd float %1137, %1150
  %indvars.iv.next1887.1 = add nuw nsw i64 %indvars.iv1886, 2
  %niter2344.next.1 = add i64 %niter2344, 2
  %niter2344.ncmp.1 = icmp eq i64 %niter2344.next.1, %unroll_iter2343
  br i1 %niter2344.ncmp.1, label %._crit_edge1684.loopexit.unr-lcssa, label %.lr.ph1683, !llvm.loop !87

._crit_edge1684.loopexit.unr-lcssa:               ; preds = %.lr.ph1683, %.lr.ph1683.preheader
  %.lcssa2327.ph = phi <2 x float> [ poison, %.lr.ph1683.preheader ], [ %1149, %.lr.ph1683 ]
  %.lcssa2326.ph = phi float [ poison, %.lr.ph1683.preheader ], [ %1151, %.lr.ph1683 ]
  %indvars.iv1886.unr = phi i64 [ 1, %.lr.ph1683.preheader ], [ %indvars.iv.next1887.1, %.lr.ph1683 ]
  %.414921680.unr = phi float [ 0.000000e+00, %.lr.ph1683.preheader ], [ %1151, %.lr.ph1683 ]
  %.unr = phi <2 x float> [ zeroinitializer, %.lr.ph1683.preheader ], [ %1149, %.lr.ph1683 ]
  %lcmp.mod2340.not = icmp eq i64 %xtraiter2339, 0
  br i1 %lcmp.mod2340.not, label %._crit_edge1684, label %.lr.ph1683.epil

.lr.ph1683.epil:                                  ; preds = %._crit_edge1684.loopexit.unr-lcssa
  %1152 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1886.unr
  %1153 = load float, ptr %1152, align 4, !tbaa !9
  %1154 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1886.unr
  %1155 = load float, ptr %1154, align 4, !tbaa !9
  %1156 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1886.unr
  %1157 = load float, ptr %1156, align 4, !tbaa !9
  %1158 = fmul float %1155, %1157
  %1159 = fdiv float %1153, %1158
  %1160 = insertelement <2 x float> poison, float %1153, i64 0
  %1161 = insertelement <2 x float> %1160, float %1159, i64 1
  %1162 = shufflevector <2 x float> %1161, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %1163 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1161, <2 x float> %1162, <2 x float> %.unr)
  %1164 = extractelement <2 x float> %1163, i64 0
  %1165 = fadd float %.414921680.unr, %1164
  br label %._crit_edge1684

._crit_edge1684:                                  ; preds = %.lr.ph1683.epil, %._crit_edge1684.loopexit.unr-lcssa, %._crit_edge1676
  %.41492.lcssa = phi float [ 0.000000e+00, %._crit_edge1676 ], [ %.lcssa2326.ph, %._crit_edge1684.loopexit.unr-lcssa ], [ %1165, %.lr.ph1683.epil ]
  %1166 = phi <2 x float> [ zeroinitializer, %._crit_edge1676 ], [ %.lcssa2327.ph, %._crit_edge1684.loopexit.unr-lcssa ], [ %1163, %.lr.ph1683.epil ]
  %1167 = fcmp oge float %.41492.lcssa, 0.000000e+00
  %1168 = fneg float %.41492.lcssa
  %1169 = select i1 %1167, float %.41492.lcssa, float %1168
  %.not1600.not1688 = icmp sgt i32 %1067, %.01498
  br i1 %.not1600.not1688, label %.lr.ph1694.preheader, label %._crit_edge1695

.lr.ph1694.preheader:                             ; preds = %._crit_edge1684
  %1170 = sext i32 %1067 to i64
  br label %.lr.ph1694

.lr.ph1694:                                       ; preds = %.lr.ph1694.preheader, %.lr.ph1694
  %indvars.iv1891 = phi i64 [ %1170, %.lr.ph1694.preheader ], [ %indvars.iv.next1892, %.lr.ph1694 ]
  %.514931691 = phi float [ %1169, %.lr.ph1694.preheader ], [ %1185, %.lr.ph1694 ]
  %1171 = phi <2 x float> [ zeroinitializer, %.lr.ph1694.preheader ], [ %1183, %.lr.ph1694 ]
  %1172 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1891
  %1173 = load float, ptr %1172, align 4, !tbaa !9
  %1174 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1891
  %1175 = load float, ptr %1174, align 4, !tbaa !9
  %1176 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1891
  %1177 = load float, ptr %1176, align 4, !tbaa !9
  %1178 = fmul float %1175, %1177
  %1179 = fdiv float %1173, %1178
  %1180 = insertelement <2 x float> poison, float %1173, i64 0
  %1181 = insertelement <2 x float> %1180, float %1179, i64 1
  %1182 = shufflevector <2 x float> %1181, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %1183 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1181, <2 x float> %1182, <2 x float> %1171)
  %1184 = extractelement <2 x float> %1183, i64 0
  %1185 = fadd float %.514931691, %1184
  %indvars.iv.next1892 = add nsw i64 %indvars.iv1891, -1
  %.not1600.not = icmp sgt i64 %indvars.iv.next1892, %.pre-phi
  br i1 %.not1600.not, label %.lr.ph1694, label %._crit_edge1695, !llvm.loop !88

._crit_edge1695:                                  ; preds = %.lr.ph1694, %._crit_edge1684
  %.51493.lcssa = phi float [ %1169, %._crit_edge1684 ], [ %1185, %.lr.ph1694 ]
  %1186 = phi <2 x float> [ zeroinitializer, %._crit_edge1684 ], [ %1183, %.lr.ph1694 ]
  %1187 = extractelement <2 x float> %1186, i64 0
  %1188 = fadd float %33, %1187
  %1189 = extractelement <2 x float> %1166, i64 0
  %1190 = fadd float %1189, %1188
  br i1 %938, label %1194, label %1191

1191:                                             ; preds = %._crit_edge1695
  %1192 = fcmp olt float %1190, 0.000000e+00
  br i1 %1192, label %1193, label %1197

1193:                                             ; preds = %1191
  br label %1197

1194:                                             ; preds = %._crit_edge1695
  %1195 = fcmp ogt float %1190, 0.000000e+00
  br i1 %1195, label %1196, label %1197

1196:                                             ; preds = %1194
  br label %1197

1197:                                             ; preds = %1194, %1196, %1191, %1193
  %.not16021652 = phi i1 [ false, %1193 ], [ true, %1191 ], [ false, %1196 ], [ true, %1194 ]
  %1198 = icmp eq i32 %.01498, 1
  %1199 = icmp eq i32 %.01498, %1067
  %or.cond1651 = or i1 %1198, %1199
  %1200 = getelementptr inbounds float, ptr %19, i64 %.pre-phi
  %1201 = load float, ptr %1200, align 4, !tbaa !9
  %1202 = getelementptr inbounds float, ptr %17, i64 %.pre-phi
  %1203 = load float, ptr %1202, align 4, !tbaa !9
  %1204 = getelementptr inbounds float, ptr %18, i64 %.pre-phi
  %1205 = load float, ptr %1204, align 4, !tbaa !9
  %1206 = fmul float %1203, %1205
  %1207 = fdiv float %1201, %1206
  %1208 = extractelement <2 x float> %1186, i64 1
  %1209 = extractelement <2 x float> %1166, i64 1
  %1210 = fadd float %1209, %1208
  %1211 = tail call float @llvm.fmuladd.f32(float %1207, float %1207, float %1210)
  %1212 = fmul float %1201, %1207
  %1213 = fadd float %1190, %1212
  store float %1213, ptr %11, align 4, !tbaa !9
  %1214 = fsub <2 x float> %1186, %1166
  %1215 = extractelement <2 x float> %1214, i64 0
  %1216 = tail call float @llvm.fmuladd.f32(float %1215, float 8.000000e+00, float %.51493.lcssa)
  %1217 = tail call float @llvm.fmuladd.f32(float %33, float 2.000000e+00, float %1216)
  %1218 = fcmp oge float %1212, 0.000000e+00
  %1219 = fneg float %1212
  %1220 = select i1 %1218, float %1212, float %1219
  %1221 = tail call float @llvm.fmuladd.f32(float %1220, float 3.000000e+00, float %1217)
  %1222 = fcmp oge float %1213, 0.000000e+00
  %1223 = fneg float %1213
  %1224 = select i1 %1222, float %1213, float %1223
  %1225 = fmul float %31, %1221
  %1226 = fcmp ugt float %1224, %1225
  br i1 %1226, label %1227, label %.loopexit1656

1227:                                             ; preds = %1197
  %1228 = fcmp ugt float %1213, 0.000000e+00
  br i1 %1228, label %1232, label %1229

1229:                                             ; preds = %1227
  %1230 = fcmp oge float %.01547, %.21481
  %1231 = select i1 %1230, float %.01547, float %.21481
  br label %1235

1232:                                             ; preds = %1227
  %1233 = fcmp ole float %.01531, %.21481
  %1234 = select i1 %1233, float %.01531, float %.21481
  br label %1235

1235:                                             ; preds = %1232, %1229
  %.11548 = phi float [ %1231, %1229 ], [ %.01547, %1232 ]
  %.11532 = phi float [ %.01531, %1229 ], [ %1234, %1232 ]
  store i32 2, ptr %12, align 4, !tbaa !5
  %.not1602 = or i1 %or.cond1651, %.not16021652
  br i1 %.not1602, label %1236, label %1320

1236:                                             ; preds = %1235
  %1237 = load float, ptr %921, align 4, !tbaa !9
  %1238 = load float, ptr %923, align 4, !tbaa !9
  %1239 = fmul float %1237, %1238
  %1240 = load i32, ptr %1, align 4, !tbaa !5
  %1241 = sext i32 %1240 to i64
  %1242 = getelementptr inbounds float, ptr %17, i64 %1241
  %1243 = load float, ptr %1242, align 4, !tbaa !9
  %1244 = getelementptr inbounds float, ptr %18, i64 %1241
  %1245 = load float, ptr %1244, align 4, !tbaa !9
  %1246 = fmul float %1243, %1245
  br i1 %938, label %1255, label %1247

1247:                                             ; preds = %1236
  %1248 = getelementptr inbounds float, ptr %19, i64 %1241
  %1249 = load float, ptr %1248, align 4, !tbaa !9
  %1250 = fdiv float %1249, %1246
  %1251 = fneg float %1239
  %1252 = tail call float @llvm.fmuladd.f32(float %1251, float %1211, float %1213)
  %1253 = fmul float %1250, %1250
  %1254 = tail call float @llvm.fmuladd.f32(float %780, float %1253, float %1252)
  br label %1263

1255:                                             ; preds = %1236
  %1256 = load float, ptr %919, align 4, !tbaa !9
  %1257 = fdiv float %1256, %1239
  %1258 = fneg float %1246
  %1259 = tail call float @llvm.fmuladd.f32(float %1258, float %1211, float %1213)
  %1260 = fmul float %1257, %1257
  %1261 = fneg float %780
  %1262 = tail call float @llvm.fmuladd.f32(float %1261, float %1260, float %1259)
  br label %1263

1263:                                             ; preds = %1255, %1247
  %1264 = phi float [ %1262, %1255 ], [ %1254, %1247 ]
  store float %1264, ptr %10, align 4, !tbaa !9
  %1265 = fadd float %1239, %1246
  %1266 = fmul float %1239, %1246
  %1267 = fneg float %1266
  %1268 = fmul float %1211, %1267
  %1269 = tail call float @llvm.fmuladd.f32(float %1265, float %1213, float %1268)
  %1270 = fmul float %1213, %1266
  %1271 = fcmp oeq float %1264, 0.000000e+00
  br i1 %1271, label %1272, label %1288

1272:                                             ; preds = %1263
  %1273 = fcmp oeq float %1269, 0.000000e+00
  br i1 %1273, label %1274, label %1286

1274:                                             ; preds = %1272
  br i1 %938, label %1281, label %1275

1275:                                             ; preds = %1274
  %1276 = getelementptr inbounds float, ptr %19, i64 %1241
  %1277 = load float, ptr %1276, align 4, !tbaa !9
  %1278 = fmul float %1239, %1239
  %1279 = fmul float %1210, %1278
  %1280 = tail call float @llvm.fmuladd.f32(float %1277, float %1277, float %1279)
  br label %1286

1281:                                             ; preds = %1274
  %1282 = load float, ptr %919, align 4, !tbaa !9
  %1283 = fmul float %1246, %1246
  %1284 = fmul float %1210, %1283
  %1285 = tail call float @llvm.fmuladd.f32(float %1282, float %1282, float %1284)
  br label %1286

1286:                                             ; preds = %1275, %1281, %1272
  %.01527 = phi float [ %1280, %1275 ], [ %1285, %1281 ], [ %1269, %1272 ]
  %1287 = fdiv float %1270, %.01527
  store float %1287, ptr %16, align 4, !tbaa !9
  br label %1476

1288:                                             ; preds = %1263
  %1289 = fcmp ugt float %1269, 0.000000e+00
  br i1 %1289, label %1305, label %1290

1290:                                             ; preds = %1288
  %1291 = fpext float %1269 to double
  %1292 = fmul float %1270, -4.000000e+00
  %1293 = fmul float %1292, %1264
  %1294 = tail call float @llvm.fmuladd.f32(float %1269, float %1269, float %1293)
  %1295 = fcmp oge float %1294, 0.000000e+00
  %1296 = fneg float %1294
  %1297 = select i1 %1295, float %1294, float %1296
  %1298 = fpext float %1297 to double
  %1299 = tail call double @sqrt(double noundef %1298) #6
  %1300 = fsub double %1291, %1299
  %1301 = fmul float %1264, 2.000000e+00
  %1302 = fpext float %1301 to double
  %1303 = fdiv double %1300, %1302
  %1304 = fptrunc double %1303 to float
  store float %1304, ptr %16, align 4, !tbaa !9
  br label %1476

1305:                                             ; preds = %1288
  %1306 = fmul float %1270, 2.000000e+00
  %1307 = fpext float %1306 to double
  %1308 = fpext float %1269 to double
  %1309 = fmul float %1270, -4.000000e+00
  %1310 = fmul float %1309, %1264
  %1311 = tail call float @llvm.fmuladd.f32(float %1269, float %1269, float %1310)
  %1312 = fcmp oge float %1311, 0.000000e+00
  %1313 = fneg float %1311
  %1314 = select i1 %1312, float %1311, float %1313
  %1315 = fpext float %1314 to double
  %1316 = tail call double @sqrt(double noundef %1315) #6
  %1317 = fadd double %1316, %1308
  %1318 = fdiv double %1307, %1317
  %1319 = fptrunc double %1318 to float
  store float %1319, ptr %16, align 4, !tbaa !9
  br label %1476

1320:                                             ; preds = %1235
  %1321 = sext i32 %1119 to i64
  %1322 = getelementptr inbounds float, ptr %17, i64 %1321
  %1323 = load float, ptr %1322, align 4, !tbaa !9
  %1324 = getelementptr inbounds float, ptr %18, i64 %1321
  %1325 = load float, ptr %1324, align 4, !tbaa !9
  %1326 = fmul float %1323, %1325
  %1327 = sext i32 %1120 to i64
  %1328 = getelementptr inbounds float, ptr %17, i64 %1327
  %1329 = load float, ptr %1328, align 4, !tbaa !9
  %1330 = getelementptr inbounds float, ptr %18, i64 %1327
  %1331 = load float, ptr %1330, align 4, !tbaa !9
  %1332 = fmul float %1329, %1331
  %1333 = fadd float %33, %1189
  %1334 = fadd float %1333, %1187
  br i1 %938, label %1360, label %1335

1335:                                             ; preds = %1320
  %1336 = getelementptr inbounds float, ptr %19, i64 %1321
  %1337 = load float, ptr %1336, align 4, !tbaa !9
  %1338 = fdiv float %1337, %1326
  %1339 = fmul float %1338, %1338
  %1340 = fneg float %1332
  %1341 = tail call float @llvm.fmuladd.f32(float %1340, float %1210, float %1334)
  %1342 = getelementptr inbounds float, ptr %20, i64 %1321
  %1343 = load float, ptr %1342, align 4, !tbaa !9
  %1344 = getelementptr inbounds float, ptr %20, i64 %1327
  %1345 = load float, ptr %1344, align 4, !tbaa !9
  %1346 = fsub float %1343, %1345
  %1347 = fadd float %1343, %1345
  %1348 = fneg float %1346
  %1349 = fmul float %1347, %1348
  %1350 = tail call float @llvm.fmuladd.f32(float %1349, float %1339, float %1341)
  store float %1350, ptr %10, align 4, !tbaa !9
  %1351 = fmul float %1337, %1337
  store float %1351, ptr %14, align 4, !tbaa !9
  %1352 = fcmp olt float %1209, %1339
  %1353 = fmul float %1332, %1332
  br i1 %1352, label %1354, label %1356

1354:                                             ; preds = %1335
  %1355 = fmul float %1208, %1353
  br label %1381

1356:                                             ; preds = %1335
  %1357 = fsub float %1209, %1339
  %1358 = fadd float %1208, %1357
  %1359 = fmul float %1353, %1358
  br label %1381

1360:                                             ; preds = %1320
  %1361 = getelementptr inbounds float, ptr %19, i64 %1327
  %1362 = load float, ptr %1361, align 4, !tbaa !9
  %1363 = fdiv float %1362, %1332
  %1364 = fmul float %1363, %1363
  %1365 = fneg float %1326
  %1366 = tail call float @llvm.fmuladd.f32(float %1365, float %1210, float %1334)
  %1367 = getelementptr inbounds float, ptr %20, i64 %1327
  %1368 = load float, ptr %1367, align 4, !tbaa !9
  %1369 = getelementptr inbounds float, ptr %20, i64 %1321
  %1370 = load float, ptr %1369, align 4, !tbaa !9
  %1371 = fsub float %1368, %1370
  %1372 = fadd float %1368, %1370
  %1373 = fneg float %1371
  %1374 = fmul float %1372, %1373
  %1375 = tail call float @llvm.fmuladd.f32(float %1374, float %1364, float %1366)
  store float %1375, ptr %10, align 4, !tbaa !9
  %1376 = fcmp olt float %1208, %1364
  %1377 = fmul float %1326, %1326
  %1378 = fsub float %1208, %1364
  %1379 = fadd float %1209, %1378
  %storemerge1606.v = select i1 %1376, float %1209, float %1379
  %storemerge1606 = fmul float %storemerge1606.v, %1377
  store float %storemerge1606, ptr %14, align 4, !tbaa !9
  %1380 = fmul float %1362, %1362
  br label %1381

1381:                                             ; preds = %1354, %1356, %1360
  %.sink = phi float [ %1355, %1354 ], [ %1359, %1356 ], [ %1380, %1360 ]
  %1382 = getelementptr inbounds i8, ptr %14, i64 8
  store float %.sink, ptr %1382, align 4, !tbaa !9
  %1383 = fmul float %1201, %1201
  %1384 = getelementptr inbounds i8, ptr %14, i64 4
  store float %1383, ptr %1384, align 4, !tbaa !9
  store float %1326, ptr %13, align 4, !tbaa !9
  %1385 = getelementptr inbounds i8, ptr %13, i64 4
  store float %1206, ptr %1385, align 4, !tbaa !9
  %1386 = getelementptr inbounds i8, ptr %13, i64 8
  store float %1332, ptr %1386, align 4, !tbaa !9
  call void @slaed6_(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %14, ptr noundef nonnull %11, ptr noundef nonnull %16, ptr noundef nonnull %8) #6
  %1387 = load i32, ptr %8, align 4, !tbaa !5
  %.not1607 = icmp eq i32 %1387, 0
  br i1 %.not1607, label %._crit_edge1961, label %1388

._crit_edge1961:                                  ; preds = %1381
  %.pre = load float, ptr %16, align 4, !tbaa !9
  br label %1476

1388:                                             ; preds = %1381
  store i32 0, ptr %8, align 4, !tbaa !5
  %1389 = load float, ptr %921, align 4, !tbaa !9
  %1390 = load float, ptr %923, align 4, !tbaa !9
  %1391 = fmul float %1389, %1390
  %1392 = load i32, ptr %1, align 4, !tbaa !5
  %1393 = sext i32 %1392 to i64
  %1394 = getelementptr inbounds float, ptr %17, i64 %1393
  %1395 = load float, ptr %1394, align 4, !tbaa !9
  %1396 = getelementptr inbounds float, ptr %18, i64 %1393
  %1397 = load float, ptr %1396, align 4, !tbaa !9
  %1398 = fmul float %1395, %1397
  %1399 = load i32, ptr %15, align 4, !tbaa !5
  %.not1608 = icmp eq i32 %1399, 0
  br i1 %.not1608, label %1409, label %1400

1400:                                             ; preds = %1388
  %1401 = getelementptr inbounds float, ptr %19, i64 %1393
  %1402 = load float, ptr %1401, align 4, !tbaa !9
  %1403 = fdiv float %1402, %1398
  %1404 = load float, ptr %11, align 4, !tbaa !9
  %1405 = fneg float %1391
  %1406 = call float @llvm.fmuladd.f32(float %1405, float %1211, float %1404)
  %1407 = fmul float %1403, %1403
  %1408 = call float @llvm.fmuladd.f32(float %780, float %1407, float %1406)
  br label %1418

1409:                                             ; preds = %1388
  %1410 = load float, ptr %919, align 4, !tbaa !9
  %1411 = fdiv float %1410, %1391
  %1412 = load float, ptr %11, align 4, !tbaa !9
  %1413 = fneg float %1398
  %1414 = call float @llvm.fmuladd.f32(float %1413, float %1211, float %1412)
  %1415 = fmul float %1411, %1411
  %1416 = fneg float %780
  %1417 = call float @llvm.fmuladd.f32(float %1416, float %1415, float %1414)
  br label %1418

1418:                                             ; preds = %1409, %1400
  %1419 = phi float [ %1412, %1409 ], [ %1404, %1400 ]
  %storemerge1609 = phi float [ %1417, %1409 ], [ %1408, %1400 ]
  store float %storemerge1609, ptr %10, align 4, !tbaa !9
  %1420 = fadd float %1391, %1398
  %1421 = fmul float %1391, %1398
  %1422 = fneg float %1421
  %1423 = fmul float %1211, %1422
  %1424 = call float @llvm.fmuladd.f32(float %1420, float %1419, float %1423)
  %1425 = fmul float %1421, %1419
  %1426 = fcmp oeq float %storemerge1609, 0.000000e+00
  br i1 %1426, label %1427, label %1443

1427:                                             ; preds = %1418
  %1428 = fcmp oeq float %1424, 0.000000e+00
  br i1 %1428, label %1429, label %1441

1429:                                             ; preds = %1427
  br i1 %.not1608, label %1436, label %1430

1430:                                             ; preds = %1429
  %1431 = getelementptr inbounds float, ptr %19, i64 %1393
  %1432 = load float, ptr %1431, align 4, !tbaa !9
  %1433 = fmul float %1391, %1391
  %1434 = fmul float %1210, %1433
  %1435 = call float @llvm.fmuladd.f32(float %1432, float %1432, float %1434)
  br label %1441

1436:                                             ; preds = %1429
  %1437 = load float, ptr %919, align 4, !tbaa !9
  %1438 = fmul float %1398, %1398
  %1439 = fmul float %1210, %1438
  %1440 = call float @llvm.fmuladd.f32(float %1437, float %1437, float %1439)
  br label %1441

1441:                                             ; preds = %1430, %1436, %1427
  %.11528 = phi float [ %1435, %1430 ], [ %1440, %1436 ], [ %1424, %1427 ]
  %1442 = fdiv float %1425, %.11528
  store float %1442, ptr %16, align 4, !tbaa !9
  br label %1476

1443:                                             ; preds = %1418
  %1444 = fcmp ugt float %1424, 0.000000e+00
  br i1 %1444, label %1461, label %1445

1445:                                             ; preds = %1443
  %1446 = fpext float %1424 to double
  %1447 = fmul float %1425, -4.000000e+00
  %1448 = fmul float %storemerge1609, %1447
  %1449 = call float @llvm.fmuladd.f32(float %1424, float %1424, float %1448)
  %1450 = fcmp oge float %1449, 0.000000e+00
  %1451 = fneg float %1449
  %1452 = select i1 %1450, float %1449, float %1451
  %1453 = fpext float %1452 to double
  %1454 = call double @sqrt(double noundef %1453) #6
  %1455 = fsub double %1446, %1454
  %1456 = load float, ptr %10, align 4, !tbaa !9
  %1457 = fmul float %1456, 2.000000e+00
  %1458 = fpext float %1457 to double
  %1459 = fdiv double %1455, %1458
  %1460 = fptrunc double %1459 to float
  store float %1460, ptr %16, align 4, !tbaa !9
  br label %1476

1461:                                             ; preds = %1443
  %1462 = fmul float %1425, 2.000000e+00
  %1463 = fpext float %1462 to double
  %1464 = fpext float %1424 to double
  %1465 = fmul float %1425, -4.000000e+00
  %1466 = fmul float %storemerge1609, %1465
  %1467 = call float @llvm.fmuladd.f32(float %1424, float %1424, float %1466)
  %1468 = fcmp oge float %1467, 0.000000e+00
  %1469 = fneg float %1467
  %1470 = select i1 %1468, float %1467, float %1469
  %1471 = fpext float %1470 to double
  %1472 = call double @sqrt(double noundef %1471) #6
  %1473 = fadd double %1472, %1464
  %1474 = fdiv double %1463, %1473
  %1475 = fptrunc double %1474 to float
  store float %1475, ptr %16, align 4, !tbaa !9
  br label %1476

1476:                                             ; preds = %._crit_edge1961, %1445, %1461, %1441, %1286, %1305, %1290
  %1477 = phi float [ %1442, %1441 ], [ %1460, %1445 ], [ %1475, %1461 ], [ %.pre, %._crit_edge1961 ], [ %1287, %1286 ], [ %1304, %1290 ], [ %1319, %1305 ]
  %.21501 = phi i32 [ 0, %1441 ], [ 0, %1445 ], [ 0, %1461 ], [ 1, %._crit_edge1961 ], [ 0, %1286 ], [ 0, %1290 ], [ 0, %1305 ]
  %1478 = load float, ptr %11, align 4, !tbaa !9
  %1479 = fmul float %1478, %1477
  %1480 = fcmp ult float %1479, 0.000000e+00
  br i1 %1480, label %1484, label %1481

1481:                                             ; preds = %1476
  %1482 = fneg float %1478
  %1483 = fdiv float %1482, %1211
  store float %1483, ptr %16, align 4, !tbaa !9
  br label %1484

1484:                                             ; preds = %1481, %1476
  %1485 = phi float [ %1483, %1481 ], [ %1477, %1476 ]
  %1486 = load float, ptr %6, align 4, !tbaa !9
  %1487 = fpext float %1486 to double
  %1488 = call float @llvm.fmuladd.f32(float %1486, float %1486, float %1485)
  %1489 = fpext float %1488 to double
  %1490 = call double @sqrt(double noundef %1489) #6
  %1491 = fadd double %1490, %1487
  %1492 = load float, ptr %16, align 4, !tbaa !9
  %1493 = fpext float %1492 to double
  %1494 = fdiv double %1493, %1491
  %1495 = fptrunc double %1494 to float
  store float %1495, ptr %16, align 4, !tbaa !9
  %1496 = fadd float %.21481, %1495
  %1497 = fcmp ogt float %1496, %.11532
  %1498 = fcmp olt float %1496, %.11548
  %or.cond1649 = select i1 %1497, i1 true, i1 %1498
  br i1 %or.cond1649, label %1499, label %1521

1499:                                             ; preds = %1484
  %1500 = load float, ptr %11, align 4, !tbaa !9
  %1501 = fcmp olt float %1500, 0.000000e+00
  %.11532..11548 = select i1 %1501, float %.11532, float %.11548
  %storemerge1611.in = fsub float %.11532..11548, %.21481
  %storemerge1611 = fmul float %storemerge1611.in, 5.000000e-01
  store float %storemerge1611, ptr %16, align 4, !tbaa !9
  br i1 %.not1612, label %1521, label %1502

1502:                                             ; preds = %1499
  br i1 %1501, label %1503, label %1512

1503:                                             ; preds = %1502
  %1504 = fcmp ogt float %.21481, 0.000000e+00
  br i1 %1504, label %1505, label %1521

1505:                                             ; preds = %1503
  %1506 = fmul float %.21481, %.11532
  %1507 = fpext float %1506 to double
  %1508 = call double @sqrt(double noundef %1507) #6
  %1509 = fpext float %.21481 to double
  %1510 = fsub double %1508, %1509
  %1511 = fptrunc double %1510 to float
  store float %1511, ptr %16, align 4, !tbaa !9
  br label %1521

1512:                                             ; preds = %1502
  %1513 = fcmp ogt float %.11548, 0.000000e+00
  br i1 %1513, label %1514, label %1521

1514:                                             ; preds = %1512
  %1515 = fmul float %.21481, %.11548
  %1516 = fpext float %1515 to double
  %1517 = call double @sqrt(double noundef %1516) #6
  %1518 = fpext float %.21481 to double
  %1519 = fsub double %1517, %1518
  %1520 = fptrunc double %1519 to float
  store float %1520, ptr %16, align 4, !tbaa !9
  br label %1521

1521:                                             ; preds = %1484, %1499, %1512, %1514, %1503, %1505
  %1522 = phi float [ %1495, %1484 ], [ %storemerge1611, %1499 ], [ %storemerge1611, %1512 ], [ %1520, %1514 ], [ %storemerge1611, %1503 ], [ %1511, %1505 ]
  %1523 = load float, ptr %11, align 4, !tbaa !9
  %1524 = fadd float %.21481, %1522
  %1525 = load float, ptr %6, align 4, !tbaa !9
  %1526 = fadd float %1522, %1525
  store float %1526, ptr %6, align 4, !tbaa !9
  %1527 = load i32, ptr %0, align 4, !tbaa !5
  %.not16131699 = icmp slt i32 %1527, 1
  br i1 %.not16131699, label %.preheader1657, label %.lr.ph1702.preheader

.lr.ph1702.preheader:                             ; preds = %1521
  %1528 = add nuw i32 %1527, 1
  %wide.trip.count1897 = zext i32 %1528 to i64
  %1529 = zext nneg i32 %1527 to i64
  %min.iters.check2111 = icmp ult i32 %1527, 8
  br i1 %min.iters.check2111, label %.lr.ph1702.preheader2323, label %vector.memcheck2103

.lr.ph1702.preheader2323:                         ; preds = %middle.block2109, %vector.memcheck2103, %.lr.ph1702.preheader
  %indvars.iv1894.ph = phi i64 [ 1, %vector.memcheck2103 ], [ 1, %.lr.ph1702.preheader ], [ %ind.end2115, %middle.block2109 ]
  %1530 = zext nneg i32 %1527 to i64
  %1531 = and i32 %1527, 1
  %lcmp.mod2346.not = icmp eq i32 %1531, 0
  br i1 %lcmp.mod2346.not, label %.lr.ph1702.prol.loopexit, label %.lr.ph1702.prol

.lr.ph1702.prol:                                  ; preds = %.lr.ph1702.preheader2323
  %1532 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1894.ph
  %1533 = load float, ptr %1532, align 4, !tbaa !9
  %1534 = fadd float %1522, %1533
  store float %1534, ptr %1532, align 4, !tbaa !9
  %1535 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1894.ph
  %1536 = load float, ptr %1535, align 4, !tbaa !9
  %1537 = fsub float %1536, %1522
  store float %1537, ptr %1535, align 4, !tbaa !9
  %indvars.iv.next1895.prol = add nuw nsw i64 %indvars.iv1894.ph, 1
  br label %.lr.ph1702.prol.loopexit

.lr.ph1702.prol.loopexit:                         ; preds = %.lr.ph1702.prol, %.lr.ph1702.preheader2323
  %indvars.iv1894.unr = phi i64 [ %indvars.iv1894.ph, %.lr.ph1702.preheader2323 ], [ %indvars.iv.next1895.prol, %.lr.ph1702.prol ]
  %1538 = icmp eq i64 %indvars.iv1894.ph, %1530
  br i1 %1538, label %.preheader1657, label %.lr.ph1702

vector.memcheck2103:                              ; preds = %.lr.ph1702.preheader
  %1539 = shl nuw nsw i64 %wide.trip.count1897, 2
  %1540 = add nsw i64 %1539, -4
  %scevgep2104 = getelementptr i8, ptr %7, i64 %1540
  %scevgep2105 = getelementptr i8, ptr %4, i64 %1540
  %bound02106 = icmp ugt ptr %scevgep2105, %7
  %bound12107 = icmp ugt ptr %scevgep2104, %4
  %found.conflict2108 = and i1 %bound02106, %bound12107
  br i1 %found.conflict2108, label %.lr.ph1702.preheader2323, label %vector.ph2112

vector.ph2112:                                    ; preds = %vector.memcheck2103
  %n.vec2114 = and i64 %1529, 2147483640
  %ind.end2115 = or disjoint i64 %n.vec2114, 1
  %broadcast.splatinsert2122 = insertelement <4 x float> poison, float %1522, i64 0
  %broadcast.splat2123 = shufflevector <4 x float> %broadcast.splatinsert2122, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2117

vector.body2117:                                  ; preds = %vector.body2117, %vector.ph2112
  %index2118 = phi i64 [ 0, %vector.ph2112 ], [ %index.next2126, %vector.body2117 ]
  %1541 = getelementptr float, ptr %7, i64 %index2118
  %1542 = getelementptr inbounds i8, ptr %1541, i64 16
  %wide.load2120 = load <4 x float>, ptr %1541, align 4, !tbaa !9, !alias.scope !89, !noalias !92
  %wide.load2121 = load <4 x float>, ptr %1542, align 4, !tbaa !9, !alias.scope !89, !noalias !92
  %1543 = fadd <4 x float> %broadcast.splat2123, %wide.load2120
  %1544 = fadd <4 x float> %broadcast.splat2123, %wide.load2121
  store <4 x float> %1543, ptr %1541, align 4, !tbaa !9, !alias.scope !89, !noalias !92
  store <4 x float> %1544, ptr %1542, align 4, !tbaa !9, !alias.scope !89, !noalias !92
  %1545 = getelementptr float, ptr %4, i64 %index2118
  %1546 = getelementptr inbounds i8, ptr %1545, i64 16
  %wide.load2124 = load <4 x float>, ptr %1545, align 4, !tbaa !9, !alias.scope !92
  %wide.load2125 = load <4 x float>, ptr %1546, align 4, !tbaa !9, !alias.scope !92
  %1547 = fsub <4 x float> %wide.load2124, %broadcast.splat2123
  %1548 = fsub <4 x float> %wide.load2125, %broadcast.splat2123
  store <4 x float> %1547, ptr %1545, align 4, !tbaa !9, !alias.scope !92
  store <4 x float> %1548, ptr %1546, align 4, !tbaa !9, !alias.scope !92
  %index.next2126 = add nuw i64 %index2118, 8
  %1549 = icmp eq i64 %index.next2126, %n.vec2114
  br i1 %1549, label %middle.block2109, label %vector.body2117, !llvm.loop !94

middle.block2109:                                 ; preds = %vector.body2117
  %cmp.n2127 = icmp eq i64 %n.vec2114, %1529
  br i1 %cmp.n2127, label %.preheader1657, label %.lr.ph1702.preheader2323

.preheader1657:                                   ; preds = %.lr.ph1702.prol.loopexit, %.lr.ph1702, %middle.block2109, %1521
  br i1 %.not1599.not1677, label %.lr.ph1708.preheader, label %._crit_edge1709

.lr.ph1708.preheader:                             ; preds = %.preheader1657
  %wide.trip.count1902 = zext nneg i32 %.01498 to i64
  %1550 = add nsw i64 %wide.trip.count1902, -1
  %xtraiter2347 = and i64 %1550, 1
  %1551 = icmp eq i32 %.01498, 2
  br i1 %1551, label %._crit_edge1709.loopexit.unr-lcssa, label %.lr.ph1708.preheader.new

.lr.ph1708.preheader.new:                         ; preds = %.lr.ph1708.preheader
  %unroll_iter2353 = and i64 %1550, -2
  br label %.lr.ph1708

.lr.ph1702:                                       ; preds = %.lr.ph1702.prol.loopexit, %.lr.ph1702
  %indvars.iv1894 = phi i64 [ %indvars.iv.next1895.1, %.lr.ph1702 ], [ %indvars.iv1894.unr, %.lr.ph1702.prol.loopexit ]
  %1552 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1894
  %1553 = load float, ptr %1552, align 4, !tbaa !9
  %1554 = fadd float %1522, %1553
  store float %1554, ptr %1552, align 4, !tbaa !9
  %1555 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1894
  %1556 = load float, ptr %1555, align 4, !tbaa !9
  %1557 = fsub float %1556, %1522
  store float %1557, ptr %1555, align 4, !tbaa !9
  %1558 = getelementptr float, ptr %7, i64 %indvars.iv1894
  %1559 = load float, ptr %1558, align 4, !tbaa !9
  %1560 = fadd float %1522, %1559
  store float %1560, ptr %1558, align 4, !tbaa !9
  %1561 = getelementptr float, ptr %4, i64 %indvars.iv1894
  %1562 = load float, ptr %1561, align 4, !tbaa !9
  %1563 = fsub float %1562, %1522
  store float %1563, ptr %1561, align 4, !tbaa !9
  %indvars.iv.next1895.1 = add nuw nsw i64 %indvars.iv1894, 2
  %exitcond1898.not.1 = icmp eq i64 %indvars.iv.next1895.1, %wide.trip.count1897
  br i1 %exitcond1898.not.1, label %.preheader1657, label %.lr.ph1702, !llvm.loop !95

.lr.ph1708:                                       ; preds = %.lr.ph1708, %.lr.ph1708.preheader.new
  %indvars.iv1899 = phi i64 [ 1, %.lr.ph1708.preheader.new ], [ %indvars.iv.next1900.1, %.lr.ph1708 ]
  %.614941706 = phi float [ 0.000000e+00, %.lr.ph1708.preheader.new ], [ %1592, %.lr.ph1708 ]
  %1564 = phi <2 x float> [ zeroinitializer, %.lr.ph1708.preheader.new ], [ %1590, %.lr.ph1708 ]
  %niter2354 = phi i64 [ 0, %.lr.ph1708.preheader.new ], [ %niter2354.next.1, %.lr.ph1708 ]
  %1565 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1899
  %1566 = load float, ptr %1565, align 4, !tbaa !9
  %1567 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1899
  %1568 = load float, ptr %1567, align 4, !tbaa !9
  %1569 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1899
  %1570 = load float, ptr %1569, align 4, !tbaa !9
  %1571 = fmul float %1568, %1570
  %1572 = fdiv float %1566, %1571
  %1573 = insertelement <2 x float> poison, float %1566, i64 0
  %1574 = insertelement <2 x float> %1573, float %1572, i64 1
  %1575 = shufflevector <2 x float> %1574, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %1576 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1574, <2 x float> %1575, <2 x float> %1564)
  %1577 = extractelement <2 x float> %1576, i64 0
  %1578 = fadd float %.614941706, %1577
  %1579 = getelementptr float, ptr %3, i64 %indvars.iv1899
  %1580 = load float, ptr %1579, align 4, !tbaa !9
  %1581 = getelementptr float, ptr %7, i64 %indvars.iv1899
  %1582 = load float, ptr %1581, align 4, !tbaa !9
  %1583 = getelementptr float, ptr %4, i64 %indvars.iv1899
  %1584 = load float, ptr %1583, align 4, !tbaa !9
  %1585 = fmul float %1582, %1584
  %1586 = fdiv float %1580, %1585
  %1587 = insertelement <2 x float> poison, float %1580, i64 0
  %1588 = insertelement <2 x float> %1587, float %1586, i64 1
  %1589 = shufflevector <2 x float> %1588, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %1590 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1588, <2 x float> %1589, <2 x float> %1576)
  %1591 = extractelement <2 x float> %1590, i64 0
  %1592 = fadd float %1578, %1591
  %indvars.iv.next1900.1 = add nuw nsw i64 %indvars.iv1899, 2
  %niter2354.next.1 = add i64 %niter2354, 2
  %niter2354.ncmp.1 = icmp eq i64 %niter2354.next.1, %unroll_iter2353
  br i1 %niter2354.ncmp.1, label %._crit_edge1709.loopexit.unr-lcssa.loopexit, label %.lr.ph1708, !llvm.loop !96

._crit_edge1709.loopexit.unr-lcssa.loopexit:      ; preds = %.lr.ph1708
  %1593 = extractelement <2 x float> %1590, i64 1
  br label %._crit_edge1709.loopexit.unr-lcssa

._crit_edge1709.loopexit.unr-lcssa:               ; preds = %._crit_edge1709.loopexit.unr-lcssa.loopexit, %.lr.ph1708.preheader
  %.lcssa2322.ph = phi float [ poison, %.lr.ph1708.preheader ], [ %1591, %._crit_edge1709.loopexit.unr-lcssa.loopexit ]
  %.lcssa2321.ph = phi float [ poison, %.lr.ph1708.preheader ], [ %1592, %._crit_edge1709.loopexit.unr-lcssa.loopexit ]
  %.lcssa2320.ph = phi float [ poison, %.lr.ph1708.preheader ], [ %1593, %._crit_edge1709.loopexit.unr-lcssa.loopexit ]
  %indvars.iv1899.unr = phi i64 [ 1, %.lr.ph1708.preheader ], [ %indvars.iv.next1900.1, %._crit_edge1709.loopexit.unr-lcssa.loopexit ]
  %.614941706.unr = phi float [ 0.000000e+00, %.lr.ph1708.preheader ], [ %1592, %._crit_edge1709.loopexit.unr-lcssa.loopexit ]
  %.unr2348 = phi <2 x float> [ zeroinitializer, %.lr.ph1708.preheader ], [ %1590, %._crit_edge1709.loopexit.unr-lcssa.loopexit ]
  %lcmp.mod2349.not = icmp eq i64 %xtraiter2347, 0
  br i1 %lcmp.mod2349.not, label %._crit_edge1709, label %.lr.ph1708.epil

.lr.ph1708.epil:                                  ; preds = %._crit_edge1709.loopexit.unr-lcssa
  %1594 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1899.unr
  %1595 = load float, ptr %1594, align 4, !tbaa !9
  %1596 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1899.unr
  %1597 = load float, ptr %1596, align 4, !tbaa !9
  %1598 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1899.unr
  %1599 = load float, ptr %1598, align 4, !tbaa !9
  %1600 = fmul float %1597, %1599
  %1601 = fdiv float %1595, %1600
  %1602 = insertelement <2 x float> poison, float %1595, i64 0
  %1603 = insertelement <2 x float> %1602, float %1601, i64 1
  %1604 = shufflevector <2 x float> %1603, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %1605 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1603, <2 x float> %1604, <2 x float> %.unr2348)
  %1606 = extractelement <2 x float> %1605, i64 0
  %1607 = fadd float %.614941706.unr, %1606
  %1608 = extractelement <2 x float> %1605, i64 1
  br label %._crit_edge1709

._crit_edge1709:                                  ; preds = %.lr.ph1708.epil, %._crit_edge1709.loopexit.unr-lcssa, %.preheader1657
  %.51540.lcssa = phi float [ 0.000000e+00, %.preheader1657 ], [ %.lcssa2320.ph, %._crit_edge1709.loopexit.unr-lcssa ], [ %1608, %.lr.ph1708.epil ]
  %.61494.lcssa = phi float [ 0.000000e+00, %.preheader1657 ], [ %.lcssa2321.ph, %._crit_edge1709.loopexit.unr-lcssa ], [ %1607, %.lr.ph1708.epil ]
  %.6.lcssa = phi float [ 0.000000e+00, %.preheader1657 ], [ %.lcssa2322.ph, %._crit_edge1709.loopexit.unr-lcssa ], [ %1606, %.lr.ph1708.epil ]
  %1609 = fcmp oge float %.61494.lcssa, 0.000000e+00
  %1610 = fneg float %.61494.lcssa
  %1611 = select i1 %1609, float %.61494.lcssa, float %1610
  %.not1615.not1713 = icmp sgt i32 %1527, %.01498
  br i1 %.not1615.not1713, label %.lr.ph1719.preheader, label %._crit_edge1720

.lr.ph1719.preheader:                             ; preds = %._crit_edge1709
  %1612 = sext i32 %1527 to i64
  br label %.lr.ph1719

.lr.ph1719:                                       ; preds = %.lr.ph1719.preheader, %.lr.ph1719
  %indvars.iv1904 = phi i64 [ %1612, %.lr.ph1719.preheader ], [ %indvars.iv.next1905, %.lr.ph1719 ]
  %.714951716 = phi float [ %1611, %.lr.ph1719.preheader ], [ %1627, %.lr.ph1719 ]
  %1613 = phi <2 x float> [ zeroinitializer, %.lr.ph1719.preheader ], [ %1625, %.lr.ph1719 ]
  %1614 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1904
  %1615 = load float, ptr %1614, align 4, !tbaa !9
  %1616 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1904
  %1617 = load float, ptr %1616, align 4, !tbaa !9
  %1618 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1904
  %1619 = load float, ptr %1618, align 4, !tbaa !9
  %1620 = fmul float %1617, %1619
  %1621 = fdiv float %1615, %1620
  %1622 = insertelement <2 x float> poison, float %1615, i64 0
  %1623 = insertelement <2 x float> %1622, float %1621, i64 1
  %1624 = shufflevector <2 x float> %1623, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %1625 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1623, <2 x float> %1624, <2 x float> %1613)
  %1626 = extractelement <2 x float> %1625, i64 0
  %1627 = fadd float %.714951716, %1626
  %indvars.iv.next1905 = add nsw i64 %indvars.iv1904, -1
  %.not1615.not = icmp sgt i64 %indvars.iv.next1905, %.pre-phi
  br i1 %.not1615.not, label %.lr.ph1719, label %._crit_edge1720.loopexit, !llvm.loop !97

._crit_edge1720.loopexit:                         ; preds = %.lr.ph1719
  %1628 = extractelement <2 x float> %1625, i64 1
  br label %._crit_edge1720

._crit_edge1720:                                  ; preds = %._crit_edge1720.loopexit, %._crit_edge1709
  %.21506.lcssa = phi float [ 0.000000e+00, %._crit_edge1709 ], [ %1628, %._crit_edge1720.loopexit ]
  %.71495.lcssa = phi float [ %1611, %._crit_edge1709 ], [ %1627, %._crit_edge1720.loopexit ]
  %.21485.lcssa = phi float [ 0.000000e+00, %._crit_edge1709 ], [ %1626, %._crit_edge1720.loopexit ]
  %1629 = load float, ptr %1202, align 4, !tbaa !9
  %1630 = load float, ptr %1204, align 4, !tbaa !9
  %1631 = fmul float %1629, %1630
  %1632 = load float, ptr %1200, align 4, !tbaa !9
  %1633 = fdiv float %1632, %1631
  %1634 = fadd float %.51540.lcssa, %.21506.lcssa
  %1635 = call float @llvm.fmuladd.f32(float %1633, float %1633, float %1634)
  %1636 = fmul float %1632, %1633
  %1637 = fadd float %33, %.21485.lcssa
  %1638 = fadd float %.6.lcssa, %1637
  %1639 = fadd float %1638, %1636
  store float %1639, ptr %11, align 4, !tbaa !9
  %1640 = fsub float %.21485.lcssa, %.6.lcssa
  %1641 = call float @llvm.fmuladd.f32(float %1640, float 8.000000e+00, float %.71495.lcssa)
  %1642 = call float @llvm.fmuladd.f32(float %33, float 2.000000e+00, float %1641)
  %1643 = fcmp oge float %1636, 0.000000e+00
  %1644 = fneg float %1636
  %1645 = select i1 %1643, float %1636, float %1644
  %1646 = call float @llvm.fmuladd.f32(float %1645, float 3.000000e+00, float %1642)
  %1647 = load i32, ptr %15, align 4, !tbaa !5
  %.not1616 = icmp eq i32 %1647, 0
  br i1 %.not1616, label %1656, label %1648

1648:                                             ; preds = %._crit_edge1720
  %1649 = fneg float %1639
  %1650 = fcmp oge float %1523, 0.000000e+00
  %1651 = fneg float %1523
  %1652 = select i1 %1650, float %1523, float %1651
  %1653 = fdiv float %1652, 1.000000e+01
  %1654 = fcmp olt float %1653, %1649
  br i1 %1654, label %1655, label %1663

1655:                                             ; preds = %1648
  br label %1663

1656:                                             ; preds = %._crit_edge1720
  %1657 = fcmp oge float %1523, 0.000000e+00
  %1658 = fneg float %1523
  %1659 = select i1 %1657, float %1523, float %1658
  %1660 = fdiv float %1659, 1.000000e+01
  %1661 = fcmp ogt float %1639, %1660
  br i1 %1661, label %1662, label %1663

1662:                                             ; preds = %1656
  br label %1663

1663:                                             ; preds = %1656, %1662, %1648, %1655
  %.01513 = phi i32 [ 1, %1655 ], [ 0, %1648 ], [ 1, %1662 ], [ 0, %1656 ]
  %storemerge1617.in1749 = load i32, ptr %12, align 4, !tbaa !5
  %storemerge16171750 = add nsw i32 %storemerge1617.in1749, 1
  store i32 %storemerge16171750, ptr %12, align 4, !tbaa !5
  %1664 = icmp slt i32 %storemerge1617.in1749, 400
  br i1 %1664, label %.lr.ph1763, label %._crit_edge1764

.lr.ph1763:                                       ; preds = %1663
  %1665 = sext i32 %1119 to i64
  %1666 = getelementptr inbounds float, ptr %17, i64 %1665
  %1667 = getelementptr inbounds float, ptr %18, i64 %1665
  %1668 = sext i32 %1120 to i64
  %1669 = getelementptr inbounds float, ptr %17, i64 %1668
  %1670 = getelementptr inbounds float, ptr %18, i64 %1668
  %1671 = getelementptr inbounds i8, ptr %14, i64 8
  %1672 = getelementptr inbounds float, ptr %19, i64 %1665
  %1673 = getelementptr inbounds float, ptr %20, i64 %1665
  %1674 = getelementptr inbounds float, ptr %20, i64 %1668
  %1675 = getelementptr inbounds float, ptr %19, i64 %1668
  %1676 = getelementptr inbounds i8, ptr %13, i64 4
  %1677 = getelementptr inbounds i8, ptr %13, i64 8
  %1678 = fneg float %780
  %wide.trip.count1915 = zext i32 %.01498 to i64
  %scevgep2129 = getelementptr i8, ptr %7, i64 -4
  %scevgep2131 = getelementptr i8, ptr %4, i64 -4
  %1679 = add nsw i64 %wide.trip.count1915, -1
  %xtraiter2357 = and i64 %1679, 1
  %1680 = icmp eq i32 %.01498, 2
  %unroll_iter2363 = and i64 %1679, -2
  %lcmp.mod2359.not = icmp eq i64 %xtraiter2357, 0
  br label %1681

1681:                                             ; preds = %.lr.ph1763, %2162
  %1682 = phi float [ %1632, %.lr.ph1763 ], [ %2134, %2162 ]
  %1683 = phi float [ %1629, %.lr.ph1763 ], [ %2131, %2162 ]
  %1684 = phi float [ %1630, %.lr.ph1763 ], [ %2132, %2162 ]
  %1685 = phi float [ %1639, %.lr.ph1763 ], [ %2141, %2162 ]
  %.71761 = phi float [ %.6.lcssa, %.lr.ph1763 ], [ %.8.lcssa, %2162 ]
  %.314821760 = phi float [ %1524, %.lr.ph1763 ], [ %2029, %2162 ]
  %.314861759 = phi float [ %.21485.lcssa, %.lr.ph1763 ], [ %.41487.lcssa, %2162 ]
  %.814961758 = phi float [ %1646, %.lr.ph1763 ], [ %2148, %2162 ]
  %.014971757 = phi float [ %1635, %.lr.ph1763 ], [ %2137, %2162 ]
  %.315021756 = phi i32 [ %.21501, %.lr.ph1763 ], [ %.41503, %2162 ]
  %.315071755 = phi float [ %.21506.lcssa, %.lr.ph1763 ], [ %.81512.lcssa, %2162 ]
  %.115141754 = phi i32 [ %.01513, %.lr.ph1763 ], [ %.21515, %2162 ]
  %.215331753 = phi float [ %.11532, %.lr.ph1763 ], [ %.31534, %2162 ]
  %.615411752 = phi float [ %.51540.lcssa, %.lr.ph1763 ], [ %.111546.lcssa, %2162 ]
  %.215491751 = phi float [ %.11548, %.lr.ph1763 ], [ %.31550, %2162 ]
  %1686 = fcmp oge float %1685, 0.000000e+00
  %1687 = fneg float %1685
  %1688 = select i1 %1686, float %1685, float %1687
  %1689 = fmul float %31, %.814961758
  %1690 = fcmp ugt float %1688, %1689
  br i1 %1690, label %1691, label %.loopexit1656

1691:                                             ; preds = %1681
  %1692 = fcmp ugt float %1685, 0.000000e+00
  br i1 %1692, label %1696, label %1693

1693:                                             ; preds = %1691
  %1694 = fcmp oge float %.215491751, %.314821760
  %1695 = select i1 %1694, float %.215491751, float %.314821760
  br label %1699

1696:                                             ; preds = %1691
  %1697 = fcmp ole float %.215331753, %.314821760
  %1698 = select i1 %1697, float %.215331753, float %.314821760
  br label %1699

1699:                                             ; preds = %1696, %1693
  %.31550 = phi float [ %1695, %1693 ], [ %.215491751, %1696 ]
  %.31534 = phi float [ %.215331753, %1693 ], [ %1698, %1696 ]
  %.not1618 = icmp eq i32 %.315021756, 0
  br i1 %.not1618, label %1700, label %1805

1700:                                             ; preds = %1699
  %1701 = load float, ptr %921, align 4, !tbaa !9
  %1702 = load float, ptr %923, align 4, !tbaa !9
  %1703 = fmul float %1701, %1702
  %1704 = load i32, ptr %1, align 4, !tbaa !5
  %1705 = sext i32 %1704 to i64
  %1706 = getelementptr inbounds float, ptr %17, i64 %1705
  %1707 = load float, ptr %1706, align 4, !tbaa !9
  %1708 = getelementptr inbounds float, ptr %18, i64 %1705
  %1709 = load float, ptr %1708, align 4, !tbaa !9
  %1710 = fmul float %1707, %1709
  %.not1619 = icmp eq i32 %.115141754, 0
  br i1 %.not1619, label %1711, label %1728

1711:                                             ; preds = %1700
  %1712 = load i32, ptr %15, align 4, !tbaa !5
  %.not1620 = icmp eq i32 %1712, 0
  br i1 %.not1620, label %1721, label %1713

1713:                                             ; preds = %1711
  %1714 = getelementptr inbounds float, ptr %19, i64 %1705
  %1715 = load float, ptr %1714, align 4, !tbaa !9
  %1716 = fdiv float %1715, %1710
  %1717 = fneg float %1703
  %1718 = call float @llvm.fmuladd.f32(float %1717, float %.014971757, float %1685)
  %1719 = fmul float %1716, %1716
  %1720 = call float @llvm.fmuladd.f32(float %780, float %1719, float %1718)
  store float %1720, ptr %10, align 4, !tbaa !9
  br label %1738

1721:                                             ; preds = %1711
  %1722 = load float, ptr %919, align 4, !tbaa !9
  %1723 = fdiv float %1722, %1703
  %1724 = fneg float %1710
  %1725 = call float @llvm.fmuladd.f32(float %1724, float %.014971757, float %1685)
  %1726 = fmul float %1723, %1723
  %1727 = call float @llvm.fmuladd.f32(float %1678, float %1726, float %1725)
  store float %1727, ptr %10, align 4, !tbaa !9
  br label %1738

1728:                                             ; preds = %1700
  %1729 = fmul float %1683, %1684
  %1730 = fdiv float %1682, %1729
  %1731 = load i32, ptr %15, align 4, !tbaa !5
  %.not1621 = icmp eq i32 %1731, 0
  %1732 = call float @llvm.fmuladd.f32(float %1730, float %1730, float %.615411752)
  %1733 = call float @llvm.fmuladd.f32(float %1730, float %1730, float %.315071755)
  %.71542 = select i1 %.not1621, float %.615411752, float %1732
  %.41508 = select i1 %.not1621, float %1733, float %.315071755
  %1734 = fneg float %1710
  %1735 = call float @llvm.fmuladd.f32(float %1734, float %.71542, float %1685)
  %1736 = fneg float %1703
  %1737 = call float @llvm.fmuladd.f32(float %1736, float %.41508, float %1735)
  store float %1737, ptr %10, align 4, !tbaa !9
  br label %1738

1738:                                             ; preds = %1713, %1721, %1728
  %1739 = phi i32 [ %1731, %1728 ], [ 1, %1713 ], [ 0, %1721 ]
  %1740 = phi float [ %1737, %1728 ], [ %1720, %1713 ], [ %1727, %1721 ]
  %.81543 = phi float [ %.71542, %1728 ], [ %.615411752, %1713 ], [ %.615411752, %1721 ]
  %.51509 = phi float [ %.41508, %1728 ], [ %.315071755, %1713 ], [ %.315071755, %1721 ]
  %1741 = fadd float %1703, %1710
  %1742 = fmul float %1703, %1710
  %1743 = fneg float %1742
  %1744 = fmul float %.014971757, %1743
  %1745 = call float @llvm.fmuladd.f32(float %1741, float %1685, float %1744)
  %1746 = fmul float %1685, %1742
  %1747 = fcmp oeq float %1740, 0.000000e+00
  br i1 %1747, label %1748, label %1772

1748:                                             ; preds = %1738
  %1749 = fcmp oeq float %1745, 0.000000e+00
  br i1 %1749, label %1750, label %1770

1750:                                             ; preds = %1748
  br i1 %.not1619, label %1751, label %1765

1751:                                             ; preds = %1750
  %.not1622 = icmp eq i32 %1739, 0
  br i1 %.not1622, label %1759, label %1752

1752:                                             ; preds = %1751
  %1753 = getelementptr inbounds float, ptr %19, i64 %1705
  %1754 = load float, ptr %1753, align 4, !tbaa !9
  %1755 = fmul float %1703, %1703
  %1756 = fadd float %.81543, %.51509
  %1757 = fmul float %1755, %1756
  %1758 = call float @llvm.fmuladd.f32(float %1754, float %1754, float %1757)
  br label %1770

1759:                                             ; preds = %1751
  %1760 = load float, ptr %919, align 4, !tbaa !9
  %1761 = fmul float %1710, %1710
  %1762 = fadd float %.81543, %.51509
  %1763 = fmul float %1761, %1762
  %1764 = call float @llvm.fmuladd.f32(float %1760, float %1760, float %1763)
  br label %1770

1765:                                             ; preds = %1750
  %1766 = fmul float %1710, %1710
  %1767 = fmul float %1703, %1703
  %1768 = fmul float %1767, %.51509
  %1769 = call float @llvm.fmuladd.f32(float %1766, float %.81543, float %1768)
  br label %1770

1770:                                             ; preds = %1765, %1759, %1752, %1748
  %.21529 = phi float [ %1769, %1765 ], [ %1758, %1752 ], [ %1764, %1759 ], [ %1745, %1748 ]
  %1771 = fdiv float %1746, %.21529
  store float %1771, ptr %16, align 4, !tbaa !9
  br label %1981

1772:                                             ; preds = %1738
  %1773 = fcmp ugt float %1745, 0.000000e+00
  br i1 %1773, label %1790, label %1774

1774:                                             ; preds = %1772
  %1775 = fpext float %1745 to double
  %1776 = fmul float %1746, -4.000000e+00
  %1777 = fmul float %1776, %1740
  %1778 = call float @llvm.fmuladd.f32(float %1745, float %1745, float %1777)
  %1779 = fcmp oge float %1778, 0.000000e+00
  %1780 = fneg float %1778
  %1781 = select i1 %1779, float %1778, float %1780
  %1782 = fpext float %1781 to double
  %1783 = call double @sqrt(double noundef %1782) #6
  %1784 = fsub double %1775, %1783
  %1785 = load float, ptr %10, align 4, !tbaa !9
  %1786 = fmul float %1785, 2.000000e+00
  %1787 = fpext float %1786 to double
  %1788 = fdiv double %1784, %1787
  %1789 = fptrunc double %1788 to float
  store float %1789, ptr %16, align 4, !tbaa !9
  br label %1981

1790:                                             ; preds = %1772
  %1791 = fmul float %1746, 2.000000e+00
  %1792 = fpext float %1791 to double
  %1793 = fpext float %1745 to double
  %1794 = fmul float %1746, -4.000000e+00
  %1795 = fmul float %1794, %1740
  %1796 = call float @llvm.fmuladd.f32(float %1745, float %1745, float %1795)
  %1797 = fcmp oge float %1796, 0.000000e+00
  %1798 = fneg float %1796
  %1799 = select i1 %1797, float %1796, float %1798
  %1800 = fpext float %1799 to double
  %1801 = call double @sqrt(double noundef %1800) #6
  %1802 = fadd double %1801, %1793
  %1803 = fdiv double %1792, %1802
  %1804 = fptrunc double %1803 to float
  store float %1804, ptr %16, align 4, !tbaa !9
  br label %1981

1805:                                             ; preds = %1699
  %1806 = load float, ptr %1666, align 4, !tbaa !9
  %1807 = load float, ptr %1667, align 4, !tbaa !9
  %1808 = fmul float %1806, %1807
  %1809 = load float, ptr %1669, align 4, !tbaa !9
  %1810 = load float, ptr %1670, align 4, !tbaa !9
  %1811 = fmul float %1809, %1810
  %1812 = fadd float %33, %.71761
  %1813 = fadd float %.314861759, %1812
  %.not1623 = icmp eq i32 %.115141754, 0
  br i1 %.not1623, label %1823, label %1814

1814:                                             ; preds = %1805
  %1815 = fneg float %1808
  %1816 = call float @llvm.fmuladd.f32(float %1815, float %.615411752, float %1813)
  %1817 = fneg float %1811
  %1818 = call float @llvm.fmuladd.f32(float %1817, float %.315071755, float %1816)
  store float %1818, ptr %10, align 4, !tbaa !9
  %1819 = fmul float %1808, %1808
  %1820 = fmul float %.615411752, %1819
  store float %1820, ptr %14, align 4, !tbaa !9
  %1821 = fmul float %1811, %1811
  %1822 = fmul float %.315071755, %1821
  br label %1866

1823:                                             ; preds = %1805
  %1824 = load i32, ptr %15, align 4, !tbaa !5
  %.not1624 = icmp eq i32 %1824, 0
  %1825 = fadd float %.615411752, %.315071755
  br i1 %.not1624, label %1848, label %1826

1826:                                             ; preds = %1823
  %1827 = load float, ptr %1672, align 4, !tbaa !9
  %1828 = fdiv float %1827, %1808
  %1829 = fmul float %1828, %1828
  %1830 = load float, ptr %1673, align 4, !tbaa !9
  %1831 = load float, ptr %1674, align 4, !tbaa !9
  %1832 = fsub float %1830, %1831
  %1833 = fadd float %1830, %1831
  %1834 = fmul float %1832, %1833
  %1835 = fmul float %1829, %1834
  %1836 = fneg float %1811
  %1837 = call float @llvm.fmuladd.f32(float %1836, float %1825, float %1813)
  %1838 = fsub float %1837, %1835
  store float %1838, ptr %10, align 4, !tbaa !9
  %1839 = fmul float %1827, %1827
  store float %1839, ptr %14, align 4, !tbaa !9
  %1840 = fcmp olt float %.615411752, %1829
  %1841 = fmul float %1811, %1811
  br i1 %1840, label %1842, label %1844

1842:                                             ; preds = %1826
  %1843 = fmul float %.315071755, %1841
  br label %1866

1844:                                             ; preds = %1826
  %1845 = fsub float %.615411752, %1829
  %1846 = fadd float %.315071755, %1845
  %1847 = fmul float %1841, %1846
  br label %1866

1848:                                             ; preds = %1823
  %1849 = load float, ptr %1675, align 4, !tbaa !9
  %1850 = fdiv float %1849, %1811
  %1851 = fmul float %1850, %1850
  %1852 = load float, ptr %1674, align 4, !tbaa !9
  %1853 = load float, ptr %1673, align 4, !tbaa !9
  %1854 = fsub float %1852, %1853
  %1855 = fadd float %1852, %1853
  %1856 = fmul float %1854, %1855
  %1857 = fmul float %1851, %1856
  %1858 = fneg float %1808
  %1859 = call float @llvm.fmuladd.f32(float %1858, float %1825, float %1813)
  %1860 = fsub float %1859, %1857
  store float %1860, ptr %10, align 4, !tbaa !9
  %1861 = fcmp olt float %.315071755, %1851
  %1862 = fmul float %1808, %1808
  %1863 = fsub float %.315071755, %1851
  %1864 = fadd float %.615411752, %1863
  %storemerge1625.v = select i1 %1861, float %.615411752, float %1864
  %storemerge1625 = fmul float %storemerge1625.v, %1862
  store float %storemerge1625, ptr %14, align 4, !tbaa !9
  %1865 = fmul float %1849, %1849
  br label %1866

1866:                                             ; preds = %1848, %1844, %1842, %1814
  %.sink2004 = phi float [ %1865, %1848 ], [ %1847, %1844 ], [ %1843, %1842 ], [ %1822, %1814 ]
  store float %.sink2004, ptr %1671, align 4, !tbaa !9
  store float %1808, ptr %13, align 4, !tbaa !9
  %1867 = fmul float %1684, %1683
  store float %1867, ptr %1676, align 4, !tbaa !9
  store float %1811, ptr %1677, align 4, !tbaa !9
  call void @slaed6_(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %14, ptr noundef nonnull %11, ptr noundef nonnull %16, ptr noundef nonnull %8) #6
  %1868 = load i32, ptr %8, align 4, !tbaa !5
  %.not1626 = icmp eq i32 %1868, 0
  br i1 %.not1626, label %._crit_edge1962, label %1869

._crit_edge1962:                                  ; preds = %1866
  %.pre1963 = load float, ptr %16, align 4, !tbaa !9
  br label %1981

1869:                                             ; preds = %1866
  store i32 0, ptr %8, align 4, !tbaa !5
  %1870 = load float, ptr %921, align 4, !tbaa !9
  %1871 = load float, ptr %923, align 4, !tbaa !9
  %1872 = fmul float %1870, %1871
  %1873 = load i32, ptr %1, align 4, !tbaa !5
  %1874 = sext i32 %1873 to i64
  %1875 = getelementptr inbounds float, ptr %17, i64 %1874
  %1876 = load float, ptr %1875, align 4, !tbaa !9
  %1877 = getelementptr inbounds float, ptr %18, i64 %1874
  %1878 = load float, ptr %1877, align 4, !tbaa !9
  %1879 = fmul float %1876, %1878
  br i1 %.not1623, label %1880, label %1899

1880:                                             ; preds = %1869
  %1881 = load i32, ptr %15, align 4, !tbaa !5
  %.not1627 = icmp eq i32 %1881, 0
  br i1 %.not1627, label %1891, label %1882

1882:                                             ; preds = %1880
  %1883 = getelementptr inbounds float, ptr %19, i64 %1874
  %1884 = load float, ptr %1883, align 4, !tbaa !9
  %1885 = fdiv float %1884, %1879
  %1886 = load float, ptr %11, align 4, !tbaa !9
  %1887 = fneg float %1872
  %1888 = call float @llvm.fmuladd.f32(float %1887, float %.014971757, float %1886)
  %1889 = fmul float %1885, %1885
  %1890 = call float @llvm.fmuladd.f32(float %780, float %1889, float %1888)
  store float %1890, ptr %10, align 4, !tbaa !9
  br label %1913

1891:                                             ; preds = %1880
  %1892 = load float, ptr %919, align 4, !tbaa !9
  %1893 = fdiv float %1892, %1872
  %1894 = load float, ptr %11, align 4, !tbaa !9
  %1895 = fneg float %1879
  %1896 = call float @llvm.fmuladd.f32(float %1895, float %.014971757, float %1894)
  %1897 = fmul float %1893, %1893
  %1898 = call float @llvm.fmuladd.f32(float %1678, float %1897, float %1896)
  store float %1898, ptr %10, align 4, !tbaa !9
  br label %1913

1899:                                             ; preds = %1869
  %1900 = load float, ptr %1200, align 4, !tbaa !9
  %1901 = load float, ptr %1202, align 4, !tbaa !9
  %1902 = load float, ptr %1204, align 4, !tbaa !9
  %1903 = fmul float %1901, %1902
  %1904 = fdiv float %1900, %1903
  %1905 = load i32, ptr %15, align 4, !tbaa !5
  %.not1628 = icmp eq i32 %1905, 0
  %1906 = call float @llvm.fmuladd.f32(float %1904, float %1904, float %.615411752)
  %1907 = call float @llvm.fmuladd.f32(float %1904, float %1904, float %.315071755)
  %.91544 = select i1 %.not1628, float %.615411752, float %1906
  %.61510 = select i1 %.not1628, float %1907, float %.315071755
  %1908 = load float, ptr %11, align 4, !tbaa !9
  %1909 = fneg float %1879
  %1910 = call float @llvm.fmuladd.f32(float %1909, float %.91544, float %1908)
  %1911 = fneg float %1872
  %1912 = call float @llvm.fmuladd.f32(float %1911, float %.61510, float %1910)
  store float %1912, ptr %10, align 4, !tbaa !9
  br label %1913

1913:                                             ; preds = %1882, %1891, %1899
  %1914 = phi i32 [ %1905, %1899 ], [ 1, %1882 ], [ 0, %1891 ]
  %1915 = phi float [ %1912, %1899 ], [ %1890, %1882 ], [ %1898, %1891 ]
  %1916 = phi float [ %1908, %1899 ], [ %1886, %1882 ], [ %1894, %1891 ]
  %.101545 = phi float [ %.91544, %1899 ], [ %.615411752, %1882 ], [ %.615411752, %1891 ]
  %.71511 = phi float [ %.61510, %1899 ], [ %.315071755, %1882 ], [ %.315071755, %1891 ]
  %1917 = fadd float %1872, %1879
  %1918 = fmul float %1872, %1879
  %1919 = fneg float %1918
  %1920 = fmul float %.014971757, %1919
  %1921 = call float @llvm.fmuladd.f32(float %1917, float %1916, float %1920)
  %1922 = fmul float %1918, %1916
  %1923 = fcmp oeq float %1915, 0.000000e+00
  br i1 %1923, label %1924, label %1948

1924:                                             ; preds = %1913
  %1925 = fcmp oeq float %1921, 0.000000e+00
  br i1 %1925, label %1926, label %1946

1926:                                             ; preds = %1924
  br i1 %.not1623, label %1927, label %1941

1927:                                             ; preds = %1926
  %.not1629 = icmp eq i32 %1914, 0
  br i1 %.not1629, label %1935, label %1928

1928:                                             ; preds = %1927
  %1929 = getelementptr inbounds float, ptr %19, i64 %1874
  %1930 = load float, ptr %1929, align 4, !tbaa !9
  %1931 = fmul float %1872, %1872
  %1932 = fadd float %.101545, %.71511
  %1933 = fmul float %1931, %1932
  %1934 = call float @llvm.fmuladd.f32(float %1930, float %1930, float %1933)
  br label %1946

1935:                                             ; preds = %1927
  %1936 = load float, ptr %919, align 4, !tbaa !9
  %1937 = fmul float %1879, %1879
  %1938 = fadd float %.101545, %.71511
  %1939 = fmul float %1937, %1938
  %1940 = call float @llvm.fmuladd.f32(float %1936, float %1936, float %1939)
  br label %1946

1941:                                             ; preds = %1926
  %1942 = fmul float %1879, %1879
  %1943 = fmul float %1872, %1872
  %1944 = fmul float %1943, %.71511
  %1945 = call float @llvm.fmuladd.f32(float %1942, float %.101545, float %1944)
  br label %1946

1946:                                             ; preds = %1941, %1935, %1928, %1924
  %.31530 = phi float [ %1945, %1941 ], [ %1934, %1928 ], [ %1940, %1935 ], [ %1921, %1924 ]
  %1947 = fdiv float %1922, %.31530
  store float %1947, ptr %16, align 4, !tbaa !9
  br label %1981

1948:                                             ; preds = %1913
  %1949 = fcmp ugt float %1921, 0.000000e+00
  br i1 %1949, label %1966, label %1950

1950:                                             ; preds = %1948
  %1951 = fpext float %1921 to double
  %1952 = fmul float %1922, -4.000000e+00
  %1953 = fmul float %1915, %1952
  %1954 = call float @llvm.fmuladd.f32(float %1921, float %1921, float %1953)
  %1955 = fcmp oge float %1954, 0.000000e+00
  %1956 = fneg float %1954
  %1957 = select i1 %1955, float %1954, float %1956
  %1958 = fpext float %1957 to double
  %1959 = call double @sqrt(double noundef %1958) #6
  %1960 = fsub double %1951, %1959
  %1961 = load float, ptr %10, align 4, !tbaa !9
  %1962 = fmul float %1961, 2.000000e+00
  %1963 = fpext float %1962 to double
  %1964 = fdiv double %1960, %1963
  %1965 = fptrunc double %1964 to float
  store float %1965, ptr %16, align 4, !tbaa !9
  br label %1981

1966:                                             ; preds = %1948
  %1967 = fmul float %1922, 2.000000e+00
  %1968 = fpext float %1967 to double
  %1969 = fpext float %1921 to double
  %1970 = fmul float %1922, -4.000000e+00
  %1971 = fmul float %1915, %1970
  %1972 = call float @llvm.fmuladd.f32(float %1921, float %1921, float %1971)
  %1973 = fcmp oge float %1972, 0.000000e+00
  %1974 = fneg float %1972
  %1975 = select i1 %1973, float %1972, float %1974
  %1976 = fpext float %1975 to double
  %1977 = call double @sqrt(double noundef %1976) #6
  %1978 = fadd double %1977, %1969
  %1979 = fdiv double %1968, %1978
  %1980 = fptrunc double %1979 to float
  store float %1980, ptr %16, align 4, !tbaa !9
  br label %1981

1981:                                             ; preds = %._crit_edge1962, %1950, %1966, %1946, %1770, %1790, %1774
  %1982 = phi float [ %1947, %1946 ], [ %1965, %1950 ], [ %1980, %1966 ], [ %.pre1963, %._crit_edge1962 ], [ %1771, %1770 ], [ %1789, %1774 ], [ %1804, %1790 ]
  %.41503 = phi i32 [ 0, %1946 ], [ 0, %1950 ], [ 0, %1966 ], [ 1, %._crit_edge1962 ], [ 0, %1770 ], [ 0, %1774 ], [ 0, %1790 ]
  %1983 = load float, ptr %11, align 4, !tbaa !9
  %1984 = fmul float %1983, %1982
  %1985 = fcmp ult float %1984, 0.000000e+00
  br i1 %1985, label %1989, label %1986

1986:                                             ; preds = %1981
  %1987 = fneg float %1983
  %1988 = fdiv float %1987, %.014971757
  store float %1988, ptr %16, align 4, !tbaa !9
  br label %1989

1989:                                             ; preds = %1986, %1981
  %1990 = phi float [ %1988, %1986 ], [ %1982, %1981 ]
  %1991 = load float, ptr %6, align 4, !tbaa !9
  %1992 = fpext float %1991 to double
  %1993 = call float @llvm.fmuladd.f32(float %1991, float %1991, float %1990)
  %1994 = fpext float %1993 to double
  %1995 = call double @sqrt(double noundef %1994) #6
  %1996 = fadd double %1995, %1992
  %1997 = load float, ptr %16, align 4, !tbaa !9
  %1998 = fpext float %1997 to double
  %1999 = fdiv double %1998, %1996
  %2000 = fptrunc double %1999 to float
  store float %2000, ptr %16, align 4, !tbaa !9
  %2001 = fadd float %.314821760, %2000
  %2002 = fcmp ogt float %2001, %.31534
  %2003 = fcmp olt float %2001, %.31550
  %or.cond1650 = select i1 %2002, i1 true, i1 %2003
  br i1 %or.cond1650, label %2004, label %2026

2004:                                             ; preds = %1989
  %2005 = load float, ptr %11, align 4, !tbaa !9
  %2006 = fcmp olt float %2005, 0.000000e+00
  %.31534..31550 = select i1 %2006, float %.31534, float %.31550
  %storemerge1630.in = fsub float %.31534..31550, %.314821760
  %storemerge1630 = fmul float %storemerge1630.in, 5.000000e-01
  store float %storemerge1630, ptr %16, align 4, !tbaa !9
  br i1 %.not1612, label %2026, label %2007

2007:                                             ; preds = %2004
  br i1 %2006, label %2008, label %2017

2008:                                             ; preds = %2007
  %2009 = fcmp ogt float %.314821760, 0.000000e+00
  br i1 %2009, label %2010, label %2026

2010:                                             ; preds = %2008
  %2011 = fmul float %.314821760, %.31534
  %2012 = fpext float %2011 to double
  %2013 = call double @sqrt(double noundef %2012) #6
  %2014 = fpext float %.314821760 to double
  %2015 = fsub double %2013, %2014
  %2016 = fptrunc double %2015 to float
  store float %2016, ptr %16, align 4, !tbaa !9
  br label %2026

2017:                                             ; preds = %2007
  %2018 = fcmp ogt float %.31550, 0.000000e+00
  br i1 %2018, label %2019, label %2026

2019:                                             ; preds = %2017
  %2020 = fmul float %.314821760, %.31550
  %2021 = fpext float %2020 to double
  %2022 = call double @sqrt(double noundef %2021) #6
  %2023 = fpext float %.314821760 to double
  %2024 = fsub double %2022, %2023
  %2025 = fptrunc double %2024 to float
  store float %2025, ptr %16, align 4, !tbaa !9
  br label %2026

2026:                                             ; preds = %1989, %2004, %2017, %2019, %2008, %2010
  %2027 = phi float [ %2000, %1989 ], [ %storemerge1630, %2004 ], [ %storemerge1630, %2017 ], [ %2025, %2019 ], [ %storemerge1630, %2008 ], [ %2016, %2010 ]
  %2028 = load float, ptr %11, align 4, !tbaa !9
  %2029 = fadd float %.314821760, %2027
  %2030 = load float, ptr %6, align 4, !tbaa !9
  %2031 = fadd float %2027, %2030
  store float %2031, ptr %6, align 4, !tbaa !9
  %2032 = load i32, ptr %0, align 4, !tbaa !5
  %.not16321724 = icmp slt i32 %2032, 1
  br i1 %.not16321724, label %.preheader1655, label %.lr.ph1727.preheader

.lr.ph1727.preheader:                             ; preds = %2026
  %2033 = add nuw i32 %2032, 1
  %wide.trip.count1910 = zext i32 %2033 to i64
  %2034 = zext nneg i32 %2032 to i64
  %min.iters.check2138 = icmp ult i32 %2032, 8
  br i1 %min.iters.check2138, label %.lr.ph1727.preheader2309, label %vector.memcheck2128

.lr.ph1727.preheader2309:                         ; preds = %middle.block2136, %vector.memcheck2128, %.lr.ph1727.preheader
  %indvars.iv1907.ph = phi i64 [ 1, %vector.memcheck2128 ], [ 1, %.lr.ph1727.preheader ], [ %ind.end2142, %middle.block2136 ]
  %2035 = zext nneg i32 %2032 to i64
  %2036 = and i32 %2032, 1
  %lcmp.mod2356.not = icmp eq i32 %2036, 0
  br i1 %lcmp.mod2356.not, label %.lr.ph1727.prol.loopexit, label %.lr.ph1727.prol

.lr.ph1727.prol:                                  ; preds = %.lr.ph1727.preheader2309
  %2037 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1907.ph
  %2038 = load float, ptr %2037, align 4, !tbaa !9
  %2039 = fadd float %2027, %2038
  store float %2039, ptr %2037, align 4, !tbaa !9
  %2040 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1907.ph
  %2041 = load float, ptr %2040, align 4, !tbaa !9
  %2042 = fsub float %2041, %2027
  store float %2042, ptr %2040, align 4, !tbaa !9
  %indvars.iv.next1908.prol = add nuw nsw i64 %indvars.iv1907.ph, 1
  br label %.lr.ph1727.prol.loopexit

.lr.ph1727.prol.loopexit:                         ; preds = %.lr.ph1727.prol, %.lr.ph1727.preheader2309
  %indvars.iv1907.unr = phi i64 [ %indvars.iv1907.ph, %.lr.ph1727.preheader2309 ], [ %indvars.iv.next1908.prol, %.lr.ph1727.prol ]
  %2043 = icmp eq i64 %indvars.iv1907.ph, %2035
  br i1 %2043, label %.preheader1655, label %.lr.ph1727

vector.memcheck2128:                              ; preds = %.lr.ph1727.preheader
  %2044 = shl nuw nsw i64 %wide.trip.count1910, 2
  %scevgep2130 = getelementptr i8, ptr %scevgep2129, i64 %2044
  %scevgep2132 = getelementptr i8, ptr %scevgep2131, i64 %2044
  %bound02133 = icmp ugt ptr %scevgep2132, %7
  %bound12134 = icmp ugt ptr %scevgep2130, %4
  %found.conflict2135 = and i1 %bound02133, %bound12134
  br i1 %found.conflict2135, label %.lr.ph1727.preheader2309, label %vector.ph2139

vector.ph2139:                                    ; preds = %vector.memcheck2128
  %n.vec2141 = and i64 %2034, 2147483640
  %ind.end2142 = or disjoint i64 %n.vec2141, 1
  %broadcast.splatinsert2149 = insertelement <4 x float> poison, float %2027, i64 0
  %broadcast.splat2150 = shufflevector <4 x float> %broadcast.splatinsert2149, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2144

vector.body2144:                                  ; preds = %vector.body2144, %vector.ph2139
  %index2145 = phi i64 [ 0, %vector.ph2139 ], [ %index.next2153, %vector.body2144 ]
  %2045 = getelementptr float, ptr %7, i64 %index2145
  %2046 = getelementptr inbounds i8, ptr %2045, i64 16
  %wide.load2147 = load <4 x float>, ptr %2045, align 4, !tbaa !9, !alias.scope !98, !noalias !101
  %wide.load2148 = load <4 x float>, ptr %2046, align 4, !tbaa !9, !alias.scope !98, !noalias !101
  %2047 = fadd <4 x float> %broadcast.splat2150, %wide.load2147
  %2048 = fadd <4 x float> %broadcast.splat2150, %wide.load2148
  store <4 x float> %2047, ptr %2045, align 4, !tbaa !9, !alias.scope !98, !noalias !101
  store <4 x float> %2048, ptr %2046, align 4, !tbaa !9, !alias.scope !98, !noalias !101
  %2049 = getelementptr float, ptr %4, i64 %index2145
  %2050 = getelementptr inbounds i8, ptr %2049, i64 16
  %wide.load2151 = load <4 x float>, ptr %2049, align 4, !tbaa !9, !alias.scope !101
  %wide.load2152 = load <4 x float>, ptr %2050, align 4, !tbaa !9, !alias.scope !101
  %2051 = fsub <4 x float> %wide.load2151, %broadcast.splat2150
  %2052 = fsub <4 x float> %wide.load2152, %broadcast.splat2150
  store <4 x float> %2051, ptr %2049, align 4, !tbaa !9, !alias.scope !101
  store <4 x float> %2052, ptr %2050, align 4, !tbaa !9, !alias.scope !101
  %index.next2153 = add nuw i64 %index2145, 8
  %2053 = icmp eq i64 %index.next2153, %n.vec2141
  br i1 %2053, label %middle.block2136, label %vector.body2144, !llvm.loop !103

middle.block2136:                                 ; preds = %vector.body2144
  %cmp.n2154 = icmp eq i64 %n.vec2141, %2034
  br i1 %cmp.n2154, label %.preheader1655, label %.lr.ph1727.preheader2309

.preheader1655:                                   ; preds = %.lr.ph1727.prol.loopexit, %.lr.ph1727, %middle.block2136, %2026
  br i1 %.not1599.not1677, label %.lr.ph1733.preheader, label %._crit_edge1734

.lr.ph1733.preheader:                             ; preds = %.preheader1655
  br i1 %1680, label %._crit_edge1734.loopexit.unr-lcssa, label %.lr.ph1733

.lr.ph1727:                                       ; preds = %.lr.ph1727.prol.loopexit, %.lr.ph1727
  %indvars.iv1907 = phi i64 [ %indvars.iv.next1908.1, %.lr.ph1727 ], [ %indvars.iv1907.unr, %.lr.ph1727.prol.loopexit ]
  %2054 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1907
  %2055 = load float, ptr %2054, align 4, !tbaa !9
  %2056 = fadd float %2027, %2055
  store float %2056, ptr %2054, align 4, !tbaa !9
  %2057 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1907
  %2058 = load float, ptr %2057, align 4, !tbaa !9
  %2059 = fsub float %2058, %2027
  store float %2059, ptr %2057, align 4, !tbaa !9
  %2060 = getelementptr float, ptr %7, i64 %indvars.iv1907
  %2061 = load float, ptr %2060, align 4, !tbaa !9
  %2062 = fadd float %2027, %2061
  store float %2062, ptr %2060, align 4, !tbaa !9
  %2063 = getelementptr float, ptr %4, i64 %indvars.iv1907
  %2064 = load float, ptr %2063, align 4, !tbaa !9
  %2065 = fsub float %2064, %2027
  store float %2065, ptr %2063, align 4, !tbaa !9
  %indvars.iv.next1908.1 = add nuw nsw i64 %indvars.iv1907, 2
  %exitcond1911.not.1 = icmp eq i64 %indvars.iv.next1908.1, %wide.trip.count1910
  br i1 %exitcond1911.not.1, label %.preheader1655, label %.lr.ph1727, !llvm.loop !104

.lr.ph1733:                                       ; preds = %.lr.ph1733.preheader, %.lr.ph1733
  %indvars.iv1912 = phi i64 [ %indvars.iv.next1913.1, %.lr.ph1733 ], [ 1, %.lr.ph1733.preheader ]
  %.91731 = phi float [ %2094, %.lr.ph1733 ], [ 0.000000e+00, %.lr.ph1733.preheader ]
  %2066 = phi <2 x float> [ %2092, %.lr.ph1733 ], [ zeroinitializer, %.lr.ph1733.preheader ]
  %niter2364 = phi i64 [ %niter2364.next.1, %.lr.ph1733 ], [ 0, %.lr.ph1733.preheader ]
  %2067 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1912
  %2068 = load float, ptr %2067, align 4, !tbaa !9
  %2069 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1912
  %2070 = load float, ptr %2069, align 4, !tbaa !9
  %2071 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1912
  %2072 = load float, ptr %2071, align 4, !tbaa !9
  %2073 = fmul float %2070, %2072
  %2074 = fdiv float %2068, %2073
  %2075 = insertelement <2 x float> poison, float %2068, i64 0
  %2076 = insertelement <2 x float> %2075, float %2074, i64 1
  %2077 = shufflevector <2 x float> %2076, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %2078 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2076, <2 x float> %2077, <2 x float> %2066)
  %2079 = extractelement <2 x float> %2078, i64 0
  %2080 = fadd float %.91731, %2079
  %2081 = getelementptr float, ptr %3, i64 %indvars.iv1912
  %2082 = load float, ptr %2081, align 4, !tbaa !9
  %2083 = getelementptr float, ptr %7, i64 %indvars.iv1912
  %2084 = load float, ptr %2083, align 4, !tbaa !9
  %2085 = getelementptr float, ptr %4, i64 %indvars.iv1912
  %2086 = load float, ptr %2085, align 4, !tbaa !9
  %2087 = fmul float %2084, %2086
  %2088 = fdiv float %2082, %2087
  %2089 = insertelement <2 x float> poison, float %2082, i64 0
  %2090 = insertelement <2 x float> %2089, float %2088, i64 1
  %2091 = shufflevector <2 x float> %2090, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %2092 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2090, <2 x float> %2091, <2 x float> %2078)
  %2093 = extractelement <2 x float> %2092, i64 0
  %2094 = fadd float %2080, %2093
  %indvars.iv.next1913.1 = add nuw nsw i64 %indvars.iv1912, 2
  %niter2364.next.1 = add i64 %niter2364, 2
  %niter2364.ncmp.1 = icmp eq i64 %niter2364.next.1, %unroll_iter2363
  br i1 %niter2364.ncmp.1, label %._crit_edge1734.loopexit.unr-lcssa.loopexit, label %.lr.ph1733, !llvm.loop !105

._crit_edge1734.loopexit.unr-lcssa.loopexit:      ; preds = %.lr.ph1733
  %2095 = extractelement <2 x float> %2092, i64 1
  br label %._crit_edge1734.loopexit.unr-lcssa

._crit_edge1734.loopexit.unr-lcssa:               ; preds = %._crit_edge1734.loopexit.unr-lcssa.loopexit, %.lr.ph1733.preheader
  %.lcssa2313.ph = phi float [ poison, %.lr.ph1733.preheader ], [ %2093, %._crit_edge1734.loopexit.unr-lcssa.loopexit ]
  %.lcssa2312.ph = phi float [ poison, %.lr.ph1733.preheader ], [ %2094, %._crit_edge1734.loopexit.unr-lcssa.loopexit ]
  %.lcssa2311.ph = phi float [ poison, %.lr.ph1733.preheader ], [ %2095, %._crit_edge1734.loopexit.unr-lcssa.loopexit ]
  %indvars.iv1912.unr = phi i64 [ 1, %.lr.ph1733.preheader ], [ %indvars.iv.next1913.1, %._crit_edge1734.loopexit.unr-lcssa.loopexit ]
  %.91731.unr = phi float [ 0.000000e+00, %.lr.ph1733.preheader ], [ %2094, %._crit_edge1734.loopexit.unr-lcssa.loopexit ]
  %.unr2358 = phi <2 x float> [ zeroinitializer, %.lr.ph1733.preheader ], [ %2092, %._crit_edge1734.loopexit.unr-lcssa.loopexit ]
  br i1 %lcmp.mod2359.not, label %._crit_edge1734, label %.lr.ph1733.epil

.lr.ph1733.epil:                                  ; preds = %._crit_edge1734.loopexit.unr-lcssa
  %2096 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1912.unr
  %2097 = load float, ptr %2096, align 4, !tbaa !9
  %2098 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1912.unr
  %2099 = load float, ptr %2098, align 4, !tbaa !9
  %2100 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1912.unr
  %2101 = load float, ptr %2100, align 4, !tbaa !9
  %2102 = fmul float %2099, %2101
  %2103 = fdiv float %2097, %2102
  %2104 = insertelement <2 x float> poison, float %2097, i64 0
  %2105 = insertelement <2 x float> %2104, float %2103, i64 1
  %2106 = shufflevector <2 x float> %2105, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %2107 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2105, <2 x float> %2106, <2 x float> %.unr2358)
  %2108 = extractelement <2 x float> %2107, i64 0
  %2109 = fadd float %.91731.unr, %2108
  %2110 = extractelement <2 x float> %2107, i64 1
  br label %._crit_edge1734

._crit_edge1734:                                  ; preds = %.lr.ph1733.epil, %._crit_edge1734.loopexit.unr-lcssa, %.preheader1655
  %.111546.lcssa = phi float [ 0.000000e+00, %.preheader1655 ], [ %.lcssa2311.ph, %._crit_edge1734.loopexit.unr-lcssa ], [ %2110, %.lr.ph1733.epil ]
  %.9.lcssa = phi float [ 0.000000e+00, %.preheader1655 ], [ %.lcssa2312.ph, %._crit_edge1734.loopexit.unr-lcssa ], [ %2109, %.lr.ph1733.epil ]
  %.8.lcssa = phi float [ 0.000000e+00, %.preheader1655 ], [ %.lcssa2313.ph, %._crit_edge1734.loopexit.unr-lcssa ], [ %2108, %.lr.ph1733.epil ]
  %2111 = fcmp oge float %.9.lcssa, 0.000000e+00
  %2112 = fneg float %.9.lcssa
  %2113 = select i1 %2111, float %.9.lcssa, float %2112
  %.not1634.not1738 = icmp sgt i32 %2032, %.01498
  br i1 %.not1634.not1738, label %.lr.ph1744.preheader, label %._crit_edge1745

.lr.ph1744.preheader:                             ; preds = %._crit_edge1734
  %2114 = sext i32 %2032 to i64
  br label %.lr.ph1744

.lr.ph1744:                                       ; preds = %.lr.ph1744.preheader, %.lr.ph1744
  %indvars.iv1917 = phi i64 [ %2114, %.lr.ph1744.preheader ], [ %indvars.iv.next1918, %.lr.ph1744 ]
  %.101741 = phi float [ %2113, %.lr.ph1744.preheader ], [ %2129, %.lr.ph1744 ]
  %2115 = phi <2 x float> [ zeroinitializer, %.lr.ph1744.preheader ], [ %2127, %.lr.ph1744 ]
  %2116 = getelementptr inbounds float, ptr %19, i64 %indvars.iv1917
  %2117 = load float, ptr %2116, align 4, !tbaa !9
  %2118 = getelementptr inbounds float, ptr %17, i64 %indvars.iv1917
  %2119 = load float, ptr %2118, align 4, !tbaa !9
  %2120 = getelementptr inbounds float, ptr %18, i64 %indvars.iv1917
  %2121 = load float, ptr %2120, align 4, !tbaa !9
  %2122 = fmul float %2119, %2121
  %2123 = fdiv float %2117, %2122
  %2124 = insertelement <2 x float> poison, float %2117, i64 0
  %2125 = insertelement <2 x float> %2124, float %2123, i64 1
  %2126 = shufflevector <2 x float> %2125, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %2127 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %2125, <2 x float> %2126, <2 x float> %2115)
  %2128 = extractelement <2 x float> %2127, i64 0
  %2129 = fadd float %.101741, %2128
  %indvars.iv.next1918 = add nsw i64 %indvars.iv1917, -1
  %.not1634.not = icmp sgt i64 %indvars.iv.next1918, %.pre-phi
  br i1 %.not1634.not, label %.lr.ph1744, label %._crit_edge1745.loopexit, !llvm.loop !106

._crit_edge1745.loopexit:                         ; preds = %.lr.ph1744
  %2130 = extractelement <2 x float> %2127, i64 1
  br label %._crit_edge1745

._crit_edge1745:                                  ; preds = %._crit_edge1745.loopexit, %._crit_edge1734
  %.81512.lcssa = phi float [ 0.000000e+00, %._crit_edge1734 ], [ %2130, %._crit_edge1745.loopexit ]
  %.10.lcssa = phi float [ %2113, %._crit_edge1734 ], [ %2129, %._crit_edge1745.loopexit ]
  %.41487.lcssa = phi float [ 0.000000e+00, %._crit_edge1734 ], [ %2128, %._crit_edge1745.loopexit ]
  %2131 = load float, ptr %1202, align 4, !tbaa !9
  %2132 = load float, ptr %1204, align 4, !tbaa !9
  %2133 = fmul float %2131, %2132
  %2134 = load float, ptr %1200, align 4, !tbaa !9
  %2135 = fdiv float %2134, %2133
  %2136 = fadd float %.111546.lcssa, %.81512.lcssa
  %2137 = call float @llvm.fmuladd.f32(float %2135, float %2135, float %2136)
  %2138 = fmul float %2134, %2135
  %2139 = fadd float %33, %.41487.lcssa
  %2140 = fadd float %.8.lcssa, %2139
  %2141 = fadd float %2140, %2138
  store float %2141, ptr %11, align 4, !tbaa !9
  %2142 = fsub float %.41487.lcssa, %.8.lcssa
  %2143 = call float @llvm.fmuladd.f32(float %2142, float 8.000000e+00, float %.10.lcssa)
  %2144 = call float @llvm.fmuladd.f32(float %33, float 2.000000e+00, float %2143)
  %2145 = fcmp oge float %2138, 0.000000e+00
  %2146 = fneg float %2138
  %2147 = select i1 %2145, float %2138, float %2146
  %2148 = call float @llvm.fmuladd.f32(float %2147, float 3.000000e+00, float %2144)
  %2149 = fmul float %2028, %2141
  %2150 = fcmp ogt float %2149, 0.000000e+00
  br i1 %2150, label %2151, label %2162

2151:                                             ; preds = %._crit_edge1745
  %2152 = fcmp oge float %2141, 0.000000e+00
  %2153 = fneg float %2141
  %2154 = select i1 %2152, float %2141, float %2153
  %2155 = fcmp oge float %2028, 0.000000e+00
  %2156 = fneg float %2028
  %2157 = select i1 %2155, float %2028, float %2156
  %2158 = fdiv float %2157, 1.000000e+01
  %2159 = fcmp ogt float %2154, %2158
  br i1 %2159, label %2160, label %2162

2160:                                             ; preds = %2151
  %.not1635 = icmp eq i32 %.115141754, 0
  %2161 = zext i1 %.not1635 to i32
  br label %2162

2162:                                             ; preds = %._crit_edge1745, %2151, %2160
  %.21515 = phi i32 [ %2161, %2160 ], [ %.115141754, %2151 ], [ %.115141754, %._crit_edge1745 ]
  %storemerge1617.in = load i32, ptr %12, align 4, !tbaa !5
  %storemerge1617 = add nsw i32 %storemerge1617.in, 1
  store i32 %storemerge1617, ptr %12, align 4, !tbaa !5
  %2163 = icmp slt i32 %storemerge1617.in, 400
  br i1 %2163, label %1681, label %._crit_edge1764, !llvm.loop !107

._crit_edge1764:                                  ; preds = %2162, %1663
  store i32 1, ptr %8, align 4, !tbaa !5
  br label %.loopexit1656

.loopexit1656:                                    ; preds = %1681, %595, %._crit_edge1834, %._crit_edge1764, %._crit_edge1787, %1197, %29, %22
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  ret void
}

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #3

declare void @slasd5_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare float @slamch_(ptr noundef) local_unnamed_addr #4

declare void @slaed6_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

declare float @sqrtf(float) local_unnamed_addr

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <2 x float> @llvm.fmuladd.v2f32(<2 x float>, <2 x float>, <2 x float>) #5

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
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 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { "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 #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"float", !7, i64 0}
!11 = !{!12}
!12 = distinct !{!12, !13}
!13 = distinct !{!13, !"LVerDomain"}
!14 = !{!15}
!15 = distinct !{!15, !13}
!16 = !{!17}
!17 = distinct !{!17, !13}
!18 = !{!19, !12, !15}
!19 = distinct !{!19, !13}
!20 = !{!19}
!21 = !{!12, !15}
!22 = distinct !{!22, !23, !24, !25}
!23 = !{!"llvm.loop.mustprogress"}
!24 = !{!"llvm.loop.isvectorized", i32 1}
!25 = !{!"llvm.loop.unroll.runtime.disable"}
!26 = distinct !{!26, !23, !24}
!27 = distinct !{!27, !23}
!28 = !{!29}
!29 = distinct !{!29, !30}
!30 = distinct !{!30, !"LVerDomain"}
!31 = !{!32}
!32 = distinct !{!32, !30}
!33 = !{!34}
!34 = distinct !{!34, !30}
!35 = !{!36, !29, !32}
!36 = distinct !{!36, !30}
!37 = !{!36}
!38 = !{!29, !32}
!39 = distinct !{!39, !23, !24, !25}
!40 = distinct !{!40, !23, !24}
!41 = distinct !{!41, !23}
!42 = !{!43}
!43 = distinct !{!43, !44}
!44 = distinct !{!44, !"LVerDomain"}
!45 = !{!46}
!46 = distinct !{!46, !44}
!47 = distinct !{!47, !23, !24, !25}
!48 = distinct !{!48, !23, !24}
!49 = distinct !{!49, !23}
!50 = !{!51}
!51 = distinct !{!51, !52}
!52 = distinct !{!52, !"LVerDomain"}
!53 = !{!54}
!54 = distinct !{!54, !52}
!55 = distinct !{!55, !23, !24, !25}
!56 = distinct !{!56, !23, !24}
!57 = distinct !{!57, !23}
!58 = distinct !{!58, !23}
!59 = !{!60}
!60 = distinct !{!60, !61}
!61 = distinct !{!61, !"LVerDomain"}
!62 = !{!63}
!63 = distinct !{!63, !61}
!64 = !{!65}
!65 = distinct !{!65, !61}
!66 = !{!67, !60, !63}
!67 = distinct !{!67, !61}
!68 = !{!67}
!69 = !{!60, !63}
!70 = distinct !{!70, !23, !24, !25}
!71 = distinct !{!71, !23, !24}
!72 = distinct !{!72, !23}
!73 = distinct !{!73, !23}
!74 = !{!75}
!75 = distinct !{!75, !76}
!76 = distinct !{!76, !"LVerDomain"}
!77 = !{!78}
!78 = distinct !{!78, !76}
!79 = !{!80}
!80 = distinct !{!80, !76}
!81 = !{!82, !75, !78}
!82 = distinct !{!82, !76}
!83 = !{!82}
!84 = !{!75, !78}
!85 = distinct !{!85, !23, !24, !25}
!86 = distinct !{!86, !23, !24}
!87 = distinct !{!87, !23}
!88 = distinct !{!88, !23}
!89 = !{!90}
!90 = distinct !{!90, !91}
!91 = distinct !{!91, !"LVerDomain"}
!92 = !{!93}
!93 = distinct !{!93, !91}
!94 = distinct !{!94, !23, !24, !25}
!95 = distinct !{!95, !23, !24}
!96 = distinct !{!96, !23}
!97 = distinct !{!97, !23}
!98 = !{!99}
!99 = distinct !{!99, !100}
!100 = distinct !{!100, !"LVerDomain"}
!101 = !{!102}
!102 = distinct !{!102, !100}
!103 = distinct !{!103, !23, !24, !25}
!104 = distinct !{!104, !23, !24}
!105 = distinct !{!105, !23}
!106 = distinct !{!106, !23}
!107 = distinct !{!107, !23}


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