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

; 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
@.str.1 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [7 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @slaed6_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7) #0 {
  %9 = alloca ptr, align 8
  %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 i32, align 4
  %18 = alloca float, align 4
  %19 = alloca float, align 4
  %20 = alloca float, align 4
  %21 = alloca float, align 4
  %22 = alloca float, align 4
  %23 = alloca i32, align 4
  %24 = alloca float, align 4
  %25 = alloca float, 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 i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca float, align 4
  %37 = alloca float, align 4
  %38 = alloca float, align 4
  %39 = alloca float, align 4
  %40 = alloca float, align 4
  %41 = alloca float, align 4
  %42 = alloca [3 x float], align 4
  %43 = alloca float, align 4
  %44 = alloca [3 x float], align 4
  %45 = alloca float, align 4
  %46 = alloca float, align 4
  %47 = alloca float, align 4
  %48 = alloca float, align 4
  %49 = alloca float, align 4
  %50 = alloca float, align 4
  %51 = alloca float, align 4
  store ptr %0, ptr %9, align 8, !tbaa !5
  store ptr %1, ptr %10, align 8, !tbaa !5
  store ptr %2, ptr %11, align 8, !tbaa !5
  store ptr %3, ptr %12, align 8, !tbaa !5
  store ptr %4, ptr %13, align 8, !tbaa !5
  store ptr %5, ptr %14, align 8, !tbaa !5
  store ptr %6, ptr %15, align 8, !tbaa !5
  store ptr %7, ptr %16, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #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 12, ptr %42) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #5
  call void @llvm.lifetime.start.p0(i64 12, 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 4, 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
  %52 = load ptr, ptr %13, align 8, !tbaa !5
  %53 = getelementptr inbounds float, ptr %52, i32 -1
  store ptr %53, ptr %13, align 8, !tbaa !5
  %54 = load ptr, ptr %12, align 8, !tbaa !5
  %55 = getelementptr inbounds float, ptr %54, i32 -1
  store ptr %55, ptr %12, align 8, !tbaa !5
  %56 = load ptr, ptr %16, align 8, !tbaa !5
  store i32 0, ptr %56, align 4, !tbaa !9
  %57 = load ptr, ptr %10, align 8, !tbaa !5
  %58 = load i32, ptr %57, align 4, !tbaa !9
  %59 = icmp ne i32 %58, 0
  br i1 %59, label %60, label %67

60:                                               ; preds = %8
  %61 = load ptr, ptr %12, align 8, !tbaa !5
  %62 = getelementptr inbounds float, ptr %61, i64 2
  %63 = load float, ptr %62, align 4, !tbaa !11
  store float %63, ptr %48, align 4, !tbaa !11
  %64 = load ptr, ptr %12, align 8, !tbaa !5
  %65 = getelementptr inbounds float, ptr %64, i64 3
  %66 = load float, ptr %65, align 4, !tbaa !11
  store float %66, ptr %50, align 4, !tbaa !11
  br label %74

67:                                               ; preds = %8
  %68 = load ptr, ptr %12, align 8, !tbaa !5
  %69 = getelementptr inbounds float, ptr %68, i64 1
  %70 = load float, ptr %69, align 4, !tbaa !11
  store float %70, ptr %48, align 4, !tbaa !11
  %71 = load ptr, ptr %12, align 8, !tbaa !5
  %72 = getelementptr inbounds float, ptr %71, i64 2
  %73 = load float, ptr %72, align 4, !tbaa !11
  store float %73, ptr %50, align 4, !tbaa !11
  br label %74

74:                                               ; preds = %67, %60
  %75 = load ptr, ptr %14, align 8, !tbaa !5
  %76 = load float, ptr %75, align 4, !tbaa !11
  %77 = fcmp olt float %76, 0.000000e+00
  br i1 %77, label %78, label %79

78:                                               ; preds = %74
  store float 0.000000e+00, ptr %48, align 4, !tbaa !11
  br label %80

79:                                               ; preds = %74
  store float 0.000000e+00, ptr %50, align 4, !tbaa !11
  br label %80

80:                                               ; preds = %79, %78
  store i32 1, ptr %35, align 4, !tbaa !9
  %81 = load ptr, ptr %15, align 8, !tbaa !5
  store float 0.000000e+00, ptr %81, align 4, !tbaa !11
  %82 = load ptr, ptr %9, align 8, !tbaa !5
  %83 = load i32, ptr %82, align 4, !tbaa !9
  %84 = icmp eq i32 %83, 2
  br i1 %84, label %85, label %472

85:                                               ; preds = %80
  %86 = load ptr, ptr %10, align 8, !tbaa !5
  %87 = load i32, ptr %86, align 4, !tbaa !9
  %88 = icmp ne i32 %87, 0
  br i1 %88, label %89, label %153

89:                                               ; preds = %85
  %90 = load ptr, ptr %12, align 8, !tbaa !5
  %91 = getelementptr inbounds float, ptr %90, i64 3
  %92 = load float, ptr %91, align 4, !tbaa !11
  %93 = load ptr, ptr %12, align 8, !tbaa !5
  %94 = getelementptr inbounds float, ptr %93, i64 2
  %95 = load float, ptr %94, align 4, !tbaa !11
  %96 = fsub float %92, %95
  %97 = fdiv float %96, 2.000000e+00
  store float %97, ptr %24, align 4, !tbaa !11
  %98 = load ptr, ptr %11, align 8, !tbaa !5
  %99 = load float, ptr %98, align 4, !tbaa !11
  %100 = load ptr, ptr %13, align 8, !tbaa !5
  %101 = getelementptr inbounds float, ptr %100, i64 1
  %102 = load float, ptr %101, align 4, !tbaa !11
  %103 = load ptr, ptr %12, align 8, !tbaa !5
  %104 = getelementptr inbounds float, ptr %103, i64 1
  %105 = load float, ptr %104, align 4, !tbaa !11
  %106 = load ptr, ptr %12, align 8, !tbaa !5
  %107 = getelementptr inbounds float, ptr %106, i64 2
  %108 = load float, ptr %107, align 4, !tbaa !11
  %109 = fsub float %105, %108
  %110 = load float, ptr %24, align 4, !tbaa !11
  %111 = fsub float %109, %110
  %112 = fdiv float %102, %111
  %113 = fadd float %99, %112
  store float %113, ptr %31, align 4, !tbaa !11
  %114 = load float, ptr %31, align 4, !tbaa !11
  %115 = load ptr, ptr %12, align 8, !tbaa !5
  %116 = getelementptr inbounds float, ptr %115, i64 2
  %117 = load float, ptr %116, align 4, !tbaa !11
  %118 = load ptr, ptr %12, align 8, !tbaa !5
  %119 = getelementptr inbounds float, ptr %118, i64 3
  %120 = load float, ptr %119, align 4, !tbaa !11
  %121 = fadd float %117, %120
  %122 = load ptr, ptr %13, align 8, !tbaa !5
  %123 = getelementptr inbounds float, ptr %122, i64 2
  %124 = load float, ptr %123, align 4, !tbaa !11
  %125 = call float @llvm.fmuladd.f32(float %114, float %121, float %124)
  %126 = load ptr, ptr %13, align 8, !tbaa !5
  %127 = getelementptr inbounds float, ptr %126, i64 3
  %128 = load float, ptr %127, align 4, !tbaa !11
  %129 = fadd float %125, %128
  store float %129, ptr %29, align 4, !tbaa !11
  %130 = load float, ptr %31, align 4, !tbaa !11
  %131 = load ptr, ptr %12, align 8, !tbaa !5
  %132 = getelementptr inbounds float, ptr %131, i64 2
  %133 = load float, ptr %132, align 4, !tbaa !11
  %134 = fmul float %130, %133
  %135 = load ptr, ptr %12, align 8, !tbaa !5
  %136 = getelementptr inbounds float, ptr %135, i64 3
  %137 = load float, ptr %136, align 4, !tbaa !11
  %138 = load ptr, ptr %13, align 8, !tbaa !5
  %139 = getelementptr inbounds float, ptr %138, i64 2
  %140 = load float, ptr %139, align 4, !tbaa !11
  %141 = load ptr, ptr %12, align 8, !tbaa !5
  %142 = getelementptr inbounds float, ptr %141, i64 3
  %143 = load float, ptr %142, align 4, !tbaa !11
  %144 = fmul float %140, %143
  %145 = call float @llvm.fmuladd.f32(float %134, float %137, float %144)
  %146 = load ptr, ptr %13, align 8, !tbaa !5
  %147 = getelementptr inbounds float, ptr %146, i64 3
  %148 = load float, ptr %147, align 4, !tbaa !11
  %149 = load ptr, ptr %12, align 8, !tbaa !5
  %150 = getelementptr inbounds float, ptr %149, i64 2
  %151 = load float, ptr %150, align 4, !tbaa !11
  %152 = call float @llvm.fmuladd.f32(float %148, float %151, float %145)
  store float %152, ptr %30, align 4, !tbaa !11
  br label %217

153:                                              ; preds = %85
  %154 = load ptr, ptr %12, align 8, !tbaa !5
  %155 = getelementptr inbounds float, ptr %154, i64 1
  %156 = load float, ptr %155, align 4, !tbaa !11
  %157 = load ptr, ptr %12, align 8, !tbaa !5
  %158 = getelementptr inbounds float, ptr %157, i64 2
  %159 = load float, ptr %158, align 4, !tbaa !11
  %160 = fsub float %156, %159
  %161 = fdiv float %160, 2.000000e+00
  store float %161, ptr %24, align 4, !tbaa !11
  %162 = load ptr, ptr %11, align 8, !tbaa !5
  %163 = load float, ptr %162, align 4, !tbaa !11
  %164 = load ptr, ptr %13, align 8, !tbaa !5
  %165 = getelementptr inbounds float, ptr %164, i64 3
  %166 = load float, ptr %165, align 4, !tbaa !11
  %167 = load ptr, ptr %12, align 8, !tbaa !5
  %168 = getelementptr inbounds float, ptr %167, i64 3
  %169 = load float, ptr %168, align 4, !tbaa !11
  %170 = load ptr, ptr %12, align 8, !tbaa !5
  %171 = getelementptr inbounds float, ptr %170, i64 2
  %172 = load float, ptr %171, align 4, !tbaa !11
  %173 = fsub float %169, %172
  %174 = load float, ptr %24, align 4, !tbaa !11
  %175 = fsub float %173, %174
  %176 = fdiv float %166, %175
  %177 = fadd float %163, %176
  store float %177, ptr %31, align 4, !tbaa !11
  %178 = load float, ptr %31, align 4, !tbaa !11
  %179 = load ptr, ptr %12, align 8, !tbaa !5
  %180 = getelementptr inbounds float, ptr %179, i64 1
  %181 = load float, ptr %180, align 4, !tbaa !11
  %182 = load ptr, ptr %12, align 8, !tbaa !5
  %183 = getelementptr inbounds float, ptr %182, i64 2
  %184 = load float, ptr %183, align 4, !tbaa !11
  %185 = fadd float %181, %184
  %186 = load ptr, ptr %13, align 8, !tbaa !5
  %187 = getelementptr inbounds float, ptr %186, i64 1
  %188 = load float, ptr %187, align 4, !tbaa !11
  %189 = call float @llvm.fmuladd.f32(float %178, float %185, float %188)
  %190 = load ptr, ptr %13, align 8, !tbaa !5
  %191 = getelementptr inbounds float, ptr %190, i64 2
  %192 = load float, ptr %191, align 4, !tbaa !11
  %193 = fadd float %189, %192
  store float %193, ptr %29, align 4, !tbaa !11
  %194 = load float, ptr %31, align 4, !tbaa !11
  %195 = load ptr, ptr %12, align 8, !tbaa !5
  %196 = getelementptr inbounds float, ptr %195, i64 1
  %197 = load float, ptr %196, align 4, !tbaa !11
  %198 = fmul float %194, %197
  %199 = load ptr, ptr %12, align 8, !tbaa !5
  %200 = getelementptr inbounds float, ptr %199, i64 2
  %201 = load float, ptr %200, align 4, !tbaa !11
  %202 = load ptr, ptr %13, align 8, !tbaa !5
  %203 = getelementptr inbounds float, ptr %202, i64 1
  %204 = load float, ptr %203, align 4, !tbaa !11
  %205 = load ptr, ptr %12, align 8, !tbaa !5
  %206 = getelementptr inbounds float, ptr %205, i64 2
  %207 = load float, ptr %206, align 4, !tbaa !11
  %208 = fmul float %204, %207
  %209 = call float @llvm.fmuladd.f32(float %198, float %201, float %208)
  %210 = load ptr, ptr %13, align 8, !tbaa !5
  %211 = getelementptr inbounds float, ptr %210, i64 2
  %212 = load float, ptr %211, align 4, !tbaa !11
  %213 = load ptr, ptr %12, align 8, !tbaa !5
  %214 = getelementptr inbounds float, ptr %213, i64 1
  %215 = load float, ptr %214, align 4, !tbaa !11
  %216 = call float @llvm.fmuladd.f32(float %212, float %215, float %209)
  store float %216, ptr %30, align 4, !tbaa !11
  br label %217

217:                                              ; preds = %153, %89
  %218 = load float, ptr %29, align 4, !tbaa !11
  %219 = fcmp oge float %218, 0.000000e+00
  br i1 %219, label %220, label %222

220:                                              ; preds = %217
  %221 = load float, ptr %29, align 4, !tbaa !11
  br label %225

222:                                              ; preds = %217
  %223 = load float, ptr %29, align 4, !tbaa !11
  %224 = fneg float %223
  br label %225

225:                                              ; preds = %222, %220
  %226 = phi float [ %221, %220 ], [ %224, %222 ]
  store float %226, ptr %18, align 4, !tbaa !11
  %227 = load float, ptr %30, align 4, !tbaa !11
  %228 = fcmp oge float %227, 0.000000e+00
  br i1 %228, label %229, label %231

229:                                              ; preds = %225
  %230 = load float, ptr %30, align 4, !tbaa !11
  br label %234

231:                                              ; preds = %225
  %232 = load float, ptr %30, align 4, !tbaa !11
  %233 = fneg float %232
  br label %234

234:                                              ; preds = %231, %229
  %235 = phi float [ %230, %229 ], [ %233, %231 ]
  store float %235, ptr %19, align 4, !tbaa !11
  %236 = load float, ptr %18, align 4, !tbaa !11
  %237 = load float, ptr %19, align 4, !tbaa !11
  %238 = fcmp oge float %236, %237
  br i1 %238, label %239, label %241

239:                                              ; preds = %234
  %240 = load float, ptr %18, align 4, !tbaa !11
  br label %243

241:                                              ; preds = %234
  %242 = load float, ptr %19, align 4, !tbaa !11
  br label %243

243:                                              ; preds = %241, %239
  %244 = phi float [ %240, %239 ], [ %242, %241 ]
  store float %244, ptr %18, align 4, !tbaa !11
  %245 = load float, ptr %31, align 4, !tbaa !11
  %246 = fcmp oge float %245, 0.000000e+00
  br i1 %246, label %247, label %249

247:                                              ; preds = %243
  %248 = load float, ptr %31, align 4, !tbaa !11
  br label %252

249:                                              ; preds = %243
  %250 = load float, ptr %31, align 4, !tbaa !11
  %251 = fneg float %250
  br label %252

252:                                              ; preds = %249, %247
  %253 = phi float [ %248, %247 ], [ %251, %249 ]
  store float %253, ptr %19, align 4, !tbaa !11
  %254 = load float, ptr %18, align 4, !tbaa !11
  %255 = load float, ptr %19, align 4, !tbaa !11
  %256 = fcmp oge float %254, %255
  br i1 %256, label %257, label %259

257:                                              ; preds = %252
  %258 = load float, ptr %18, align 4, !tbaa !11
  br label %261

259:                                              ; preds = %252
  %260 = load float, ptr %19, align 4, !tbaa !11
  br label %261

261:                                              ; preds = %259, %257
  %262 = phi float [ %258, %257 ], [ %260, %259 ]
  store float %262, ptr %24, align 4, !tbaa !11
  %263 = load float, ptr %24, align 4, !tbaa !11
  %264 = load float, ptr %29, align 4, !tbaa !11
  %265 = fdiv float %264, %263
  store float %265, ptr %29, align 4, !tbaa !11
  %266 = load float, ptr %24, align 4, !tbaa !11
  %267 = load float, ptr %30, align 4, !tbaa !11
  %268 = fdiv float %267, %266
  store float %268, ptr %30, align 4, !tbaa !11
  %269 = load float, ptr %24, align 4, !tbaa !11
  %270 = load float, ptr %31, align 4, !tbaa !11
  %271 = fdiv float %270, %269
  store float %271, ptr %31, align 4, !tbaa !11
  %272 = load float, ptr %31, align 4, !tbaa !11
  %273 = fcmp oeq float %272, 0.000000e+00
  br i1 %273, label %274, label %279

274:                                              ; preds = %261
  %275 = load float, ptr %30, align 4, !tbaa !11
  %276 = load float, ptr %29, align 4, !tbaa !11
  %277 = fdiv float %275, %276
  %278 = load ptr, ptr %15, align 8, !tbaa !5
  store float %277, ptr %278, align 4, !tbaa !11
  br label %341

279:                                              ; preds = %261
  %280 = load float, ptr %29, align 4, !tbaa !11
  %281 = fcmp ole float %280, 0.000000e+00
  br i1 %281, label %282, label %311

282:                                              ; preds = %279
  %283 = load float, ptr %29, align 4, !tbaa !11
  %284 = fpext float %283 to double
  %285 = load float, ptr %29, align 4, !tbaa !11
  %286 = load float, ptr %29, align 4, !tbaa !11
  %287 = load float, ptr %30, align 4, !tbaa !11
  %288 = fmul float %287, 4.000000e+00
  %289 = load float, ptr %31, align 4, !tbaa !11
  %290 = fmul float %288, %289
  %291 = fneg float %290
  %292 = call float @llvm.fmuladd.f32(float %285, float %286, float %291)
  store float %292, ptr %18, align 4, !tbaa !11
  %293 = load float, ptr %18, align 4, !tbaa !11
  %294 = fcmp oge float %293, 0.000000e+00
  br i1 %294, label %295, label %297

295:                                              ; preds = %282
  %296 = load float, ptr %18, align 4, !tbaa !11
  br label %300

297:                                              ; preds = %282
  %298 = load float, ptr %18, align 4, !tbaa !11
  %299 = fneg float %298
  br label %300

300:                                              ; preds = %297, %295
  %301 = phi float [ %296, %295 ], [ %299, %297 ]
  %302 = fpext float %301 to double
  %303 = call double @sqrt(double noundef %302) #5
  %304 = fsub double %284, %303
  %305 = load float, ptr %31, align 4, !tbaa !11
  %306 = fmul float %305, 2.000000e+00
  %307 = fpext float %306 to double
  %308 = fdiv double %304, %307
  %309 = fptrunc double %308 to float
  %310 = load ptr, ptr %15, align 8, !tbaa !5
  store float %309, ptr %310, align 4, !tbaa !11
  br label %340

311:                                              ; preds = %279
  %312 = load float, ptr %30, align 4, !tbaa !11
  %313 = fmul float %312, 2.000000e+00
  %314 = fpext float %313 to double
  %315 = load float, ptr %29, align 4, !tbaa !11
  %316 = fpext float %315 to double
  %317 = load float, ptr %29, align 4, !tbaa !11
  %318 = load float, ptr %29, align 4, !tbaa !11
  %319 = load float, ptr %30, align 4, !tbaa !11
  %320 = fmul float %319, 4.000000e+00
  %321 = load float, ptr %31, align 4, !tbaa !11
  %322 = fmul float %320, %321
  %323 = fneg float %322
  %324 = call float @llvm.fmuladd.f32(float %317, float %318, float %323)
  store float %324, ptr %18, align 4, !tbaa !11
  %325 = load float, ptr %18, align 4, !tbaa !11
  %326 = fcmp oge float %325, 0.000000e+00
  br i1 %326, label %327, label %329

327:                                              ; preds = %311
  %328 = load float, ptr %18, align 4, !tbaa !11
  br label %332

329:                                              ; preds = %311
  %330 = load float, ptr %18, align 4, !tbaa !11
  %331 = fneg float %330
  br label %332

332:                                              ; preds = %329, %327
  %333 = phi float [ %328, %327 ], [ %331, %329 ]
  %334 = fpext float %333 to double
  %335 = call double @sqrt(double noundef %334) #5
  %336 = fadd double %316, %335
  %337 = fdiv double %314, %336
  %338 = fptrunc double %337 to float
  %339 = load ptr, ptr %15, align 8, !tbaa !5
  store float %338, ptr %339, align 4, !tbaa !11
  br label %340

340:                                              ; preds = %332, %300
  br label %341

341:                                              ; preds = %340, %274
  %342 = load ptr, ptr %15, align 8, !tbaa !5
  %343 = load float, ptr %342, align 4, !tbaa !11
  %344 = load float, ptr %48, align 4, !tbaa !11
  %345 = fcmp olt float %343, %344
  br i1 %345, label %351, label %346

346:                                              ; preds = %341
  %347 = load ptr, ptr %15, align 8, !tbaa !5
  %348 = load float, ptr %347, align 4, !tbaa !11
  %349 = load float, ptr %50, align 4, !tbaa !11
  %350 = fcmp ogt float %348, %349
  br i1 %350, label %351, label %357

351:                                              ; preds = %346, %341
  %352 = load float, ptr %48, align 4, !tbaa !11
  %353 = load float, ptr %50, align 4, !tbaa !11
  %354 = fadd float %352, %353
  %355 = fdiv float %354, 2.000000e+00
  %356 = load ptr, ptr %15, align 8, !tbaa !5
  store float %355, ptr %356, align 4, !tbaa !11
  br label %357

357:                                              ; preds = %351, %346
  %358 = load ptr, ptr %12, align 8, !tbaa !5
  %359 = getelementptr inbounds float, ptr %358, i64 1
  %360 = load float, ptr %359, align 4, !tbaa !11
  %361 = load ptr, ptr %15, align 8, !tbaa !5
  %362 = load float, ptr %361, align 4, !tbaa !11
  %363 = fcmp oeq float %360, %362
  br i1 %363, label %378, label %364

364:                                              ; preds = %357
  %365 = load ptr, ptr %12, align 8, !tbaa !5
  %366 = getelementptr inbounds float, ptr %365, i64 2
  %367 = load float, ptr %366, align 4, !tbaa !11
  %368 = load ptr, ptr %15, align 8, !tbaa !5
  %369 = load float, ptr %368, align 4, !tbaa !11
  %370 = fcmp oeq float %367, %369
  br i1 %370, label %378, label %371

371:                                              ; preds = %364
  %372 = load ptr, ptr %12, align 8, !tbaa !5
  %373 = getelementptr inbounds float, ptr %372, i64 3
  %374 = load float, ptr %373, align 4, !tbaa !11
  %375 = load ptr, ptr %15, align 8, !tbaa !5
  %376 = load float, ptr %375, align 4, !tbaa !11
  %377 = fcmp oeq float %374, %376
  br i1 %377, label %378, label %380

378:                                              ; preds = %371, %364, %357
  %379 = load ptr, ptr %15, align 8, !tbaa !5
  store float 0.000000e+00, ptr %379, align 4, !tbaa !11
  br label %471

380:                                              ; preds = %371
  %381 = load ptr, ptr %14, align 8, !tbaa !5
  %382 = load float, ptr %381, align 4, !tbaa !11
  %383 = load ptr, ptr %15, align 8, !tbaa !5
  %384 = load float, ptr %383, align 4, !tbaa !11
  %385 = load ptr, ptr %13, align 8, !tbaa !5
  %386 = getelementptr inbounds float, ptr %385, i64 1
  %387 = load float, ptr %386, align 4, !tbaa !11
  %388 = fmul float %384, %387
  %389 = load ptr, ptr %12, align 8, !tbaa !5
  %390 = getelementptr inbounds float, ptr %389, i64 1
  %391 = load float, ptr %390, align 4, !tbaa !11
  %392 = load ptr, ptr %12, align 8, !tbaa !5
  %393 = getelementptr inbounds float, ptr %392, i64 1
  %394 = load float, ptr %393, align 4, !tbaa !11
  %395 = load ptr, ptr %15, align 8, !tbaa !5
  %396 = load float, ptr %395, align 4, !tbaa !11
  %397 = fsub float %394, %396
  %398 = fmul float %391, %397
  %399 = fdiv float %388, %398
  %400 = fadd float %382, %399
  %401 = load ptr, ptr %15, align 8, !tbaa !5
  %402 = load float, ptr %401, align 4, !tbaa !11
  %403 = load ptr, ptr %13, align 8, !tbaa !5
  %404 = getelementptr inbounds float, ptr %403, i64 2
  %405 = load float, ptr %404, align 4, !tbaa !11
  %406 = fmul float %402, %405
  %407 = load ptr, ptr %12, align 8, !tbaa !5
  %408 = getelementptr inbounds float, ptr %407, i64 2
  %409 = load float, ptr %408, align 4, !tbaa !11
  %410 = load ptr, ptr %12, align 8, !tbaa !5
  %411 = getelementptr inbounds float, ptr %410, i64 2
  %412 = load float, ptr %411, align 4, !tbaa !11
  %413 = load ptr, ptr %15, align 8, !tbaa !5
  %414 = load float, ptr %413, align 4, !tbaa !11
  %415 = fsub float %412, %414
  %416 = fmul float %409, %415
  %417 = fdiv float %406, %416
  %418 = fadd float %400, %417
  %419 = load ptr, ptr %15, align 8, !tbaa !5
  %420 = load float, ptr %419, align 4, !tbaa !11
  %421 = load ptr, ptr %13, align 8, !tbaa !5
  %422 = getelementptr inbounds float, ptr %421, i64 3
  %423 = load float, ptr %422, align 4, !tbaa !11
  %424 = fmul float %420, %423
  %425 = load ptr, ptr %12, align 8, !tbaa !5
  %426 = getelementptr inbounds float, ptr %425, i64 3
  %427 = load float, ptr %426, align 4, !tbaa !11
  %428 = load ptr, ptr %12, align 8, !tbaa !5
  %429 = getelementptr inbounds float, ptr %428, i64 3
  %430 = load float, ptr %429, align 4, !tbaa !11
  %431 = load ptr, ptr %15, align 8, !tbaa !5
  %432 = load float, ptr %431, align 4, !tbaa !11
  %433 = fsub float %430, %432
  %434 = fmul float %427, %433
  %435 = fdiv float %424, %434
  %436 = fadd float %418, %435
  store float %436, ptr %24, align 4, !tbaa !11
  %437 = load float, ptr %24, align 4, !tbaa !11
  %438 = fcmp ole float %437, 0.000000e+00
  br i1 %438, label %439, label %442

439:                                              ; preds = %380
  %440 = load ptr, ptr %15, align 8, !tbaa !5
  %441 = load float, ptr %440, align 4, !tbaa !11
  store float %441, ptr %48, align 4, !tbaa !11
  br label %445

442:                                              ; preds = %380
  %443 = load ptr, ptr %15, align 8, !tbaa !5
  %444 = load float, ptr %443, align 4, !tbaa !11
  store float %444, ptr %50, align 4, !tbaa !11
  br label %445

445:                                              ; preds = %442, %439
  %446 = load ptr, ptr %14, align 8, !tbaa !5
  %447 = load float, ptr %446, align 4, !tbaa !11
  %448 = fcmp oge float %447, 0.000000e+00
  br i1 %448, label %449, label %452

449:                                              ; preds = %445
  %450 = load ptr, ptr %14, align 8, !tbaa !5
  %451 = load float, ptr %450, align 4, !tbaa !11
  br label %456

452:                                              ; preds = %445
  %453 = load ptr, ptr %14, align 8, !tbaa !5
  %454 = load float, ptr %453, align 4, !tbaa !11
  %455 = fneg float %454
  br label %456

456:                                              ; preds = %452, %449
  %457 = phi float [ %451, %449 ], [ %455, %452 ]
  %458 = load float, ptr %24, align 4, !tbaa !11
  %459 = fcmp oge float %458, 0.000000e+00
  br i1 %459, label %460, label %462

460:                                              ; preds = %456
  %461 = load float, ptr %24, align 4, !tbaa !11
  br label %465

462:                                              ; preds = %456
  %463 = load float, ptr %24, align 4, !tbaa !11
  %464 = fneg float %463
  br label %465

465:                                              ; preds = %462, %460
  %466 = phi float [ %461, %460 ], [ %464, %462 ]
  %467 = fcmp ole float %457, %466
  br i1 %467, label %468, label %470

468:                                              ; preds = %465
  %469 = load ptr, ptr %15, align 8, !tbaa !5
  store float 0.000000e+00, ptr %469, align 4, !tbaa !11
  br label %470

470:                                              ; preds = %468, %465
  br label %471

471:                                              ; preds = %470, %378
  br label %472

472:                                              ; preds = %471, %80
  %473 = call float @slamch_(ptr noundef @.str)
  store float %473, ptr %51, align 4, !tbaa !11
  %474 = call float @slamch_(ptr noundef @.str.1)
  store float %474, ptr %22, align 4, !tbaa !11
  %475 = call float @slamch_(ptr noundef @.str.2)
  %476 = fpext float %475 to double
  %477 = call double @log(double noundef %476) #5
  %478 = load float, ptr %22, align 4, !tbaa !11
  %479 = fpext float %478 to double
  %480 = call double @log(double noundef %479) #5
  %481 = fdiv double %477, %480
  %482 = fdiv double %481, 3.000000e+00
  %483 = fptosi double %482 to i32
  store i32 %483, ptr %17, align 4, !tbaa !9
  %484 = load float, ptr %22, align 4, !tbaa !11
  %485 = load i32, ptr %17, align 4, !tbaa !9
  %486 = call float @spow_ui(float noundef %484, i32 noundef %485)
  store float %486, ptr %36, align 4, !tbaa !11
  %487 = load float, ptr %36, align 4, !tbaa !11
  %488 = fdiv float 1.000000e+00, %487
  store float %488, ptr %40, align 4, !tbaa !11
  %489 = load float, ptr %36, align 4, !tbaa !11
  %490 = load float, ptr %36, align 4, !tbaa !11
  %491 = fmul float %489, %490
  store float %491, ptr %37, align 4, !tbaa !11
  %492 = load float, ptr %40, align 4, !tbaa !11
  %493 = load float, ptr %40, align 4, !tbaa !11
  %494 = fmul float %492, %493
  store float %494, ptr %41, align 4, !tbaa !11
  %495 = load ptr, ptr %10, align 8, !tbaa !5
  %496 = load i32, ptr %495, align 4, !tbaa !9
  %497 = icmp ne i32 %496, 0
  br i1 %497, label %498, label %538

498:                                              ; preds = %472
  %499 = load ptr, ptr %12, align 8, !tbaa !5
  %500 = getelementptr inbounds float, ptr %499, i64 2
  %501 = load float, ptr %500, align 4, !tbaa !11
  %502 = load ptr, ptr %15, align 8, !tbaa !5
  %503 = load float, ptr %502, align 4, !tbaa !11
  %504 = fsub float %501, %503
  store float %504, ptr %18, align 4, !tbaa !11
  %505 = load float, ptr %18, align 4, !tbaa !11
  %506 = fcmp oge float %505, 0.000000e+00
  br i1 %506, label %507, label %509

507:                                              ; preds = %498
  %508 = load float, ptr %18, align 4, !tbaa !11
  br label %512

509:                                              ; preds = %498
  %510 = load float, ptr %18, align 4, !tbaa !11
  %511 = fneg float %510
  br label %512

512:                                              ; preds = %509, %507
  %513 = phi float [ %508, %507 ], [ %511, %509 ]
  store float %513, ptr %20, align 4, !tbaa !11
  %514 = load ptr, ptr %12, align 8, !tbaa !5
  %515 = getelementptr inbounds float, ptr %514, i64 3
  %516 = load float, ptr %515, align 4, !tbaa !11
  %517 = load ptr, ptr %15, align 8, !tbaa !5
  %518 = load float, ptr %517, align 4, !tbaa !11
  %519 = fsub float %516, %518
  store float %519, ptr %19, align 4, !tbaa !11
  %520 = load float, ptr %19, align 4, !tbaa !11
  %521 = fcmp oge float %520, 0.000000e+00
  br i1 %521, label %522, label %524

522:                                              ; preds = %512
  %523 = load float, ptr %19, align 4, !tbaa !11
  br label %527

524:                                              ; preds = %512
  %525 = load float, ptr %19, align 4, !tbaa !11
  %526 = fneg float %525
  br label %527

527:                                              ; preds = %524, %522
  %528 = phi float [ %523, %522 ], [ %526, %524 ]
  store float %528, ptr %21, align 4, !tbaa !11
  %529 = load float, ptr %20, align 4, !tbaa !11
  %530 = load float, ptr %21, align 4, !tbaa !11
  %531 = fcmp ole float %529, %530
  br i1 %531, label %532, label %534

532:                                              ; preds = %527
  %533 = load float, ptr %20, align 4, !tbaa !11
  br label %536

534:                                              ; preds = %527
  %535 = load float, ptr %21, align 4, !tbaa !11
  br label %536

536:                                              ; preds = %534, %532
  %537 = phi float [ %533, %532 ], [ %535, %534 ]
  store float %537, ptr %24, align 4, !tbaa !11
  br label %578

538:                                              ; preds = %472
  %539 = load ptr, ptr %12, align 8, !tbaa !5
  %540 = getelementptr inbounds float, ptr %539, i64 1
  %541 = load float, ptr %540, align 4, !tbaa !11
  %542 = load ptr, ptr %15, align 8, !tbaa !5
  %543 = load float, ptr %542, align 4, !tbaa !11
  %544 = fsub float %541, %543
  store float %544, ptr %18, align 4, !tbaa !11
  %545 = load float, ptr %18, align 4, !tbaa !11
  %546 = fcmp oge float %545, 0.000000e+00
  br i1 %546, label %547, label %549

547:                                              ; preds = %538
  %548 = load float, ptr %18, align 4, !tbaa !11
  br label %552

549:                                              ; preds = %538
  %550 = load float, ptr %18, align 4, !tbaa !11
  %551 = fneg float %550
  br label %552

552:                                              ; preds = %549, %547
  %553 = phi float [ %548, %547 ], [ %551, %549 ]
  store float %553, ptr %20, align 4, !tbaa !11
  %554 = load ptr, ptr %12, align 8, !tbaa !5
  %555 = getelementptr inbounds float, ptr %554, i64 2
  %556 = load float, ptr %555, align 4, !tbaa !11
  %557 = load ptr, ptr %15, align 8, !tbaa !5
  %558 = load float, ptr %557, align 4, !tbaa !11
  %559 = fsub float %556, %558
  store float %559, ptr %19, align 4, !tbaa !11
  %560 = load float, ptr %19, align 4, !tbaa !11
  %561 = fcmp oge float %560, 0.000000e+00
  br i1 %561, label %562, label %564

562:                                              ; preds = %552
  %563 = load float, ptr %19, align 4, !tbaa !11
  br label %567

564:                                              ; preds = %552
  %565 = load float, ptr %19, align 4, !tbaa !11
  %566 = fneg float %565
  br label %567

567:                                              ; preds = %564, %562
  %568 = phi float [ %563, %562 ], [ %566, %564 ]
  store float %568, ptr %21, align 4, !tbaa !11
  %569 = load float, ptr %20, align 4, !tbaa !11
  %570 = load float, ptr %21, align 4, !tbaa !11
  %571 = fcmp ole float %569, %570
  br i1 %571, label %572, label %574

572:                                              ; preds = %567
  %573 = load float, ptr %20, align 4, !tbaa !11
  br label %576

574:                                              ; preds = %567
  %575 = load float, ptr %21, align 4, !tbaa !11
  br label %576

576:                                              ; preds = %574, %572
  %577 = phi float [ %573, %572 ], [ %575, %574 ]
  store float %577, ptr %24, align 4, !tbaa !11
  br label %578

578:                                              ; preds = %576, %536
  store i32 0, ptr %34, align 4, !tbaa !9
  %579 = load float, ptr %24, align 4, !tbaa !11
  %580 = load float, ptr %36, align 4, !tbaa !11
  %581 = fcmp ole float %579, %580
  br i1 %581, label %582, label %633

582:                                              ; preds = %578
  store i32 1, ptr %34, align 4, !tbaa !9
  %583 = load float, ptr %24, align 4, !tbaa !11
  %584 = load float, ptr %37, align 4, !tbaa !11
  %585 = fcmp ole float %583, %584
  br i1 %585, label %586, label %589

586:                                              ; preds = %582
  %587 = load float, ptr %41, align 4, !tbaa !11
  store float %587, ptr %43, align 4, !tbaa !11
  %588 = load float, ptr %37, align 4, !tbaa !11
  store float %588, ptr %46, align 4, !tbaa !11
  br label %592

589:                                              ; preds = %582
  %590 = load float, ptr %40, align 4, !tbaa !11
  store float %590, ptr %43, align 4, !tbaa !11
  %591 = load float, ptr %36, align 4, !tbaa !11
  store float %591, ptr %46, align 4, !tbaa !11
  br label %592

592:                                              ; preds = %589, %586
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %593

593:                                              ; preds = %619, %592
  %594 = load i32, ptr %33, align 4, !tbaa !9
  %595 = icmp sle i32 %594, 3
  br i1 %595, label %596, label %622

596:                                              ; preds = %593
  %597 = load ptr, ptr %12, align 8, !tbaa !5
  %598 = load i32, ptr %33, align 4, !tbaa !9
  %599 = sext i32 %598 to i64
  %600 = getelementptr inbounds float, ptr %597, i64 %599
  %601 = load float, ptr %600, align 4, !tbaa !11
  %602 = load float, ptr %43, align 4, !tbaa !11
  %603 = fmul float %601, %602
  %604 = load i32, ptr %33, align 4, !tbaa !9
  %605 = sub nsw i32 %604, 1
  %606 = sext i32 %605 to i64
  %607 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 %606
  store float %603, ptr %607, align 4, !tbaa !11
  %608 = load ptr, ptr %13, align 8, !tbaa !5
  %609 = load i32, ptr %33, align 4, !tbaa !9
  %610 = sext i32 %609 to i64
  %611 = getelementptr inbounds float, ptr %608, i64 %610
  %612 = load float, ptr %611, align 4, !tbaa !11
  %613 = load float, ptr %43, align 4, !tbaa !11
  %614 = fmul float %612, %613
  %615 = load i32, ptr %33, align 4, !tbaa !9
  %616 = sub nsw i32 %615, 1
  %617 = sext i32 %616 to i64
  %618 = getelementptr inbounds [3 x float], ptr %44, i64 0, i64 %617
  store float %614, ptr %618, align 4, !tbaa !11
  br label %619

619:                                              ; preds = %596
  %620 = load i32, ptr %33, align 4, !tbaa !9
  %621 = add nsw i32 %620, 1
  store i32 %621, ptr %33, align 4, !tbaa !9
  br label %593, !llvm.loop !13

622:                                              ; preds = %593
  %623 = load float, ptr %43, align 4, !tbaa !11
  %624 = load ptr, ptr %15, align 8, !tbaa !5
  %625 = load float, ptr %624, align 4, !tbaa !11
  %626 = fmul float %625, %623
  store float %626, ptr %624, align 4, !tbaa !11
  %627 = load float, ptr %43, align 4, !tbaa !11
  %628 = load float, ptr %48, align 4, !tbaa !11
  %629 = fmul float %628, %627
  store float %629, ptr %48, align 4, !tbaa !11
  %630 = load float, ptr %43, align 4, !tbaa !11
  %631 = load float, ptr %50, align 4, !tbaa !11
  %632 = fmul float %631, %630
  store float %632, ptr %50, align 4, !tbaa !11
  br label %660

633:                                              ; preds = %578
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %634

634:                                              ; preds = %656, %633
  %635 = load i32, ptr %33, align 4, !tbaa !9
  %636 = icmp sle i32 %635, 3
  br i1 %636, label %637, label %659

637:                                              ; preds = %634
  %638 = load ptr, ptr %12, align 8, !tbaa !5
  %639 = load i32, ptr %33, align 4, !tbaa !9
  %640 = sext i32 %639 to i64
  %641 = getelementptr inbounds float, ptr %638, i64 %640
  %642 = load float, ptr %641, align 4, !tbaa !11
  %643 = load i32, ptr %33, align 4, !tbaa !9
  %644 = sub nsw i32 %643, 1
  %645 = sext i32 %644 to i64
  %646 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 %645
  store float %642, ptr %646, align 4, !tbaa !11
  %647 = load ptr, ptr %13, align 8, !tbaa !5
  %648 = load i32, ptr %33, align 4, !tbaa !9
  %649 = sext i32 %648 to i64
  %650 = getelementptr inbounds float, ptr %647, i64 %649
  %651 = load float, ptr %650, align 4, !tbaa !11
  %652 = load i32, ptr %33, align 4, !tbaa !9
  %653 = sub nsw i32 %652, 1
  %654 = sext i32 %653 to i64
  %655 = getelementptr inbounds [3 x float], ptr %44, i64 0, i64 %654
  store float %651, ptr %655, align 4, !tbaa !11
  br label %656

656:                                              ; preds = %637
  %657 = load i32, ptr %33, align 4, !tbaa !9
  %658 = add nsw i32 %657, 1
  store i32 %658, ptr %33, align 4, !tbaa !9
  br label %634, !llvm.loop !15

659:                                              ; preds = %634
  br label %660

660:                                              ; preds = %659, %622
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  store float 0.000000e+00, ptr %47, align 4, !tbaa !11
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %661

661:                                              ; preds = %702, %660
  %662 = load i32, ptr %33, align 4, !tbaa !9
  %663 = icmp sle i32 %662, 3
  br i1 %663, label %664, label %705

664:                                              ; preds = %661
  %665 = load i32, ptr %33, align 4, !tbaa !9
  %666 = sub nsw i32 %665, 1
  %667 = sext i32 %666 to i64
  %668 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 %667
  %669 = load float, ptr %668, align 4, !tbaa !11
  %670 = load ptr, ptr %15, align 8, !tbaa !5
  %671 = load float, ptr %670, align 4, !tbaa !11
  %672 = fsub float %669, %671
  %673 = fdiv float 1.000000e+00, %672
  store float %673, ptr %24, align 4, !tbaa !11
  %674 = load i32, ptr %33, align 4, !tbaa !9
  %675 = sub nsw i32 %674, 1
  %676 = sext i32 %675 to i64
  %677 = getelementptr inbounds [3 x float], ptr %44, i64 0, i64 %676
  %678 = load float, ptr %677, align 4, !tbaa !11
  %679 = load float, ptr %24, align 4, !tbaa !11
  %680 = fmul float %678, %679
  store float %680, ptr %25, align 4, !tbaa !11
  %681 = load float, ptr %25, align 4, !tbaa !11
  %682 = load float, ptr %24, align 4, !tbaa !11
  %683 = fmul float %681, %682
  store float %683, ptr %26, align 4, !tbaa !11
  %684 = load float, ptr %26, align 4, !tbaa !11
  %685 = load float, ptr %24, align 4, !tbaa !11
  %686 = fmul float %684, %685
  store float %686, ptr %27, align 4, !tbaa !11
  %687 = load float, ptr %25, align 4, !tbaa !11
  %688 = load i32, ptr %33, align 4, !tbaa !9
  %689 = sub nsw i32 %688, 1
  %690 = sext i32 %689 to i64
  %691 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 %690
  %692 = load float, ptr %691, align 4, !tbaa !11
  %693 = fdiv float %687, %692
  %694 = load float, ptr %38, align 4, !tbaa !11
  %695 = fadd float %694, %693
  store float %695, ptr %38, align 4, !tbaa !11
  %696 = load float, ptr %26, align 4, !tbaa !11
  %697 = load float, ptr %39, align 4, !tbaa !11
  %698 = fadd float %697, %696
  store float %698, ptr %39, align 4, !tbaa !11
  %699 = load float, ptr %27, align 4, !tbaa !11
  %700 = load float, ptr %47, align 4, !tbaa !11
  %701 = fadd float %700, %699
  store float %701, ptr %47, align 4, !tbaa !11
  br label %702

702:                                              ; preds = %664
  %703 = load i32, ptr %33, align 4, !tbaa !9
  %704 = add nsw i32 %703, 1
  store i32 %704, ptr %33, align 4, !tbaa !9
  br label %661, !llvm.loop !16

705:                                              ; preds = %661
  %706 = load ptr, ptr %14, align 8, !tbaa !5
  %707 = load float, ptr %706, align 4, !tbaa !11
  %708 = load ptr, ptr %15, align 8, !tbaa !5
  %709 = load float, ptr %708, align 4, !tbaa !11
  %710 = load float, ptr %38, align 4, !tbaa !11
  %711 = call float @llvm.fmuladd.f32(float %709, float %710, float %707)
  store float %711, ptr %32, align 4, !tbaa !11
  %712 = load float, ptr %32, align 4, !tbaa !11
  %713 = fcmp oge float %712, 0.000000e+00
  br i1 %713, label %714, label %716

714:                                              ; preds = %705
  %715 = load float, ptr %32, align 4, !tbaa !11
  br label %719

716:                                              ; preds = %705
  %717 = load float, ptr %32, align 4, !tbaa !11
  %718 = fneg float %717
  br label %719

719:                                              ; preds = %716, %714
  %720 = phi float [ %715, %714 ], [ %718, %716 ]
  %721 = fcmp ole float %720, 0.000000e+00
  br i1 %721, label %722, label %723

722:                                              ; preds = %719
  br label %1111

723:                                              ; preds = %719
  %724 = load float, ptr %32, align 4, !tbaa !11
  %725 = fcmp ole float %724, 0.000000e+00
  br i1 %725, label %726, label %729

726:                                              ; preds = %723
  %727 = load ptr, ptr %15, align 8, !tbaa !5
  %728 = load float, ptr %727, align 4, !tbaa !11
  store float %728, ptr %48, align 4, !tbaa !11
  br label %732

729:                                              ; preds = %723
  %730 = load ptr, ptr %15, align 8, !tbaa !5
  %731 = load float, ptr %730, align 4, !tbaa !11
  store float %731, ptr %50, align 4, !tbaa !11
  br label %732

732:                                              ; preds = %729, %726
  %733 = load i32, ptr %35, align 4, !tbaa !9
  %734 = add nsw i32 %733, 1
  store i32 %734, ptr %23, align 4, !tbaa !9
  %735 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %735, ptr %35, align 4, !tbaa !9
  br label %736

736:                                              ; preds = %1106, %732
  %737 = load i32, ptr %35, align 4, !tbaa !9
  %738 = icmp sle i32 %737, 40
  br i1 %738, label %739, label %1109

739:                                              ; preds = %736
  %740 = load ptr, ptr %10, align 8, !tbaa !5
  %741 = load i32, ptr %740, align 4, !tbaa !9
  %742 = icmp ne i32 %741, 0
  br i1 %742, label %743, label %754

743:                                              ; preds = %739
  %744 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 1
  %745 = load float, ptr %744, align 4, !tbaa !11
  %746 = load ptr, ptr %15, align 8, !tbaa !5
  %747 = load float, ptr %746, align 4, !tbaa !11
  %748 = fsub float %745, %747
  store float %748, ptr %25, align 4, !tbaa !11
  %749 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 2
  %750 = load float, ptr %749, align 4, !tbaa !11
  %751 = load ptr, ptr %15, align 8, !tbaa !5
  %752 = load float, ptr %751, align 4, !tbaa !11
  %753 = fsub float %750, %752
  store float %753, ptr %26, align 4, !tbaa !11
  br label %765

754:                                              ; preds = %739
  %755 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 0
  %756 = load float, ptr %755, align 4, !tbaa !11
  %757 = load ptr, ptr %15, align 8, !tbaa !5
  %758 = load float, ptr %757, align 4, !tbaa !11
  %759 = fsub float %756, %758
  store float %759, ptr %25, align 4, !tbaa !11
  %760 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 1
  %761 = load float, ptr %760, align 4, !tbaa !11
  %762 = load ptr, ptr %15, align 8, !tbaa !5
  %763 = load float, ptr %762, align 4, !tbaa !11
  %764 = fsub float %761, %763
  store float %764, ptr %26, align 4, !tbaa !11
  br label %765

765:                                              ; preds = %754, %743
  %766 = load float, ptr %25, align 4, !tbaa !11
  %767 = load float, ptr %26, align 4, !tbaa !11
  %768 = fadd float %766, %767
  %769 = load float, ptr %32, align 4, !tbaa !11
  %770 = load float, ptr %25, align 4, !tbaa !11
  %771 = load float, ptr %26, align 4, !tbaa !11
  %772 = fmul float %770, %771
  %773 = load float, ptr %39, align 4, !tbaa !11
  %774 = fmul float %772, %773
  %775 = fneg float %774
  %776 = call float @llvm.fmuladd.f32(float %768, float %769, float %775)
  store float %776, ptr %29, align 4, !tbaa !11
  %777 = load float, ptr %25, align 4, !tbaa !11
  %778 = load float, ptr %26, align 4, !tbaa !11
  %779 = fmul float %777, %778
  %780 = load float, ptr %32, align 4, !tbaa !11
  %781 = fmul float %779, %780
  store float %781, ptr %30, align 4, !tbaa !11
  %782 = load float, ptr %32, align 4, !tbaa !11
  %783 = load float, ptr %25, align 4, !tbaa !11
  %784 = load float, ptr %26, align 4, !tbaa !11
  %785 = fadd float %783, %784
  %786 = load float, ptr %39, align 4, !tbaa !11
  %787 = fneg float %785
  %788 = call float @llvm.fmuladd.f32(float %787, float %786, float %782)
  %789 = load float, ptr %25, align 4, !tbaa !11
  %790 = load float, ptr %26, align 4, !tbaa !11
  %791 = fmul float %789, %790
  %792 = load float, ptr %47, align 4, !tbaa !11
  %793 = call float @llvm.fmuladd.f32(float %791, float %792, float %788)
  store float %793, ptr %31, align 4, !tbaa !11
  %794 = load float, ptr %29, align 4, !tbaa !11
  %795 = fcmp oge float %794, 0.000000e+00
  br i1 %795, label %796, label %798

796:                                              ; preds = %765
  %797 = load float, ptr %29, align 4, !tbaa !11
  br label %801

798:                                              ; preds = %765
  %799 = load float, ptr %29, align 4, !tbaa !11
  %800 = fneg float %799
  br label %801

801:                                              ; preds = %798, %796
  %802 = phi float [ %797, %796 ], [ %800, %798 ]
  store float %802, ptr %18, align 4, !tbaa !11
  %803 = load float, ptr %30, align 4, !tbaa !11
  %804 = fcmp oge float %803, 0.000000e+00
  br i1 %804, label %805, label %807

805:                                              ; preds = %801
  %806 = load float, ptr %30, align 4, !tbaa !11
  br label %810

807:                                              ; preds = %801
  %808 = load float, ptr %30, align 4, !tbaa !11
  %809 = fneg float %808
  br label %810

810:                                              ; preds = %807, %805
  %811 = phi float [ %806, %805 ], [ %809, %807 ]
  store float %811, ptr %19, align 4, !tbaa !11
  %812 = load float, ptr %18, align 4, !tbaa !11
  %813 = load float, ptr %19, align 4, !tbaa !11
  %814 = fcmp oge float %812, %813
  br i1 %814, label %815, label %817

815:                                              ; preds = %810
  %816 = load float, ptr %18, align 4, !tbaa !11
  br label %819

817:                                              ; preds = %810
  %818 = load float, ptr %19, align 4, !tbaa !11
  br label %819

819:                                              ; preds = %817, %815
  %820 = phi float [ %816, %815 ], [ %818, %817 ]
  store float %820, ptr %18, align 4, !tbaa !11
  %821 = load float, ptr %31, align 4, !tbaa !11
  %822 = fcmp oge float %821, 0.000000e+00
  br i1 %822, label %823, label %825

823:                                              ; preds = %819
  %824 = load float, ptr %31, align 4, !tbaa !11
  br label %828

825:                                              ; preds = %819
  %826 = load float, ptr %31, align 4, !tbaa !11
  %827 = fneg float %826
  br label %828

828:                                              ; preds = %825, %823
  %829 = phi float [ %824, %823 ], [ %827, %825 ]
  store float %829, ptr %19, align 4, !tbaa !11
  %830 = load float, ptr %18, align 4, !tbaa !11
  %831 = load float, ptr %19, align 4, !tbaa !11
  %832 = fcmp oge float %830, %831
  br i1 %832, label %833, label %835

833:                                              ; preds = %828
  %834 = load float, ptr %18, align 4, !tbaa !11
  br label %837

835:                                              ; preds = %828
  %836 = load float, ptr %19, align 4, !tbaa !11
  br label %837

837:                                              ; preds = %835, %833
  %838 = phi float [ %834, %833 ], [ %836, %835 ]
  store float %838, ptr %24, align 4, !tbaa !11
  %839 = load float, ptr %24, align 4, !tbaa !11
  %840 = load float, ptr %29, align 4, !tbaa !11
  %841 = fdiv float %840, %839
  store float %841, ptr %29, align 4, !tbaa !11
  %842 = load float, ptr %24, align 4, !tbaa !11
  %843 = load float, ptr %30, align 4, !tbaa !11
  %844 = fdiv float %843, %842
  store float %844, ptr %30, align 4, !tbaa !11
  %845 = load float, ptr %24, align 4, !tbaa !11
  %846 = load float, ptr %31, align 4, !tbaa !11
  %847 = fdiv float %846, %845
  store float %847, ptr %31, align 4, !tbaa !11
  %848 = load float, ptr %31, align 4, !tbaa !11
  %849 = fcmp oeq float %848, 0.000000e+00
  br i1 %849, label %850, label %854

850:                                              ; preds = %837
  %851 = load float, ptr %30, align 4, !tbaa !11
  %852 = load float, ptr %29, align 4, !tbaa !11
  %853 = fdiv float %851, %852
  store float %853, ptr %49, align 4, !tbaa !11
  br label %914

854:                                              ; preds = %837
  %855 = load float, ptr %29, align 4, !tbaa !11
  %856 = fcmp ole float %855, 0.000000e+00
  br i1 %856, label %857, label %885

857:                                              ; preds = %854
  %858 = load float, ptr %29, align 4, !tbaa !11
  %859 = fpext float %858 to double
  %860 = load float, ptr %29, align 4, !tbaa !11
  %861 = load float, ptr %29, align 4, !tbaa !11
  %862 = load float, ptr %30, align 4, !tbaa !11
  %863 = fmul float %862, 4.000000e+00
  %864 = load float, ptr %31, align 4, !tbaa !11
  %865 = fmul float %863, %864
  %866 = fneg float %865
  %867 = call float @llvm.fmuladd.f32(float %860, float %861, float %866)
  store float %867, ptr %18, align 4, !tbaa !11
  %868 = load float, ptr %18, align 4, !tbaa !11
  %869 = fcmp oge float %868, 0.000000e+00
  br i1 %869, label %870, label %872

870:                                              ; preds = %857
  %871 = load float, ptr %18, align 4, !tbaa !11
  br label %875

872:                                              ; preds = %857
  %873 = load float, ptr %18, align 4, !tbaa !11
  %874 = fneg float %873
  br label %875

875:                                              ; preds = %872, %870
  %876 = phi float [ %871, %870 ], [ %874, %872 ]
  %877 = fpext float %876 to double
  %878 = call double @sqrt(double noundef %877) #5
  %879 = fsub double %859, %878
  %880 = load float, ptr %31, align 4, !tbaa !11
  %881 = fmul float %880, 2.000000e+00
  %882 = fpext float %881 to double
  %883 = fdiv double %879, %882
  %884 = fptrunc double %883 to float
  store float %884, ptr %49, align 4, !tbaa !11
  br label %913

885:                                              ; preds = %854
  %886 = load float, ptr %30, align 4, !tbaa !11
  %887 = fmul float %886, 2.000000e+00
  %888 = fpext float %887 to double
  %889 = load float, ptr %29, align 4, !tbaa !11
  %890 = fpext float %889 to double
  %891 = load float, ptr %29, align 4, !tbaa !11
  %892 = load float, ptr %29, align 4, !tbaa !11
  %893 = load float, ptr %30, align 4, !tbaa !11
  %894 = fmul float %893, 4.000000e+00
  %895 = load float, ptr %31, align 4, !tbaa !11
  %896 = fmul float %894, %895
  %897 = fneg float %896
  %898 = call float @llvm.fmuladd.f32(float %891, float %892, float %897)
  store float %898, ptr %18, align 4, !tbaa !11
  %899 = load float, ptr %18, align 4, !tbaa !11
  %900 = fcmp oge float %899, 0.000000e+00
  br i1 %900, label %901, label %903

901:                                              ; preds = %885
  %902 = load float, ptr %18, align 4, !tbaa !11
  br label %906

903:                                              ; preds = %885
  %904 = load float, ptr %18, align 4, !tbaa !11
  %905 = fneg float %904
  br label %906

906:                                              ; preds = %903, %901
  %907 = phi float [ %902, %901 ], [ %905, %903 ]
  %908 = fpext float %907 to double
  %909 = call double @sqrt(double noundef %908) #5
  %910 = fadd double %890, %909
  %911 = fdiv double %888, %910
  %912 = fptrunc double %911 to float
  store float %912, ptr %49, align 4, !tbaa !11
  br label %913

913:                                              ; preds = %906, %875
  br label %914

914:                                              ; preds = %913, %850
  %915 = load float, ptr %32, align 4, !tbaa !11
  %916 = load float, ptr %49, align 4, !tbaa !11
  %917 = fmul float %915, %916
  %918 = fcmp oge float %917, 0.000000e+00
  br i1 %918, label %919, label %924

919:                                              ; preds = %914
  %920 = load float, ptr %32, align 4, !tbaa !11
  %921 = fneg float %920
  %922 = load float, ptr %39, align 4, !tbaa !11
  %923 = fdiv float %921, %922
  store float %923, ptr %49, align 4, !tbaa !11
  br label %924

924:                                              ; preds = %919, %914
  %925 = load float, ptr %49, align 4, !tbaa !11
  %926 = load ptr, ptr %15, align 8, !tbaa !5
  %927 = load float, ptr %926, align 4, !tbaa !11
  %928 = fadd float %927, %925
  store float %928, ptr %926, align 4, !tbaa !11
  %929 = load ptr, ptr %15, align 8, !tbaa !5
  %930 = load float, ptr %929, align 4, !tbaa !11
  %931 = load float, ptr %48, align 4, !tbaa !11
  %932 = fcmp olt float %930, %931
  br i1 %932, label %938, label %933

933:                                              ; preds = %924
  %934 = load ptr, ptr %15, align 8, !tbaa !5
  %935 = load float, ptr %934, align 4, !tbaa !11
  %936 = load float, ptr %50, align 4, !tbaa !11
  %937 = fcmp ogt float %935, %936
  br i1 %937, label %938, label %944

938:                                              ; preds = %933, %924
  %939 = load float, ptr %48, align 4, !tbaa !11
  %940 = load float, ptr %50, align 4, !tbaa !11
  %941 = fadd float %939, %940
  %942 = fdiv float %941, 2.000000e+00
  %943 = load ptr, ptr %15, align 8, !tbaa !5
  store float %942, ptr %943, align 4, !tbaa !11
  br label %944

944:                                              ; preds = %938, %933
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  store float 0.000000e+00, ptr %45, align 4, !tbaa !11
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  store float 0.000000e+00, ptr %47, align 4, !tbaa !11
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %945

945:                                              ; preds = %1010, %944
  %946 = load i32, ptr %33, align 4, !tbaa !9
  %947 = icmp sle i32 %946, 3
  br i1 %947, label %948, label %1013

948:                                              ; preds = %945
  %949 = load i32, ptr %33, align 4, !tbaa !9
  %950 = sub nsw i32 %949, 1
  %951 = sext i32 %950 to i64
  %952 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 %951
  %953 = load float, ptr %952, align 4, !tbaa !11
  %954 = load ptr, ptr %15, align 8, !tbaa !5
  %955 = load float, ptr %954, align 4, !tbaa !11
  %956 = fsub float %953, %955
  %957 = fcmp une float %956, 0.000000e+00
  br i1 %957, label %958, label %1008

958:                                              ; preds = %948
  %959 = load i32, ptr %33, align 4, !tbaa !9
  %960 = sub nsw i32 %959, 1
  %961 = sext i32 %960 to i64
  %962 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 %961
  %963 = load float, ptr %962, align 4, !tbaa !11
  %964 = load ptr, ptr %15, align 8, !tbaa !5
  %965 = load float, ptr %964, align 4, !tbaa !11
  %966 = fsub float %963, %965
  %967 = fdiv float 1.000000e+00, %966
  store float %967, ptr %24, align 4, !tbaa !11
  %968 = load i32, ptr %33, align 4, !tbaa !9
  %969 = sub nsw i32 %968, 1
  %970 = sext i32 %969 to i64
  %971 = getelementptr inbounds [3 x float], ptr %44, i64 0, i64 %970
  %972 = load float, ptr %971, align 4, !tbaa !11
  %973 = load float, ptr %24, align 4, !tbaa !11
  %974 = fmul float %972, %973
  store float %974, ptr %25, align 4, !tbaa !11
  %975 = load float, ptr %25, align 4, !tbaa !11
  %976 = load float, ptr %24, align 4, !tbaa !11
  %977 = fmul float %975, %976
  store float %977, ptr %26, align 4, !tbaa !11
  %978 = load float, ptr %26, align 4, !tbaa !11
  %979 = load float, ptr %24, align 4, !tbaa !11
  %980 = fmul float %978, %979
  store float %980, ptr %27, align 4, !tbaa !11
  %981 = load float, ptr %25, align 4, !tbaa !11
  %982 = load i32, ptr %33, align 4, !tbaa !9
  %983 = sub nsw i32 %982, 1
  %984 = sext i32 %983 to i64
  %985 = getelementptr inbounds [3 x float], ptr %42, i64 0, i64 %984
  %986 = load float, ptr %985, align 4, !tbaa !11
  %987 = fdiv float %981, %986
  store float %987, ptr %28, align 4, !tbaa !11
  %988 = load float, ptr %28, align 4, !tbaa !11
  %989 = load float, ptr %38, align 4, !tbaa !11
  %990 = fadd float %989, %988
  store float %990, ptr %38, align 4, !tbaa !11
  %991 = load float, ptr %28, align 4, !tbaa !11
  %992 = fcmp oge float %991, 0.000000e+00
  br i1 %992, label %993, label %995

993:                                              ; preds = %958
  %994 = load float, ptr %28, align 4, !tbaa !11
  br label %998

995:                                              ; preds = %958
  %996 = load float, ptr %28, align 4, !tbaa !11
  %997 = fneg float %996
  br label %998

998:                                              ; preds = %995, %993
  %999 = phi float [ %994, %993 ], [ %997, %995 ]
  %1000 = load float, ptr %45, align 4, !tbaa !11
  %1001 = fadd float %1000, %999
  store float %1001, ptr %45, align 4, !tbaa !11
  %1002 = load float, ptr %26, align 4, !tbaa !11
  %1003 = load float, ptr %39, align 4, !tbaa !11
  %1004 = fadd float %1003, %1002
  store float %1004, ptr %39, align 4, !tbaa !11
  %1005 = load float, ptr %27, align 4, !tbaa !11
  %1006 = load float, ptr %47, align 4, !tbaa !11
  %1007 = fadd float %1006, %1005
  store float %1007, ptr %47, align 4, !tbaa !11
  br label %1009

1008:                                             ; preds = %948
  br label %1111

1009:                                             ; preds = %998
  br label %1010

1010:                                             ; preds = %1009
  %1011 = load i32, ptr %33, align 4, !tbaa !9
  %1012 = add nsw i32 %1011, 1
  store i32 %1012, ptr %33, align 4, !tbaa !9
  br label %945, !llvm.loop !17

1013:                                             ; preds = %945
  %1014 = load ptr, ptr %14, align 8, !tbaa !5
  %1015 = load float, ptr %1014, align 4, !tbaa !11
  %1016 = load ptr, ptr %15, align 8, !tbaa !5
  %1017 = load float, ptr %1016, align 4, !tbaa !11
  %1018 = load float, ptr %38, align 4, !tbaa !11
  %1019 = call float @llvm.fmuladd.f32(float %1017, float %1018, float %1015)
  store float %1019, ptr %32, align 4, !tbaa !11
  %1020 = load ptr, ptr %14, align 8, !tbaa !5
  %1021 = load float, ptr %1020, align 4, !tbaa !11
  %1022 = fcmp oge float %1021, 0.000000e+00
  br i1 %1022, label %1023, label %1026

1023:                                             ; preds = %1013
  %1024 = load ptr, ptr %14, align 8, !tbaa !5
  %1025 = load float, ptr %1024, align 4, !tbaa !11
  br label %1030

1026:                                             ; preds = %1013
  %1027 = load ptr, ptr %14, align 8, !tbaa !5
  %1028 = load float, ptr %1027, align 4, !tbaa !11
  %1029 = fneg float %1028
  br label %1030

1030:                                             ; preds = %1026, %1023
  %1031 = phi float [ %1025, %1023 ], [ %1029, %1026 ]
  %1032 = load ptr, ptr %15, align 8, !tbaa !5
  %1033 = load float, ptr %1032, align 4, !tbaa !11
  %1034 = fcmp oge float %1033, 0.000000e+00
  br i1 %1034, label %1035, label %1038

1035:                                             ; preds = %1030
  %1036 = load ptr, ptr %15, align 8, !tbaa !5
  %1037 = load float, ptr %1036, align 4, !tbaa !11
  br label %1042

1038:                                             ; preds = %1030
  %1039 = load ptr, ptr %15, align 8, !tbaa !5
  %1040 = load float, ptr %1039, align 4, !tbaa !11
  %1041 = fneg float %1040
  br label %1042

1042:                                             ; preds = %1038, %1035
  %1043 = phi float [ %1037, %1035 ], [ %1041, %1038 ]
  %1044 = load float, ptr %45, align 4, !tbaa !11
  %1045 = call float @llvm.fmuladd.f32(float %1043, float %1044, float %1031)
  %1046 = load ptr, ptr %15, align 8, !tbaa !5
  %1047 = load float, ptr %1046, align 4, !tbaa !11
  %1048 = fcmp oge float %1047, 0.000000e+00
  br i1 %1048, label %1049, label %1052

1049:                                             ; preds = %1042
  %1050 = load ptr, ptr %15, align 8, !tbaa !5
  %1051 = load float, ptr %1050, align 4, !tbaa !11
  br label %1056

1052:                                             ; preds = %1042
  %1053 = load ptr, ptr %15, align 8, !tbaa !5
  %1054 = load float, ptr %1053, align 4, !tbaa !11
  %1055 = fneg float %1054
  br label %1056

1056:                                             ; preds = %1052, %1049
  %1057 = phi float [ %1051, %1049 ], [ %1055, %1052 ]
  %1058 = load float, ptr %39, align 4, !tbaa !11
  %1059 = fmul float %1057, %1058
  %1060 = call float @llvm.fmuladd.f32(float %1045, float 8.000000e+00, float %1059)
  store float %1060, ptr %45, align 4, !tbaa !11
  %1061 = load float, ptr %32, align 4, !tbaa !11
  %1062 = fcmp oge float %1061, 0.000000e+00
  br i1 %1062, label %1063, label %1065

1063:                                             ; preds = %1056
  %1064 = load float, ptr %32, align 4, !tbaa !11
  br label %1068

1065:                                             ; preds = %1056
  %1066 = load float, ptr %32, align 4, !tbaa !11
  %1067 = fneg float %1066
  br label %1068

1068:                                             ; preds = %1065, %1063
  %1069 = phi float [ %1064, %1063 ], [ %1067, %1065 ]
  %1070 = load float, ptr %51, align 4, !tbaa !11
  %1071 = fmul float %1070, 4.000000e+00
  %1072 = load float, ptr %45, align 4, !tbaa !11
  %1073 = fmul float %1071, %1072
  %1074 = fcmp ole float %1069, %1073
  br i1 %1074, label %1095, label %1075

1075:                                             ; preds = %1068
  %1076 = load float, ptr %50, align 4, !tbaa !11
  %1077 = load float, ptr %48, align 4, !tbaa !11
  %1078 = fsub float %1076, %1077
  %1079 = load float, ptr %51, align 4, !tbaa !11
  %1080 = fmul float %1079, 4.000000e+00
  %1081 = load ptr, ptr %15, align 8, !tbaa !5
  %1082 = load float, ptr %1081, align 4, !tbaa !11
  %1083 = fcmp oge float %1082, 0.000000e+00
  br i1 %1083, label %1084, label %1087

1084:                                             ; preds = %1075
  %1085 = load ptr, ptr %15, align 8, !tbaa !5
  %1086 = load float, ptr %1085, align 4, !tbaa !11
  br label %1091

1087:                                             ; preds = %1075
  %1088 = load ptr, ptr %15, align 8, !tbaa !5
  %1089 = load float, ptr %1088, align 4, !tbaa !11
  %1090 = fneg float %1089
  br label %1091

1091:                                             ; preds = %1087, %1084
  %1092 = phi float [ %1086, %1084 ], [ %1090, %1087 ]
  %1093 = fmul float %1080, %1092
  %1094 = fcmp ole float %1078, %1093
  br i1 %1094, label %1095, label %1096

1095:                                             ; preds = %1091, %1068
  br label %1111

1096:                                             ; preds = %1091
  %1097 = load float, ptr %32, align 4, !tbaa !11
  %1098 = fcmp ole float %1097, 0.000000e+00
  br i1 %1098, label %1099, label %1102

1099:                                             ; preds = %1096
  %1100 = load ptr, ptr %15, align 8, !tbaa !5
  %1101 = load float, ptr %1100, align 4, !tbaa !11
  store float %1101, ptr %48, align 4, !tbaa !11
  br label %1105

1102:                                             ; preds = %1096
  %1103 = load ptr, ptr %15, align 8, !tbaa !5
  %1104 = load float, ptr %1103, align 4, !tbaa !11
  store float %1104, ptr %50, align 4, !tbaa !11
  br label %1105

1105:                                             ; preds = %1102, %1099
  br label %1106

1106:                                             ; preds = %1105
  %1107 = load i32, ptr %35, align 4, !tbaa !9
  %1108 = add nsw i32 %1107, 1
  store i32 %1108, ptr %35, align 4, !tbaa !9
  br label %736, !llvm.loop !18

1109:                                             ; preds = %736
  %1110 = load ptr, ptr %16, align 8, !tbaa !5
  store i32 1, ptr %1110, align 4, !tbaa !9
  br label %1111

1111:                                             ; preds = %1109, %1095, %1008, %722
  %1112 = load i32, ptr %34, align 4, !tbaa !9
  %1113 = icmp ne i32 %1112, 0
  br i1 %1113, label %1114, label %1119

1114:                                             ; preds = %1111
  %1115 = load float, ptr %46, align 4, !tbaa !11
  %1116 = load ptr, ptr %15, align 8, !tbaa !5
  %1117 = load float, ptr %1116, align 4, !tbaa !11
  %1118 = fmul float %1117, %1115
  store float %1118, ptr %1116, align 4, !tbaa !11
  br label %1119

1119:                                             ; preds = %1114, %1111
  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 4, 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 12, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #5
  call void @llvm.lifetime.end.p0(i64 12, 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
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #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: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #2

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

declare float @slamch_(ptr noundef) #4

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

; Function Attrs: nounwind uwtable
declare hidden float @spow_ui(float noundef, i32 noundef) #0

; 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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #3 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { "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}


; 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
@.str.1 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [7 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @slaed6_(ptr nocapture noundef readonly %0, ptr nocapture noundef readonly %1, ptr nocapture noundef readonly %2, ptr nocapture noundef readonly %3, ptr nocapture noundef readonly %4, ptr nocapture noundef readonly %5, ptr nocapture noundef %6, ptr nocapture noundef writeonly %7) local_unnamed_addr #0 {
  store i32 0, ptr %7, align 4, !tbaa !5
  %9 = load i32, ptr %1, align 4, !tbaa !5
  %.not = icmp eq i32 %9, 0
  %10 = getelementptr inbounds i8, ptr %3, i64 4
  %11 = getelementptr inbounds i8, ptr %3, i64 8
  %12 = load float, ptr %5, align 4, !tbaa !9
  %13 = fcmp olt float %12, 0.000000e+00
  br i1 %13, label %14, label %15

14:                                               ; preds = %8
  %.0.in = select i1 %.not, ptr %10, ptr %11
  %.0 = load float, ptr %.0.in, align 4, !tbaa !9
  br label %16

15:                                               ; preds = %8
  %.0373.in = select i1 %.not, ptr %3, ptr %10
  %.0373 = load float, ptr %.0373.in, align 4, !tbaa !9
  br label %16

16:                                               ; preds = %15, %14
  %.1374 = phi float [ 0.000000e+00, %14 ], [ %.0373, %15 ]
  %.1 = phi float [ %.0, %14 ], [ 0.000000e+00, %15 ]
  store float 0.000000e+00, ptr %6, align 4, !tbaa !9
  %17 = load i32, ptr %0, align 4, !tbaa !5
  %18 = icmp eq i32 %17, 2
  br i1 %18, label %19, label %159

19:                                               ; preds = %16
  %20 = load float, ptr %10, align 4, !tbaa !9
  %21 = load float, ptr %2, align 4, !tbaa !9
  br i1 %.not, label %43, label %22

22:                                               ; preds = %19
  %23 = load float, ptr %11, align 4, !tbaa !9
  %24 = fsub float %23, %20
  %25 = fmul float %24, 5.000000e-01
  %26 = load float, ptr %4, align 4, !tbaa !9
  %27 = load float, ptr %3, align 4, !tbaa !9
  %28 = fsub float %27, %20
  %29 = fsub float %28, %25
  %30 = fdiv float %26, %29
  %31 = fadd float %21, %30
  %32 = fadd float %23, %20
  %33 = getelementptr inbounds i8, ptr %4, i64 4
  %34 = load float, ptr %33, align 4, !tbaa !9
  %35 = tail call float @llvm.fmuladd.f32(float %31, float %32, float %34)
  %36 = getelementptr inbounds i8, ptr %4, i64 8
  %37 = load float, ptr %36, align 4, !tbaa !9
  %38 = fadd float %37, %35
  %39 = fmul float %20, %31
  %40 = fmul float %23, %34
  %41 = tail call float @llvm.fmuladd.f32(float %39, float %23, float %40)
  %42 = tail call float @llvm.fmuladd.f32(float %37, float %20, float %41)
  br label %64

43:                                               ; preds = %19
  %44 = load float, ptr %3, align 4, !tbaa !9
  %45 = fsub float %44, %20
  %46 = fmul float %45, 5.000000e-01
  %47 = getelementptr inbounds i8, ptr %4, i64 8
  %48 = load float, ptr %47, align 4, !tbaa !9
  %49 = load float, ptr %11, align 4, !tbaa !9
  %50 = fsub float %49, %20
  %51 = fsub float %50, %46
  %52 = fdiv float %48, %51
  %53 = fadd float %21, %52
  %54 = fadd float %44, %20
  %55 = load float, ptr %4, align 4, !tbaa !9
  %56 = tail call float @llvm.fmuladd.f32(float %53, float %54, float %55)
  %57 = getelementptr inbounds i8, ptr %4, i64 4
  %58 = load float, ptr %57, align 4, !tbaa !9
  %59 = fadd float %58, %56
  %60 = fmul float %44, %53
  %61 = fmul float %20, %55
  %62 = tail call float @llvm.fmuladd.f32(float %60, float %20, float %61)
  %63 = tail call float @llvm.fmuladd.f32(float %58, float %44, float %62)
  br label %64

64:                                               ; preds = %43, %22
  %.0402 = phi float [ %38, %22 ], [ %59, %43 ]
  %.0401 = phi float [ %42, %22 ], [ %63, %43 ]
  %.0400 = phi float [ %31, %22 ], [ %53, %43 ]
  %65 = fcmp oge float %.0402, 0.000000e+00
  %66 = fneg float %.0402
  %67 = select i1 %65, float %.0402, float %66
  %68 = fcmp oge float %.0401, 0.000000e+00
  %69 = fneg float %.0401
  %70 = select i1 %68, float %.0401, float %69
  %71 = fcmp oge float %67, %70
  %72 = select i1 %71, float %67, float %70
  %73 = fcmp oge float %.0400, 0.000000e+00
  %74 = fneg float %.0400
  %75 = select i1 %73, float %.0400, float %74
  %76 = fcmp oge float %72, %75
  %77 = select i1 %76, float %72, float %75
  %78 = fdiv float %.0402, %77
  %79 = fdiv float %.0401, %77
  %80 = fdiv float %.0400, %77
  %81 = fcmp oeq float %80, 0.000000e+00
  br i1 %81, label %82, label %84

82:                                               ; preds = %64
  %83 = fdiv float %79, %78
  br label %116

84:                                               ; preds = %64
  %85 = fcmp ugt float %78, 0.000000e+00
  br i1 %85, label %101, label %86

86:                                               ; preds = %84
  %87 = fpext float %78 to double
  %88 = fmul float %79, -4.000000e+00
  %89 = fmul float %80, %88
  %90 = tail call float @llvm.fmuladd.f32(float %78, float %78, float %89)
  %91 = fcmp oge float %90, 0.000000e+00
  %92 = fneg float %90
  %93 = select i1 %91, float %90, float %92
  %94 = fpext float %93 to double
  %95 = tail call double @sqrt(double noundef %94) #4
  %96 = fsub double %87, %95
  %97 = fmul float %80, 2.000000e+00
  %98 = fpext float %97 to double
  %99 = fdiv double %96, %98
  %100 = fptrunc double %99 to float
  br label %116

101:                                              ; preds = %84
  %102 = fmul float %79, 2.000000e+00
  %103 = fpext float %102 to double
  %104 = fpext float %78 to double
  %105 = fmul float %79, -4.000000e+00
  %106 = fmul float %80, %105
  %107 = tail call float @llvm.fmuladd.f32(float %78, float %78, float %106)
  %108 = fcmp oge float %107, 0.000000e+00
  %109 = fneg float %107
  %110 = select i1 %108, float %107, float %109
  %111 = fpext float %110 to double
  %112 = tail call double @sqrt(double noundef %111) #4
  %113 = fadd double %112, %104
  %114 = fdiv double %103, %113
  %115 = fptrunc double %114 to float
  br label %116

116:                                              ; preds = %86, %101, %82
  %.sink = phi float [ %100, %86 ], [ %115, %101 ], [ %83, %82 ]
  %117 = fcmp olt float %.sink, %.1374
  %118 = fcmp ogt float %.sink, %.1
  %or.cond = select i1 %117, i1 true, i1 %118
  %119 = fadd float %.1374, %.1
  %120 = fmul float %119, 5.000000e-01
  %storemerge493 = select i1 %or.cond, float %120, float %.sink
  store float %storemerge493, ptr %6, align 4, !tbaa !9
  %121 = load float, ptr %3, align 4, !tbaa !9
  %122 = fcmp oeq float %121, %storemerge493
  br i1 %122, label %.sink.split, label %123

123:                                              ; preds = %116
  %124 = load float, ptr %10, align 4, !tbaa !9
  %125 = fcmp oeq float %124, %storemerge493
  br i1 %125, label %.sink.split, label %126

126:                                              ; preds = %123
  %127 = load float, ptr %11, align 4, !tbaa !9
  %128 = fcmp oeq float %127, %storemerge493
  br i1 %128, label %.sink.split, label %129

129:                                              ; preds = %126
  %130 = load float, ptr %5, align 4, !tbaa !9
  %131 = load float, ptr %4, align 4, !tbaa !9
  %132 = fmul float %storemerge493, %131
  %133 = fsub float %121, %storemerge493
  %134 = fmul float %121, %133
  %135 = fdiv float %132, %134
  %136 = fadd float %130, %135
  %137 = getelementptr inbounds i8, ptr %4, i64 4
  %138 = insertelement <2 x float> poison, float %124, i64 0
  %139 = insertelement <2 x float> %138, float %127, i64 1
  %140 = insertelement <2 x float> poison, float %storemerge493, i64 0
  %141 = shufflevector <2 x float> %140, <2 x float> poison, <2 x i32> zeroinitializer
  %142 = fsub <2 x float> %139, %141
  %143 = load <2 x float>, ptr %137, align 4, !tbaa !9
  %144 = fmul <2 x float> %141, %143
  %145 = fmul <2 x float> %139, %142
  %146 = fdiv <2 x float> %144, %145
  %147 = extractelement <2 x float> %146, i64 0
  %148 = fadd float %136, %147
  %149 = extractelement <2 x float> %146, i64 1
  %150 = fadd float %148, %149
  %151 = fcmp ugt float %150, 0.000000e+00
  %.1374. = select i1 %151, float %.1374, float %storemerge493
  %..1 = select i1 %151, float %storemerge493, float %.1
  %152 = fcmp ult float %130, 0.000000e+00
  %153 = fneg float %130
  %154 = select i1 %152, float %153, float %130
  %155 = fcmp oge float %150, 0.000000e+00
  %156 = fneg float %150
  %157 = select i1 %155, float %150, float %156
  %158 = fcmp ugt float %154, %157
  br i1 %158, label %159, label %.sink.split

.sink.split:                                      ; preds = %129, %116, %123, %126
  %.3376.ph = phi float [ %.1374, %126 ], [ %.1374, %123 ], [ %.1374, %116 ], [ %.1374., %129 ]
  %.3.ph = phi float [ %.1, %126 ], [ %.1, %123 ], [ %.1, %116 ], [ %..1, %129 ]
  store float 0.000000e+00, ptr %6, align 4, !tbaa !9
  br label %159

159:                                              ; preds = %.sink.split, %129, %16
  %.3376 = phi float [ %.1374., %129 ], [ %.1374, %16 ], [ %.3376.ph, %.sink.split ]
  %.3 = phi float [ %..1, %129 ], [ %.1, %16 ], [ %.3.ph, %.sink.split ]
  %160 = tail call float @slamch_(ptr noundef nonnull @.str) #4
  %161 = tail call float @slamch_(ptr noundef nonnull @.str.1) #4
  %162 = tail call float @slamch_(ptr noundef nonnull @.str.2) #4
  %163 = fpext float %162 to double
  %164 = tail call double @log(double noundef %163) #4
  %165 = fpext float %161 to double
  %166 = tail call double @log(double noundef %165) #4
  %167 = fdiv double %164, %166
  %168 = fdiv double %167, 3.000000e+00
  %169 = fptosi double %168 to i32
  %170 = tail call float @spow_ui(float noundef %161, i32 noundef %169)
  %171 = fdiv float 1.000000e+00, %170
  %172 = fmul float %170, %170
  %173 = fmul float %171, %171
  %174 = load i32, ptr %1, align 4, !tbaa !5
  %.not432 = icmp eq i32 %174, 0
  %175 = load float, ptr %6, align 4, !tbaa !9
  br i1 %.not432, label %183, label %176

176:                                              ; preds = %159
  %177 = load <2 x float>, ptr %10, align 4, !tbaa !9
  %178 = extractelement <2 x float> %177, i64 0
  %179 = fsub float %178, %175
  %180 = fcmp oge float %179, 0.000000e+00
  %181 = fneg float %179
  %182 = select i1 %180, float %179, float %181
  br label %192

183:                                              ; preds = %159
  %184 = load float, ptr %3, align 4, !tbaa !9
  %185 = fsub float %184, %175
  %186 = fcmp oge float %185, 0.000000e+00
  %187 = fneg float %185
  %188 = select i1 %186, float %185, float %187
  %189 = load float, ptr %10, align 4, !tbaa !9
  %190 = insertelement <2 x float> poison, float %189, i64 0
  %191 = shufflevector <2 x float> %190, <2 x float> poison, <2 x i32> zeroinitializer
  br label %192

192:                                              ; preds = %183, %176
  %.sink485 = phi float [ %188, %183 ], [ %182, %176 ]
  %193 = phi <2 x float> [ %191, %183 ], [ %177, %176 ]
  %194 = extractelement <2 x float> %193, i64 1
  %195 = fsub float %194, %175
  %196 = fcmp oge float %195, 0.000000e+00
  %197 = fneg float %195
  %198 = select i1 %196, float %195, float %197
  %199 = fcmp ole float %.sink485, %198
  %200 = select i1 %199, float %.sink485, float %198
  %201 = fcmp ugt float %200, %170
  br i1 %201, label %.preheader.preheader, label %204

.preheader.preheader:                             ; preds = %192
  %.sroa.0474.0.copyload = load float, ptr %3, align 4, !tbaa !9
  %.sroa.11.0.copyload = load float, ptr %11, align 4, !tbaa !9
  %.sroa.0.0.copyload = load float, ptr %4, align 4, !tbaa !9
  %.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %4, i64 4
  %202 = load <2 x float>, ptr %.sroa.6.0..sroa_idx, align 4, !tbaa !9
  %203 = insertelement <2 x float> %193, float %.sroa.11.0.copyload, i64 1
  br label %.loopexit438

204:                                              ; preds = %192
  %205 = fcmp ugt float %200, %172
  %. = select i1 %205, float %171, float %173
  %206 = load float, ptr %3, align 4, !tbaa !9
  %207 = fmul float %., %206
  %208 = load float, ptr %4, align 4, !tbaa !9
  %209 = fmul float %., %208
  %210 = getelementptr inbounds i8, ptr %4, i64 4
  %211 = getelementptr inbounds i8, ptr %3, i64 8
  %212 = load float, ptr %211, align 4, !tbaa !9
  %213 = insertelement <2 x float> poison, float %., i64 0
  %214 = shufflevector <2 x float> %213, <2 x float> poison, <2 x i32> zeroinitializer
  %215 = insertelement <2 x float> %193, float %212, i64 1
  %216 = fmul <2 x float> %214, %215
  %217 = load <2 x float>, ptr %210, align 4, !tbaa !9
  %218 = fmul <2 x float> %214, %217
  %.435 = select i1 %205, float %170, float %172
  %219 = fmul float %., %175
  store float %219, ptr %6, align 4, !tbaa !9
  %220 = fmul float %.3376, %.
  %221 = fmul float %.3, %.
  br label %.loopexit438

.loopexit438:                                     ; preds = %.preheader.preheader, %204
  %222 = phi float [ %175, %.preheader.preheader ], [ %219, %204 ]
  %.sroa.0474.0 = phi float [ %.sroa.0474.0.copyload, %.preheader.preheader ], [ %207, %204 ]
  %.sroa.0.0 = phi float [ %.sroa.0.0.copyload, %.preheader.preheader ], [ %209, %204 ]
  %.1385 = phi float [ undef, %.preheader.preheader ], [ %.435, %204 ]
  %.4377 = phi float [ %.3376, %.preheader.preheader ], [ %220, %204 ]
  %.4 = phi float [ %.3, %.preheader.preheader ], [ %221, %204 ]
  %223 = phi <2 x float> [ %202, %.preheader.preheader ], [ %218, %204 ]
  %224 = phi <2 x float> [ %203, %.preheader.preheader ], [ %216, %204 ]
  %225 = fsub float %.sroa.0474.0, %222
  %226 = fdiv float 1.000000e+00, %225
  %227 = fmul float %.sroa.0.0, %226
  %228 = fdiv float %227, %.sroa.0474.0
  %229 = fadd float %228, 0.000000e+00
  %230 = insertelement <2 x float> poison, float %222, i64 0
  %231 = shufflevector <2 x float> %230, <2 x float> poison, <2 x i32> zeroinitializer
  %232 = fsub <2 x float> %224, %231
  %233 = fdiv <2 x float> <float 1.000000e+00, float 1.000000e+00>, %232
  %234 = fmul <2 x float> %223, %233
  %235 = fdiv <2 x float> %234, %224
  %236 = extractelement <2 x float> %235, i64 0
  %237 = fadd float %229, %236
  %238 = extractelement <2 x float> %235, i64 1
  %239 = fadd float %237, %238
  %240 = load float, ptr %5, align 4, !tbaa !9
  %241 = tail call float @llvm.fmuladd.f32(float %222, float %239, float %240)
  %242 = fcmp oge float %241, 0.000000e+00
  %243 = fneg float %241
  %244 = select i1 %242, float %241, float %243
  %245 = fcmp ugt float %244, 0.000000e+00
  br i1 %245, label %246, label %.loopexit

246:                                              ; preds = %.loopexit438
  %247 = fmul float %226, %227
  %248 = fmul float %226, %247
  %249 = fmul <2 x float> %233, %234
  %250 = fmul <2 x float> %233, %249
  %251 = fmul <2 x float> %233, %234
  %252 = fmul <2 x float> %233, %251
  %253 = insertelement <2 x float> poison, float %248, i64 0
  %254 = insertelement <2 x float> %253, float %247, i64 1
  %255 = fadd <2 x float> %254, zeroinitializer
  %256 = shufflevector <2 x float> %250, <2 x float> %249, <2 x i32> <i32 0, i32 2>
  %257 = fadd <2 x float> %255, %256
  %258 = shufflevector <2 x float> %252, <2 x float> %251, <2 x i32> <i32 1, i32 3>
  %259 = fadd <2 x float> %257, %258
  %260 = fcmp ugt float %241, 0.000000e+00
  %.4377. = select i1 %260, float %.4377, float %222
  %..4 = select i1 %260, float %222, float %.4
  %261 = fmul float %160, 4.000000e+00
  %262 = extractelement <2 x float> %224, i64 0
  %263 = extractelement <2 x float> %224, i64 1
  br label %264

264:                                              ; preds = %246, %410
  %265 = phi float [ %222, %246 ], [ %storemerge, %410 ]
  %.6459 = phi float [ %..4, %246 ], [ %.7, %410 ]
  %.6379458 = phi float [ %.4377., %246 ], [ %.7380, %410 ]
  %.0393455 = phi i32 [ 2, %246 ], [ %412, %410 ]
  %.0399454 = phi float [ %241, %246 ], [ %390, %410 ]
  %266 = phi <2 x float> [ %259, %246 ], [ %388, %410 ]
  %267 = load i32, ptr %1, align 4, !tbaa !5
  %.not433 = icmp eq i32 %267, 0
  %.sroa.7.0.pn = select i1 %.not433, float %.sroa.0474.0, float %262
  %.sroa.11.0.pn = select i1 %.not433, float %262, float %263
  %.0403 = fsub float %.sroa.11.0.pn, %265
  %.0404 = fsub float %.sroa.7.0.pn, %265
  %268 = fadd float %.0404, %.0403
  %269 = fmul float %.0404, %.0403
  %270 = fneg float %269
  %271 = extractelement <2 x float> %266, i64 1
  %272 = fmul float %271, %270
  %273 = tail call float @llvm.fmuladd.f32(float %268, float %.0399454, float %272)
  %274 = fmul float %.0399454, %269
  %275 = fneg float %268
  %276 = tail call float @llvm.fmuladd.f32(float %275, float %271, float %.0399454)
  %277 = extractelement <2 x float> %266, i64 0
  %278 = tail call float @llvm.fmuladd.f32(float %269, float %277, float %276)
  %279 = insertelement <2 x float> poison, float %273, i64 0
  %280 = insertelement <2 x float> %279, float %274, i64 1
  %281 = fcmp oge <2 x float> %280, zeroinitializer
  %282 = fneg <2 x float> %280
  %283 = select <2 x i1> %281, <2 x float> %280, <2 x float> %282
  %284 = extractelement <2 x float> %283, i64 0
  %285 = extractelement <2 x float> %283, i64 1
  %286 = fcmp oge float %284, %285
  %287 = select i1 %286, float %284, float %285
  %288 = fcmp oge float %278, 0.000000e+00
  %289 = fneg float %278
  %290 = select i1 %288, float %278, float %289
  %291 = fcmp oge float %287, %290
  %292 = select i1 %291, float %287, float %290
  %293 = fdiv float %273, %292
  %294 = fdiv float %274, %292
  %295 = fdiv float %278, %292
  %296 = fcmp oeq float %295, 0.000000e+00
  br i1 %296, label %297, label %299

297:                                              ; preds = %264
  %298 = fdiv float %294, %293
  br label %331

299:                                              ; preds = %264
  %300 = fcmp ugt float %293, 0.000000e+00
  br i1 %300, label %316, label %301

301:                                              ; preds = %299
  %302 = fpext float %293 to double
  %303 = fmul float %294, -4.000000e+00
  %304 = fmul float %295, %303
  %305 = tail call float @llvm.fmuladd.f32(float %293, float %293, float %304)
  %306 = fcmp oge float %305, 0.000000e+00
  %307 = fneg float %305
  %308 = select i1 %306, float %305, float %307
  %309 = fpext float %308 to double
  %310 = tail call double @sqrt(double noundef %309) #4
  %311 = fsub double %302, %310
  %312 = fmul float %295, 2.000000e+00
  %313 = fpext float %312 to double
  %314 = fdiv double %311, %313
  %315 = fptrunc double %314 to float
  br label %331

316:                                              ; preds = %299
  %317 = fmul float %294, 2.000000e+00
  %318 = fpext float %317 to double
  %319 = fpext float %293 to double
  %320 = fmul float %294, -4.000000e+00
  %321 = fmul float %295, %320
  %322 = tail call float @llvm.fmuladd.f32(float %293, float %293, float %321)
  %323 = fcmp oge float %322, 0.000000e+00
  %324 = fneg float %322
  %325 = select i1 %323, float %322, float %324
  %326 = fpext float %325 to double
  %327 = tail call double @sqrt(double noundef %326) #4
  %328 = fadd double %327, %319
  %329 = fdiv double %318, %328
  %330 = fptrunc double %329 to float
  br label %331

331:                                              ; preds = %301, %316, %297
  %.0371 = phi float [ %298, %297 ], [ %315, %301 ], [ %330, %316 ]
  %332 = fmul float %.0399454, %.0371
  %333 = fcmp ult float %332, 0.000000e+00
  %334 = fneg float %.0399454
  %335 = fdiv float %334, %271
  %.1372 = select i1 %333, float %.0371, float %335
  %336 = load float, ptr %6, align 4, !tbaa !9
  %337 = fadd float %336, %.1372
  %338 = fcmp olt float %337, %.6379458
  %339 = fcmp ogt float %337, %.6459
  %or.cond436 = select i1 %338, i1 true, i1 %339
  %340 = fadd float %.6379458, %.6459
  %341 = fmul float %340, 5.000000e-01
  %storemerge = select i1 %or.cond436, float %341, float %337
  store float %storemerge, ptr %6, align 4, !tbaa !9
  %342 = fsub float %.sroa.0474.0, %storemerge
  %343 = fcmp une float %342, 0.000000e+00
  br i1 %343, label %344, label %.loopexit

344:                                              ; preds = %331
  %345 = fsub float %262, %storemerge
  %346 = fcmp une float %345, 0.000000e+00
  br i1 %346, label %347, label %.loopexit

347:                                              ; preds = %344
  %348 = fsub float %263, %storemerge
  %349 = fcmp une float %348, 0.000000e+00
  br i1 %349, label %350, label %.loopexit

350:                                              ; preds = %347
  %351 = fdiv float 1.000000e+00, %342
  %352 = fmul float %351, %.sroa.0.0
  %353 = insertelement <2 x float> poison, float %345, i64 0
  %354 = insertelement <2 x float> %353, float %348, i64 1
  %355 = fdiv <2 x float> <float 1.000000e+00, float 1.000000e+00>, %354
  %356 = fdiv float %352, %.sroa.0474.0
  %357 = fcmp oge float %356, 0.000000e+00
  %358 = fneg float %356
  %359 = select i1 %357, float %356, float %358
  %360 = fadd float %359, 0.000000e+00
  %361 = fadd float %356, 0.000000e+00
  %362 = fmul <2 x float> %355, %223
  %363 = fdiv <2 x float> %362, %224
  %364 = extractelement <2 x float> %363, i64 0
  %365 = fcmp oge float %364, 0.000000e+00
  %366 = fneg float %364
  %367 = select i1 %365, float %364, float %366
  %368 = fadd float %360, %367
  %369 = fadd float %361, %364
  %370 = fmul <2 x float> %355, %362
  %371 = fmul <2 x float> %355, %370
  %372 = fmul <2 x float> %355, %370
  %373 = extractelement <2 x float> %363, i64 1
  %374 = fadd float %369, %373
  %375 = fcmp oge float %373, 0.000000e+00
  %376 = fneg float %373
  %377 = select i1 %375, float %373, float %376
  %378 = fadd float %368, %377
  %379 = fmul float %351, %352
  %380 = fmul float %351, %379
  %381 = insertelement <2 x float> poison, float %380, i64 0
  %382 = insertelement <2 x float> %381, float %379, i64 1
  %383 = fadd <2 x float> %382, zeroinitializer
  %384 = shufflevector <2 x float> %370, <2 x float> poison, <2 x i32> <i32 poison, i32 0>
  %385 = shufflevector <2 x float> %371, <2 x float> %384, <2 x i32> <i32 0, i32 3>
  %386 = fadd <2 x float> %383, %385
  %387 = shufflevector <2 x float> %370, <2 x float> %372, <2 x i32> <i32 3, i32 1>
  %388 = fadd <2 x float> %386, %387
  %389 = load float, ptr %5, align 4, !tbaa !9
  %390 = tail call float @llvm.fmuladd.f32(float %storemerge, float %374, float %389)
  %391 = fcmp ult float %389, 0.000000e+00
  %392 = fneg float %389
  %393 = select i1 %391, float %392, float %389
  %394 = fcmp ult float %storemerge, 0.000000e+00
  %395 = fneg float %storemerge
  %396 = select i1 %394, float %395, float %storemerge
  %397 = tail call float @llvm.fmuladd.f32(float %396, float %378, float %393)
  %398 = extractelement <2 x float> %388, i64 1
  %399 = fmul float %398, %396
  %400 = tail call float @llvm.fmuladd.f32(float %397, float 8.000000e+00, float %399)
  %401 = fcmp oge float %390, 0.000000e+00
  %402 = fneg float %390
  %403 = select i1 %401, float %390, float %402
  %404 = fmul float %261, %400
  %405 = fcmp ugt float %403, %404
  br i1 %405, label %406, label %.loopexit

406:                                              ; preds = %350
  %407 = fsub float %.6459, %.6379458
  %408 = fmul float %261, %396
  %409 = fcmp ugt float %407, %408
  br i1 %409, label %410, label %.loopexit

410:                                              ; preds = %406
  %411 = fcmp ugt float %390, 0.000000e+00
  %.7380 = select i1 %411, float %.6379458, float %storemerge
  %.7 = select i1 %411, float %storemerge, float %.6459
  %412 = add nuw nsw i32 %.0393455, 1
  %exitcond.not = icmp eq i32 %412, 41
  br i1 %exitcond.not, label %413, label %264, !llvm.loop !11

413:                                              ; preds = %410
  store i32 1, ptr %7, align 4, !tbaa !5
  br label %.loopexit

.loopexit:                                        ; preds = %350, %406, %331, %344, %347, %.loopexit438, %413
  %414 = phi float [ %222, %.loopexit438 ], [ %storemerge, %413 ], [ %storemerge, %347 ], [ %storemerge, %344 ], [ %storemerge, %331 ], [ %storemerge, %406 ], [ %storemerge, %350 ]
  br i1 %201, label %417, label %415

415:                                              ; preds = %.loopexit
  %416 = fmul float %.1385, %414
  store float %416, ptr %6, align 4, !tbaa !9
  br label %417

417:                                              ; preds = %415, %.loopexit
  ret void
}

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

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

declare float @slamch_(ptr noundef) local_unnamed_addr #3

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

; Function Attrs: nounwind uwtable
declare hidden float @spow_ui(float noundef, i32 noundef) local_unnamed_addr #0

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 speculatable willreturn memory(none) }
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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"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 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}


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