; LLVM IR from niuyishuai/PDCABB :: LAPACK_BLAS/LAPACK (slanv2)

; 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 [2 x i8], align 1
@c_b4 = external hidden global float, align 4

; Function Attrs: nounwind uwtable
define dso_local i32 @slanv2_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9) #0 {
  %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 ptr, align 8
  %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
  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
  store ptr %9, ptr %20, align 8, !tbaa !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
  %40 = call double @slamch_(ptr noundef @.str)
  %41 = fptrunc double %40 to float
  store float %41, ptr %33, align 4, !tbaa !9
  %42 = load ptr, ptr %13, align 8, !tbaa !5
  %43 = load float, ptr %42, align 4, !tbaa !9
  %44 = fcmp oeq float %43, 0.000000e+00
  br i1 %44, label %45, label %48

45:                                               ; preds = %10
  %46 = load ptr, ptr %19, align 8, !tbaa !5
  store float 1.000000e+00, ptr %46, align 4, !tbaa !9
  %47 = load ptr, ptr %20, align 8, !tbaa !5
  store float 0.000000e+00, ptr %47, align 4, !tbaa !9
  br label %513

48:                                               ; preds = %10
  %49 = load ptr, ptr %12, align 8, !tbaa !5
  %50 = load float, ptr %49, align 4, !tbaa !9
  %51 = fcmp oeq float %50, 0.000000e+00
  br i1 %51, label %52, label %67

52:                                               ; preds = %48
  %53 = load ptr, ptr %19, align 8, !tbaa !5
  store float 0.000000e+00, ptr %53, align 4, !tbaa !9
  %54 = load ptr, ptr %20, align 8, !tbaa !5
  store float 1.000000e+00, ptr %54, align 4, !tbaa !9
  %55 = load ptr, ptr %14, align 8, !tbaa !5
  %56 = load float, ptr %55, align 4, !tbaa !9
  store float %56, ptr %35, align 4, !tbaa !9
  %57 = load ptr, ptr %11, align 8, !tbaa !5
  %58 = load float, ptr %57, align 4, !tbaa !9
  %59 = load ptr, ptr %14, align 8, !tbaa !5
  store float %58, ptr %59, align 4, !tbaa !9
  %60 = load float, ptr %35, align 4, !tbaa !9
  %61 = load ptr, ptr %11, align 8, !tbaa !5
  store float %60, ptr %61, align 4, !tbaa !9
  %62 = load ptr, ptr %13, align 8, !tbaa !5
  %63 = load float, ptr %62, align 4, !tbaa !9
  %64 = fneg float %63
  %65 = load ptr, ptr %12, align 8, !tbaa !5
  store float %64, ptr %65, align 4, !tbaa !9
  %66 = load ptr, ptr %13, align 8, !tbaa !5
  store float 0.000000e+00, ptr %66, align 4, !tbaa !9
  br label %513

67:                                               ; preds = %48
  %68 = load ptr, ptr %11, align 8, !tbaa !5
  %69 = load float, ptr %68, align 4, !tbaa !9
  %70 = load ptr, ptr %14, align 8, !tbaa !5
  %71 = load float, ptr %70, align 4, !tbaa !9
  %72 = fsub float %69, %71
  %73 = fcmp oeq float %72, 0.000000e+00
  br i1 %73, label %74, label %83

74:                                               ; preds = %67
  %75 = load ptr, ptr %12, align 8, !tbaa !5
  %76 = call double @r_sign(ptr noundef @c_b4, ptr noundef %75)
  %77 = load ptr, ptr %13, align 8, !tbaa !5
  %78 = call double @r_sign(ptr noundef @c_b4, ptr noundef %77)
  %79 = fcmp une double %76, %78
  br i1 %79, label %80, label %83

80:                                               ; preds = %74
  %81 = load ptr, ptr %19, align 8, !tbaa !5
  store float 1.000000e+00, ptr %81, align 4, !tbaa !9
  %82 = load ptr, ptr %20, align 8, !tbaa !5
  store float 0.000000e+00, ptr %82, align 4, !tbaa !9
  br label %513

83:                                               ; preds = %74, %67
  %84 = load ptr, ptr %11, align 8, !tbaa !5
  %85 = load float, ptr %84, align 4, !tbaa !9
  %86 = load ptr, ptr %14, align 8, !tbaa !5
  %87 = load float, ptr %86, align 4, !tbaa !9
  %88 = fsub float %85, %87
  store float %88, ptr %35, align 4, !tbaa !9
  %89 = load float, ptr %35, align 4, !tbaa !9
  %90 = fmul float %89, 5.000000e-01
  store float %90, ptr %23, align 4, !tbaa !9
  %91 = load ptr, ptr %12, align 8, !tbaa !5
  %92 = load float, ptr %91, align 4, !tbaa !9
  %93 = fcmp oge float %92, 0.000000e+00
  br i1 %93, label %94, label %97

94:                                               ; preds = %83
  %95 = load ptr, ptr %12, align 8, !tbaa !5
  %96 = load float, ptr %95, align 4, !tbaa !9
  br label %101

97:                                               ; preds = %83
  %98 = load ptr, ptr %12, align 8, !tbaa !5
  %99 = load float, ptr %98, align 4, !tbaa !9
  %100 = fneg float %99
  br label %101

101:                                              ; preds = %97, %94
  %102 = phi float [ %96, %94 ], [ %100, %97 ]
  %103 = fpext float %102 to double
  %104 = fptrunc double %103 to float
  store float %104, ptr %21, align 4, !tbaa !9
  %105 = load ptr, ptr %13, align 8, !tbaa !5
  %106 = load float, ptr %105, align 4, !tbaa !9
  %107 = fcmp oge float %106, 0.000000e+00
  br i1 %107, label %108, label %111

108:                                              ; preds = %101
  %109 = load ptr, ptr %13, align 8, !tbaa !5
  %110 = load float, ptr %109, align 4, !tbaa !9
  br label %115

111:                                              ; preds = %101
  %112 = load ptr, ptr %13, align 8, !tbaa !5
  %113 = load float, ptr %112, align 4, !tbaa !9
  %114 = fneg float %113
  br label %115

115:                                              ; preds = %111, %108
  %116 = phi float [ %110, %108 ], [ %114, %111 ]
  %117 = fpext float %116 to double
  %118 = fptrunc double %117 to float
  store float %118, ptr %22, align 4, !tbaa !9
  %119 = load float, ptr %21, align 4, !tbaa !9
  %120 = load float, ptr %22, align 4, !tbaa !9
  %121 = fcmp oge float %119, %120
  br i1 %121, label %122, label %124

122:                                              ; preds = %115
  %123 = load float, ptr %21, align 4, !tbaa !9
  br label %126

124:                                              ; preds = %115
  %125 = load float, ptr %22, align 4, !tbaa !9
  br label %126

126:                                              ; preds = %124, %122
  %127 = phi float [ %123, %122 ], [ %125, %124 ]
  %128 = fpext float %127 to double
  %129 = fptrunc double %128 to float
  store float %129, ptr %37, align 4, !tbaa !9
  %130 = load ptr, ptr %12, align 8, !tbaa !5
  %131 = load float, ptr %130, align 4, !tbaa !9
  %132 = fcmp oge float %131, 0.000000e+00
  br i1 %132, label %133, label %136

133:                                              ; preds = %126
  %134 = load ptr, ptr %12, align 8, !tbaa !5
  %135 = load float, ptr %134, align 4, !tbaa !9
  br label %140

136:                                              ; preds = %126
  %137 = load ptr, ptr %12, align 8, !tbaa !5
  %138 = load float, ptr %137, align 4, !tbaa !9
  %139 = fneg float %138
  br label %140

140:                                              ; preds = %136, %133
  %141 = phi float [ %135, %133 ], [ %139, %136 ]
  %142 = fpext float %141 to double
  %143 = fptrunc double %142 to float
  store float %143, ptr %21, align 4, !tbaa !9
  %144 = load ptr, ptr %13, align 8, !tbaa !5
  %145 = load float, ptr %144, align 4, !tbaa !9
  %146 = fcmp oge float %145, 0.000000e+00
  br i1 %146, label %147, label %150

147:                                              ; preds = %140
  %148 = load ptr, ptr %13, align 8, !tbaa !5
  %149 = load float, ptr %148, align 4, !tbaa !9
  br label %154

150:                                              ; preds = %140
  %151 = load ptr, ptr %13, align 8, !tbaa !5
  %152 = load float, ptr %151, align 4, !tbaa !9
  %153 = fneg float %152
  br label %154

154:                                              ; preds = %150, %147
  %155 = phi float [ %149, %147 ], [ %153, %150 ]
  %156 = fpext float %155 to double
  %157 = fptrunc double %156 to float
  store float %157, ptr %22, align 4, !tbaa !9
  %158 = load float, ptr %21, align 4, !tbaa !9
  %159 = load float, ptr %22, align 4, !tbaa !9
  %160 = fcmp ole float %158, %159
  br i1 %160, label %161, label %163

161:                                              ; preds = %154
  %162 = load float, ptr %21, align 4, !tbaa !9
  br label %165

163:                                              ; preds = %154
  %164 = load float, ptr %22, align 4, !tbaa !9
  br label %165

165:                                              ; preds = %163, %161
  %166 = phi float [ %162, %161 ], [ %164, %163 ]
  %167 = fpext float %166 to double
  %168 = load ptr, ptr %12, align 8, !tbaa !5
  %169 = call double @r_sign(ptr noundef @c_b4, ptr noundef %168)
  %170 = fmul double %167, %169
  %171 = load ptr, ptr %13, align 8, !tbaa !5
  %172 = call double @r_sign(ptr noundef @c_b4, ptr noundef %171)
  %173 = fmul double %170, %172
  %174 = fptrunc double %173 to float
  store float %174, ptr %38, align 4, !tbaa !9
  %175 = load float, ptr %23, align 4, !tbaa !9
  %176 = fcmp oge float %175, 0.000000e+00
  br i1 %176, label %177, label %179

177:                                              ; preds = %165
  %178 = load float, ptr %23, align 4, !tbaa !9
  br label %182

179:                                              ; preds = %165
  %180 = load float, ptr %23, align 4, !tbaa !9
  %181 = fneg float %180
  br label %182

182:                                              ; preds = %179, %177
  %183 = phi float [ %178, %177 ], [ %181, %179 ]
  %184 = fpext float %183 to double
  %185 = fptrunc double %184 to float
  store float %185, ptr %21, align 4, !tbaa !9
  %186 = load float, ptr %21, align 4, !tbaa !9
  %187 = load float, ptr %37, align 4, !tbaa !9
  %188 = fcmp oge float %186, %187
  br i1 %188, label %189, label %191

189:                                              ; preds = %182
  %190 = load float, ptr %21, align 4, !tbaa !9
  br label %193

191:                                              ; preds = %182
  %192 = load float, ptr %37, align 4, !tbaa !9
  br label %193

193:                                              ; preds = %191, %189
  %194 = phi float [ %190, %189 ], [ %192, %191 ]
  %195 = fpext float %194 to double
  %196 = fptrunc double %195 to float
  store float %196, ptr %36, align 4, !tbaa !9
  %197 = load float, ptr %23, align 4, !tbaa !9
  %198 = load float, ptr %36, align 4, !tbaa !9
  %199 = fdiv float %197, %198
  %200 = load float, ptr %23, align 4, !tbaa !9
  %201 = load float, ptr %37, align 4, !tbaa !9
  %202 = load float, ptr %36, align 4, !tbaa !9
  %203 = fdiv float %201, %202
  %204 = load float, ptr %38, align 4, !tbaa !9
  %205 = fmul float %203, %204
  %206 = call float @llvm.fmuladd.f32(float %199, float %200, float %205)
  store float %206, ptr %24, align 4, !tbaa !9
  %207 = load float, ptr %24, align 4, !tbaa !9
  %208 = load float, ptr %33, align 4, !tbaa !9
  %209 = fmul float %208, 4.000000e+00
  %210 = fcmp oge float %207, %209
  br i1 %210, label %211, label %256

211:                                              ; preds = %193
  %212 = load float, ptr %36, align 4, !tbaa !9
  %213 = fpext float %212 to double
  %214 = call double @sqrt(double noundef %213) #5
  %215 = load float, ptr %24, align 4, !tbaa !9
  %216 = fpext float %215 to double
  %217 = call double @sqrt(double noundef %216) #5
  %218 = fmul double %214, %217
  %219 = fptrunc double %218 to float
  store float %219, ptr %21, align 4, !tbaa !9
  %220 = load float, ptr %23, align 4, !tbaa !9
  %221 = fpext float %220 to double
  %222 = call double @r_sign(ptr noundef %21, ptr noundef %23)
  %223 = fadd double %221, %222
  %224 = fptrunc double %223 to float
  store float %224, ptr %24, align 4, !tbaa !9
  %225 = load ptr, ptr %14, align 8, !tbaa !5
  %226 = load float, ptr %225, align 4, !tbaa !9
  %227 = load float, ptr %24, align 4, !tbaa !9
  %228 = fadd float %226, %227
  %229 = load ptr, ptr %11, align 8, !tbaa !5
  store float %228, ptr %229, align 4, !tbaa !9
  %230 = load float, ptr %37, align 4, !tbaa !9
  %231 = load float, ptr %24, align 4, !tbaa !9
  %232 = fdiv float %230, %231
  %233 = load float, ptr %38, align 4, !tbaa !9
  %234 = load ptr, ptr %14, align 8, !tbaa !5
  %235 = load float, ptr %234, align 4, !tbaa !9
  %236 = fneg float %232
  %237 = call float @llvm.fmuladd.f32(float %236, float %233, float %235)
  store float %237, ptr %234, align 4, !tbaa !9
  %238 = load ptr, ptr %13, align 8, !tbaa !5
  %239 = call double @slapy2_(ptr noundef %238, ptr noundef %24)
  %240 = fptrunc double %239 to float
  store float %240, ptr %34, align 4, !tbaa !9
  %241 = load float, ptr %24, align 4, !tbaa !9
  %242 = load float, ptr %34, align 4, !tbaa !9
  %243 = fdiv float %241, %242
  %244 = load ptr, ptr %19, align 8, !tbaa !5
  store float %243, ptr %244, align 4, !tbaa !9
  %245 = load ptr, ptr %13, align 8, !tbaa !5
  %246 = load float, ptr %245, align 4, !tbaa !9
  %247 = load float, ptr %34, align 4, !tbaa !9
  %248 = fdiv float %246, %247
  %249 = load ptr, ptr %20, align 8, !tbaa !5
  store float %248, ptr %249, align 4, !tbaa !9
  %250 = load ptr, ptr %13, align 8, !tbaa !5
  %251 = load float, ptr %250, align 4, !tbaa !9
  %252 = load ptr, ptr %12, align 8, !tbaa !5
  %253 = load float, ptr %252, align 4, !tbaa !9
  %254 = fsub float %253, %251
  store float %254, ptr %252, align 4, !tbaa !9
  %255 = load ptr, ptr %13, align 8, !tbaa !5
  store float 0.000000e+00, ptr %255, align 4, !tbaa !9
  br label %509

256:                                              ; preds = %193
  %257 = load ptr, ptr %12, align 8, !tbaa !5
  %258 = load float, ptr %257, align 4, !tbaa !9
  %259 = load ptr, ptr %13, align 8, !tbaa !5
  %260 = load float, ptr %259, align 4, !tbaa !9
  %261 = fadd float %258, %260
  store float %261, ptr %39, align 4, !tbaa !9
  %262 = call double @slapy2_(ptr noundef %39, ptr noundef %35)
  %263 = fptrunc double %262 to float
  store float %263, ptr %34, align 4, !tbaa !9
  %264 = load float, ptr %39, align 4, !tbaa !9
  %265 = fcmp oge float %264, 0.000000e+00
  br i1 %265, label %266, label %268

266:                                              ; preds = %256
  %267 = load float, ptr %39, align 4, !tbaa !9
  br label %271

268:                                              ; preds = %256
  %269 = load float, ptr %39, align 4, !tbaa !9
  %270 = fneg float %269
  br label %271

271:                                              ; preds = %268, %266
  %272 = phi float [ %267, %266 ], [ %270, %268 ]
  %273 = fpext float %272 to double
  %274 = load float, ptr %34, align 4, !tbaa !9
  %275 = fpext float %274 to double
  %276 = fdiv double %273, %275
  %277 = fadd double %276, 1.000000e+00
  %278 = fmul double %277, 5.000000e-01
  %279 = call double @sqrt(double noundef %278) #5
  %280 = fptrunc double %279 to float
  %281 = load ptr, ptr %19, align 8, !tbaa !5
  store float %280, ptr %281, align 4, !tbaa !9
  %282 = load float, ptr %23, align 4, !tbaa !9
  %283 = load float, ptr %34, align 4, !tbaa !9
  %284 = load ptr, ptr %19, align 8, !tbaa !5
  %285 = load float, ptr %284, align 4, !tbaa !9
  %286 = fmul float %283, %285
  %287 = fdiv float %282, %286
  %288 = fneg float %287
  %289 = fpext float %288 to double
  %290 = call double @r_sign(ptr noundef @c_b4, ptr noundef %39)
  %291 = fmul double %289, %290
  %292 = fptrunc double %291 to float
  %293 = load ptr, ptr %20, align 8, !tbaa !5
  store float %292, ptr %293, align 4, !tbaa !9
  %294 = load ptr, ptr %11, align 8, !tbaa !5
  %295 = load float, ptr %294, align 4, !tbaa !9
  %296 = load ptr, ptr %19, align 8, !tbaa !5
  %297 = load float, ptr %296, align 4, !tbaa !9
  %298 = load ptr, ptr %12, align 8, !tbaa !5
  %299 = load float, ptr %298, align 4, !tbaa !9
  %300 = load ptr, ptr %20, align 8, !tbaa !5
  %301 = load float, ptr %300, align 4, !tbaa !9
  %302 = fmul float %299, %301
  %303 = call float @llvm.fmuladd.f32(float %295, float %297, float %302)
  store float %303, ptr %25, align 4, !tbaa !9
  %304 = load ptr, ptr %11, align 8, !tbaa !5
  %305 = load float, ptr %304, align 4, !tbaa !9
  %306 = fneg float %305
  %307 = load ptr, ptr %20, align 8, !tbaa !5
  %308 = load float, ptr %307, align 4, !tbaa !9
  %309 = load ptr, ptr %12, align 8, !tbaa !5
  %310 = load float, ptr %309, align 4, !tbaa !9
  %311 = load ptr, ptr %19, align 8, !tbaa !5
  %312 = load float, ptr %311, align 4, !tbaa !9
  %313 = fmul float %310, %312
  %314 = call float @llvm.fmuladd.f32(float %306, float %308, float %313)
  store float %314, ptr %26, align 4, !tbaa !9
  %315 = load ptr, ptr %13, align 8, !tbaa !5
  %316 = load float, ptr %315, align 4, !tbaa !9
  %317 = load ptr, ptr %19, align 8, !tbaa !5
  %318 = load float, ptr %317, align 4, !tbaa !9
  %319 = load ptr, ptr %14, align 8, !tbaa !5
  %320 = load float, ptr %319, align 4, !tbaa !9
  %321 = load ptr, ptr %20, align 8, !tbaa !5
  %322 = load float, ptr %321, align 4, !tbaa !9
  %323 = fmul float %320, %322
  %324 = call float @llvm.fmuladd.f32(float %316, float %318, float %323)
  store float %324, ptr %27, align 4, !tbaa !9
  %325 = load ptr, ptr %13, align 8, !tbaa !5
  %326 = load float, ptr %325, align 4, !tbaa !9
  %327 = fneg float %326
  %328 = load ptr, ptr %20, align 8, !tbaa !5
  %329 = load float, ptr %328, align 4, !tbaa !9
  %330 = load ptr, ptr %14, align 8, !tbaa !5
  %331 = load float, ptr %330, align 4, !tbaa !9
  %332 = load ptr, ptr %19, align 8, !tbaa !5
  %333 = load float, ptr %332, align 4, !tbaa !9
  %334 = fmul float %331, %333
  %335 = call float @llvm.fmuladd.f32(float %327, float %329, float %334)
  store float %335, ptr %28, align 4, !tbaa !9
  %336 = load float, ptr %25, align 4, !tbaa !9
  %337 = load ptr, ptr %19, align 8, !tbaa !5
  %338 = load float, ptr %337, align 4, !tbaa !9
  %339 = load float, ptr %27, align 4, !tbaa !9
  %340 = load ptr, ptr %20, align 8, !tbaa !5
  %341 = load float, ptr %340, align 4, !tbaa !9
  %342 = fmul float %339, %341
  %343 = call float @llvm.fmuladd.f32(float %336, float %338, float %342)
  %344 = load ptr, ptr %11, align 8, !tbaa !5
  store float %343, ptr %344, align 4, !tbaa !9
  %345 = load float, ptr %26, align 4, !tbaa !9
  %346 = load ptr, ptr %19, align 8, !tbaa !5
  %347 = load float, ptr %346, align 4, !tbaa !9
  %348 = load float, ptr %28, align 4, !tbaa !9
  %349 = load ptr, ptr %20, align 8, !tbaa !5
  %350 = load float, ptr %349, align 4, !tbaa !9
  %351 = fmul float %348, %350
  %352 = call float @llvm.fmuladd.f32(float %345, float %347, float %351)
  %353 = load ptr, ptr %12, align 8, !tbaa !5
  store float %352, ptr %353, align 4, !tbaa !9
  %354 = load float, ptr %25, align 4, !tbaa !9
  %355 = fneg float %354
  %356 = load ptr, ptr %20, align 8, !tbaa !5
  %357 = load float, ptr %356, align 4, !tbaa !9
  %358 = load float, ptr %27, align 4, !tbaa !9
  %359 = load ptr, ptr %19, align 8, !tbaa !5
  %360 = load float, ptr %359, align 4, !tbaa !9
  %361 = fmul float %358, %360
  %362 = call float @llvm.fmuladd.f32(float %355, float %357, float %361)
  %363 = load ptr, ptr %13, align 8, !tbaa !5
  store float %362, ptr %363, align 4, !tbaa !9
  %364 = load float, ptr %26, align 4, !tbaa !9
  %365 = fneg float %364
  %366 = load ptr, ptr %20, align 8, !tbaa !5
  %367 = load float, ptr %366, align 4, !tbaa !9
  %368 = load float, ptr %28, align 4, !tbaa !9
  %369 = load ptr, ptr %19, align 8, !tbaa !5
  %370 = load float, ptr %369, align 4, !tbaa !9
  %371 = fmul float %368, %370
  %372 = call float @llvm.fmuladd.f32(float %365, float %367, float %371)
  %373 = load ptr, ptr %14, align 8, !tbaa !5
  store float %372, ptr %373, align 4, !tbaa !9
  %374 = load ptr, ptr %11, align 8, !tbaa !5
  %375 = load float, ptr %374, align 4, !tbaa !9
  %376 = load ptr, ptr %14, align 8, !tbaa !5
  %377 = load float, ptr %376, align 4, !tbaa !9
  %378 = fadd float %375, %377
  %379 = fmul float %378, 5.000000e-01
  store float %379, ptr %35, align 4, !tbaa !9
  %380 = load float, ptr %35, align 4, !tbaa !9
  %381 = load ptr, ptr %11, align 8, !tbaa !5
  store float %380, ptr %381, align 4, !tbaa !9
  %382 = load float, ptr %35, align 4, !tbaa !9
  %383 = load ptr, ptr %14, align 8, !tbaa !5
  store float %382, ptr %383, align 4, !tbaa !9
  %384 = load ptr, ptr %13, align 8, !tbaa !5
  %385 = load float, ptr %384, align 4, !tbaa !9
  %386 = fcmp une float %385, 0.000000e+00
  br i1 %386, label %387, label %508

387:                                              ; preds = %271
  %388 = load ptr, ptr %12, align 8, !tbaa !5
  %389 = load float, ptr %388, align 4, !tbaa !9
  %390 = fcmp une float %389, 0.000000e+00
  br i1 %390, label %391, label %493

391:                                              ; preds = %387
  %392 = load ptr, ptr %12, align 8, !tbaa !5
  %393 = call double @r_sign(ptr noundef @c_b4, ptr noundef %392)
  %394 = load ptr, ptr %13, align 8, !tbaa !5
  %395 = call double @r_sign(ptr noundef @c_b4, ptr noundef %394)
  %396 = fcmp oeq double %393, %395
  br i1 %396, label %397, label %492

397:                                              ; preds = %391
  %398 = load ptr, ptr %12, align 8, !tbaa !5
  %399 = load float, ptr %398, align 4, !tbaa !9
  %400 = fcmp oge float %399, 0.000000e+00
  br i1 %400, label %401, label %404

401:                                              ; preds = %397
  %402 = load ptr, ptr %12, align 8, !tbaa !5
  %403 = load float, ptr %402, align 4, !tbaa !9
  br label %408

404:                                              ; preds = %397
  %405 = load ptr, ptr %12, align 8, !tbaa !5
  %406 = load float, ptr %405, align 4, !tbaa !9
  %407 = fneg float %406
  br label %408

408:                                              ; preds = %404, %401
  %409 = phi float [ %403, %401 ], [ %407, %404 ]
  %410 = fpext float %409 to double
  %411 = call double @sqrt(double noundef %410) #5
  %412 = fptrunc double %411 to float
  store float %412, ptr %31, align 4, !tbaa !9
  %413 = load ptr, ptr %13, align 8, !tbaa !5
  %414 = load float, ptr %413, align 4, !tbaa !9
  %415 = fcmp oge float %414, 0.000000e+00
  br i1 %415, label %416, label %419

416:                                              ; preds = %408
  %417 = load ptr, ptr %13, align 8, !tbaa !5
  %418 = load float, ptr %417, align 4, !tbaa !9
  br label %423

419:                                              ; preds = %408
  %420 = load ptr, ptr %13, align 8, !tbaa !5
  %421 = load float, ptr %420, align 4, !tbaa !9
  %422 = fneg float %421
  br label %423

423:                                              ; preds = %419, %416
  %424 = phi float [ %418, %416 ], [ %422, %419 ]
  %425 = fpext float %424 to double
  %426 = call double @sqrt(double noundef %425) #5
  %427 = fptrunc double %426 to float
  store float %427, ptr %32, align 4, !tbaa !9
  %428 = load float, ptr %31, align 4, !tbaa !9
  %429 = load float, ptr %32, align 4, !tbaa !9
  %430 = fmul float %428, %429
  store float %430, ptr %21, align 4, !tbaa !9
  %431 = load ptr, ptr %13, align 8, !tbaa !5
  %432 = call double @r_sign(ptr noundef %21, ptr noundef %431)
  %433 = fptrunc double %432 to float
  store float %433, ptr %23, align 4, !tbaa !9
  %434 = load ptr, ptr %12, align 8, !tbaa !5
  %435 = load float, ptr %434, align 4, !tbaa !9
  %436 = load ptr, ptr %13, align 8, !tbaa !5
  %437 = load float, ptr %436, align 4, !tbaa !9
  %438 = fadd float %435, %437
  store float %438, ptr %21, align 4, !tbaa !9
  %439 = load float, ptr %21, align 4, !tbaa !9
  %440 = fcmp oge float %439, 0.000000e+00
  br i1 %440, label %441, label %443

441:                                              ; preds = %423
  %442 = load float, ptr %21, align 4, !tbaa !9
  br label %446

443:                                              ; preds = %423
  %444 = load float, ptr %21, align 4, !tbaa !9
  %445 = fneg float %444
  br label %446

446:                                              ; preds = %443, %441
  %447 = phi float [ %442, %441 ], [ %445, %443 ]
  %448 = fpext float %447 to double
  %449 = call double @sqrt(double noundef %448) #5
  %450 = fdiv double 1.000000e+00, %449
  %451 = fptrunc double %450 to float
  store float %451, ptr %34, align 4, !tbaa !9
  %452 = load float, ptr %35, align 4, !tbaa !9
  %453 = load float, ptr %23, align 4, !tbaa !9
  %454 = fadd float %452, %453
  %455 = load ptr, ptr %11, align 8, !tbaa !5
  store float %454, ptr %455, align 4, !tbaa !9
  %456 = load float, ptr %35, align 4, !tbaa !9
  %457 = load float, ptr %23, align 4, !tbaa !9
  %458 = fsub float %456, %457
  %459 = load ptr, ptr %14, align 8, !tbaa !5
  store float %458, ptr %459, align 4, !tbaa !9
  %460 = load ptr, ptr %13, align 8, !tbaa !5
  %461 = load float, ptr %460, align 4, !tbaa !9
  %462 = load ptr, ptr %12, align 8, !tbaa !5
  %463 = load float, ptr %462, align 4, !tbaa !9
  %464 = fsub float %463, %461
  store float %464, ptr %462, align 4, !tbaa !9
  %465 = load ptr, ptr %13, align 8, !tbaa !5
  store float 0.000000e+00, ptr %465, align 4, !tbaa !9
  %466 = load float, ptr %31, align 4, !tbaa !9
  %467 = load float, ptr %34, align 4, !tbaa !9
  %468 = fmul float %466, %467
  store float %468, ptr %29, align 4, !tbaa !9
  %469 = load float, ptr %32, align 4, !tbaa !9
  %470 = load float, ptr %34, align 4, !tbaa !9
  %471 = fmul float %469, %470
  store float %471, ptr %30, align 4, !tbaa !9
  %472 = load ptr, ptr %19, align 8, !tbaa !5
  %473 = load float, ptr %472, align 4, !tbaa !9
  %474 = load float, ptr %29, align 4, !tbaa !9
  %475 = load ptr, ptr %20, align 8, !tbaa !5
  %476 = load float, ptr %475, align 4, !tbaa !9
  %477 = load float, ptr %30, align 4, !tbaa !9
  %478 = fmul float %476, %477
  %479 = fneg float %478
  %480 = call float @llvm.fmuladd.f32(float %473, float %474, float %479)
  store float %480, ptr %35, align 4, !tbaa !9
  %481 = load ptr, ptr %19, align 8, !tbaa !5
  %482 = load float, ptr %481, align 4, !tbaa !9
  %483 = load float, ptr %30, align 4, !tbaa !9
  %484 = load ptr, ptr %20, align 8, !tbaa !5
  %485 = load float, ptr %484, align 4, !tbaa !9
  %486 = load float, ptr %29, align 4, !tbaa !9
  %487 = fmul float %485, %486
  %488 = call float @llvm.fmuladd.f32(float %482, float %483, float %487)
  %489 = load ptr, ptr %20, align 8, !tbaa !5
  store float %488, ptr %489, align 4, !tbaa !9
  %490 = load float, ptr %35, align 4, !tbaa !9
  %491 = load ptr, ptr %19, align 8, !tbaa !5
  store float %490, ptr %491, align 4, !tbaa !9
  br label %492

492:                                              ; preds = %446, %391
  br label %507

493:                                              ; preds = %387
  %494 = load ptr, ptr %13, align 8, !tbaa !5
  %495 = load float, ptr %494, align 4, !tbaa !9
  %496 = fneg float %495
  %497 = load ptr, ptr %12, align 8, !tbaa !5
  store float %496, ptr %497, align 4, !tbaa !9
  %498 = load ptr, ptr %13, align 8, !tbaa !5
  store float 0.000000e+00, ptr %498, align 4, !tbaa !9
  %499 = load ptr, ptr %19, align 8, !tbaa !5
  %500 = load float, ptr %499, align 4, !tbaa !9
  store float %500, ptr %35, align 4, !tbaa !9
  %501 = load ptr, ptr %20, align 8, !tbaa !5
  %502 = load float, ptr %501, align 4, !tbaa !9
  %503 = fneg float %502
  %504 = load ptr, ptr %19, align 8, !tbaa !5
  store float %503, ptr %504, align 4, !tbaa !9
  %505 = load float, ptr %35, align 4, !tbaa !9
  %506 = load ptr, ptr %20, align 8, !tbaa !5
  store float %505, ptr %506, align 4, !tbaa !9
  br label %507

507:                                              ; preds = %493, %492
  br label %508

508:                                              ; preds = %507, %271
  br label %509

509:                                              ; preds = %508, %211
  br label %510

510:                                              ; preds = %509
  br label %511

511:                                              ; preds = %510
  br label %512

512:                                              ; preds = %511
  br label %513

513:                                              ; preds = %512, %80, %52, %45
  %514 = load ptr, ptr %11, align 8, !tbaa !5
  %515 = load float, ptr %514, align 4, !tbaa !9
  %516 = load ptr, ptr %15, align 8, !tbaa !5
  store float %515, ptr %516, align 4, !tbaa !9
  %517 = load ptr, ptr %14, align 8, !tbaa !5
  %518 = load float, ptr %517, align 4, !tbaa !9
  %519 = load ptr, ptr %17, align 8, !tbaa !5
  store float %518, ptr %519, align 4, !tbaa !9
  %520 = load ptr, ptr %13, align 8, !tbaa !5
  %521 = load float, ptr %520, align 4, !tbaa !9
  %522 = fcmp oeq float %521, 0.000000e+00
  br i1 %522, label %523, label %526

523:                                              ; preds = %513
  %524 = load ptr, ptr %16, align 8, !tbaa !5
  store float 0.000000e+00, ptr %524, align 4, !tbaa !9
  %525 = load ptr, ptr %18, align 8, !tbaa !5
  store float 0.000000e+00, ptr %525, align 4, !tbaa !9
  br label %562

526:                                              ; preds = %513
  %527 = load ptr, ptr %12, align 8, !tbaa !5
  %528 = load float, ptr %527, align 4, !tbaa !9
  %529 = fcmp oge float %528, 0.000000e+00
  br i1 %529, label %530, label %533

530:                                              ; preds = %526
  %531 = load ptr, ptr %12, align 8, !tbaa !5
  %532 = load float, ptr %531, align 4, !tbaa !9
  br label %537

533:                                              ; preds = %526
  %534 = load ptr, ptr %12, align 8, !tbaa !5
  %535 = load float, ptr %534, align 4, !tbaa !9
  %536 = fneg float %535
  br label %537

537:                                              ; preds = %533, %530
  %538 = phi float [ %532, %530 ], [ %536, %533 ]
  %539 = fpext float %538 to double
  %540 = call double @sqrt(double noundef %539) #5
  %541 = load ptr, ptr %13, align 8, !tbaa !5
  %542 = load float, ptr %541, align 4, !tbaa !9
  %543 = fcmp oge float %542, 0.000000e+00
  br i1 %543, label %544, label %547

544:                                              ; preds = %537
  %545 = load ptr, ptr %13, align 8, !tbaa !5
  %546 = load float, ptr %545, align 4, !tbaa !9
  br label %551

547:                                              ; preds = %537
  %548 = load ptr, ptr %13, align 8, !tbaa !5
  %549 = load float, ptr %548, align 4, !tbaa !9
  %550 = fneg float %549
  br label %551

551:                                              ; preds = %547, %544
  %552 = phi float [ %546, %544 ], [ %550, %547 ]
  %553 = fpext float %552 to double
  %554 = call double @sqrt(double noundef %553) #5
  %555 = fmul double %540, %554
  %556 = fptrunc double %555 to float
  %557 = load ptr, ptr %16, align 8, !tbaa !5
  store float %556, ptr %557, align 4, !tbaa !9
  %558 = load ptr, ptr %16, align 8, !tbaa !5
  %559 = load float, ptr %558, align 4, !tbaa !9
  %560 = fneg float %559
  %561 = load ptr, ptr %18, align 8, !tbaa !5
  store float %560, ptr %561, align 4, !tbaa !9
  br label %562

562:                                              ; preds = %551, %523
  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
  ret i32 0
}

; 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 @r_sign(ptr noundef, ptr noundef) #2

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

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

declare double @slapy2_(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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { 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 #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}


; 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 [2 x i8], align 1
@c_b4 = external hidden global float, align 4

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @slanv2_(ptr nocapture noundef %0, ptr noundef %1, ptr noundef %2, ptr nocapture noundef %3, ptr nocapture noundef writeonly %4, ptr nocapture noundef writeonly %5, ptr nocapture noundef writeonly %6, ptr nocapture noundef writeonly %7, ptr nocapture noundef %8, ptr nocapture noundef %9) local_unnamed_addr #0 {
  %11 = alloca float, align 4
  %12 = alloca float, align 4
  %13 = alloca float, align 4
  %14 = alloca float, align 4
  %15 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #5
  %16 = tail call double @slamch_(ptr noundef nonnull @.str) #5
  %17 = fptrunc double %16 to float
  %18 = load float, ptr %2, align 4, !tbaa !5
  %19 = fcmp oeq float %18, 0.000000e+00
  br i1 %19, label %20, label %21

20:                                               ; preds = %10
  store float 1.000000e+00, ptr %8, align 4, !tbaa !5
  store float 0.000000e+00, ptr %9, align 4, !tbaa !5
  br label %204

21:                                               ; preds = %10
  %22 = load float, ptr %1, align 4, !tbaa !5
  %23 = fcmp oeq float %22, 0.000000e+00
  br i1 %23, label %24, label %29

24:                                               ; preds = %21
  store float 0.000000e+00, ptr %8, align 4, !tbaa !5
  store float 1.000000e+00, ptr %9, align 4, !tbaa !5
  %25 = load float, ptr %3, align 4, !tbaa !5
  %26 = load float, ptr %0, align 4, !tbaa !5
  store float %26, ptr %3, align 4, !tbaa !5
  store float %25, ptr %0, align 4, !tbaa !5
  %27 = load float, ptr %2, align 4, !tbaa !5
  %28 = fneg float %27
  store float %28, ptr %1, align 4, !tbaa !5
  store float 0.000000e+00, ptr %2, align 4, !tbaa !5
  br label %204

29:                                               ; preds = %21
  %30 = load float, ptr %0, align 4, !tbaa !5
  %31 = load float, ptr %3, align 4, !tbaa !5
  %32 = fsub float %30, %31
  %33 = fcmp oeq float %32, 0.000000e+00
  br i1 %33, label %34, label %39

34:                                               ; preds = %29
  %35 = tail call double @r_sign(ptr noundef nonnull @c_b4, ptr noundef nonnull %1) #5
  %36 = tail call double @r_sign(ptr noundef nonnull @c_b4, ptr noundef nonnull %2) #5
  %37 = fcmp une double %35, %36
  br i1 %37, label %38, label %._crit_edge

._crit_edge:                                      ; preds = %34
  %.pre = load float, ptr %0, align 4, !tbaa !5
  %.pre181 = load float, ptr %3, align 4, !tbaa !5
  %.pre182 = load float, ptr %1, align 4, !tbaa !5
  %.pre183 = load float, ptr %2, align 4, !tbaa !5
  %.pre184 = fsub float %.pre, %.pre181
  br label %39

38:                                               ; preds = %34
  store float 1.000000e+00, ptr %8, align 4, !tbaa !5
  store float 0.000000e+00, ptr %9, align 4, !tbaa !5
  br label %204

39:                                               ; preds = %._crit_edge, %29
  %.pre-phi = phi float [ %.pre184, %._crit_edge ], [ %32, %29 ]
  %40 = phi float [ %.pre183, %._crit_edge ], [ %18, %29 ]
  %41 = phi float [ %.pre182, %._crit_edge ], [ %22, %29 ]
  store float %.pre-phi, ptr %14, align 4, !tbaa !5
  %42 = fmul float %.pre-phi, 5.000000e-01
  store float %42, ptr %12, align 4, !tbaa !5
  %43 = fcmp ult float %41, 0.000000e+00
  %44 = fneg float %41
  %45 = select i1 %43, float %44, float %41
  %46 = fcmp ult float %40, 0.000000e+00
  %47 = fneg float %40
  %48 = select i1 %46, float %47, float %40
  %49 = fcmp oge float %45, %48
  %50 = select i1 %49, float %45, float %48
  %51 = fcmp ole float %45, %48
  %52 = select i1 %51, float %45, float %48
  %53 = fpext float %52 to double
  %54 = tail call double @r_sign(ptr noundef nonnull @c_b4, ptr noundef nonnull %1) #5
  %55 = fmul double %54, %53
  %56 = tail call double @r_sign(ptr noundef nonnull @c_b4, ptr noundef nonnull %2) #5
  %57 = fmul double %56, %55
  %58 = fptrunc double %57 to float
  %59 = fcmp oge float %42, 0.000000e+00
  %60 = fneg float %42
  %61 = select i1 %59, float %42, float %60
  store float %61, ptr %11, align 4, !tbaa !5
  %62 = fcmp oge float %61, %50
  %63 = select i1 %62, float %61, float %50
  %64 = fdiv float %42, %63
  %65 = fdiv float %50, %63
  %66 = fmul float %65, %58
  %67 = tail call float @llvm.fmuladd.f32(float %64, float %42, float %66)
  %68 = fmul float %17, 4.000000e+00
  %69 = fcmp ult float %67, %68
  br i1 %69, label %96, label %70

70:                                               ; preds = %39
  %71 = fpext float %63 to double
  %72 = tail call double @sqrt(double noundef %71) #5
  %73 = fpext float %67 to double
  %74 = tail call double @sqrt(double noundef %73) #5
  %75 = fmul double %72, %74
  %76 = fptrunc double %75 to float
  store float %76, ptr %11, align 4, !tbaa !5
  %77 = fpext float %42 to double
  %78 = call double @r_sign(ptr noundef nonnull %11, ptr noundef nonnull %12) #5
  %79 = fadd double %78, %77
  %80 = fptrunc double %79 to float
  store float %80, ptr %13, align 4, !tbaa !5
  %81 = load float, ptr %3, align 4, !tbaa !5
  %82 = fadd float %81, %80
  store float %82, ptr %0, align 4, !tbaa !5
  %83 = load float, ptr %3, align 4, !tbaa !5
  %84 = fneg float %50
  %85 = fdiv float %84, %80
  %86 = call float @llvm.fmuladd.f32(float %85, float %58, float %83)
  store float %86, ptr %3, align 4, !tbaa !5
  %87 = call double @slapy2_(ptr noundef nonnull %2, ptr noundef nonnull %13) #5
  %88 = fptrunc double %87 to float
  %89 = load float, ptr %13, align 4, !tbaa !5
  %90 = fdiv float %89, %88
  store float %90, ptr %8, align 4, !tbaa !5
  %91 = load float, ptr %2, align 4, !tbaa !5
  %92 = fdiv float %91, %88
  store float %92, ptr %9, align 4, !tbaa !5
  %93 = load float, ptr %2, align 4, !tbaa !5
  %94 = load float, ptr %1, align 4, !tbaa !5
  %95 = fsub float %94, %93
  store float %95, ptr %1, align 4, !tbaa !5
  store float 0.000000e+00, ptr %2, align 4, !tbaa !5
  br label %204

96:                                               ; preds = %39
  %97 = load float, ptr %1, align 4, !tbaa !5
  %98 = load float, ptr %2, align 4, !tbaa !5
  %99 = fadd float %97, %98
  store float %99, ptr %15, align 4, !tbaa !5
  %100 = call double @slapy2_(ptr noundef nonnull %15, ptr noundef nonnull %14) #5
  %101 = fptrunc double %100 to float
  %102 = load float, ptr %15, align 4
  %103 = fcmp oge float %102, 0.000000e+00
  %104 = fneg float %102
  %105 = select i1 %103, float %102, float %104
  %106 = fpext float %105 to double
  %107 = fpext float %101 to double
  %108 = fdiv double %106, %107
  %109 = fadd double %108, 1.000000e+00
  %110 = fmul double %109, 5.000000e-01
  %111 = call double @sqrt(double noundef %110) #5
  %112 = fptrunc double %111 to float
  store float %112, ptr %8, align 4, !tbaa !5
  %113 = fmul float %101, %112
  %114 = fdiv float %60, %113
  %115 = fpext float %114 to double
  %116 = call double @r_sign(ptr noundef nonnull @c_b4, ptr noundef nonnull %15) #5
  %117 = fmul double %116, %115
  %118 = fptrunc double %117 to float
  store float %118, ptr %9, align 4, !tbaa !5
  %119 = load float, ptr %0, align 4, !tbaa !5
  %120 = load float, ptr %8, align 4, !tbaa !5
  %121 = load float, ptr %1, align 4, !tbaa !5
  %122 = fmul float %121, %118
  %123 = call float @llvm.fmuladd.f32(float %119, float %120, float %122)
  %124 = fneg float %119
  %125 = fmul float %120, %121
  %126 = call float @llvm.fmuladd.f32(float %124, float %118, float %125)
  %127 = load float, ptr %2, align 4, !tbaa !5
  %128 = load float, ptr %3, align 4, !tbaa !5
  %129 = fmul float %128, %118
  %130 = call float @llvm.fmuladd.f32(float %127, float %120, float %129)
  %131 = fneg float %127
  %132 = fmul float %120, %128
  %133 = call float @llvm.fmuladd.f32(float %131, float %118, float %132)
  %134 = fmul float %130, %118
  %135 = call float @llvm.fmuladd.f32(float %123, float %120, float %134)
  store float %135, ptr %0, align 4, !tbaa !5
  %136 = load float, ptr %8, align 4, !tbaa !5
  %137 = load float, ptr %9, align 4, !tbaa !5
  %138 = fmul float %133, %137
  %139 = call float @llvm.fmuladd.f32(float %126, float %136, float %138)
  store float %139, ptr %1, align 4, !tbaa !5
  %140 = fneg float %123
  %141 = load float, ptr %9, align 4, !tbaa !5
  %142 = load float, ptr %8, align 4, !tbaa !5
  %143 = fmul float %130, %142
  %144 = call float @llvm.fmuladd.f32(float %140, float %141, float %143)
  store float %144, ptr %2, align 4, !tbaa !5
  %145 = fneg float %126
  %146 = load float, ptr %9, align 4, !tbaa !5
  %147 = load float, ptr %8, align 4, !tbaa !5
  %148 = fmul float %133, %147
  %149 = call float @llvm.fmuladd.f32(float %145, float %146, float %148)
  store float %149, ptr %3, align 4, !tbaa !5
  %150 = load float, ptr %0, align 4, !tbaa !5
  %151 = fadd float %150, %149
  %152 = fmul float %151, 5.000000e-01
  store float %152, ptr %14, align 4, !tbaa !5
  store float %152, ptr %0, align 4, !tbaa !5
  store float %152, ptr %3, align 4, !tbaa !5
  %153 = load float, ptr %2, align 4, !tbaa !5
  %154 = fcmp une float %153, 0.000000e+00
  br i1 %154, label %155, label %204

155:                                              ; preds = %96
  %156 = load float, ptr %1, align 4, !tbaa !5
  %157 = fcmp une float %156, 0.000000e+00
  br i1 %157, label %158, label %199

158:                                              ; preds = %155
  %159 = call double @r_sign(ptr noundef nonnull @c_b4, ptr noundef nonnull %1) #5
  %160 = call double @r_sign(ptr noundef nonnull @c_b4, ptr noundef nonnull %2) #5
  %161 = fcmp oeq double %159, %160
  br i1 %161, label %162, label %204

162:                                              ; preds = %158
  %163 = load float, ptr %1, align 4, !tbaa !5
  %164 = fcmp ult float %163, 0.000000e+00
  %165 = fneg float %163
  %166 = select i1 %164, float %165, float %163
  %sqrtf = call float @sqrtf(float noundef %166) #4
  %167 = load float, ptr %2, align 4, !tbaa !5
  %168 = fcmp ult float %167, 0.000000e+00
  %169 = fneg float %167
  %170 = select i1 %168, float %169, float %167
  %sqrtf180 = call float @sqrtf(float noundef %170) #4
  %171 = fmul float %sqrtf, %sqrtf180
  store float %171, ptr %11, align 4, !tbaa !5
  %172 = call double @r_sign(ptr noundef nonnull %11, ptr noundef nonnull %2) #5
  %173 = fptrunc double %172 to float
  %174 = load float, ptr %1, align 4, !tbaa !5
  %175 = load float, ptr %2, align 4, !tbaa !5
  %176 = fadd float %174, %175
  %177 = fcmp oge float %176, 0.000000e+00
  %178 = fneg float %176
  %179 = select i1 %177, float %176, float %178
  %180 = fpext float %179 to double
  %181 = call double @sqrt(double noundef %180) #5
  %182 = fdiv double 1.000000e+00, %181
  %183 = fptrunc double %182 to float
  %184 = load float, ptr %14, align 4, !tbaa !5
  %185 = fadd float %184, %173
  store float %185, ptr %0, align 4, !tbaa !5
  %186 = fsub float %184, %173
  store float %186, ptr %3, align 4, !tbaa !5
  %187 = load float, ptr %2, align 4, !tbaa !5
  %188 = load float, ptr %1, align 4, !tbaa !5
  %189 = fsub float %188, %187
  store float %189, ptr %1, align 4, !tbaa !5
  store float 0.000000e+00, ptr %2, align 4, !tbaa !5
  %190 = fmul float %sqrtf, %183
  %191 = fmul float %sqrtf180, %183
  %192 = load float, ptr %8, align 4, !tbaa !5
  %193 = load float, ptr %9, align 4, !tbaa !5
  %194 = fneg float %193
  %195 = fmul float %191, %194
  %196 = call float @llvm.fmuladd.f32(float %192, float %190, float %195)
  %197 = fmul float %190, %193
  %198 = call float @llvm.fmuladd.f32(float %192, float %191, float %197)
  store float %198, ptr %9, align 4, !tbaa !5
  store float %196, ptr %8, align 4, !tbaa !5
  br label %204

199:                                              ; preds = %155
  %200 = fneg float %153
  store float %200, ptr %1, align 4, !tbaa !5
  store float 0.000000e+00, ptr %2, align 4, !tbaa !5
  %201 = load float, ptr %8, align 4, !tbaa !5
  %202 = load float, ptr %9, align 4, !tbaa !5
  %203 = fneg float %202
  store float %203, ptr %8, align 4, !tbaa !5
  store float %201, ptr %9, align 4, !tbaa !5
  br label %204

204:                                              ; preds = %96, %158, %162, %199, %70, %38, %24, %20
  %205 = load float, ptr %0, align 4, !tbaa !5
  store float %205, ptr %4, align 4, !tbaa !5
  %206 = load float, ptr %3, align 4, !tbaa !5
  store float %206, ptr %6, align 4, !tbaa !5
  %207 = load float, ptr %2, align 4, !tbaa !5
  %208 = fcmp oeq float %207, 0.000000e+00
  br i1 %208, label %225, label %209

209:                                              ; preds = %204
  %210 = load float, ptr %1, align 4, !tbaa !5
  %211 = fcmp ult float %210, 0.000000e+00
  %212 = fneg float %210
  %213 = select i1 %211, float %212, float %210
  %214 = fpext float %213 to double
  %215 = call double @sqrt(double noundef %214) #5
  %216 = load float, ptr %2, align 4, !tbaa !5
  %217 = fcmp ult float %216, 0.000000e+00
  %218 = fneg float %216
  %219 = select i1 %217, float %218, float %216
  %220 = fpext float %219 to double
  %221 = call double @sqrt(double noundef %220) #5
  %222 = fmul double %215, %221
  %223 = fptrunc double %222 to float
  %224 = fneg float %223
  br label %225

225:                                              ; preds = %204, %209
  %.sink = phi float [ %223, %209 ], [ 0.000000e+00, %204 ]
  %storemerge = phi float [ %224, %209 ], [ 0.000000e+00, %204 ]
  store float %.sink, ptr %5, align 4
  store float %storemerge, ptr %7, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #5
  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 @r_sign(ptr noundef, ptr 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: mustprogress nofree nounwind willreturn memory(write)
declare double @sqrt(double noundef) local_unnamed_addr #4

declare double @slapy2_(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

declare float @sqrtf(float) local_unnamed_addr

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 nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { 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 #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"}


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