; LLVM IR from niuyishuai/PDCABB :: LAPACK_BLAS/LAPACK (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 i64, align 8
@c_b5 = external hidden global float, align 4

; Function Attrs: nounwind uwtable
define dso_local i32 @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 i32, align 4
  %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 ptr, align 8
  %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 float, align 4
  %40 = alloca i32, align 4
  store ptr %0, ptr %11, align 8, !tbaa !5
  store ptr %1, ptr %12, align 8, !tbaa !5
  store ptr %2, ptr %13, align 8, !tbaa !5
  store ptr %3, ptr %14, align 8, !tbaa !5
  store ptr %4, ptr %15, align 8, !tbaa !5
  store ptr %5, ptr %16, align 8, !tbaa !5
  store ptr %6, ptr %17, align 8, !tbaa !5
  store ptr %7, ptr %18, align 8, !tbaa !5
  store ptr %8, ptr %19, align 8, !tbaa !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
  %41 = load ptr, ptr %15, align 8, !tbaa !5
  %42 = getelementptr inbounds float, ptr %41, i32 -1
  store ptr %42, ptr %15, align 8, !tbaa !5
  %43 = load ptr, ptr %13, align 8, !tbaa !5
  %44 = getelementptr inbounds float, ptr %43, i32 -1
  store ptr %44, ptr %13, align 8, !tbaa !5
  %45 = call double @slamch_(ptr noundef @.str)
  %46 = fptrunc double %45 to float
  store float %46, ptr %28, align 4, !tbaa !9
  %47 = load ptr, ptr %12, align 8, !tbaa !5
  %48 = load ptr, ptr %13, align 8, !tbaa !5
  %49 = getelementptr inbounds float, ptr %48, i64 1
  %50 = load ptr, ptr %15, align 8, !tbaa !5
  %51 = getelementptr inbounds float, ptr %50, i64 1
  %52 = call double @f2c_sdot(ptr noundef %47, ptr noundef %49, ptr noundef @c__1, ptr noundef %51, ptr noundef @c__1)
  %53 = fptrunc double %52 to float
  store float %53, ptr %34, align 4, !tbaa !9
  %54 = load float, ptr %34, align 4, !tbaa !9
  %55 = fcmp oge float %54, 0.000000e+00
  br i1 %55, label %56, label %58

56:                                               ; preds = %9
  %57 = load float, ptr %34, align 4, !tbaa !9
  br label %61

58:                                               ; preds = %9
  %59 = load float, ptr %34, align 4, !tbaa !9
  %60 = fneg float %59
  br label %61

61:                                               ; preds = %58, %56
  %62 = phi float [ %57, %56 ], [ %60, %58 ]
  %63 = fpext float %62 to double
  %64 = fptrunc double %63 to float
  store float %64, ptr %37, align 4, !tbaa !9
  %65 = load ptr, ptr %16, align 8, !tbaa !5
  %66 = load float, ptr %65, align 4, !tbaa !9
  %67 = fcmp oge float %66, 0.000000e+00
  br i1 %67, label %68, label %71

68:                                               ; preds = %61
  %69 = load ptr, ptr %16, align 8, !tbaa !5
  %70 = load float, ptr %69, align 4, !tbaa !9
  br label %75

71:                                               ; preds = %61
  %72 = load ptr, ptr %16, align 8, !tbaa !5
  %73 = load float, ptr %72, align 4, !tbaa !9
  %74 = fneg float %73
  br label %75

75:                                               ; preds = %71, %68
  %76 = phi float [ %70, %68 ], [ %74, %71 ]
  %77 = fpext float %76 to double
  %78 = fptrunc double %77 to float
  store float %78, ptr %36, align 4, !tbaa !9
  %79 = load ptr, ptr %14, align 8, !tbaa !5
  %80 = load float, ptr %79, align 4, !tbaa !9
  %81 = fcmp oge float %80, 0.000000e+00
  br i1 %81, label %82, label %85

82:                                               ; preds = %75
  %83 = load ptr, ptr %14, align 8, !tbaa !5
  %84 = load float, ptr %83, align 4, !tbaa !9
  br label %89

85:                                               ; preds = %75
  %86 = load ptr, ptr %14, align 8, !tbaa !5
  %87 = load float, ptr %86, align 4, !tbaa !9
  %88 = fneg float %87
  br label %89

89:                                               ; preds = %85, %82
  %90 = phi float [ %84, %82 ], [ %88, %85 ]
  %91 = fpext float %90 to double
  %92 = fptrunc double %91 to float
  store float %92, ptr %39, align 4, !tbaa !9
  %93 = load ptr, ptr %11, align 8, !tbaa !5
  %94 = load i64, ptr %93, align 8, !tbaa !11
  %95 = icmp eq i64 %94, 1
  br i1 %95, label %96, label %384

96:                                               ; preds = %89
  %97 = load ptr, ptr %14, align 8, !tbaa !5
  %98 = load float, ptr %97, align 4, !tbaa !9
  %99 = fcmp oeq float %98, 0.000000e+00
  br i1 %99, label %100, label %154

100:                                              ; preds = %96
  %101 = load float, ptr %36, align 4, !tbaa !9
  %102 = load float, ptr %37, align 4, !tbaa !9
  %103 = fcmp oge float %101, %102
  br i1 %103, label %104, label %106

104:                                              ; preds = %100
  %105 = load float, ptr %36, align 4, !tbaa !9
  br label %108

106:                                              ; preds = %100
  %107 = load float, ptr %37, align 4, !tbaa !9
  br label %108

108:                                              ; preds = %106, %104
  %109 = phi float [ %105, %104 ], [ %107, %106 ]
  %110 = fpext float %109 to double
  %111 = fptrunc double %110 to float
  store float %111, ptr %26, align 4, !tbaa !9
  %112 = load float, ptr %26, align 4, !tbaa !9
  %113 = fcmp oeq float %112, 0.000000e+00
  br i1 %113, label %114, label %118

114:                                              ; preds = %108
  %115 = load ptr, ptr %18, align 8, !tbaa !5
  store float 0.000000e+00, ptr %115, align 4, !tbaa !9
  %116 = load ptr, ptr %19, align 8, !tbaa !5
  store float 1.000000e+00, ptr %116, align 4, !tbaa !9
  %117 = load ptr, ptr %17, align 8, !tbaa !5
  store float 0.000000e+00, ptr %117, align 4, !tbaa !9
  br label %153

118:                                              ; preds = %108
  %119 = load float, ptr %34, align 4, !tbaa !9
  %120 = load float, ptr %26, align 4, !tbaa !9
  %121 = fdiv float %119, %120
  %122 = load ptr, ptr %18, align 8, !tbaa !5
  store float %121, ptr %122, align 4, !tbaa !9
  %123 = load ptr, ptr %16, align 8, !tbaa !5
  %124 = load float, ptr %123, align 4, !tbaa !9
  %125 = load float, ptr %26, align 4, !tbaa !9
  %126 = fdiv float %124, %125
  %127 = load ptr, ptr %19, align 8, !tbaa !5
  store float %126, ptr %127, align 4, !tbaa !9
  %128 = load ptr, ptr %18, align 8, !tbaa !5
  %129 = load float, ptr %128, align 4, !tbaa !9
  %130 = load ptr, ptr %18, align 8, !tbaa !5
  %131 = load float, ptr %130, align 4, !tbaa !9
  %132 = load ptr, ptr %19, align 8, !tbaa !5
  %133 = load float, ptr %132, align 4, !tbaa !9
  %134 = load ptr, ptr %19, align 8, !tbaa !5
  %135 = load float, ptr %134, align 4, !tbaa !9
  %136 = fmul float %133, %135
  %137 = call float @llvm.fmuladd.f32(float %129, float %131, float %136)
  %138 = fpext float %137 to double
  %139 = call double @sqrt(double noundef %138) #5
  %140 = fptrunc double %139 to float
  store float %140, ptr %29, align 4, !tbaa !9
  %141 = load float, ptr %29, align 4, !tbaa !9
  %142 = load ptr, ptr %18, align 8, !tbaa !5
  %143 = load float, ptr %142, align 4, !tbaa !9
  %144 = fdiv float %143, %141
  store float %144, ptr %142, align 4, !tbaa !9
  %145 = load float, ptr %29, align 4, !tbaa !9
  %146 = load ptr, ptr %19, align 8, !tbaa !5
  %147 = load float, ptr %146, align 4, !tbaa !9
  %148 = fdiv float %147, %145
  store float %148, ptr %146, align 4, !tbaa !9
  %149 = load float, ptr %26, align 4, !tbaa !9
  %150 = load float, ptr %29, align 4, !tbaa !9
  %151 = fmul float %149, %150
  %152 = load ptr, ptr %17, align 8, !tbaa !5
  store float %151, ptr %152, align 4, !tbaa !9
  br label %153

153:                                              ; preds = %118, %114
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

154:                                              ; preds = %96
  %155 = load float, ptr %36, align 4, !tbaa !9
  %156 = load float, ptr %28, align 4, !tbaa !9
  %157 = load float, ptr %39, align 4, !tbaa !9
  %158 = fmul float %156, %157
  %159 = fcmp ole float %155, %158
  br i1 %159, label %160, label %193

160:                                              ; preds = %154
  %161 = load ptr, ptr %18, align 8, !tbaa !5
  store float 1.000000e+00, ptr %161, align 4, !tbaa !9
  %162 = load ptr, ptr %19, align 8, !tbaa !5
  store float 0.000000e+00, ptr %162, align 4, !tbaa !9
  %163 = load float, ptr %39, align 4, !tbaa !9
  %164 = load float, ptr %37, align 4, !tbaa !9
  %165 = fcmp oge float %163, %164
  br i1 %165, label %166, label %168

166:                                              ; preds = %160
  %167 = load float, ptr %39, align 4, !tbaa !9
  br label %170

168:                                              ; preds = %160
  %169 = load float, ptr %37, align 4, !tbaa !9
  br label %170

170:                                              ; preds = %168, %166
  %171 = phi float [ %167, %166 ], [ %169, %168 ]
  %172 = fpext float %171 to double
  %173 = fptrunc double %172 to float
  store float %173, ptr %29, align 4, !tbaa !9
  %174 = load float, ptr %39, align 4, !tbaa !9
  %175 = load float, ptr %29, align 4, !tbaa !9
  %176 = fdiv float %174, %175
  store float %176, ptr %26, align 4, !tbaa !9
  %177 = load float, ptr %37, align 4, !tbaa !9
  %178 = load float, ptr %29, align 4, !tbaa !9
  %179 = fdiv float %177, %178
  store float %179, ptr %27, align 4, !tbaa !9
  %180 = load float, ptr %29, align 4, !tbaa !9
  %181 = fpext float %180 to double
  %182 = load float, ptr %26, align 4, !tbaa !9
  %183 = load float, ptr %26, align 4, !tbaa !9
  %184 = load float, ptr %27, align 4, !tbaa !9
  %185 = load float, ptr %27, align 4, !tbaa !9
  %186 = fmul float %184, %185
  %187 = call float @llvm.fmuladd.f32(float %182, float %183, float %186)
  %188 = fpext float %187 to double
  %189 = call double @sqrt(double noundef %188) #5
  %190 = fmul double %181, %189
  %191 = fptrunc double %190 to float
  %192 = load ptr, ptr %17, align 8, !tbaa !5
  store float %191, ptr %192, align 4, !tbaa !9
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

193:                                              ; preds = %154
  %194 = load float, ptr %37, align 4, !tbaa !9
  %195 = load float, ptr %28, align 4, !tbaa !9
  %196 = load float, ptr %39, align 4, !tbaa !9
  %197 = fmul float %195, %196
  %198 = fcmp ole float %194, %197
  br i1 %198, label %199, label %216

199:                                              ; preds = %193
  %200 = load float, ptr %36, align 4, !tbaa !9
  store float %200, ptr %26, align 4, !tbaa !9
  %201 = load float, ptr %39, align 4, !tbaa !9
  store float %201, ptr %27, align 4, !tbaa !9
  %202 = load float, ptr %26, align 4, !tbaa !9
  %203 = load float, ptr %27, align 4, !tbaa !9
  %204 = fcmp ole float %202, %203
  br i1 %204, label %205, label %210

205:                                              ; preds = %199
  %206 = load ptr, ptr %18, align 8, !tbaa !5
  store float 1.000000e+00, ptr %206, align 4, !tbaa !9
  %207 = load ptr, ptr %19, align 8, !tbaa !5
  store float 0.000000e+00, ptr %207, align 4, !tbaa !9
  %208 = load float, ptr %27, align 4, !tbaa !9
  %209 = load ptr, ptr %17, align 8, !tbaa !5
  store float %208, ptr %209, align 4, !tbaa !9
  br label %215

210:                                              ; preds = %199
  %211 = load ptr, ptr %18, align 8, !tbaa !5
  store float 0.000000e+00, ptr %211, align 4, !tbaa !9
  %212 = load ptr, ptr %19, align 8, !tbaa !5
  store float 1.000000e+00, ptr %212, align 4, !tbaa !9
  %213 = load float, ptr %26, align 4, !tbaa !9
  %214 = load ptr, ptr %17, align 8, !tbaa !5
  store float %213, ptr %214, align 4, !tbaa !9
  br label %215

215:                                              ; preds = %210, %205
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

216:                                              ; preds = %193
  %217 = load float, ptr %39, align 4, !tbaa !9
  %218 = load float, ptr %28, align 4, !tbaa !9
  %219 = load float, ptr %37, align 4, !tbaa !9
  %220 = fmul float %218, %219
  %221 = fcmp ole float %217, %220
  br i1 %221, label %228, label %222

222:                                              ; preds = %216
  %223 = load float, ptr %39, align 4, !tbaa !9
  %224 = load float, ptr %28, align 4, !tbaa !9
  %225 = load float, ptr %36, align 4, !tbaa !9
  %226 = fmul float %224, %225
  %227 = fcmp ole float %223, %226
  br i1 %227, label %228, label %297

228:                                              ; preds = %222, %216
  %229 = load float, ptr %36, align 4, !tbaa !9
  store float %229, ptr %26, align 4, !tbaa !9
  %230 = load float, ptr %37, align 4, !tbaa !9
  store float %230, ptr %27, align 4, !tbaa !9
  %231 = load float, ptr %26, align 4, !tbaa !9
  %232 = load float, ptr %27, align 4, !tbaa !9
  %233 = fcmp ole float %231, %232
  br i1 %233, label %234, label %265

234:                                              ; preds = %228
  %235 = load float, ptr %26, align 4, !tbaa !9
  %236 = load float, ptr %27, align 4, !tbaa !9
  %237 = fdiv float %235, %236
  store float %237, ptr %29, align 4, !tbaa !9
  %238 = load float, ptr %29, align 4, !tbaa !9
  %239 = load float, ptr %29, align 4, !tbaa !9
  %240 = call float @llvm.fmuladd.f32(float %238, float %239, float 1.000000e+00)
  %241 = fpext float %240 to double
  %242 = call double @sqrt(double noundef %241) #5
  %243 = fptrunc double %242 to float
  %244 = load ptr, ptr %18, align 8, !tbaa !5
  store float %243, ptr %244, align 4, !tbaa !9
  %245 = load float, ptr %27, align 4, !tbaa !9
  %246 = load ptr, ptr %18, align 8, !tbaa !5
  %247 = load float, ptr %246, align 4, !tbaa !9
  %248 = fmul float %245, %247
  %249 = load ptr, ptr %17, align 8, !tbaa !5
  store float %248, ptr %249, align 4, !tbaa !9
  %250 = load ptr, ptr %16, align 8, !tbaa !5
  %251 = load float, ptr %250, align 4, !tbaa !9
  %252 = load float, ptr %27, align 4, !tbaa !9
  %253 = fdiv float %251, %252
  %254 = load ptr, ptr %18, align 8, !tbaa !5
  %255 = load float, ptr %254, align 4, !tbaa !9
  %256 = fdiv float %253, %255
  %257 = load ptr, ptr %19, align 8, !tbaa !5
  store float %256, ptr %257, align 4, !tbaa !9
  %258 = call double @r_sign(ptr noundef @c_b5, ptr noundef %34)
  %259 = load ptr, ptr %18, align 8, !tbaa !5
  %260 = load float, ptr %259, align 4, !tbaa !9
  %261 = fpext float %260 to double
  %262 = fdiv double %258, %261
  %263 = fptrunc double %262 to float
  %264 = load ptr, ptr %18, align 8, !tbaa !5
  store float %263, ptr %264, align 4, !tbaa !9
  br label %296

265:                                              ; preds = %228
  %266 = load float, ptr %27, align 4, !tbaa !9
  %267 = load float, ptr %26, align 4, !tbaa !9
  %268 = fdiv float %266, %267
  store float %268, ptr %29, align 4, !tbaa !9
  %269 = load float, ptr %29, align 4, !tbaa !9
  %270 = load float, ptr %29, align 4, !tbaa !9
  %271 = call float @llvm.fmuladd.f32(float %269, float %270, float 1.000000e+00)
  %272 = fpext float %271 to double
  %273 = call double @sqrt(double noundef %272) #5
  %274 = fptrunc double %273 to float
  %275 = load ptr, ptr %19, align 8, !tbaa !5
  store float %274, ptr %275, align 4, !tbaa !9
  %276 = load float, ptr %26, align 4, !tbaa !9
  %277 = load ptr, ptr %19, align 8, !tbaa !5
  %278 = load float, ptr %277, align 4, !tbaa !9
  %279 = fmul float %276, %278
  %280 = load ptr, ptr %17, align 8, !tbaa !5
  store float %279, ptr %280, align 4, !tbaa !9
  %281 = load float, ptr %34, align 4, !tbaa !9
  %282 = load float, ptr %26, align 4, !tbaa !9
  %283 = fdiv float %281, %282
  %284 = load ptr, ptr %19, align 8, !tbaa !5
  %285 = load float, ptr %284, align 4, !tbaa !9
  %286 = fdiv float %283, %285
  %287 = load ptr, ptr %18, align 8, !tbaa !5
  store float %286, ptr %287, align 4, !tbaa !9
  %288 = load ptr, ptr %16, align 8, !tbaa !5
  %289 = call double @r_sign(ptr noundef @c_b5, ptr noundef %288)
  %290 = load ptr, ptr %19, align 8, !tbaa !5
  %291 = load float, ptr %290, align 4, !tbaa !9
  %292 = fpext float %291 to double
  %293 = fdiv double %289, %292
  %294 = fptrunc double %293 to float
  %295 = load ptr, ptr %19, align 8, !tbaa !5
  store float %294, ptr %295, align 4, !tbaa !9
  br label %296

296:                                              ; preds = %265, %234
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

297:                                              ; preds = %222
  %298 = load float, ptr %34, align 4, !tbaa !9
  %299 = load float, ptr %39, align 4, !tbaa !9
  %300 = fdiv float %298, %299
  store float %300, ptr %32, align 4, !tbaa !9
  %301 = load ptr, ptr %16, align 8, !tbaa !5
  %302 = load float, ptr %301, align 4, !tbaa !9
  %303 = load float, ptr %39, align 4, !tbaa !9
  %304 = fdiv float %302, %303
  store float %304, ptr %33, align 4, !tbaa !9
  %305 = load float, ptr %32, align 4, !tbaa !9
  %306 = load float, ptr %32, align 4, !tbaa !9
  %307 = fneg float %305
  %308 = call float @llvm.fmuladd.f32(float %307, float %306, float 1.000000e+00)
  %309 = load float, ptr %33, align 4, !tbaa !9
  %310 = load float, ptr %33, align 4, !tbaa !9
  %311 = fneg float %309
  %312 = call float @llvm.fmuladd.f32(float %311, float %310, float %308)
  %313 = fmul float %312, 5.000000e-01
  store float %313, ptr %24, align 4, !tbaa !9
  %314 = load float, ptr %32, align 4, !tbaa !9
  %315 = load float, ptr %32, align 4, !tbaa !9
  %316 = fmul float %314, %315
  %317 = load ptr, ptr %19, align 8, !tbaa !5
  store float %316, ptr %317, align 4, !tbaa !9
  %318 = load float, ptr %24, align 4, !tbaa !9
  %319 = fcmp ogt float %318, 0.000000e+00
  br i1 %319, label %320, label %336

320:                                              ; preds = %297
  %321 = load ptr, ptr %19, align 8, !tbaa !5
  %322 = load float, ptr %321, align 4, !tbaa !9
  %323 = fpext float %322 to double
  %324 = load float, ptr %24, align 4, !tbaa !9
  %325 = fpext float %324 to double
  %326 = load float, ptr %24, align 4, !tbaa !9
  %327 = load float, ptr %24, align 4, !tbaa !9
  %328 = load ptr, ptr %19, align 8, !tbaa !5
  %329 = load float, ptr %328, align 4, !tbaa !9
  %330 = call float @llvm.fmuladd.f32(float %326, float %327, float %329)
  %331 = fpext float %330 to double
  %332 = call double @sqrt(double noundef %331) #5
  %333 = fadd double %325, %332
  %334 = fdiv double %323, %333
  %335 = fptrunc double %334 to float
  store float %335, ptr %25, align 4, !tbaa !9
  br label %348

336:                                              ; preds = %297
  %337 = load float, ptr %24, align 4, !tbaa !9
  %338 = load float, ptr %24, align 4, !tbaa !9
  %339 = load ptr, ptr %19, align 8, !tbaa !5
  %340 = load float, ptr %339, align 4, !tbaa !9
  %341 = call float @llvm.fmuladd.f32(float %337, float %338, float %340)
  %342 = fpext float %341 to double
  %343 = call double @sqrt(double noundef %342) #5
  %344 = load float, ptr %24, align 4, !tbaa !9
  %345 = fpext float %344 to double
  %346 = fsub double %343, %345
  %347 = fptrunc double %346 to float
  store float %347, ptr %25, align 4, !tbaa !9
  br label %348

348:                                              ; preds = %336, %320
  %349 = load float, ptr %32, align 4, !tbaa !9
  %350 = fneg float %349
  %351 = load float, ptr %25, align 4, !tbaa !9
  %352 = fdiv float %350, %351
  store float %352, ptr %30, align 4, !tbaa !9
  %353 = load float, ptr %33, align 4, !tbaa !9
  %354 = fneg float %353
  %355 = load float, ptr %25, align 4, !tbaa !9
  %356 = fadd float %355, 1.000000e+00
  %357 = fdiv float %354, %356
  store float %357, ptr %38, align 4, !tbaa !9
  %358 = load float, ptr %30, align 4, !tbaa !9
  %359 = load float, ptr %30, align 4, !tbaa !9
  %360 = load float, ptr %38, align 4, !tbaa !9
  %361 = load float, ptr %38, align 4, !tbaa !9
  %362 = fmul float %360, %361
  %363 = call float @llvm.fmuladd.f32(float %358, float %359, float %362)
  %364 = fpext float %363 to double
  %365 = call double @sqrt(double noundef %364) #5
  %366 = fptrunc double %365 to float
  store float %366, ptr %29, align 4, !tbaa !9
  %367 = load float, ptr %30, align 4, !tbaa !9
  %368 = load float, ptr %29, align 4, !tbaa !9
  %369 = fdiv float %367, %368
  %370 = load ptr, ptr %18, align 8, !tbaa !5
  store float %369, ptr %370, align 4, !tbaa !9
  %371 = load float, ptr %38, align 4, !tbaa !9
  %372 = load float, ptr %29, align 4, !tbaa !9
  %373 = fdiv float %371, %372
  %374 = load ptr, ptr %19, align 8, !tbaa !5
  store float %373, ptr %374, align 4, !tbaa !9
  %375 = load float, ptr %25, align 4, !tbaa !9
  %376 = fadd float %375, 1.000000e+00
  %377 = fpext float %376 to double
  %378 = call double @sqrt(double noundef %377) #5
  %379 = load float, ptr %39, align 4, !tbaa !9
  %380 = fpext float %379 to double
  %381 = fmul double %378, %380
  %382 = fptrunc double %381 to float
  %383 = load ptr, ptr %17, align 8, !tbaa !5
  store float %382, ptr %383, align 4, !tbaa !9
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

384:                                              ; preds = %89
  %385 = load ptr, ptr %11, align 8, !tbaa !5
  %386 = load i64, ptr %385, align 8, !tbaa !11
  %387 = icmp eq i64 %386, 2
  br i1 %387, label %388, label %807

388:                                              ; preds = %384
  %389 = load ptr, ptr %14, align 8, !tbaa !5
  %390 = load float, ptr %389, align 4, !tbaa !9
  %391 = fcmp oeq float %390, 0.000000e+00
  br i1 %391, label %392, label %474

392:                                              ; preds = %388
  %393 = load ptr, ptr %17, align 8, !tbaa !5
  store float 0.000000e+00, ptr %393, align 4, !tbaa !9
  %394 = load float, ptr %36, align 4, !tbaa !9
  %395 = load float, ptr %37, align 4, !tbaa !9
  %396 = fcmp oge float %394, %395
  br i1 %396, label %397, label %399

397:                                              ; preds = %392
  %398 = load float, ptr %36, align 4, !tbaa !9
  br label %401

399:                                              ; preds = %392
  %400 = load float, ptr %37, align 4, !tbaa !9
  br label %401

401:                                              ; preds = %399, %397
  %402 = phi float [ %398, %397 ], [ %400, %399 ]
  %403 = fpext float %402 to double
  %404 = fcmp oeq double %403, 0.000000e+00
  br i1 %404, label %405, label %406

405:                                              ; preds = %401
  store float 1.000000e+00, ptr %30, align 4, !tbaa !9
  store float 0.000000e+00, ptr %38, align 4, !tbaa !9
  br label %411

406:                                              ; preds = %401
  %407 = load ptr, ptr %16, align 8, !tbaa !5
  %408 = load float, ptr %407, align 4, !tbaa !9
  %409 = fneg float %408
  store float %409, ptr %30, align 4, !tbaa !9
  %410 = load float, ptr %34, align 4, !tbaa !9
  store float %410, ptr %38, align 4, !tbaa !9
  br label %411

411:                                              ; preds = %406, %405
  %412 = load float, ptr %30, align 4, !tbaa !9
  %413 = fcmp oge float %412, 0.000000e+00
  br i1 %413, label %414, label %416

414:                                              ; preds = %411
  %415 = load float, ptr %30, align 4, !tbaa !9
  br label %419

416:                                              ; preds = %411
  %417 = load float, ptr %30, align 4, !tbaa !9
  %418 = fneg float %417
  br label %419

419:                                              ; preds = %416, %414
  %420 = phi float [ %415, %414 ], [ %418, %416 ]
  %421 = fpext float %420 to double
  %422 = fptrunc double %421 to float
  store float %422, ptr %20, align 4, !tbaa !9
  %423 = load float, ptr %38, align 4, !tbaa !9
  %424 = fcmp oge float %423, 0.000000e+00
  br i1 %424, label %425, label %427

425:                                              ; preds = %419
  %426 = load float, ptr %38, align 4, !tbaa !9
  br label %430

427:                                              ; preds = %419
  %428 = load float, ptr %38, align 4, !tbaa !9
  %429 = fneg float %428
  br label %430

430:                                              ; preds = %427, %425
  %431 = phi float [ %426, %425 ], [ %429, %427 ]
  %432 = fpext float %431 to double
  %433 = fptrunc double %432 to float
  store float %433, ptr %21, align 4, !tbaa !9
  %434 = load float, ptr %20, align 4, !tbaa !9
  %435 = load float, ptr %21, align 4, !tbaa !9
  %436 = fcmp oge float %434, %435
  br i1 %436, label %437, label %439

437:                                              ; preds = %430
  %438 = load float, ptr %20, align 4, !tbaa !9
  br label %441

439:                                              ; preds = %430
  %440 = load float, ptr %21, align 4, !tbaa !9
  br label %441

441:                                              ; preds = %439, %437
  %442 = phi float [ %438, %437 ], [ %440, %439 ]
  %443 = fpext float %442 to double
  %444 = fptrunc double %443 to float
  store float %444, ptr %26, align 4, !tbaa !9
  %445 = load float, ptr %30, align 4, !tbaa !9
  %446 = load float, ptr %26, align 4, !tbaa !9
  %447 = fdiv float %445, %446
  %448 = load ptr, ptr %18, align 8, !tbaa !5
  store float %447, ptr %448, align 4, !tbaa !9
  %449 = load float, ptr %38, align 4, !tbaa !9
  %450 = load float, ptr %26, align 4, !tbaa !9
  %451 = fdiv float %449, %450
  %452 = load ptr, ptr %19, align 8, !tbaa !5
  store float %451, ptr %452, align 4, !tbaa !9
  %453 = load ptr, ptr %18, align 8, !tbaa !5
  %454 = load float, ptr %453, align 4, !tbaa !9
  %455 = load ptr, ptr %18, align 8, !tbaa !5
  %456 = load float, ptr %455, align 4, !tbaa !9
  %457 = load ptr, ptr %19, align 8, !tbaa !5
  %458 = load float, ptr %457, align 4, !tbaa !9
  %459 = load ptr, ptr %19, align 8, !tbaa !5
  %460 = load float, ptr %459, align 4, !tbaa !9
  %461 = fmul float %458, %460
  %462 = call float @llvm.fmuladd.f32(float %454, float %456, float %461)
  %463 = fpext float %462 to double
  %464 = call double @sqrt(double noundef %463) #5
  %465 = fptrunc double %464 to float
  store float %465, ptr %29, align 4, !tbaa !9
  %466 = load float, ptr %29, align 4, !tbaa !9
  %467 = load ptr, ptr %18, align 8, !tbaa !5
  %468 = load float, ptr %467, align 4, !tbaa !9
  %469 = fdiv float %468, %466
  store float %469, ptr %467, align 4, !tbaa !9
  %470 = load float, ptr %29, align 4, !tbaa !9
  %471 = load ptr, ptr %19, align 8, !tbaa !5
  %472 = load float, ptr %471, align 4, !tbaa !9
  %473 = fdiv float %472, %470
  store float %473, ptr %471, align 4, !tbaa !9
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

474:                                              ; preds = %388
  %475 = load float, ptr %36, align 4, !tbaa !9
  %476 = load float, ptr %28, align 4, !tbaa !9
  %477 = load float, ptr %39, align 4, !tbaa !9
  %478 = fmul float %476, %477
  %479 = fcmp ole float %475, %478
  br i1 %479, label %480, label %485

480:                                              ; preds = %474
  %481 = load ptr, ptr %18, align 8, !tbaa !5
  store float 0.000000e+00, ptr %481, align 4, !tbaa !9
  %482 = load ptr, ptr %19, align 8, !tbaa !5
  store float 1.000000e+00, ptr %482, align 4, !tbaa !9
  %483 = load float, ptr %36, align 4, !tbaa !9
  %484 = load ptr, ptr %17, align 8, !tbaa !5
  store float %483, ptr %484, align 4, !tbaa !9
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

485:                                              ; preds = %474
  %486 = load float, ptr %37, align 4, !tbaa !9
  %487 = load float, ptr %28, align 4, !tbaa !9
  %488 = load float, ptr %39, align 4, !tbaa !9
  %489 = fmul float %487, %488
  %490 = fcmp ole float %486, %489
  br i1 %490, label %491, label %508

491:                                              ; preds = %485
  %492 = load float, ptr %36, align 4, !tbaa !9
  store float %492, ptr %26, align 4, !tbaa !9
  %493 = load float, ptr %39, align 4, !tbaa !9
  store float %493, ptr %27, align 4, !tbaa !9
  %494 = load float, ptr %26, align 4, !tbaa !9
  %495 = load float, ptr %27, align 4, !tbaa !9
  %496 = fcmp ole float %494, %495
  br i1 %496, label %497, label %502

497:                                              ; preds = %491
  %498 = load ptr, ptr %18, align 8, !tbaa !5
  store float 0.000000e+00, ptr %498, align 4, !tbaa !9
  %499 = load ptr, ptr %19, align 8, !tbaa !5
  store float 1.000000e+00, ptr %499, align 4, !tbaa !9
  %500 = load float, ptr %26, align 4, !tbaa !9
  %501 = load ptr, ptr %17, align 8, !tbaa !5
  store float %500, ptr %501, align 4, !tbaa !9
  br label %507

502:                                              ; preds = %491
  %503 = load ptr, ptr %18, align 8, !tbaa !5
  store float 1.000000e+00, ptr %503, align 4, !tbaa !9
  %504 = load ptr, ptr %19, align 8, !tbaa !5
  store float 0.000000e+00, ptr %504, align 4, !tbaa !9
  %505 = load float, ptr %27, align 4, !tbaa !9
  %506 = load ptr, ptr %17, align 8, !tbaa !5
  store float %505, ptr %506, align 4, !tbaa !9
  br label %507

507:                                              ; preds = %502, %497
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

508:                                              ; preds = %485
  %509 = load float, ptr %39, align 4, !tbaa !9
  %510 = load float, ptr %28, align 4, !tbaa !9
  %511 = load float, ptr %37, align 4, !tbaa !9
  %512 = fmul float %510, %511
  %513 = fcmp ole float %509, %512
  br i1 %513, label %520, label %514

514:                                              ; preds = %508
  %515 = load float, ptr %39, align 4, !tbaa !9
  %516 = load float, ptr %28, align 4, !tbaa !9
  %517 = load float, ptr %36, align 4, !tbaa !9
  %518 = fmul float %516, %517
  %519 = fcmp ole float %515, %518
  br i1 %519, label %520, label %593

520:                                              ; preds = %514, %508
  %521 = load float, ptr %36, align 4, !tbaa !9
  store float %521, ptr %26, align 4, !tbaa !9
  %522 = load float, ptr %37, align 4, !tbaa !9
  store float %522, ptr %27, align 4, !tbaa !9
  %523 = load float, ptr %26, align 4, !tbaa !9
  %524 = load float, ptr %27, align 4, !tbaa !9
  %525 = fcmp ole float %523, %524
  br i1 %525, label %526, label %560

526:                                              ; preds = %520
  %527 = load float, ptr %26, align 4, !tbaa !9
  %528 = load float, ptr %27, align 4, !tbaa !9
  %529 = fdiv float %527, %528
  store float %529, ptr %29, align 4, !tbaa !9
  %530 = load float, ptr %29, align 4, !tbaa !9
  %531 = load float, ptr %29, align 4, !tbaa !9
  %532 = call float @llvm.fmuladd.f32(float %530, float %531, float 1.000000e+00)
  %533 = fpext float %532 to double
  %534 = call double @sqrt(double noundef %533) #5
  %535 = fptrunc double %534 to float
  %536 = load ptr, ptr %19, align 8, !tbaa !5
  store float %535, ptr %536, align 4, !tbaa !9
  %537 = load float, ptr %39, align 4, !tbaa !9
  %538 = load float, ptr %29, align 4, !tbaa !9
  %539 = load ptr, ptr %19, align 8, !tbaa !5
  %540 = load float, ptr %539, align 4, !tbaa !9
  %541 = fdiv float %538, %540
  %542 = fmul float %537, %541
  %543 = load ptr, ptr %17, align 8, !tbaa !5
  store float %542, ptr %543, align 4, !tbaa !9
  %544 = load ptr, ptr %16, align 8, !tbaa !5
  %545 = load float, ptr %544, align 4, !tbaa !9
  %546 = load float, ptr %27, align 4, !tbaa !9
  %547 = fdiv float %545, %546
  %548 = fneg float %547
  %549 = load ptr, ptr %19, align 8, !tbaa !5
  %550 = load float, ptr %549, align 4, !tbaa !9
  %551 = fdiv float %548, %550
  %552 = load ptr, ptr %18, align 8, !tbaa !5
  store float %551, ptr %552, align 4, !tbaa !9
  %553 = call double @r_sign(ptr noundef @c_b5, ptr noundef %34)
  %554 = load ptr, ptr %19, align 8, !tbaa !5
  %555 = load float, ptr %554, align 4, !tbaa !9
  %556 = fpext float %555 to double
  %557 = fdiv double %553, %556
  %558 = fptrunc double %557 to float
  %559 = load ptr, ptr %19, align 8, !tbaa !5
  store float %558, ptr %559, align 4, !tbaa !9
  br label %592

560:                                              ; preds = %520
  %561 = load float, ptr %27, align 4, !tbaa !9
  %562 = load float, ptr %26, align 4, !tbaa !9
  %563 = fdiv float %561, %562
  store float %563, ptr %29, align 4, !tbaa !9
  %564 = load float, ptr %29, align 4, !tbaa !9
  %565 = load float, ptr %29, align 4, !tbaa !9
  %566 = call float @llvm.fmuladd.f32(float %564, float %565, float 1.000000e+00)
  %567 = fpext float %566 to double
  %568 = call double @sqrt(double noundef %567) #5
  %569 = fptrunc double %568 to float
  %570 = load ptr, ptr %18, align 8, !tbaa !5
  store float %569, ptr %570, align 4, !tbaa !9
  %571 = load float, ptr %39, align 4, !tbaa !9
  %572 = load ptr, ptr %18, align 8, !tbaa !5
  %573 = load float, ptr %572, align 4, !tbaa !9
  %574 = fdiv float %571, %573
  %575 = load ptr, ptr %17, align 8, !tbaa !5
  store float %574, ptr %575, align 4, !tbaa !9
  %576 = load float, ptr %34, align 4, !tbaa !9
  %577 = load float, ptr %26, align 4, !tbaa !9
  %578 = fdiv float %576, %577
  %579 = load ptr, ptr %18, align 8, !tbaa !5
  %580 = load float, ptr %579, align 4, !tbaa !9
  %581 = fdiv float %578, %580
  %582 = load ptr, ptr %19, align 8, !tbaa !5
  store float %581, ptr %582, align 4, !tbaa !9
  %583 = load ptr, ptr %16, align 8, !tbaa !5
  %584 = call double @r_sign(ptr noundef @c_b5, ptr noundef %583)
  %585 = fneg double %584
  %586 = load ptr, ptr %18, align 8, !tbaa !5
  %587 = load float, ptr %586, align 4, !tbaa !9
  %588 = fpext float %587 to double
  %589 = fdiv double %585, %588
  %590 = fptrunc double %589 to float
  %591 = load ptr, ptr %18, align 8, !tbaa !5
  store float %590, ptr %591, align 4, !tbaa !9
  br label %592

592:                                              ; preds = %560, %526
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

593:                                              ; preds = %514
  %594 = load float, ptr %34, align 4, !tbaa !9
  %595 = load float, ptr %39, align 4, !tbaa !9
  %596 = fdiv float %594, %595
  store float %596, ptr %32, align 4, !tbaa !9
  %597 = load ptr, ptr %16, align 8, !tbaa !5
  %598 = load float, ptr %597, align 4, !tbaa !9
  %599 = load float, ptr %39, align 4, !tbaa !9
  %600 = fdiv float %598, %599
  store float %600, ptr %33, align 4, !tbaa !9
  %601 = load float, ptr %32, align 4, !tbaa !9
  %602 = load float, ptr %32, align 4, !tbaa !9
  %603 = call float @llvm.fmuladd.f32(float %601, float %602, float 1.000000e+00)
  %604 = fpext float %603 to double
  %605 = load float, ptr %32, align 4, !tbaa !9
  %606 = load float, ptr %33, align 4, !tbaa !9
  %607 = fmul float %605, %606
  store float %607, ptr %20, align 4, !tbaa !9
  %608 = load float, ptr %20, align 4, !tbaa !9
  %609 = fcmp oge float %608, 0.000000e+00
  br i1 %609, label %610, label %612

610:                                              ; preds = %593
  %611 = load float, ptr %20, align 4, !tbaa !9
  br label %615

612:                                              ; preds = %593
  %613 = load float, ptr %20, align 4, !tbaa !9
  %614 = fneg float %613
  br label %615

615:                                              ; preds = %612, %610
  %616 = phi float [ %611, %610 ], [ %614, %612 ]
  %617 = fpext float %616 to double
  %618 = fadd double %604, %617
  %619 = fptrunc double %618 to float
  store float %619, ptr %22, align 4, !tbaa !9
  %620 = load float, ptr %32, align 4, !tbaa !9
  %621 = load float, ptr %33, align 4, !tbaa !9
  %622 = fmul float %620, %621
  store float %622, ptr %21, align 4, !tbaa !9
  %623 = load float, ptr %21, align 4, !tbaa !9
  %624 = fcmp oge float %623, 0.000000e+00
  br i1 %624, label %625, label %627

625:                                              ; preds = %615
  %626 = load float, ptr %21, align 4, !tbaa !9
  br label %630

627:                                              ; preds = %615
  %628 = load float, ptr %21, align 4, !tbaa !9
  %629 = fneg float %628
  br label %630

630:                                              ; preds = %627, %625
  %631 = phi float [ %626, %625 ], [ %629, %627 ]
  %632 = fpext float %631 to double
  %633 = load float, ptr %33, align 4, !tbaa !9
  %634 = load float, ptr %33, align 4, !tbaa !9
  %635 = fmul float %633, %634
  %636 = fpext float %635 to double
  %637 = fadd double %632, %636
  %638 = fptrunc double %637 to float
  store float %638, ptr %23, align 4, !tbaa !9
  %639 = load float, ptr %22, align 4, !tbaa !9
  %640 = load float, ptr %23, align 4, !tbaa !9
  %641 = fcmp oge float %639, %640
  br i1 %641, label %642, label %644

642:                                              ; preds = %630
  %643 = load float, ptr %22, align 4, !tbaa !9
  br label %646

644:                                              ; preds = %630
  %645 = load float, ptr %23, align 4, !tbaa !9
  br label %646

646:                                              ; preds = %644, %642
  %647 = phi float [ %643, %642 ], [ %645, %644 ]
  %648 = fpext float %647 to double
  %649 = fptrunc double %648 to float
  store float %649, ptr %35, align 4, !tbaa !9
  %650 = load float, ptr %32, align 4, !tbaa !9
  %651 = load float, ptr %33, align 4, !tbaa !9
  %652 = fsub float %650, %651
  %653 = fmul float %652, 2.000000e+00
  %654 = load float, ptr %32, align 4, !tbaa !9
  %655 = load float, ptr %33, align 4, !tbaa !9
  %656 = fadd float %654, %655
  %657 = call float @llvm.fmuladd.f32(float %653, float %656, float 1.000000e+00)
  store float %657, ptr %31, align 4, !tbaa !9
  %658 = load float, ptr %31, align 4, !tbaa !9
  %659 = fcmp oge float %658, 0.000000e+00
  br i1 %659, label %660, label %720

660:                                              ; preds = %646
  %661 = load float, ptr %32, align 4, !tbaa !9
  %662 = load float, ptr %32, align 4, !tbaa !9
  %663 = load float, ptr %33, align 4, !tbaa !9
  %664 = load float, ptr %33, align 4, !tbaa !9
  %665 = fmul float %663, %664
  %666 = call float @llvm.fmuladd.f32(float %661, float %662, float %665)
  %667 = fadd float %666, 1.000000e+00
  %668 = fmul float %667, 5.000000e-01
  store float %668, ptr %24, align 4, !tbaa !9
  %669 = load float, ptr %33, align 4, !tbaa !9
  %670 = load float, ptr %33, align 4, !tbaa !9
  %671 = fmul float %669, %670
  %672 = load ptr, ptr %19, align 8, !tbaa !5
  store float %671, ptr %672, align 4, !tbaa !9
  %673 = load ptr, ptr %19, align 8, !tbaa !5
  %674 = load float, ptr %673, align 4, !tbaa !9
  %675 = fpext float %674 to double
  %676 = load float, ptr %24, align 4, !tbaa !9
  %677 = fpext float %676 to double
  %678 = load float, ptr %24, align 4, !tbaa !9
  %679 = load float, ptr %24, align 4, !tbaa !9
  %680 = load ptr, ptr %19, align 8, !tbaa !5
  %681 = load float, ptr %680, align 4, !tbaa !9
  %682 = fneg float %681
  %683 = call float @llvm.fmuladd.f32(float %678, float %679, float %682)
  store float %683, ptr %20, align 4, !tbaa !9
  %684 = load float, ptr %20, align 4, !tbaa !9
  %685 = fcmp oge float %684, 0.000000e+00
  br i1 %685, label %686, label %688

686:                                              ; preds = %660
  %687 = load float, ptr %20, align 4, !tbaa !9
  br label %691

688:                                              ; preds = %660
  %689 = load float, ptr %20, align 4, !tbaa !9
  %690 = fneg float %689
  br label %691

691:                                              ; preds = %688, %686
  %692 = phi float [ %687, %686 ], [ %690, %688 ]
  %693 = fpext float %692 to double
  %694 = call double @sqrt(double noundef %693) #5
  %695 = fadd double %677, %694
  %696 = fdiv double %675, %695
  %697 = fptrunc double %696 to float
  store float %697, ptr %25, align 4, !tbaa !9
  %698 = load float, ptr %32, align 4, !tbaa !9
  %699 = load float, ptr %25, align 4, !tbaa !9
  %700 = fsub float 1.000000e+00, %699
  %701 = fdiv float %698, %700
  store float %701, ptr %30, align 4, !tbaa !9
  %702 = load float, ptr %33, align 4, !tbaa !9
  %703 = fneg float %702
  %704 = load float, ptr %25, align 4, !tbaa !9
  %705 = fdiv float %703, %704
  store float %705, ptr %38, align 4, !tbaa !9
  %706 = load float, ptr %25, align 4, !tbaa !9
  %707 = load float, ptr %28, align 4, !tbaa !9
  %708 = fmul float %707, 4.000000e+00
  %709 = load float, ptr %28, align 4, !tbaa !9
  %710 = fmul float %708, %709
  %711 = load float, ptr %35, align 4, !tbaa !9
  %712 = call float @llvm.fmuladd.f32(float %710, float %711, float %706)
  %713 = fpext float %712 to double
  %714 = call double @sqrt(double noundef %713) #5
  %715 = load float, ptr %39, align 4, !tbaa !9
  %716 = fpext float %715 to double
  %717 = fmul double %714, %716
  %718 = fptrunc double %717 to float
  %719 = load ptr, ptr %17, align 8, !tbaa !5
  store float %718, ptr %719, align 4, !tbaa !9
  br label %789

720:                                              ; preds = %646
  %721 = load float, ptr %33, align 4, !tbaa !9
  %722 = load float, ptr %33, align 4, !tbaa !9
  %723 = load float, ptr %32, align 4, !tbaa !9
  %724 = load float, ptr %32, align 4, !tbaa !9
  %725 = fmul float %723, %724
  %726 = call float @llvm.fmuladd.f32(float %721, float %722, float %725)
  %727 = fsub float %726, 1.000000e+00
  %728 = fmul float %727, 5.000000e-01
  store float %728, ptr %24, align 4, !tbaa !9
  %729 = load float, ptr %32, align 4, !tbaa !9
  %730 = load float, ptr %32, align 4, !tbaa !9
  %731 = fmul float %729, %730
  %732 = load ptr, ptr %19, align 8, !tbaa !5
  store float %731, ptr %732, align 4, !tbaa !9
  %733 = load float, ptr %24, align 4, !tbaa !9
  %734 = fcmp oge float %733, 0.000000e+00
  br i1 %734, label %735, label %752

735:                                              ; preds = %720
  %736 = load ptr, ptr %19, align 8, !tbaa !5
  %737 = load float, ptr %736, align 4, !tbaa !9
  %738 = fneg float %737
  %739 = fpext float %738 to double
  %740 = load float, ptr %24, align 4, !tbaa !9
  %741 = fpext float %740 to double
  %742 = load float, ptr %24, align 4, !tbaa !9
  %743 = load float, ptr %24, align 4, !tbaa !9
  %744 = load ptr, ptr %19, align 8, !tbaa !5
  %745 = load float, ptr %744, align 4, !tbaa !9
  %746 = call float @llvm.fmuladd.f32(float %742, float %743, float %745)
  %747 = fpext float %746 to double
  %748 = call double @sqrt(double noundef %747) #5
  %749 = fadd double %741, %748
  %750 = fdiv double %739, %749
  %751 = fptrunc double %750 to float
  store float %751, ptr %25, align 4, !tbaa !9
  br label %764

752:                                              ; preds = %720
  %753 = load float, ptr %24, align 4, !tbaa !9
  %754 = fpext float %753 to double
  %755 = load float, ptr %24, align 4, !tbaa !9
  %756 = load float, ptr %24, align 4, !tbaa !9
  %757 = load ptr, ptr %19, align 8, !tbaa !5
  %758 = load float, ptr %757, align 4, !tbaa !9
  %759 = call float @llvm.fmuladd.f32(float %755, float %756, float %758)
  %760 = fpext float %759 to double
  %761 = call double @sqrt(double noundef %760) #5
  %762 = fsub double %754, %761
  %763 = fptrunc double %762 to float
  store float %763, ptr %25, align 4, !tbaa !9
  br label %764

764:                                              ; preds = %752, %735
  %765 = load float, ptr %32, align 4, !tbaa !9
  %766 = fneg float %765
  %767 = load float, ptr %25, align 4, !tbaa !9
  %768 = fdiv float %766, %767
  store float %768, ptr %30, align 4, !tbaa !9
  %769 = load float, ptr %33, align 4, !tbaa !9
  %770 = fneg float %769
  %771 = load float, ptr %25, align 4, !tbaa !9
  %772 = fadd float %771, 1.000000e+00
  %773 = fdiv float %770, %772
  store float %773, ptr %38, align 4, !tbaa !9
  %774 = load float, ptr %25, align 4, !tbaa !9
  %775 = fadd float %774, 1.000000e+00
  %776 = load float, ptr %28, align 4, !tbaa !9
  %777 = fmul float %776, 4.000000e+00
  %778 = load float, ptr %28, align 4, !tbaa !9
  %779 = fmul float %777, %778
  %780 = load float, ptr %35, align 4, !tbaa !9
  %781 = call float @llvm.fmuladd.f32(float %779, float %780, float %775)
  %782 = fpext float %781 to double
  %783 = call double @sqrt(double noundef %782) #5
  %784 = load float, ptr %39, align 4, !tbaa !9
  %785 = fpext float %784 to double
  %786 = fmul double %783, %785
  %787 = fptrunc double %786 to float
  %788 = load ptr, ptr %17, align 8, !tbaa !5
  store float %787, ptr %788, align 4, !tbaa !9
  br label %789

789:                                              ; preds = %764, %691
  %790 = load float, ptr %30, align 4, !tbaa !9
  %791 = load float, ptr %30, align 4, !tbaa !9
  %792 = load float, ptr %38, align 4, !tbaa !9
  %793 = load float, ptr %38, align 4, !tbaa !9
  %794 = fmul float %792, %793
  %795 = call float @llvm.fmuladd.f32(float %790, float %791, float %794)
  %796 = fpext float %795 to double
  %797 = call double @sqrt(double noundef %796) #5
  %798 = fptrunc double %797 to float
  store float %798, ptr %29, align 4, !tbaa !9
  %799 = load float, ptr %30, align 4, !tbaa !9
  %800 = load float, ptr %29, align 4, !tbaa !9
  %801 = fdiv float %799, %800
  %802 = load ptr, ptr %18, align 8, !tbaa !5
  store float %801, ptr %802, align 4, !tbaa !9
  %803 = load float, ptr %38, align 4, !tbaa !9
  %804 = load float, ptr %29, align 4, !tbaa !9
  %805 = fdiv float %803, %804
  %806 = load ptr, ptr %19, align 8, !tbaa !5
  store float %805, ptr %806, align 4, !tbaa !9
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

807:                                              ; preds = %384
  br label %808

808:                                              ; preds = %807
  store i32 0, ptr %10, align 4
  store i32 1, ptr %40, align 4
  br label %809

809:                                              ; preds = %808, %789, %592, %507, %480, %441, %348, %296, %215, %170, %153
  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
  %810 = load i32, ptr %10, align 4
  ret i32 %810
}

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

declare double @slamch_(ptr noundef) #2

declare double @f2c_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

declare double @r_sign(ptr noundef, ptr noundef) #2

; 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 = !{!"long", !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 i64, align 8
@c_b5 = external hidden global float, align 4

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @slaic1_(ptr nocapture noundef readonly %0, ptr noundef %1, ptr noundef %2, ptr nocapture noundef readonly %3, ptr noundef %4, ptr noundef %5, ptr nocapture noundef writeonly %6, ptr nocapture noundef %7, ptr nocapture noundef %8) local_unnamed_addr #0 {
  %10 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #6
  %11 = tail call double @slamch_(ptr noundef nonnull @.str) #6
  %12 = fptrunc double %11 to float
  %13 = tail call double @f2c_sdot(ptr noundef %1, ptr noundef %2, ptr noundef nonnull @c__1, ptr noundef %4, ptr noundef nonnull @c__1) #6
  %14 = fptrunc double %13 to float
  store float %14, ptr %10, align 4, !tbaa !5
  %15 = fcmp oge float %14, 0.000000e+00
  %16 = fneg float %14
  %17 = select i1 %15, float %14, float %16
  %18 = load float, ptr %5, align 4, !tbaa !5
  %19 = fcmp ult float %18, 0.000000e+00
  %20 = fneg float %18
  %21 = select i1 %19, float %20, float %18
  %22 = load float, ptr %3, align 4, !tbaa !5
  %23 = fcmp ult float %22, 0.000000e+00
  %24 = fneg float %22
  %25 = select i1 %23, float %24, float %22
  %26 = fpext float %25 to double
  %27 = load i64, ptr %0, align 8, !tbaa !9
  switch i64 %27, label %283 [
    i64 1, label %28
    i64 2, label %131
  ]

28:                                               ; preds = %9
  %29 = fcmp oeq float %22, 0.000000e+00
  br i1 %29, label %30, label %47

30:                                               ; preds = %28
  %31 = fcmp oge float %21, %17
  %32 = select i1 %31, float %21, float %17
  %33 = fcmp oeq float %32, 0.000000e+00
  br i1 %33, label %34, label %35

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

35:                                               ; preds = %30
  %36 = fdiv float %14, %32
  store float %36, ptr %7, align 4, !tbaa !5
  %37 = load float, ptr %5, align 4, !tbaa !5
  %38 = fdiv float %37, %32
  store float %38, ptr %8, align 4, !tbaa !5
  %39 = load float, ptr %7, align 4, !tbaa !5
  %40 = fmul float %38, %38
  %41 = tail call float @llvm.fmuladd.f32(float %39, float %39, float %40)
  %sqrt = tail call float @llvm.sqrt.f32(float %41)
  %42 = fdiv float %39, %sqrt
  store float %42, ptr %7, align 4, !tbaa !5
  %43 = load float, ptr %8, align 4, !tbaa !5
  %44 = fdiv float %43, %sqrt
  %45 = fmul float %32, %sqrt
  br label %46

46:                                               ; preds = %35, %34
  %.sink = phi float [ 1.000000e+00, %34 ], [ %44, %35 ]
  %storemerge362 = phi float [ 0.000000e+00, %34 ], [ %45, %35 ]
  store float %.sink, ptr %8, align 4
  store float %storemerge362, ptr %6, align 4, !tbaa !5
  br label %283

47:                                               ; preds = %28
  %48 = fmul float %25, %12
  %49 = fcmp ugt float %21, %48
  br i1 %49, label %61, label %50

50:                                               ; preds = %47
  store float 1.000000e+00, ptr %7, align 4, !tbaa !5
  store float 0.000000e+00, ptr %8, align 4, !tbaa !5
  %51 = fcmp oge float %25, %17
  %52 = select i1 %51, float %25, float %17
  %53 = fpext float %52 to double
  %54 = fdiv float %25, %52
  %55 = fdiv float %17, %52
  %56 = fmul float %55, %55
  %57 = tail call float @llvm.fmuladd.f32(float %54, float %54, float %56)
  %58 = fpext float %57 to double
  %sqrt371 = tail call double @llvm.sqrt.f64(double %58)
  %59 = fmul double %sqrt371, %53
  %60 = fptrunc double %59 to float
  store float %60, ptr %6, align 4, !tbaa !5
  br label %283

61:                                               ; preds = %47
  %62 = fcmp ugt float %17, %48
  br i1 %62, label %65, label %63

63:                                               ; preds = %61
  %64 = fcmp ugt float %21, %25
  %. = select i1 %64, float 0.000000e+00, float 1.000000e+00
  %.363 = select i1 %64, float 1.000000e+00, float 0.000000e+00
  %.364 = select i1 %64, float %21, float %25
  store float %., ptr %7, align 4, !tbaa !5
  store float %.363, ptr %8, align 4, !tbaa !5
  store float %.364, ptr %6, align 4, !tbaa !5
  br label %283

65:                                               ; preds = %61
  %66 = fmul float %17, %12
  %67 = fcmp ugt float %25, %66
  %68 = fmul float %21, %12
  %69 = fcmp ugt float %25, %68
  %or.cond = select i1 %67, i1 %69, i1 false
  br i1 %or.cond, label %97, label %70

70:                                               ; preds = %65
  %71 = fcmp ugt float %21, %17
  br i1 %71, label %85, label %72

72:                                               ; preds = %70
  %73 = fdiv float %21, %17
  %74 = tail call float @llvm.fmuladd.f32(float %73, float %73, float 1.000000e+00)
  %sqrt372 = tail call float @llvm.sqrt.f32(float %74)
  store float %sqrt372, ptr %7, align 4, !tbaa !5
  %75 = fmul float %17, %sqrt372
  store float %75, ptr %6, align 4, !tbaa !5
  %76 = load float, ptr %5, align 4, !tbaa !5
  %77 = fdiv float %76, %17
  %78 = load float, ptr %7, align 4, !tbaa !5
  %79 = fdiv float %77, %78
  store float %79, ptr %8, align 4, !tbaa !5
  %80 = call double @r_sign(ptr noundef nonnull @c_b5, ptr noundef nonnull %10) #6
  %81 = load float, ptr %7, align 4, !tbaa !5
  %82 = fpext float %81 to double
  %83 = fdiv double %80, %82
  %84 = fptrunc double %83 to float
  store float %84, ptr %7, align 4, !tbaa !5
  br label %283

85:                                               ; preds = %70
  %86 = fdiv float %17, %21
  %87 = tail call float @llvm.fmuladd.f32(float %86, float %86, float 1.000000e+00)
  %sqrt373 = tail call float @llvm.sqrt.f32(float %87)
  store float %sqrt373, ptr %8, align 4, !tbaa !5
  %88 = fmul float %21, %sqrt373
  store float %88, ptr %6, align 4, !tbaa !5
  %89 = fdiv float %14, %21
  %90 = load float, ptr %8, align 4, !tbaa !5
  %91 = fdiv float %89, %90
  store float %91, ptr %7, align 4, !tbaa !5
  %92 = tail call double @r_sign(ptr noundef nonnull @c_b5, ptr noundef nonnull %5) #6
  %93 = load float, ptr %8, align 4, !tbaa !5
  %94 = fpext float %93 to double
  %95 = fdiv double %92, %94
  %96 = fptrunc double %95 to float
  store float %96, ptr %8, align 4, !tbaa !5
  br label %283

97:                                               ; preds = %65
  %98 = fdiv float %14, %25
  %99 = fdiv float %18, %25
  %100 = fneg float %98
  %101 = tail call float @llvm.fmuladd.f32(float %100, float %98, float 1.000000e+00)
  %102 = fneg float %99
  %103 = tail call float @llvm.fmuladd.f32(float %102, float %99, float %101)
  %104 = fmul float %103, 5.000000e-01
  %105 = fmul float %98, %98
  %106 = fcmp ogt float %104, 0.000000e+00
  br i1 %106, label %107, label %114

107:                                              ; preds = %97
  %108 = fpext float %105 to double
  %109 = fpext float %104 to double
  %110 = tail call float @llvm.fmuladd.f32(float %104, float %104, float %105)
  %111 = fpext float %110 to double
  %sqrt374 = tail call double @llvm.sqrt.f64(double %111)
  %112 = fadd double %sqrt374, %109
  %113 = fdiv double %108, %112
  br label %119

114:                                              ; preds = %97
  %115 = tail call float @llvm.fmuladd.f32(float %104, float %104, float %105)
  %116 = fpext float %115 to double
  %sqrt375 = tail call double @llvm.sqrt.f64(double %116)
  %117 = fpext float %104 to double
  %118 = fsub double %sqrt375, %117
  br label %119

119:                                              ; preds = %114, %107
  %.0328.in = phi double [ %113, %107 ], [ %118, %114 ]
  %.0328 = fptrunc double %.0328.in to float
  %120 = fdiv float %100, %.0328
  %121 = fadd float %.0328, 1.000000e+00
  %122 = fdiv float %102, %121
  %123 = fmul float %122, %122
  %124 = tail call float @llvm.fmuladd.f32(float %120, float %120, float %123)
  %sqrt376 = tail call float @llvm.sqrt.f32(float %124)
  %125 = fdiv float %120, %sqrt376
  store float %125, ptr %7, align 4, !tbaa !5
  %126 = fdiv float %122, %sqrt376
  store float %126, ptr %8, align 4, !tbaa !5
  %127 = fpext float %121 to double
  %128 = tail call double @sqrt(double noundef %127) #6
  %129 = fmul double %128, %26
  %130 = fptrunc double %129 to float
  store float %130, ptr %6, align 4, !tbaa !5
  br label %283

131:                                              ; preds = %9
  %132 = fcmp oeq float %22, 0.000000e+00
  br i1 %132, label %133, label %156

133:                                              ; preds = %131
  store float 0.000000e+00, ptr %6, align 4, !tbaa !5
  %134 = fcmp oge float %21, %17
  %135 = select i1 %134, float %21, float %17
  %136 = fcmp oeq float %135, 0.000000e+00
  br i1 %136, label %._crit_edge, label %137

137:                                              ; preds = %133
  %138 = load float, ptr %5, align 4, !tbaa !5
  %139 = fneg float %138
  br label %._crit_edge

._crit_edge:                                      ; preds = %133, %137
  %.0330 = phi float [ %139, %137 ], [ 1.000000e+00, %133 ]
  %.0327 = phi float [ %14, %137 ], [ 0.000000e+00, %133 ]
  %140 = fcmp oge float %.0330, 0.000000e+00
  %141 = fneg float %.0330
  %142 = select i1 %140, float %.0330, float %141
  %143 = fcmp oge float %.0327, 0.000000e+00
  %144 = fneg float %.0327
  %145 = select i1 %143, float %.0327, float %144
  %146 = fcmp oge float %142, %145
  %147 = select i1 %146, float %142, float %145
  %148 = fdiv float %.0330, %147
  store float %148, ptr %7, align 4, !tbaa !5
  %149 = fdiv float %.0327, %147
  store float %149, ptr %8, align 4, !tbaa !5
  %150 = load float, ptr %7, align 4, !tbaa !5
  %151 = fmul float %149, %149
  %152 = tail call float @llvm.fmuladd.f32(float %150, float %150, float %151)
  %sqrt377 = tail call float @llvm.sqrt.f32(float %152)
  %153 = fdiv float %150, %sqrt377
  store float %153, ptr %7, align 4, !tbaa !5
  %154 = load float, ptr %8, align 4, !tbaa !5
  %155 = fdiv float %154, %sqrt377
  store float %155, ptr %8, align 4, !tbaa !5
  br label %283

156:                                              ; preds = %131
  %157 = fmul float %25, %12
  %158 = fcmp ugt float %21, %157
  br i1 %158, label %160, label %159

159:                                              ; preds = %156
  store float 0.000000e+00, ptr %7, align 4, !tbaa !5
  store float 1.000000e+00, ptr %8, align 4, !tbaa !5
  store float %21, ptr %6, align 4, !tbaa !5
  br label %283

160:                                              ; preds = %156
  %161 = fcmp ugt float %17, %157
  br i1 %161, label %164, label %162

162:                                              ; preds = %160
  %163 = fcmp ugt float %21, %25
  %.366 = select i1 %163, float 1.000000e+00, float 0.000000e+00
  %.367 = select i1 %163, float 0.000000e+00, float 1.000000e+00
  %.368 = select i1 %163, float %25, float %21
  store float %.366, ptr %7, align 4, !tbaa !5
  store float %.367, ptr %8, align 4, !tbaa !5
  store float %.368, ptr %6, align 4, !tbaa !5
  br label %283

164:                                              ; preds = %160
  %165 = fmul float %17, %12
  %166 = fcmp ugt float %25, %165
  %167 = fmul float %21, %12
  %168 = fcmp ugt float %25, %167
  %or.cond370 = select i1 %166, i1 %168, i1 false
  br i1 %or.cond370, label %199, label %169

169:                                              ; preds = %164
  %170 = fcmp ugt float %21, %17
  br i1 %170, label %186, label %171

171:                                              ; preds = %169
  %172 = fdiv float %21, %17
  %173 = tail call float @llvm.fmuladd.f32(float %172, float %172, float 1.000000e+00)
  %sqrt378 = tail call float @llvm.sqrt.f32(float %173)
  store float %sqrt378, ptr %8, align 4, !tbaa !5
  %174 = fdiv float %172, %sqrt378
  %175 = fmul float %25, %174
  store float %175, ptr %6, align 4, !tbaa !5
  %176 = load float, ptr %5, align 4, !tbaa !5
  %177 = fneg float %176
  %178 = fdiv float %177, %17
  %179 = load float, ptr %8, align 4, !tbaa !5
  %180 = fdiv float %178, %179
  store float %180, ptr %7, align 4, !tbaa !5
  %181 = call double @r_sign(ptr noundef nonnull @c_b5, ptr noundef nonnull %10) #6
  %182 = load float, ptr %8, align 4, !tbaa !5
  %183 = fpext float %182 to double
  %184 = fdiv double %181, %183
  %185 = fptrunc double %184 to float
  store float %185, ptr %8, align 4, !tbaa !5
  br label %283

186:                                              ; preds = %169
  %187 = fdiv float %17, %21
  %188 = tail call float @llvm.fmuladd.f32(float %187, float %187, float 1.000000e+00)
  %sqrt379 = tail call float @llvm.sqrt.f32(float %188)
  store float %sqrt379, ptr %7, align 4, !tbaa !5
  %189 = fdiv float %25, %sqrt379
  store float %189, ptr %6, align 4, !tbaa !5
  %190 = fdiv float %14, %21
  %191 = load float, ptr %7, align 4, !tbaa !5
  %192 = fdiv float %190, %191
  store float %192, ptr %8, align 4, !tbaa !5
  %193 = tail call double @r_sign(ptr noundef nonnull @c_b5, ptr noundef nonnull %5) #6
  %194 = fneg double %193
  %195 = load float, ptr %7, align 4, !tbaa !5
  %196 = fpext float %195 to double
  %197 = fdiv double %194, %196
  %198 = fptrunc double %197 to float
  store float %198, ptr %7, align 4, !tbaa !5
  br label %283

199:                                              ; preds = %164
  %200 = insertelement <2 x float> poison, float %14, i64 0
  %201 = insertelement <2 x float> %200, float %18, i64 1
  %202 = insertelement <2 x float> poison, float %25, i64 0
  %203 = shufflevector <2 x float> %202, <2 x float> poison, <2 x i32> zeroinitializer
  %204 = fdiv <2 x float> %201, %203
  %205 = extractelement <2 x float> %204, i64 0
  %206 = tail call float @llvm.fmuladd.f32(float %205, float %205, float 1.000000e+00)
  %207 = extractelement <2 x float> %204, i64 1
  %208 = fmul float %205, %207
  %209 = fcmp oge float %208, 0.000000e+00
  %210 = fneg float %208
  %211 = select i1 %209, float %208, float %210
  %212 = fadd float %206, %211
  %213 = fmul float %207, %207
  %214 = fadd float %213, %211
  %215 = fcmp oge float %212, %214
  %216 = select i1 %215, float %212, float %214
  %217 = fsub float %205, %207
  %218 = fmul float %217, 2.000000e+00
  %219 = fadd float %205, %207
  %220 = tail call float @llvm.fmuladd.f32(float %218, float %219, float 1.000000e+00)
  %221 = fcmp ult float %220, 0.000000e+00
  br i1 %221, label %244, label %222

222:                                              ; preds = %199
  %223 = fpext float %213 to double
  %224 = tail call float @llvm.fmuladd.f32(float %205, float %205, float %213)
  %225 = fadd float %224, 1.000000e+00
  %226 = fmul float %225, 5.000000e-01
  %227 = fpext float %226 to double
  %228 = fneg float %213
  %229 = tail call float @llvm.fmuladd.f32(float %226, float %226, float %228)
  %230 = fcmp oge float %229, 0.000000e+00
  %231 = fneg float %229
  %232 = select i1 %230, float %229, float %231
  %233 = fpext float %232 to double
  %234 = tail call double @sqrt(double noundef %233) #6
  %235 = fadd double %234, %227
  %236 = fdiv double %223, %235
  %237 = fptrunc double %236 to float
  %238 = fsub float 1.000000e+00, %237
  %239 = fneg <2 x float> %204
  %240 = shufflevector <2 x float> %204, <2 x float> %239, <2 x i32> <i32 0, i32 3>
  %241 = insertelement <2 x float> poison, float %238, i64 0
  %242 = insertelement <2 x float> %241, float %237, i64 1
  %243 = fdiv <2 x float> %240, %242
  br label %270

244:                                              ; preds = %199
  %245 = fmul <2 x float> %204, %204
  %246 = extractelement <2 x float> %245, i64 0
  %247 = tail call float @llvm.fmuladd.f32(float %207, float %207, float %246)
  %248 = fadd float %247, -1.000000e+00
  %249 = fmul float %248, 5.000000e-01
  %250 = fcmp ult float %249, 0.000000e+00
  br i1 %250, label %259, label %251

251:                                              ; preds = %244
  %252 = fneg float %246
  %253 = fpext float %252 to double
  %254 = fpext float %249 to double
  %255 = tail call float @llvm.fmuladd.f32(float %249, float %249, float %246)
  %256 = fpext float %255 to double
  %sqrt380 = tail call double @llvm.sqrt.f64(double %256)
  %257 = fadd double %sqrt380, %254
  %258 = fdiv double %253, %257
  br label %264

259:                                              ; preds = %244
  %260 = fpext float %249 to double
  %261 = tail call float @llvm.fmuladd.f32(float %249, float %249, float %246)
  %262 = fpext float %261 to double
  %sqrt381 = tail call double @llvm.sqrt.f64(double %262)
  %263 = fsub double %260, %sqrt381
  br label %264

264:                                              ; preds = %259, %251
  %.1329.in = phi double [ %258, %251 ], [ %263, %259 ]
  %.1329 = fptrunc double %.1329.in to float
  %265 = fneg <2 x float> %204
  %266 = fadd float %.1329, 1.000000e+00
  %267 = insertelement <2 x float> poison, float %.1329, i64 0
  %268 = insertelement <2 x float> %267, float %266, i64 1
  %269 = fdiv <2 x float> %265, %268
  br label %270

270:                                              ; preds = %264, %222
  %.sink386 = phi float [ %266, %264 ], [ %237, %222 ]
  %271 = phi <2 x float> [ %269, %264 ], [ %243, %222 ]
  %272 = fmul float %12, 4.000000e+00
  %273 = fmul float %272, %12
  %274 = tail call float @llvm.fmuladd.f32(float %273, float %216, float %.sink386)
  %275 = fpext float %274 to double
  %276 = tail call double @sqrt(double noundef %275) #6
  %storemerge.in = fmul double %276, %26
  %storemerge = fptrunc double %storemerge.in to float
  store float %storemerge, ptr %6, align 4, !tbaa !5
  %277 = extractelement <2 x float> %271, i64 1
  %278 = fmul float %277, %277
  %279 = extractelement <2 x float> %271, i64 0
  %280 = tail call float @llvm.fmuladd.f32(float %279, float %279, float %278)
  %sqrt382 = tail call float @llvm.sqrt.f32(float %280)
  %281 = fdiv float %279, %sqrt382
  store float %281, ptr %7, align 4, !tbaa !5
  %282 = fdiv float %277, %sqrt382
  store float %282, ptr %8, align 4, !tbaa !5
  br label %283

283:                                              ; preds = %9, %171, %186, %72, %85, %270, %162, %159, %._crit_edge, %119, %63, %50, %46
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  ret i32 0
}

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

declare double @slamch_(ptr noundef) local_unnamed_addr #2

declare double @f2c_sdot(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

declare double @r_sign(ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"float", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}


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