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

; 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
@c__1 = external hidden global i32, align 4
@c_b5 = external hidden global float, align 4

; Function Attrs: nounwind uwtable
define dso_local void @slaic1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8) #0 {
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca float, align 4
  %20 = alloca float, align 4
  %21 = alloca float, align 4
  %22 = alloca float, align 4
  %23 = alloca float, align 4
  %24 = alloca float, align 4
  %25 = alloca 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 float, align 4
  %34 = alloca float, align 4
  %35 = alloca float, align 4
  %36 = alloca float, align 4
  %37 = alloca float, align 4
  %38 = alloca float, align 4
  %39 = alloca i32, align 4
  store ptr %0, ptr %10, align 8, !tbaa !5
  store ptr %1, ptr %11, align 8, !tbaa !5
  store ptr %2, ptr %12, align 8, !tbaa !5
  store ptr %3, ptr %13, align 8, !tbaa !5
  store ptr %4, ptr %14, align 8, !tbaa !5
  store ptr %5, ptr %15, align 8, !tbaa !5
  store ptr %6, ptr %16, align 8, !tbaa !5
  store ptr %7, ptr %17, align 8, !tbaa !5
  store ptr %8, ptr %18, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #5
  %40 = load ptr, ptr %14, align 8, !tbaa !5
  %41 = getelementptr inbounds float, ptr %40, i32 -1
  store ptr %41, ptr %14, align 8, !tbaa !5
  %42 = load ptr, ptr %12, align 8, !tbaa !5
  %43 = getelementptr inbounds float, ptr %42, i32 -1
  store ptr %43, ptr %12, align 8, !tbaa !5
  %44 = call float @slamch_(ptr noundef @.str)
  store float %44, ptr %37, align 4, !tbaa !9
  %45 = load ptr, ptr %11, align 8, !tbaa !5
  %46 = load ptr, ptr %12, align 8, !tbaa !5
  %47 = getelementptr inbounds float, ptr %46, i64 1
  %48 = load ptr, ptr %14, align 8, !tbaa !5
  %49 = getelementptr inbounds float, ptr %48, i64 1
  %50 = call float @sdot_(ptr noundef %45, ptr noundef %47, ptr noundef @c__1, ptr noundef %49, ptr noundef @c__1)
  store float %50, ptr %29, align 4, !tbaa !9
  %51 = load float, ptr %29, align 4, !tbaa !9
  %52 = fcmp oge float %51, 0.000000e+00
  br i1 %52, label %53, label %55

53:                                               ; preds = %9
  %54 = load float, ptr %29, align 4, !tbaa !9
  br label %58

55:                                               ; preds = %9
  %56 = load float, ptr %29, align 4, !tbaa !9
  %57 = fneg float %56
  br label %58

58:                                               ; preds = %55, %53
  %59 = phi float [ %54, %53 ], [ %57, %55 ]
  store float %59, ptr %34, align 4, !tbaa !9
  %60 = load ptr, ptr %15, align 8, !tbaa !5
  %61 = load float, ptr %60, align 4, !tbaa !9
  %62 = fcmp oge float %61, 0.000000e+00
  br i1 %62, label %63, label %66

63:                                               ; preds = %58
  %64 = load ptr, ptr %15, align 8, !tbaa !5
  %65 = load float, ptr %64, align 4, !tbaa !9
  br label %70

66:                                               ; preds = %58
  %67 = load ptr, ptr %15, align 8, !tbaa !5
  %68 = load float, ptr %67, align 4, !tbaa !9
  %69 = fneg float %68
  br label %70

70:                                               ; preds = %66, %63
  %71 = phi float [ %65, %63 ], [ %69, %66 ]
  store float %71, ptr %33, align 4, !tbaa !9
  %72 = load ptr, ptr %13, align 8, !tbaa !5
  %73 = load float, ptr %72, align 4, !tbaa !9
  %74 = fcmp oge float %73, 0.000000e+00
  br i1 %74, label %75, label %78

75:                                               ; preds = %70
  %76 = load ptr, ptr %13, align 8, !tbaa !5
  %77 = load float, ptr %76, align 4, !tbaa !9
  br label %82

78:                                               ; preds = %70
  %79 = load ptr, ptr %13, align 8, !tbaa !5
  %80 = load float, ptr %79, align 4, !tbaa !9
  %81 = fneg float %80
  br label %82

82:                                               ; preds = %78, %75
  %83 = phi float [ %77, %75 ], [ %81, %78 ]
  store float %83, ptr %36, align 4, !tbaa !9
  %84 = load ptr, ptr %10, align 8, !tbaa !5
  %85 = load i32, ptr %84, align 4, !tbaa !11
  %86 = icmp eq i32 %85, 1
  br i1 %86, label %87, label %415

87:                                               ; preds = %82
  %88 = load ptr, ptr %13, align 8, !tbaa !5
  %89 = load float, ptr %88, align 4, !tbaa !9
  %90 = fcmp oeq float %89, 0.000000e+00
  br i1 %90, label %91, label %143

91:                                               ; preds = %87
  %92 = load float, ptr %33, align 4, !tbaa !9
  %93 = load float, ptr %34, align 4, !tbaa !9
  %94 = fcmp oge float %92, %93
  br i1 %94, label %95, label %97

95:                                               ; preds = %91
  %96 = load float, ptr %33, align 4, !tbaa !9
  br label %99

97:                                               ; preds = %91
  %98 = load float, ptr %34, align 4, !tbaa !9
  br label %99

99:                                               ; preds = %97, %95
  %100 = phi float [ %96, %95 ], [ %98, %97 ]
  store float %100, ptr %31, align 4, !tbaa !9
  %101 = load float, ptr %31, align 4, !tbaa !9
  %102 = fcmp oeq float %101, 0.000000e+00
  br i1 %102, label %103, label %107

103:                                              ; preds = %99
  %104 = load ptr, ptr %17, align 8, !tbaa !5
  store float 0.000000e+00, ptr %104, align 4, !tbaa !9
  %105 = load ptr, ptr %18, align 8, !tbaa !5
  store float 1.000000e+00, ptr %105, align 4, !tbaa !9
  %106 = load ptr, ptr %16, align 8, !tbaa !5
  store float 0.000000e+00, ptr %106, align 4, !tbaa !9
  br label %142

107:                                              ; preds = %99
  %108 = load float, ptr %29, align 4, !tbaa !9
  %109 = load float, ptr %31, align 4, !tbaa !9
  %110 = fdiv float %108, %109
  %111 = load ptr, ptr %17, align 8, !tbaa !5
  store float %110, ptr %111, align 4, !tbaa !9
  %112 = load ptr, ptr %15, align 8, !tbaa !5
  %113 = load float, ptr %112, align 4, !tbaa !9
  %114 = load float, ptr %31, align 4, !tbaa !9
  %115 = fdiv float %113, %114
  %116 = load ptr, ptr %18, align 8, !tbaa !5
  store float %115, ptr %116, align 4, !tbaa !9
  %117 = load ptr, ptr %17, align 8, !tbaa !5
  %118 = load float, ptr %117, align 4, !tbaa !9
  %119 = load ptr, ptr %17, align 8, !tbaa !5
  %120 = load float, ptr %119, align 4, !tbaa !9
  %121 = load ptr, ptr %18, align 8, !tbaa !5
  %122 = load float, ptr %121, align 4, !tbaa !9
  %123 = load ptr, ptr %18, align 8, !tbaa !5
  %124 = load float, ptr %123, align 4, !tbaa !9
  %125 = fmul float %122, %124
  %126 = call float @llvm.fmuladd.f32(float %118, float %120, float %125)
  %127 = fpext float %126 to double
  %128 = call double @sqrt(double noundef %127) #5
  %129 = fptrunc double %128 to float
  store float %129, ptr %38, align 4, !tbaa !9
  %130 = load float, ptr %38, align 4, !tbaa !9
  %131 = load ptr, ptr %17, align 8, !tbaa !5
  %132 = load float, ptr %131, align 4, !tbaa !9
  %133 = fdiv float %132, %130
  store float %133, ptr %131, align 4, !tbaa !9
  %134 = load float, ptr %38, align 4, !tbaa !9
  %135 = load ptr, ptr %18, align 8, !tbaa !5
  %136 = load float, ptr %135, align 4, !tbaa !9
  %137 = fdiv float %136, %134
  store float %137, ptr %135, align 4, !tbaa !9
  %138 = load float, ptr %31, align 4, !tbaa !9
  %139 = load float, ptr %38, align 4, !tbaa !9
  %140 = fmul float %138, %139
  %141 = load ptr, ptr %16, align 8, !tbaa !5
  store float %140, ptr %141, align 4, !tbaa !9
  br label %142

142:                                              ; preds = %107, %103
  store i32 1, ptr %39, align 4
  br label %868

143:                                              ; preds = %87
  %144 = load float, ptr %33, align 4, !tbaa !9
  %145 = load float, ptr %37, align 4, !tbaa !9
  %146 = load float, ptr %36, align 4, !tbaa !9
  %147 = fmul float %145, %146
  %148 = fcmp ole float %144, %147
  br i1 %148, label %149, label %180

149:                                              ; preds = %143
  %150 = load ptr, ptr %17, align 8, !tbaa !5
  store float 1.000000e+00, ptr %150, align 4, !tbaa !9
  %151 = load ptr, ptr %18, align 8, !tbaa !5
  store float 0.000000e+00, ptr %151, align 4, !tbaa !9
  %152 = load float, ptr %36, align 4, !tbaa !9
  %153 = load float, ptr %34, align 4, !tbaa !9
  %154 = fcmp oge float %152, %153
  br i1 %154, label %155, label %157

155:                                              ; preds = %149
  %156 = load float, ptr %36, align 4, !tbaa !9
  br label %159

157:                                              ; preds = %149
  %158 = load float, ptr %34, align 4, !tbaa !9
  br label %159

159:                                              ; preds = %157, %155
  %160 = phi float [ %156, %155 ], [ %158, %157 ]
  store float %160, ptr %38, align 4, !tbaa !9
  %161 = load float, ptr %36, align 4, !tbaa !9
  %162 = load float, ptr %38, align 4, !tbaa !9
  %163 = fdiv float %161, %162
  store float %163, ptr %31, align 4, !tbaa !9
  %164 = load float, ptr %34, align 4, !tbaa !9
  %165 = load float, ptr %38, align 4, !tbaa !9
  %166 = fdiv float %164, %165
  store float %166, ptr %32, align 4, !tbaa !9
  %167 = load float, ptr %38, align 4, !tbaa !9
  %168 = fpext float %167 to double
  %169 = load float, ptr %31, align 4, !tbaa !9
  %170 = load float, ptr %31, align 4, !tbaa !9
  %171 = load float, ptr %32, align 4, !tbaa !9
  %172 = load float, ptr %32, align 4, !tbaa !9
  %173 = fmul float %171, %172
  %174 = call float @llvm.fmuladd.f32(float %169, float %170, float %173)
  %175 = fpext float %174 to double
  %176 = call double @sqrt(double noundef %175) #5
  %177 = fmul double %168, %176
  %178 = fptrunc double %177 to float
  %179 = load ptr, ptr %16, align 8, !tbaa !5
  store float %178, ptr %179, align 4, !tbaa !9
  store i32 1, ptr %39, align 4
  br label %868

180:                                              ; preds = %143
  %181 = load float, ptr %34, align 4, !tbaa !9
  %182 = load float, ptr %37, align 4, !tbaa !9
  %183 = load float, ptr %36, align 4, !tbaa !9
  %184 = fmul float %182, %183
  %185 = fcmp ole float %181, %184
  br i1 %185, label %186, label %203

186:                                              ; preds = %180
  %187 = load float, ptr %33, align 4, !tbaa !9
  store float %187, ptr %31, align 4, !tbaa !9
  %188 = load float, ptr %36, align 4, !tbaa !9
  store float %188, ptr %32, align 4, !tbaa !9
  %189 = load float, ptr %31, align 4, !tbaa !9
  %190 = load float, ptr %32, align 4, !tbaa !9
  %191 = fcmp ole float %189, %190
  br i1 %191, label %192, label %197

192:                                              ; preds = %186
  %193 = load ptr, ptr %17, align 8, !tbaa !5
  store float 1.000000e+00, ptr %193, align 4, !tbaa !9
  %194 = load ptr, ptr %18, align 8, !tbaa !5
  store float 0.000000e+00, ptr %194, align 4, !tbaa !9
  %195 = load float, ptr %32, align 4, !tbaa !9
  %196 = load ptr, ptr %16, align 8, !tbaa !5
  store float %195, ptr %196, align 4, !tbaa !9
  br label %202

197:                                              ; preds = %186
  %198 = load ptr, ptr %17, align 8, !tbaa !5
  store float 0.000000e+00, ptr %198, align 4, !tbaa !9
  %199 = load ptr, ptr %18, align 8, !tbaa !5
  store float 1.000000e+00, ptr %199, align 4, !tbaa !9
  %200 = load float, ptr %31, align 4, !tbaa !9
  %201 = load ptr, ptr %16, align 8, !tbaa !5
  store float %200, ptr %201, align 4, !tbaa !9
  br label %202

202:                                              ; preds = %197, %192
  store i32 1, ptr %39, align 4
  br label %868

203:                                              ; preds = %180
  %204 = load float, ptr %36, align 4, !tbaa !9
  %205 = load float, ptr %37, align 4, !tbaa !9
  %206 = load float, ptr %34, align 4, !tbaa !9
  %207 = fmul float %205, %206
  %208 = fcmp ole float %204, %207
  br i1 %208, label %215, label %209

209:                                              ; preds = %203
  %210 = load float, ptr %36, align 4, !tbaa !9
  %211 = load float, ptr %37, align 4, !tbaa !9
  %212 = load float, ptr %33, align 4, !tbaa !9
  %213 = fmul float %211, %212
  %214 = fcmp ole float %210, %213
  br i1 %214, label %215, label %328

215:                                              ; preds = %209, %203
  %216 = load float, ptr %33, align 4, !tbaa !9
  store float %216, ptr %31, align 4, !tbaa !9
  %217 = load float, ptr %34, align 4, !tbaa !9
  store float %217, ptr %32, align 4, !tbaa !9
  %218 = load float, ptr %31, align 4, !tbaa !9
  %219 = load float, ptr %32, align 4, !tbaa !9
  %220 = fcmp ole float %218, %219
  br i1 %220, label %221, label %274

221:                                              ; preds = %215
  %222 = load float, ptr %31, align 4, !tbaa !9
  %223 = load float, ptr %32, align 4, !tbaa !9
  %224 = fdiv float %222, %223
  store float %224, ptr %38, align 4, !tbaa !9
  %225 = load float, ptr %38, align 4, !tbaa !9
  %226 = load float, ptr %38, align 4, !tbaa !9
  %227 = call float @llvm.fmuladd.f32(float %225, float %226, float 1.000000e+00)
  %228 = fpext float %227 to double
  %229 = call double @sqrt(double noundef %228) #5
  %230 = fptrunc double %229 to float
  %231 = load ptr, ptr %17, align 8, !tbaa !5
  store float %230, ptr %231, align 4, !tbaa !9
  %232 = load float, ptr %32, align 4, !tbaa !9
  %233 = load ptr, ptr %17, align 8, !tbaa !5
  %234 = load float, ptr %233, align 4, !tbaa !9
  %235 = fmul float %232, %234
  %236 = load ptr, ptr %16, align 8, !tbaa !5
  store float %235, ptr %236, align 4, !tbaa !9
  %237 = load ptr, ptr %15, align 8, !tbaa !5
  %238 = load float, ptr %237, align 4, !tbaa !9
  %239 = load float, ptr %32, align 4, !tbaa !9
  %240 = fdiv float %238, %239
  %241 = load ptr, ptr %17, align 8, !tbaa !5
  %242 = load float, ptr %241, align 4, !tbaa !9
  %243 = fdiv float %240, %242
  %244 = load ptr, ptr %18, align 8, !tbaa !5
  store float %243, ptr %244, align 4, !tbaa !9
  %245 = load float, ptr %29, align 4, !tbaa !9
  %246 = fcmp oge float %245, 0.000000e+00
  br i1 %246, label %247, label %257

247:                                              ; preds = %221
  %248 = load float, ptr @c_b5, align 4, !tbaa !9
  %249 = fcmp oge float %248, 0.000000e+00
  br i1 %249, label %250, label %252

250:                                              ; preds = %247
  %251 = load float, ptr @c_b5, align 4, !tbaa !9
  br label %255

252:                                              ; preds = %247
  %253 = load float, ptr @c_b5, align 4, !tbaa !9
  %254 = fneg float %253
  br label %255

255:                                              ; preds = %252, %250
  %256 = phi float [ %251, %250 ], [ %254, %252 ]
  br label %268

257:                                              ; preds = %221
  %258 = load float, ptr @c_b5, align 4, !tbaa !9
  %259 = fcmp oge float %258, 0.000000e+00
  br i1 %259, label %260, label %262

260:                                              ; preds = %257
  %261 = load float, ptr @c_b5, align 4, !tbaa !9
  br label %265

262:                                              ; preds = %257
  %263 = load float, ptr @c_b5, align 4, !tbaa !9
  %264 = fneg float %263
  br label %265

265:                                              ; preds = %262, %260
  %266 = phi float [ %261, %260 ], [ %264, %262 ]
  %267 = fneg float %266
  br label %268

268:                                              ; preds = %265, %255
  %269 = phi float [ %256, %255 ], [ %267, %265 ]
  %270 = load ptr, ptr %17, align 8, !tbaa !5
  %271 = load float, ptr %270, align 4, !tbaa !9
  %272 = fdiv float %269, %271
  %273 = load ptr, ptr %17, align 8, !tbaa !5
  store float %272, ptr %273, align 4, !tbaa !9
  br label %327

274:                                              ; preds = %215
  %275 = load float, ptr %32, align 4, !tbaa !9
  %276 = load float, ptr %31, align 4, !tbaa !9
  %277 = fdiv float %275, %276
  store float %277, ptr %38, align 4, !tbaa !9
  %278 = load float, ptr %38, align 4, !tbaa !9
  %279 = load float, ptr %38, align 4, !tbaa !9
  %280 = call float @llvm.fmuladd.f32(float %278, float %279, float 1.000000e+00)
  %281 = fpext float %280 to double
  %282 = call double @sqrt(double noundef %281) #5
  %283 = fptrunc double %282 to float
  %284 = load ptr, ptr %18, align 8, !tbaa !5
  store float %283, ptr %284, align 4, !tbaa !9
  %285 = load float, ptr %31, align 4, !tbaa !9
  %286 = load ptr, ptr %18, align 8, !tbaa !5
  %287 = load float, ptr %286, align 4, !tbaa !9
  %288 = fmul float %285, %287
  %289 = load ptr, ptr %16, align 8, !tbaa !5
  store float %288, ptr %289, align 4, !tbaa !9
  %290 = load float, ptr %29, align 4, !tbaa !9
  %291 = load float, ptr %31, align 4, !tbaa !9
  %292 = fdiv float %290, %291
  %293 = load ptr, ptr %18, align 8, !tbaa !5
  %294 = load float, ptr %293, align 4, !tbaa !9
  %295 = fdiv float %292, %294
  %296 = load ptr, ptr %17, align 8, !tbaa !5
  store float %295, ptr %296, align 4, !tbaa !9
  %297 = load ptr, ptr %15, align 8, !tbaa !5
  %298 = load float, ptr %297, align 4, !tbaa !9
  %299 = fcmp oge float %298, 0.000000e+00
  br i1 %299, label %300, label %310

300:                                              ; preds = %274
  %301 = load float, ptr @c_b5, align 4, !tbaa !9
  %302 = fcmp oge float %301, 0.000000e+00
  br i1 %302, label %303, label %305

303:                                              ; preds = %300
  %304 = load float, ptr @c_b5, align 4, !tbaa !9
  br label %308

305:                                              ; preds = %300
  %306 = load float, ptr @c_b5, align 4, !tbaa !9
  %307 = fneg float %306
  br label %308

308:                                              ; preds = %305, %303
  %309 = phi float [ %304, %303 ], [ %307, %305 ]
  br label %321

310:                                              ; preds = %274
  %311 = load float, ptr @c_b5, align 4, !tbaa !9
  %312 = fcmp oge float %311, 0.000000e+00
  br i1 %312, label %313, label %315

313:                                              ; preds = %310
  %314 = load float, ptr @c_b5, align 4, !tbaa !9
  br label %318

315:                                              ; preds = %310
  %316 = load float, ptr @c_b5, align 4, !tbaa !9
  %317 = fneg float %316
  br label %318

318:                                              ; preds = %315, %313
  %319 = phi float [ %314, %313 ], [ %317, %315 ]
  %320 = fneg float %319
  br label %321

321:                                              ; preds = %318, %308
  %322 = phi float [ %309, %308 ], [ %320, %318 ]
  %323 = load ptr, ptr %18, align 8, !tbaa !5
  %324 = load float, ptr %323, align 4, !tbaa !9
  %325 = fdiv float %322, %324
  %326 = load ptr, ptr %18, align 8, !tbaa !5
  store float %325, ptr %326, align 4, !tbaa !9
  br label %327

327:                                              ; preds = %321, %268
  store i32 1, ptr %39, align 4
  br label %868

328:                                              ; preds = %209
  %329 = load float, ptr %29, align 4, !tbaa !9
  %330 = load float, ptr %36, align 4, !tbaa !9
  %331 = fdiv float %329, %330
  store float %331, ptr %25, align 4, !tbaa !9
  %332 = load ptr, ptr %15, align 8, !tbaa !5
  %333 = load float, ptr %332, align 4, !tbaa !9
  %334 = load float, ptr %36, align 4, !tbaa !9
  %335 = fdiv float %333, %334
  store float %335, ptr %26, align 4, !tbaa !9
  %336 = load float, ptr %25, align 4, !tbaa !9
  %337 = load float, ptr %25, align 4, !tbaa !9
  %338 = fneg float %336
  %339 = call float @llvm.fmuladd.f32(float %338, float %337, float 1.000000e+00)
  %340 = load float, ptr %26, align 4, !tbaa !9
  %341 = load float, ptr %26, align 4, !tbaa !9
  %342 = fneg float %340
  %343 = call float @llvm.fmuladd.f32(float %342, float %341, float %339)
  %344 = fmul float %343, 5.000000e-01
  store float %344, ptr %27, align 4, !tbaa !9
  %345 = load float, ptr %25, align 4, !tbaa !9
  %346 = load float, ptr %25, align 4, !tbaa !9
  %347 = fmul float %345, %346
  %348 = load ptr, ptr %18, align 8, !tbaa !5
  store float %347, ptr %348, align 4, !tbaa !9
  %349 = load float, ptr %27, align 4, !tbaa !9
  %350 = fcmp ogt float %349, 0.000000e+00
  br i1 %350, label %351, label %367

351:                                              ; preds = %328
  %352 = load ptr, ptr %18, align 8, !tbaa !5
  %353 = load float, ptr %352, align 4, !tbaa !9
  %354 = fpext float %353 to double
  %355 = load float, ptr %27, align 4, !tbaa !9
  %356 = fpext float %355 to double
  %357 = load float, ptr %27, align 4, !tbaa !9
  %358 = load float, ptr %27, align 4, !tbaa !9
  %359 = load ptr, ptr %18, align 8, !tbaa !5
  %360 = load float, ptr %359, align 4, !tbaa !9
  %361 = call float @llvm.fmuladd.f32(float %357, float %358, float %360)
  %362 = fpext float %361 to double
  %363 = call double @sqrt(double noundef %362) #5
  %364 = fadd double %356, %363
  %365 = fdiv double %354, %364
  %366 = fptrunc double %365 to float
  store float %366, ptr %28, align 4, !tbaa !9
  br label %379

367:                                              ; preds = %328
  %368 = load float, ptr %27, align 4, !tbaa !9
  %369 = load float, ptr %27, align 4, !tbaa !9
  %370 = load ptr, ptr %18, align 8, !tbaa !5
  %371 = load float, ptr %370, align 4, !tbaa !9
  %372 = call float @llvm.fmuladd.f32(float %368, float %369, float %371)
  %373 = fpext float %372 to double
  %374 = call double @sqrt(double noundef %373) #5
  %375 = load float, ptr %27, align 4, !tbaa !9
  %376 = fpext float %375 to double
  %377 = fsub double %374, %376
  %378 = fptrunc double %377 to float
  store float %378, ptr %28, align 4, !tbaa !9
  br label %379

379:                                              ; preds = %367, %351
  %380 = load float, ptr %25, align 4, !tbaa !9
  %381 = fneg float %380
  %382 = load float, ptr %28, align 4, !tbaa !9
  %383 = fdiv float %381, %382
  store float %383, ptr %23, align 4, !tbaa !9
  %384 = load float, ptr %26, align 4, !tbaa !9
  %385 = fneg float %384
  %386 = load float, ptr %28, align 4, !tbaa !9
  %387 = fadd float %386, 1.000000e+00
  %388 = fdiv float %385, %387
  store float %388, ptr %35, align 4, !tbaa !9
  %389 = load float, ptr %23, align 4, !tbaa !9
  %390 = load float, ptr %23, align 4, !tbaa !9
  %391 = load float, ptr %35, align 4, !tbaa !9
  %392 = load float, ptr %35, align 4, !tbaa !9
  %393 = fmul float %391, %392
  %394 = call float @llvm.fmuladd.f32(float %389, float %390, float %393)
  %395 = fpext float %394 to double
  %396 = call double @sqrt(double noundef %395) #5
  %397 = fptrunc double %396 to float
  store float %397, ptr %38, align 4, !tbaa !9
  %398 = load float, ptr %23, align 4, !tbaa !9
  %399 = load float, ptr %38, align 4, !tbaa !9
  %400 = fdiv float %398, %399
  %401 = load ptr, ptr %17, align 8, !tbaa !5
  store float %400, ptr %401, align 4, !tbaa !9
  %402 = load float, ptr %35, align 4, !tbaa !9
  %403 = load float, ptr %38, align 4, !tbaa !9
  %404 = fdiv float %402, %403
  %405 = load ptr, ptr %18, align 8, !tbaa !5
  store float %404, ptr %405, align 4, !tbaa !9
  %406 = load float, ptr %28, align 4, !tbaa !9
  %407 = fadd float %406, 1.000000e+00
  %408 = fpext float %407 to double
  %409 = call double @sqrt(double noundef %408) #5
  %410 = load float, ptr %36, align 4, !tbaa !9
  %411 = fpext float %410 to double
  %412 = fmul double %409, %411
  %413 = fptrunc double %412 to float
  %414 = load ptr, ptr %16, align 8, !tbaa !5
  store float %413, ptr %414, align 4, !tbaa !9
  store i32 1, ptr %39, align 4
  br label %868

415:                                              ; preds = %82
  %416 = load ptr, ptr %10, align 8, !tbaa !5
  %417 = load i32, ptr %416, align 4, !tbaa !11
  %418 = icmp eq i32 %417, 2
  br i1 %418, label %419, label %866

419:                                              ; preds = %415
  %420 = load ptr, ptr %13, align 8, !tbaa !5
  %421 = load float, ptr %420, align 4, !tbaa !9
  %422 = fcmp oeq float %421, 0.000000e+00
  br i1 %422, label %423, label %498

423:                                              ; preds = %419
  %424 = load ptr, ptr %16, align 8, !tbaa !5
  store float 0.000000e+00, ptr %424, align 4, !tbaa !9
  %425 = load float, ptr %33, align 4, !tbaa !9
  %426 = load float, ptr %34, align 4, !tbaa !9
  %427 = fcmp oge float %425, %426
  br i1 %427, label %428, label %430

428:                                              ; preds = %423
  %429 = load float, ptr %33, align 4, !tbaa !9
  br label %432

430:                                              ; preds = %423
  %431 = load float, ptr %34, align 4, !tbaa !9
  br label %432

432:                                              ; preds = %430, %428
  %433 = phi float [ %429, %428 ], [ %431, %430 ]
  %434 = fcmp oeq float %433, 0.000000e+00
  br i1 %434, label %435, label %436

435:                                              ; preds = %432
  store float 1.000000e+00, ptr %23, align 4, !tbaa !9
  store float 0.000000e+00, ptr %35, align 4, !tbaa !9
  br label %441

436:                                              ; preds = %432
  %437 = load ptr, ptr %15, align 8, !tbaa !5
  %438 = load float, ptr %437, align 4, !tbaa !9
  %439 = fneg float %438
  store float %439, ptr %23, align 4, !tbaa !9
  %440 = load float, ptr %29, align 4, !tbaa !9
  store float %440, ptr %35, align 4, !tbaa !9
  br label %441

441:                                              ; preds = %436, %435
  %442 = load float, ptr %23, align 4, !tbaa !9
  %443 = fcmp oge float %442, 0.000000e+00
  br i1 %443, label %444, label %446

444:                                              ; preds = %441
  %445 = load float, ptr %23, align 4, !tbaa !9
  br label %449

446:                                              ; preds = %441
  %447 = load float, ptr %23, align 4, !tbaa !9
  %448 = fneg float %447
  br label %449

449:                                              ; preds = %446, %444
  %450 = phi float [ %445, %444 ], [ %448, %446 ]
  store float %450, ptr %19, align 4, !tbaa !9
  %451 = load float, ptr %35, align 4, !tbaa !9
  %452 = fcmp oge float %451, 0.000000e+00
  br i1 %452, label %453, label %455

453:                                              ; preds = %449
  %454 = load float, ptr %35, align 4, !tbaa !9
  br label %458

455:                                              ; preds = %449
  %456 = load float, ptr %35, align 4, !tbaa !9
  %457 = fneg float %456
  br label %458

458:                                              ; preds = %455, %453
  %459 = phi float [ %454, %453 ], [ %457, %455 ]
  store float %459, ptr %20, align 4, !tbaa !9
  %460 = load float, ptr %19, align 4, !tbaa !9
  %461 = load float, ptr %20, align 4, !tbaa !9
  %462 = fcmp oge float %460, %461
  br i1 %462, label %463, label %465

463:                                              ; preds = %458
  %464 = load float, ptr %19, align 4, !tbaa !9
  br label %467

465:                                              ; preds = %458
  %466 = load float, ptr %20, align 4, !tbaa !9
  br label %467

467:                                              ; preds = %465, %463
  %468 = phi float [ %464, %463 ], [ %466, %465 ]
  store float %468, ptr %31, align 4, !tbaa !9
  %469 = load float, ptr %23, align 4, !tbaa !9
  %470 = load float, ptr %31, align 4, !tbaa !9
  %471 = fdiv float %469, %470
  %472 = load ptr, ptr %17, align 8, !tbaa !5
  store float %471, ptr %472, align 4, !tbaa !9
  %473 = load float, ptr %35, align 4, !tbaa !9
  %474 = load float, ptr %31, align 4, !tbaa !9
  %475 = fdiv float %473, %474
  %476 = load ptr, ptr %18, align 8, !tbaa !5
  store float %475, ptr %476, align 4, !tbaa !9
  %477 = load ptr, ptr %17, align 8, !tbaa !5
  %478 = load float, ptr %477, align 4, !tbaa !9
  %479 = load ptr, ptr %17, align 8, !tbaa !5
  %480 = load float, ptr %479, align 4, !tbaa !9
  %481 = load ptr, ptr %18, align 8, !tbaa !5
  %482 = load float, ptr %481, align 4, !tbaa !9
  %483 = load ptr, ptr %18, align 8, !tbaa !5
  %484 = load float, ptr %483, align 4, !tbaa !9
  %485 = fmul float %482, %484
  %486 = call float @llvm.fmuladd.f32(float %478, float %480, float %485)
  %487 = fpext float %486 to double
  %488 = call double @sqrt(double noundef %487) #5
  %489 = fptrunc double %488 to float
  store float %489, ptr %38, align 4, !tbaa !9
  %490 = load float, ptr %38, align 4, !tbaa !9
  %491 = load ptr, ptr %17, align 8, !tbaa !5
  %492 = load float, ptr %491, align 4, !tbaa !9
  %493 = fdiv float %492, %490
  store float %493, ptr %491, align 4, !tbaa !9
  %494 = load float, ptr %38, align 4, !tbaa !9
  %495 = load ptr, ptr %18, align 8, !tbaa !5
  %496 = load float, ptr %495, align 4, !tbaa !9
  %497 = fdiv float %496, %494
  store float %497, ptr %495, align 4, !tbaa !9
  store i32 1, ptr %39, align 4
  br label %868

498:                                              ; preds = %419
  %499 = load float, ptr %33, align 4, !tbaa !9
  %500 = load float, ptr %37, align 4, !tbaa !9
  %501 = load float, ptr %36, align 4, !tbaa !9
  %502 = fmul float %500, %501
  %503 = fcmp ole float %499, %502
  br i1 %503, label %504, label %509

504:                                              ; preds = %498
  %505 = load ptr, ptr %17, align 8, !tbaa !5
  store float 0.000000e+00, ptr %505, align 4, !tbaa !9
  %506 = load ptr, ptr %18, align 8, !tbaa !5
  store float 1.000000e+00, ptr %506, align 4, !tbaa !9
  %507 = load float, ptr %33, align 4, !tbaa !9
  %508 = load ptr, ptr %16, align 8, !tbaa !5
  store float %507, ptr %508, align 4, !tbaa !9
  store i32 1, ptr %39, align 4
  br label %868

509:                                              ; preds = %498
  %510 = load float, ptr %34, align 4, !tbaa !9
  %511 = load float, ptr %37, align 4, !tbaa !9
  %512 = load float, ptr %36, align 4, !tbaa !9
  %513 = fmul float %511, %512
  %514 = fcmp ole float %510, %513
  br i1 %514, label %515, label %532

515:                                              ; preds = %509
  %516 = load float, ptr %33, align 4, !tbaa !9
  store float %516, ptr %31, align 4, !tbaa !9
  %517 = load float, ptr %36, align 4, !tbaa !9
  store float %517, ptr %32, align 4, !tbaa !9
  %518 = load float, ptr %31, align 4, !tbaa !9
  %519 = load float, ptr %32, align 4, !tbaa !9
  %520 = fcmp ole float %518, %519
  br i1 %520, label %521, label %526

521:                                              ; preds = %515
  %522 = load ptr, ptr %17, align 8, !tbaa !5
  store float 0.000000e+00, ptr %522, align 4, !tbaa !9
  %523 = load ptr, ptr %18, align 8, !tbaa !5
  store float 1.000000e+00, ptr %523, align 4, !tbaa !9
  %524 = load float, ptr %31, align 4, !tbaa !9
  %525 = load ptr, ptr %16, align 8, !tbaa !5
  store float %524, ptr %525, align 4, !tbaa !9
  br label %531

526:                                              ; preds = %515
  %527 = load ptr, ptr %17, align 8, !tbaa !5
  store float 1.000000e+00, ptr %527, align 4, !tbaa !9
  %528 = load ptr, ptr %18, align 8, !tbaa !5
  store float 0.000000e+00, ptr %528, align 4, !tbaa !9
  %529 = load float, ptr %32, align 4, !tbaa !9
  %530 = load ptr, ptr %16, align 8, !tbaa !5
  store float %529, ptr %530, align 4, !tbaa !9
  br label %531

531:                                              ; preds = %526, %521
  store i32 1, ptr %39, align 4
  br label %868

532:                                              ; preds = %509
  %533 = load float, ptr %36, align 4, !tbaa !9
  %534 = load float, ptr %37, align 4, !tbaa !9
  %535 = load float, ptr %34, align 4, !tbaa !9
  %536 = fmul float %534, %535
  %537 = fcmp ole float %533, %536
  br i1 %537, label %544, label %538

538:                                              ; preds = %532
  %539 = load float, ptr %36, align 4, !tbaa !9
  %540 = load float, ptr %37, align 4, !tbaa !9
  %541 = load float, ptr %33, align 4, !tbaa !9
  %542 = fmul float %540, %541
  %543 = fcmp ole float %539, %542
  br i1 %543, label %544, label %661

544:                                              ; preds = %538, %532
  %545 = load float, ptr %33, align 4, !tbaa !9
  store float %545, ptr %31, align 4, !tbaa !9
  %546 = load float, ptr %34, align 4, !tbaa !9
  store float %546, ptr %32, align 4, !tbaa !9
  %547 = load float, ptr %31, align 4, !tbaa !9
  %548 = load float, ptr %32, align 4, !tbaa !9
  %549 = fcmp ole float %547, %548
  br i1 %549, label %550, label %606

550:                                              ; preds = %544
  %551 = load float, ptr %31, align 4, !tbaa !9
  %552 = load float, ptr %32, align 4, !tbaa !9
  %553 = fdiv float %551, %552
  store float %553, ptr %38, align 4, !tbaa !9
  %554 = load float, ptr %38, align 4, !tbaa !9
  %555 = load float, ptr %38, align 4, !tbaa !9
  %556 = call float @llvm.fmuladd.f32(float %554, float %555, float 1.000000e+00)
  %557 = fpext float %556 to double
  %558 = call double @sqrt(double noundef %557) #5
  %559 = fptrunc double %558 to float
  %560 = load ptr, ptr %18, align 8, !tbaa !5
  store float %559, ptr %560, align 4, !tbaa !9
  %561 = load float, ptr %36, align 4, !tbaa !9
  %562 = load float, ptr %38, align 4, !tbaa !9
  %563 = load ptr, ptr %18, align 8, !tbaa !5
  %564 = load float, ptr %563, align 4, !tbaa !9
  %565 = fdiv float %562, %564
  %566 = fmul float %561, %565
  %567 = load ptr, ptr %16, align 8, !tbaa !5
  store float %566, ptr %567, align 4, !tbaa !9
  %568 = load ptr, ptr %15, align 8, !tbaa !5
  %569 = load float, ptr %568, align 4, !tbaa !9
  %570 = load float, ptr %32, align 4, !tbaa !9
  %571 = fdiv float %569, %570
  %572 = fneg float %571
  %573 = load ptr, ptr %18, align 8, !tbaa !5
  %574 = load float, ptr %573, align 4, !tbaa !9
  %575 = fdiv float %572, %574
  %576 = load ptr, ptr %17, align 8, !tbaa !5
  store float %575, ptr %576, align 4, !tbaa !9
  %577 = load float, ptr %29, align 4, !tbaa !9
  %578 = fcmp oge float %577, 0.000000e+00
  br i1 %578, label %579, label %589

579:                                              ; preds = %550
  %580 = load float, ptr @c_b5, align 4, !tbaa !9
  %581 = fcmp oge float %580, 0.000000e+00
  br i1 %581, label %582, label %584

582:                                              ; preds = %579
  %583 = load float, ptr @c_b5, align 4, !tbaa !9
  br label %587

584:                                              ; preds = %579
  %585 = load float, ptr @c_b5, align 4, !tbaa !9
  %586 = fneg float %585
  br label %587

587:                                              ; preds = %584, %582
  %588 = phi float [ %583, %582 ], [ %586, %584 ]
  br label %600

589:                                              ; preds = %550
  %590 = load float, ptr @c_b5, align 4, !tbaa !9
  %591 = fcmp oge float %590, 0.000000e+00
  br i1 %591, label %592, label %594

592:                                              ; preds = %589
  %593 = load float, ptr @c_b5, align 4, !tbaa !9
  br label %597

594:                                              ; preds = %589
  %595 = load float, ptr @c_b5, align 4, !tbaa !9
  %596 = fneg float %595
  br label %597

597:                                              ; preds = %594, %592
  %598 = phi float [ %593, %592 ], [ %596, %594 ]
  %599 = fneg float %598
  br label %600

600:                                              ; preds = %597, %587
  %601 = phi float [ %588, %587 ], [ %599, %597 ]
  %602 = load ptr, ptr %18, align 8, !tbaa !5
  %603 = load float, ptr %602, align 4, !tbaa !9
  %604 = fdiv float %601, %603
  %605 = load ptr, ptr %18, align 8, !tbaa !5
  store float %604, ptr %605, align 4, !tbaa !9
  br label %660

606:                                              ; preds = %544
  %607 = load float, ptr %32, align 4, !tbaa !9
  %608 = load float, ptr %31, align 4, !tbaa !9
  %609 = fdiv float %607, %608
  store float %609, ptr %38, align 4, !tbaa !9
  %610 = load float, ptr %38, align 4, !tbaa !9
  %611 = load float, ptr %38, align 4, !tbaa !9
  %612 = call float @llvm.fmuladd.f32(float %610, float %611, float 1.000000e+00)
  %613 = fpext float %612 to double
  %614 = call double @sqrt(double noundef %613) #5
  %615 = fptrunc double %614 to float
  %616 = load ptr, ptr %17, align 8, !tbaa !5
  store float %615, ptr %616, align 4, !tbaa !9
  %617 = load float, ptr %36, align 4, !tbaa !9
  %618 = load ptr, ptr %17, align 8, !tbaa !5
  %619 = load float, ptr %618, align 4, !tbaa !9
  %620 = fdiv float %617, %619
  %621 = load ptr, ptr %16, align 8, !tbaa !5
  store float %620, ptr %621, align 4, !tbaa !9
  %622 = load float, ptr %29, align 4, !tbaa !9
  %623 = load float, ptr %31, align 4, !tbaa !9
  %624 = fdiv float %622, %623
  %625 = load ptr, ptr %17, align 8, !tbaa !5
  %626 = load float, ptr %625, align 4, !tbaa !9
  %627 = fdiv float %624, %626
  %628 = load ptr, ptr %18, align 8, !tbaa !5
  store float %627, ptr %628, align 4, !tbaa !9
  %629 = load ptr, ptr %15, align 8, !tbaa !5
  %630 = load float, ptr %629, align 4, !tbaa !9
  %631 = fcmp oge float %630, 0.000000e+00
  br i1 %631, label %632, label %642

632:                                              ; preds = %606
  %633 = load float, ptr @c_b5, align 4, !tbaa !9
  %634 = fcmp oge float %633, 0.000000e+00
  br i1 %634, label %635, label %637

635:                                              ; preds = %632
  %636 = load float, ptr @c_b5, align 4, !tbaa !9
  br label %640

637:                                              ; preds = %632
  %638 = load float, ptr @c_b5, align 4, !tbaa !9
  %639 = fneg float %638
  br label %640

640:                                              ; preds = %637, %635
  %641 = phi float [ %636, %635 ], [ %639, %637 ]
  br label %653

642:                                              ; preds = %606
  %643 = load float, ptr @c_b5, align 4, !tbaa !9
  %644 = fcmp oge float %643, 0.000000e+00
  br i1 %644, label %645, label %647

645:                                              ; preds = %642
  %646 = load float, ptr @c_b5, align 4, !tbaa !9
  br label %650

647:                                              ; preds = %642
  %648 = load float, ptr @c_b5, align 4, !tbaa !9
  %649 = fneg float %648
  br label %650

650:                                              ; preds = %647, %645
  %651 = phi float [ %646, %645 ], [ %649, %647 ]
  %652 = fneg float %651
  br label %653

653:                                              ; preds = %650, %640
  %654 = phi float [ %641, %640 ], [ %652, %650 ]
  %655 = fneg float %654
  %656 = load ptr, ptr %17, align 8, !tbaa !5
  %657 = load float, ptr %656, align 4, !tbaa !9
  %658 = fdiv float %655, %657
  %659 = load ptr, ptr %17, align 8, !tbaa !5
  store float %658, ptr %659, align 4, !tbaa !9
  br label %660

660:                                              ; preds = %653, %600
  store i32 1, ptr %39, align 4
  br label %868

661:                                              ; preds = %538
  %662 = load float, ptr %29, align 4, !tbaa !9
  %663 = load float, ptr %36, align 4, !tbaa !9
  %664 = fdiv float %662, %663
  store float %664, ptr %25, align 4, !tbaa !9
  %665 = load ptr, ptr %15, align 8, !tbaa !5
  %666 = load float, ptr %665, align 4, !tbaa !9
  %667 = load float, ptr %36, align 4, !tbaa !9
  %668 = fdiv float %666, %667
  store float %668, ptr %26, align 4, !tbaa !9
  %669 = load float, ptr %25, align 4, !tbaa !9
  %670 = load float, ptr %25, align 4, !tbaa !9
  %671 = call float @llvm.fmuladd.f32(float %669, float %670, float 1.000000e+00)
  %672 = load float, ptr %25, align 4, !tbaa !9
  %673 = load float, ptr %26, align 4, !tbaa !9
  %674 = fmul float %672, %673
  store float %674, ptr %19, align 4, !tbaa !9
  %675 = load float, ptr %19, align 4, !tbaa !9
  %676 = fcmp oge float %675, 0.000000e+00
  br i1 %676, label %677, label %679

677:                                              ; preds = %661
  %678 = load float, ptr %19, align 4, !tbaa !9
  br label %682

679:                                              ; preds = %661
  %680 = load float, ptr %19, align 4, !tbaa !9
  %681 = fneg float %680
  br label %682

682:                                              ; preds = %679, %677
  %683 = phi float [ %678, %677 ], [ %681, %679 ]
  %684 = fadd float %671, %683
  store float %684, ptr %21, align 4, !tbaa !9
  %685 = load float, ptr %25, align 4, !tbaa !9
  %686 = load float, ptr %26, align 4, !tbaa !9
  %687 = fmul float %685, %686
  store float %687, ptr %20, align 4, !tbaa !9
  %688 = load float, ptr %20, align 4, !tbaa !9
  %689 = fcmp oge float %688, 0.000000e+00
  br i1 %689, label %690, label %692

690:                                              ; preds = %682
  %691 = load float, ptr %20, align 4, !tbaa !9
  br label %695

692:                                              ; preds = %682
  %693 = load float, ptr %20, align 4, !tbaa !9
  %694 = fneg float %693
  br label %695

695:                                              ; preds = %692, %690
  %696 = phi float [ %691, %690 ], [ %694, %692 ]
  %697 = load float, ptr %26, align 4, !tbaa !9
  %698 = load float, ptr %26, align 4, !tbaa !9
  %699 = call float @llvm.fmuladd.f32(float %697, float %698, float %696)
  store float %699, ptr %22, align 4, !tbaa !9
  %700 = load float, ptr %21, align 4, !tbaa !9
  %701 = load float, ptr %22, align 4, !tbaa !9
  %702 = fcmp oge float %700, %701
  br i1 %702, label %703, label %705

703:                                              ; preds = %695
  %704 = load float, ptr %21, align 4, !tbaa !9
  br label %707

705:                                              ; preds = %695
  %706 = load float, ptr %22, align 4, !tbaa !9
  br label %707

707:                                              ; preds = %705, %703
  %708 = phi float [ %704, %703 ], [ %706, %705 ]
  store float %708, ptr %30, align 4, !tbaa !9
  %709 = load float, ptr %25, align 4, !tbaa !9
  %710 = load float, ptr %26, align 4, !tbaa !9
  %711 = fsub float %709, %710
  %712 = fmul float %711, 2.000000e+00
  %713 = load float, ptr %25, align 4, !tbaa !9
  %714 = load float, ptr %26, align 4, !tbaa !9
  %715 = fadd float %713, %714
  %716 = call float @llvm.fmuladd.f32(float %712, float %715, float 1.000000e+00)
  store float %716, ptr %24, align 4, !tbaa !9
  %717 = load float, ptr %24, align 4, !tbaa !9
  %718 = fcmp oge float %717, 0.000000e+00
  br i1 %718, label %719, label %779

719:                                              ; preds = %707
  %720 = load float, ptr %25, align 4, !tbaa !9
  %721 = load float, ptr %25, align 4, !tbaa !9
  %722 = load float, ptr %26, align 4, !tbaa !9
  %723 = load float, ptr %26, align 4, !tbaa !9
  %724 = fmul float %722, %723
  %725 = call float @llvm.fmuladd.f32(float %720, float %721, float %724)
  %726 = fadd float %725, 1.000000e+00
  %727 = fmul float %726, 5.000000e-01
  store float %727, ptr %27, align 4, !tbaa !9
  %728 = load float, ptr %26, align 4, !tbaa !9
  %729 = load float, ptr %26, align 4, !tbaa !9
  %730 = fmul float %728, %729
  %731 = load ptr, ptr %18, align 8, !tbaa !5
  store float %730, ptr %731, align 4, !tbaa !9
  %732 = load ptr, ptr %18, align 8, !tbaa !5
  %733 = load float, ptr %732, align 4, !tbaa !9
  %734 = fpext float %733 to double
  %735 = load float, ptr %27, align 4, !tbaa !9
  %736 = fpext float %735 to double
  %737 = load float, ptr %27, align 4, !tbaa !9
  %738 = load float, ptr %27, align 4, !tbaa !9
  %739 = load ptr, ptr %18, align 8, !tbaa !5
  %740 = load float, ptr %739, align 4, !tbaa !9
  %741 = fneg float %740
  %742 = call float @llvm.fmuladd.f32(float %737, float %738, float %741)
  store float %742, ptr %19, align 4, !tbaa !9
  %743 = load float, ptr %19, align 4, !tbaa !9
  %744 = fcmp oge float %743, 0.000000e+00
  br i1 %744, label %745, label %747

745:                                              ; preds = %719
  %746 = load float, ptr %19, align 4, !tbaa !9
  br label %750

747:                                              ; preds = %719
  %748 = load float, ptr %19, align 4, !tbaa !9
  %749 = fneg float %748
  br label %750

750:                                              ; preds = %747, %745
  %751 = phi float [ %746, %745 ], [ %749, %747 ]
  %752 = fpext float %751 to double
  %753 = call double @sqrt(double noundef %752) #5
  %754 = fadd double %736, %753
  %755 = fdiv double %734, %754
  %756 = fptrunc double %755 to float
  store float %756, ptr %28, align 4, !tbaa !9
  %757 = load float, ptr %25, align 4, !tbaa !9
  %758 = load float, ptr %28, align 4, !tbaa !9
  %759 = fsub float 1.000000e+00, %758
  %760 = fdiv float %757, %759
  store float %760, ptr %23, align 4, !tbaa !9
  %761 = load float, ptr %26, align 4, !tbaa !9
  %762 = fneg float %761
  %763 = load float, ptr %28, align 4, !tbaa !9
  %764 = fdiv float %762, %763
  store float %764, ptr %35, align 4, !tbaa !9
  %765 = load float, ptr %28, align 4, !tbaa !9
  %766 = load float, ptr %37, align 4, !tbaa !9
  %767 = fmul float %766, 4.000000e+00
  %768 = load float, ptr %37, align 4, !tbaa !9
  %769 = fmul float %767, %768
  %770 = load float, ptr %30, align 4, !tbaa !9
  %771 = call float @llvm.fmuladd.f32(float %769, float %770, float %765)
  %772 = fpext float %771 to double
  %773 = call double @sqrt(double noundef %772) #5
  %774 = load float, ptr %36, align 4, !tbaa !9
  %775 = fpext float %774 to double
  %776 = fmul double %773, %775
  %777 = fptrunc double %776 to float
  %778 = load ptr, ptr %16, align 8, !tbaa !5
  store float %777, ptr %778, align 4, !tbaa !9
  br label %848

779:                                              ; preds = %707
  %780 = load float, ptr %26, align 4, !tbaa !9
  %781 = load float, ptr %26, align 4, !tbaa !9
  %782 = load float, ptr %25, align 4, !tbaa !9
  %783 = load float, ptr %25, align 4, !tbaa !9
  %784 = fmul float %782, %783
  %785 = call float @llvm.fmuladd.f32(float %780, float %781, float %784)
  %786 = fsub float %785, 1.000000e+00
  %787 = fmul float %786, 5.000000e-01
  store float %787, ptr %27, align 4, !tbaa !9
  %788 = load float, ptr %25, align 4, !tbaa !9
  %789 = load float, ptr %25, align 4, !tbaa !9
  %790 = fmul float %788, %789
  %791 = load ptr, ptr %18, align 8, !tbaa !5
  store float %790, ptr %791, align 4, !tbaa !9
  %792 = load float, ptr %27, align 4, !tbaa !9
  %793 = fcmp oge float %792, 0.000000e+00
  br i1 %793, label %794, label %811

794:                                              ; preds = %779
  %795 = load ptr, ptr %18, align 8, !tbaa !5
  %796 = load float, ptr %795, align 4, !tbaa !9
  %797 = fneg float %796
  %798 = fpext float %797 to double
  %799 = load float, ptr %27, align 4, !tbaa !9
  %800 = fpext float %799 to double
  %801 = load float, ptr %27, align 4, !tbaa !9
  %802 = load float, ptr %27, align 4, !tbaa !9
  %803 = load ptr, ptr %18, align 8, !tbaa !5
  %804 = load float, ptr %803, align 4, !tbaa !9
  %805 = call float @llvm.fmuladd.f32(float %801, float %802, float %804)
  %806 = fpext float %805 to double
  %807 = call double @sqrt(double noundef %806) #5
  %808 = fadd double %800, %807
  %809 = fdiv double %798, %808
  %810 = fptrunc double %809 to float
  store float %810, ptr %28, align 4, !tbaa !9
  br label %823

811:                                              ; preds = %779
  %812 = load float, ptr %27, align 4, !tbaa !9
  %813 = fpext float %812 to double
  %814 = load float, ptr %27, align 4, !tbaa !9
  %815 = load float, ptr %27, align 4, !tbaa !9
  %816 = load ptr, ptr %18, align 8, !tbaa !5
  %817 = load float, ptr %816, align 4, !tbaa !9
  %818 = call float @llvm.fmuladd.f32(float %814, float %815, float %817)
  %819 = fpext float %818 to double
  %820 = call double @sqrt(double noundef %819) #5
  %821 = fsub double %813, %820
  %822 = fptrunc double %821 to float
  store float %822, ptr %28, align 4, !tbaa !9
  br label %823

823:                                              ; preds = %811, %794
  %824 = load float, ptr %25, align 4, !tbaa !9
  %825 = fneg float %824
  %826 = load float, ptr %28, align 4, !tbaa !9
  %827 = fdiv float %825, %826
  store float %827, ptr %23, align 4, !tbaa !9
  %828 = load float, ptr %26, align 4, !tbaa !9
  %829 = fneg float %828
  %830 = load float, ptr %28, align 4, !tbaa !9
  %831 = fadd float %830, 1.000000e+00
  %832 = fdiv float %829, %831
  store float %832, ptr %35, align 4, !tbaa !9
  %833 = load float, ptr %28, align 4, !tbaa !9
  %834 = fadd float %833, 1.000000e+00
  %835 = load float, ptr %37, align 4, !tbaa !9
  %836 = fmul float %835, 4.000000e+00
  %837 = load float, ptr %37, align 4, !tbaa !9
  %838 = fmul float %836, %837
  %839 = load float, ptr %30, align 4, !tbaa !9
  %840 = call float @llvm.fmuladd.f32(float %838, float %839, float %834)
  %841 = fpext float %840 to double
  %842 = call double @sqrt(double noundef %841) #5
  %843 = load float, ptr %36, align 4, !tbaa !9
  %844 = fpext float %843 to double
  %845 = fmul double %842, %844
  %846 = fptrunc double %845 to float
  %847 = load ptr, ptr %16, align 8, !tbaa !5
  store float %846, ptr %847, align 4, !tbaa !9
  br label %848

848:                                              ; preds = %823, %750
  %849 = load float, ptr %23, align 4, !tbaa !9
  %850 = load float, ptr %23, align 4, !tbaa !9
  %851 = load float, ptr %35, align 4, !tbaa !9
  %852 = load float, ptr %35, align 4, !tbaa !9
  %853 = fmul float %851, %852
  %854 = call float @llvm.fmuladd.f32(float %849, float %850, float %853)
  %855 = fpext float %854 to double
  %856 = call double @sqrt(double noundef %855) #5
  %857 = fptrunc double %856 to float
  store float %857, ptr %38, align 4, !tbaa !9
  %858 = load float, ptr %23, align 4, !tbaa !9
  %859 = load float, ptr %38, align 4, !tbaa !9
  %860 = fdiv float %858, %859
  %861 = load ptr, ptr %17, align 8, !tbaa !5
  store float %860, ptr %861, align 4, !tbaa !9
  %862 = load float, ptr %35, align 4, !tbaa !9
  %863 = load float, ptr %38, align 4, !tbaa !9
  %864 = fdiv float %862, %863
  %865 = load ptr, ptr %18, align 8, !tbaa !5
  store float %864, ptr %865, align 4, !tbaa !9
  store i32 1, ptr %39, align 4
  br label %868

866:                                              ; preds = %415
  br label %867

867:                                              ; preds = %866
  store i32 1, ptr %39, align 4
  br label %868

868:                                              ; preds = %867, %848, %660, %531, %504, %467, %379, %327, %202, %159, %142
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #5
  ret void
}

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

declare float @slamch_(ptr noundef) #2

declare float @sdot_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

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

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

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

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
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 = !{!"float", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}


; 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
@c__1 = external hidden global i32, align 4
@c_b5 = external hidden local_unnamed_addr global float, align 4

; Function Attrs: nounwind uwtable
define dso_local void @slaic1_(ptr nocapture noundef readonly %0, ptr noundef %1, ptr noundef %2, ptr nocapture noundef readonly %3, ptr noundef %4, ptr nocapture noundef readonly %5, ptr nocapture noundef writeonly %6, ptr nocapture noundef %7, ptr nocapture noundef %8) local_unnamed_addr #0 {
  %10 = tail call float @slamch_(ptr noundef nonnull @.str) #5
  %11 = tail call float @sdot_(ptr noundef %1, ptr noundef %2, ptr noundef nonnull @c__1, ptr noundef %4, ptr noundef nonnull @c__1) #5
  %12 = fcmp oge float %11, 0.000000e+00
  %13 = fneg float %11
  %14 = select i1 %12, float %11, float %13
  %15 = load float, ptr %5, align 4, !tbaa !5
  %16 = fcmp ult float %15, 0.000000e+00
  %17 = fneg float %15
  %18 = select i1 %16, float %17, float %15
  %19 = load float, ptr %3, align 4, !tbaa !5
  %20 = fcmp ult float %19, 0.000000e+00
  %21 = fneg float %19
  %22 = select i1 %20, float %21, float %19
  %23 = load i32, ptr %0, align 4, !tbaa !9
  switch i32 %23, label %308 [
    i32 1, label %24
    i32 2, label %141
  ]

24:                                               ; preds = %9
  %25 = fcmp oeq float %19, 0.000000e+00
  br i1 %25, label %26, label %43

26:                                               ; preds = %24
  %27 = fcmp oge float %18, %14
  %28 = select i1 %27, float %18, float %14
  %29 = fcmp oeq float %28, 0.000000e+00
  br i1 %29, label %30, label %31

30:                                               ; preds = %26
  store float 0.000000e+00, ptr %7, align 4, !tbaa !5
  br label %42

31:                                               ; preds = %26
  %32 = fdiv float %11, %28
  store float %32, ptr %7, align 4, !tbaa !5
  %33 = load float, ptr %5, align 4, !tbaa !5
  %34 = fdiv float %33, %28
  store float %34, ptr %8, align 4, !tbaa !5
  %35 = load float, ptr %7, align 4, !tbaa !5
  %36 = fmul float %34, %34
  %37 = tail call float @llvm.fmuladd.f32(float %35, float %35, float %36)
  %sqrt = tail call float @llvm.sqrt.f32(float %37)
  %38 = fdiv float %35, %sqrt
  store float %38, ptr %7, align 4, !tbaa !5
  %39 = load float, ptr %8, align 4, !tbaa !5
  %40 = fdiv float %39, %sqrt
  %41 = fmul float %28, %sqrt
  br label %42

42:                                               ; preds = %31, %30
  %.sink = phi float [ 1.000000e+00, %30 ], [ %40, %31 ]
  %storemerge376 = phi float [ 0.000000e+00, %30 ], [ %41, %31 ]
  store float %.sink, ptr %8, align 4
  store float %storemerge376, ptr %6, align 4, !tbaa !5
  br label %308

43:                                               ; preds = %24
  %44 = fmul float %10, %22
  %45 = fcmp ugt float %18, %44
  br i1 %45, label %57, label %46

46:                                               ; preds = %43
  store float 1.000000e+00, ptr %7, align 4, !tbaa !5
  store float 0.000000e+00, ptr %8, align 4, !tbaa !5
  %47 = fcmp oge float %22, %14
  %48 = select i1 %47, float %22, float %14
  %49 = fdiv float %22, %48
  %50 = fdiv float %14, %48
  %51 = fpext float %48 to double
  %52 = fmul float %50, %50
  %53 = tail call float @llvm.fmuladd.f32(float %49, float %49, float %52)
  %54 = fpext float %53 to double
  %sqrt385 = tail call double @llvm.sqrt.f64(double %54)
  %55 = fmul double %sqrt385, %51
  %56 = fptrunc double %55 to float
  store float %56, ptr %6, align 4, !tbaa !5
  br label %308

57:                                               ; preds = %43
  %58 = fcmp ugt float %14, %44
  br i1 %58, label %61, label %59

59:                                               ; preds = %57
  %60 = fcmp ugt float %18, %22
  %. = select i1 %60, float 0.000000e+00, float 1.000000e+00
  %.377 = select i1 %60, float 1.000000e+00, float 0.000000e+00
  %.378 = select i1 %60, float %18, float %22
  store float %., ptr %7, align 4, !tbaa !5
  store float %.377, ptr %8, align 4, !tbaa !5
  store float %.378, ptr %6, align 4, !tbaa !5
  br label %308

61:                                               ; preds = %57
  %62 = fmul float %10, %14
  %63 = fcmp ugt float %22, %62
  %64 = fmul float %10, %18
  %65 = fcmp ugt float %22, %64
  %or.cond = select i1 %63, i1 %65, i1 false
  br i1 %or.cond, label %106, label %66

66:                                               ; preds = %61
  %67 = fcmp ugt float %18, %14
  br i1 %67, label %87, label %68

68:                                               ; preds = %66
  %69 = fdiv float %18, %14
  %70 = tail call float @llvm.fmuladd.f32(float %69, float %69, float 1.000000e+00)
  %sqrt386 = tail call float @llvm.sqrt.f32(float %70)
  store float %sqrt386, ptr %7, align 4, !tbaa !5
  %71 = fmul float %14, %sqrt386
  store float %71, ptr %6, align 4, !tbaa !5
  %72 = load float, ptr %5, align 4, !tbaa !5
  %73 = fdiv float %72, %14
  %74 = load float, ptr %7, align 4, !tbaa !5
  %75 = fdiv float %73, %74
  store float %75, ptr %8, align 4, !tbaa !5
  %76 = load float, ptr @c_b5, align 4
  %77 = fcmp oge float %76, 0.000000e+00
  %78 = fneg float %76
  br i1 %12, label %79, label %81

79:                                               ; preds = %68
  %80 = select i1 %77, float %76, float %78
  br label %83

81:                                               ; preds = %68
  %82 = select i1 %77, float %78, float %76
  br label %83

83:                                               ; preds = %81, %79
  %84 = phi float [ %80, %79 ], [ %82, %81 ]
  %85 = load float, ptr %7, align 4, !tbaa !5
  %86 = fdiv float %84, %85
  store float %86, ptr %7, align 4, !tbaa !5
  br label %308

87:                                               ; preds = %66
  %88 = fdiv float %14, %18
  %89 = tail call float @llvm.fmuladd.f32(float %88, float %88, float 1.000000e+00)
  %sqrt387 = tail call float @llvm.sqrt.f32(float %89)
  store float %sqrt387, ptr %8, align 4, !tbaa !5
  %90 = fmul float %18, %sqrt387
  store float %90, ptr %6, align 4, !tbaa !5
  %91 = fdiv float %11, %18
  %92 = load float, ptr %8, align 4, !tbaa !5
  %93 = fdiv float %91, %92
  store float %93, ptr %7, align 4, !tbaa !5
  %94 = load float, ptr %5, align 4, !tbaa !5
  %95 = fcmp ult float %94, 0.000000e+00
  %96 = load float, ptr @c_b5, align 4
  %97 = fcmp oge float %96, 0.000000e+00
  %.neg369 = fneg float %96
  br i1 %95, label %100, label %98

98:                                               ; preds = %87
  %99 = select i1 %97, float %96, float %.neg369
  br label %102

100:                                              ; preds = %87
  %101 = select i1 %97, float %.neg369, float %96
  br label %102

102:                                              ; preds = %100, %98
  %103 = phi float [ %99, %98 ], [ %101, %100 ]
  %104 = load float, ptr %8, align 4, !tbaa !5
  %105 = fdiv float %103, %104
  store float %105, ptr %8, align 4, !tbaa !5
  br label %308

106:                                              ; preds = %61
  %107 = fdiv float %11, %22
  %108 = fdiv float %15, %22
  %109 = fneg float %107
  %110 = tail call float @llvm.fmuladd.f32(float %109, float %107, float 1.000000e+00)
  %111 = fneg float %108
  %112 = tail call float @llvm.fmuladd.f32(float %111, float %108, float %110)
  %113 = fmul float %112, 5.000000e-01
  %114 = fmul float %107, %107
  %115 = fcmp ogt float %113, 0.000000e+00
  br i1 %115, label %116, label %123

116:                                              ; preds = %106
  %117 = fpext float %114 to double
  %118 = fpext float %113 to double
  %119 = tail call float @llvm.fmuladd.f32(float %113, float %113, float %114)
  %120 = fpext float %119 to double
  %sqrt388 = tail call double @llvm.sqrt.f64(double %120)
  %121 = fadd double %sqrt388, %118
  %122 = fdiv double %117, %121
  br label %128

123:                                              ; preds = %106
  %124 = tail call float @llvm.fmuladd.f32(float %113, float %113, float %114)
  %125 = fpext float %124 to double
  %sqrt389 = tail call double @llvm.sqrt.f64(double %125)
  %126 = fpext float %113 to double
  %127 = fsub double %sqrt389, %126
  br label %128

128:                                              ; preds = %123, %116
  %.0340.in = phi double [ %122, %116 ], [ %127, %123 ]
  %.0340 = fptrunc double %.0340.in to float
  %129 = fdiv float %109, %.0340
  %130 = fadd float %.0340, 1.000000e+00
  %131 = fdiv float %111, %130
  %132 = fmul float %131, %131
  %133 = tail call float @llvm.fmuladd.f32(float %129, float %129, float %132)
  %sqrt390 = tail call float @llvm.sqrt.f32(float %133)
  %134 = fdiv float %129, %sqrt390
  store float %134, ptr %7, align 4, !tbaa !5
  %135 = fdiv float %131, %sqrt390
  store float %135, ptr %8, align 4, !tbaa !5
  %136 = fpext float %130 to double
  %137 = tail call double @sqrt(double noundef %136) #5
  %138 = fpext float %22 to double
  %139 = fmul double %137, %138
  %140 = fptrunc double %139 to float
  store float %140, ptr %6, align 4, !tbaa !5
  br label %308

141:                                              ; preds = %9
  %142 = fcmp oeq float %19, 0.000000e+00
  br i1 %142, label %143, label %166

143:                                              ; preds = %141
  store float 0.000000e+00, ptr %6, align 4, !tbaa !5
  %144 = fcmp oge float %18, %14
  %145 = select i1 %144, float %18, float %14
  %146 = fcmp oeq float %145, 0.000000e+00
  br i1 %146, label %._crit_edge, label %147

147:                                              ; preds = %143
  %148 = load float, ptr %5, align 4, !tbaa !5
  %149 = fneg float %148
  br label %._crit_edge

._crit_edge:                                      ; preds = %143, %147
  %.0338 = phi float [ %149, %147 ], [ 1.000000e+00, %143 ]
  %.0 = phi float [ %11, %147 ], [ 0.000000e+00, %143 ]
  %150 = fcmp oge float %.0338, 0.000000e+00
  %151 = fneg float %.0338
  %152 = select i1 %150, float %.0338, float %151
  %153 = fcmp oge float %.0, 0.000000e+00
  %154 = fneg float %.0
  %155 = select i1 %153, float %.0, float %154
  %156 = fcmp oge float %152, %155
  %157 = select i1 %156, float %152, float %155
  %158 = fdiv float %.0338, %157
  store float %158, ptr %7, align 4, !tbaa !5
  %159 = fdiv float %.0, %157
  store float %159, ptr %8, align 4, !tbaa !5
  %160 = load float, ptr %7, align 4, !tbaa !5
  %161 = fmul float %159, %159
  %162 = tail call float @llvm.fmuladd.f32(float %160, float %160, float %161)
  %sqrt391 = tail call float @llvm.sqrt.f32(float %162)
  %163 = fdiv float %160, %sqrt391
  store float %163, ptr %7, align 4, !tbaa !5
  %164 = load float, ptr %8, align 4, !tbaa !5
  %165 = fdiv float %164, %sqrt391
  store float %165, ptr %8, align 4, !tbaa !5
  br label %308

166:                                              ; preds = %141
  %167 = fmul float %10, %22
  %168 = fcmp ugt float %18, %167
  br i1 %168, label %170, label %169

169:                                              ; preds = %166
  store float 0.000000e+00, ptr %7, align 4, !tbaa !5
  store float 1.000000e+00, ptr %8, align 4, !tbaa !5
  store float %18, ptr %6, align 4, !tbaa !5
  br label %308

170:                                              ; preds = %166
  %171 = fcmp ugt float %14, %167
  br i1 %171, label %174, label %172

172:                                              ; preds = %170
  %173 = fcmp ugt float %18, %22
  %.380 = select i1 %173, float 1.000000e+00, float 0.000000e+00
  %.381 = select i1 %173, float 0.000000e+00, float 1.000000e+00
  %.382 = select i1 %173, float %22, float %18
  store float %.380, ptr %7, align 4, !tbaa !5
  store float %.381, ptr %8, align 4, !tbaa !5
  store float %.382, ptr %6, align 4, !tbaa !5
  br label %308

174:                                              ; preds = %170
  %175 = fmul float %10, %14
  %176 = fcmp ugt float %22, %175
  %177 = fmul float %10, %18
  %178 = fcmp ugt float %22, %177
  %or.cond384 = select i1 %176, i1 %178, i1 false
  br i1 %or.cond384, label %222, label %179

179:                                              ; preds = %174
  %180 = fcmp ugt float %18, %14
  br i1 %180, label %202, label %181

181:                                              ; preds = %179
  %182 = fdiv float %18, %14
  %183 = tail call float @llvm.fmuladd.f32(float %182, float %182, float 1.000000e+00)
  %sqrt392 = tail call float @llvm.sqrt.f32(float %183)
  store float %sqrt392, ptr %8, align 4, !tbaa !5
  %184 = fdiv float %182, %sqrt392
  %185 = fmul float %22, %184
  store float %185, ptr %6, align 4, !tbaa !5
  %186 = load float, ptr %5, align 4, !tbaa !5
  %187 = fneg float %186
  %188 = fdiv float %187, %14
  %189 = load float, ptr %8, align 4, !tbaa !5
  %190 = fdiv float %188, %189
  store float %190, ptr %7, align 4, !tbaa !5
  %191 = load float, ptr @c_b5, align 4
  %192 = fcmp oge float %191, 0.000000e+00
  %193 = fneg float %191
  br i1 %12, label %194, label %196

194:                                              ; preds = %181
  %195 = select i1 %192, float %191, float %193
  br label %198

196:                                              ; preds = %181
  %197 = select i1 %192, float %193, float %191
  br label %198

198:                                              ; preds = %196, %194
  %199 = phi float [ %195, %194 ], [ %197, %196 ]
  %200 = load float, ptr %8, align 4, !tbaa !5
  %201 = fdiv float %199, %200
  store float %201, ptr %8, align 4, !tbaa !5
  br label %308

202:                                              ; preds = %179
  %203 = fdiv float %14, %18
  %204 = tail call float @llvm.fmuladd.f32(float %203, float %203, float 1.000000e+00)
  %sqrt393 = tail call float @llvm.sqrt.f32(float %204)
  store float %sqrt393, ptr %7, align 4, !tbaa !5
  %205 = fdiv float %22, %sqrt393
  store float %205, ptr %6, align 4, !tbaa !5
  %206 = fdiv float %11, %18
  %207 = load float, ptr %7, align 4, !tbaa !5
  %208 = fdiv float %206, %207
  store float %208, ptr %8, align 4, !tbaa !5
  %209 = load float, ptr %5, align 4, !tbaa !5
  %210 = fcmp ult float %209, 0.000000e+00
  %211 = load float, ptr @c_b5, align 4
  %212 = fcmp oge float %211, 0.000000e+00
  %.neg = fneg float %211
  br i1 %210, label %215, label %213

213:                                              ; preds = %202
  %214 = select i1 %212, float %211, float %.neg
  br label %217

215:                                              ; preds = %202
  %216 = select i1 %212, float %.neg, float %211
  br label %217

217:                                              ; preds = %215, %213
  %218 = phi float [ %214, %213 ], [ %216, %215 ]
  %219 = fneg float %218
  %220 = load float, ptr %7, align 4, !tbaa !5
  %221 = fdiv float %219, %220
  store float %221, ptr %7, align 4, !tbaa !5
  br label %308

222:                                              ; preds = %174
  %223 = insertelement <2 x float> poison, float %11, i64 0
  %224 = insertelement <2 x float> %223, float %15, i64 1
  %225 = insertelement <2 x float> poison, float %22, i64 0
  %226 = shufflevector <2 x float> %225, <2 x float> poison, <2 x i32> zeroinitializer
  %227 = fdiv <2 x float> %224, %226
  %228 = extractelement <2 x float> %227, i64 0
  %229 = tail call float @llvm.fmuladd.f32(float %228, float %228, float 1.000000e+00)
  %230 = extractelement <2 x float> %227, i64 1
  %231 = fmul float %228, %230
  %232 = fcmp oge float %231, 0.000000e+00
  %233 = fneg float %231
  %234 = select i1 %232, float %231, float %233
  %235 = fadd float %229, %234
  %236 = tail call float @llvm.fmuladd.f32(float %230, float %230, float %234)
  %237 = fcmp oge float %235, %236
  %238 = select i1 %237, float %235, float %236
  %239 = fsub float %228, %230
  %240 = fmul float %239, 2.000000e+00
  %241 = fadd float %228, %230
  %242 = tail call float @llvm.fmuladd.f32(float %240, float %241, float 1.000000e+00)
  %243 = fcmp ult float %242, 0.000000e+00
  br i1 %243, label %267, label %244

244:                                              ; preds = %222
  %245 = fmul float %230, %230
  %246 = tail call float @llvm.fmuladd.f32(float %228, float %228, float %245)
  %247 = fadd float %246, 1.000000e+00
  %248 = fmul float %247, 5.000000e-01
  %249 = fpext float %245 to double
  %250 = fpext float %248 to double
  %251 = fneg float %245
  %252 = tail call float @llvm.fmuladd.f32(float %248, float %248, float %251)
  %253 = fcmp oge float %252, 0.000000e+00
  %254 = fneg float %252
  %255 = select i1 %253, float %252, float %254
  %256 = fpext float %255 to double
  %257 = tail call double @sqrt(double noundef %256) #5
  %258 = fadd double %257, %250
  %259 = fdiv double %249, %258
  %260 = fptrunc double %259 to float
  %261 = fsub float 1.000000e+00, %260
  %262 = fneg <2 x float> %227
  %263 = shufflevector <2 x float> %227, <2 x float> %262, <2 x i32> <i32 0, i32 3>
  %264 = insertelement <2 x float> poison, float %261, i64 0
  %265 = insertelement <2 x float> %264, float %260, i64 1
  %266 = fdiv <2 x float> %263, %265
  br label %293

267:                                              ; preds = %222
  %268 = fmul <2 x float> %227, %227
  %269 = extractelement <2 x float> %268, i64 0
  %270 = tail call float @llvm.fmuladd.f32(float %230, float %230, float %269)
  %271 = fadd float %270, -1.000000e+00
  %272 = fmul float %271, 5.000000e-01
  %273 = fcmp ult float %272, 0.000000e+00
  br i1 %273, label %282, label %274

274:                                              ; preds = %267
  %275 = fneg float %269
  %276 = fpext float %275 to double
  %277 = fpext float %272 to double
  %278 = tail call float @llvm.fmuladd.f32(float %272, float %272, float %269)
  %279 = fpext float %278 to double
  %sqrt394 = tail call double @llvm.sqrt.f64(double %279)
  %280 = fadd double %sqrt394, %277
  %281 = fdiv double %276, %280
  br label %287

282:                                              ; preds = %267
  %283 = fpext float %272 to double
  %284 = tail call float @llvm.fmuladd.f32(float %272, float %272, float %269)
  %285 = fpext float %284 to double
  %sqrt395 = tail call double @llvm.sqrt.f64(double %285)
  %286 = fsub double %283, %sqrt395
  br label %287

287:                                              ; preds = %282, %274
  %.1341.in = phi double [ %281, %274 ], [ %286, %282 ]
  %.1341 = fptrunc double %.1341.in to float
  %288 = fneg <2 x float> %227
  %289 = fadd float %.1341, 1.000000e+00
  %290 = insertelement <2 x float> poison, float %.1341, i64 0
  %291 = insertelement <2 x float> %290, float %289, i64 1
  %292 = fdiv <2 x float> %288, %291
  br label %293

293:                                              ; preds = %287, %244
  %.sink402 = phi float [ %289, %287 ], [ %260, %244 ]
  %294 = phi <2 x float> [ %292, %287 ], [ %266, %244 ]
  %295 = fmul float %10, 4.000000e+00
  %296 = fmul float %10, %295
  %297 = tail call float @llvm.fmuladd.f32(float %296, float %238, float %.sink402)
  %298 = fpext float %297 to double
  %299 = tail call double @sqrt(double noundef %298) #5
  %300 = fpext float %22 to double
  %301 = fmul double %299, %300
  %storemerge = fptrunc double %301 to float
  store float %storemerge, ptr %6, align 4, !tbaa !5
  %302 = extractelement <2 x float> %294, i64 1
  %303 = fmul float %302, %302
  %304 = extractelement <2 x float> %294, i64 0
  %305 = tail call float @llvm.fmuladd.f32(float %304, float %304, float %303)
  %sqrt396 = tail call float @llvm.sqrt.f32(float %305)
  %306 = fdiv float %304, %sqrt396
  store float %306, ptr %7, align 4, !tbaa !5
  %307 = fdiv float %302, %sqrt396
  store float %307, ptr %8, align 4, !tbaa !5
  br label %308

308:                                              ; preds = %9, %198, %217, %83, %102, %293, %172, %169, %._crit_edge, %128, %59, %46, %42
  ret void
}

declare float @slamch_(ptr noundef) local_unnamed_addr #1

declare float @sdot_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

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

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.sqrt.f64(double) #4

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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nofree nounwind willreturn memory(write) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
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 = !{!"float", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}


; Effective O3 passes: AggressiveInstCombinePass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,MergedLoadStoreMotionPass,PostOrderFunctionAttrsPass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass