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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @slag2_(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 i64, align 8
  %22 = alloca i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca i64, align 8
  %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 float, align 4
  %41 = alloca float, align 4
  %42 = alloca float, align 4
  %43 = alloca float, align 4
  %44 = alloca float, align 4
  %45 = alloca float, align 4
  %46 = alloca float, align 4
  %47 = alloca float, align 4
  %48 = alloca float, align 4
  %49 = alloca float, align 4
  %50 = alloca float, align 4
  %51 = alloca float, align 4
  %52 = alloca float, align 4
  %53 = alloca float, align 4
  %54 = alloca float, align 4
  %55 = alloca float, align 4
  %56 = alloca float, align 4
  %57 = alloca float, align 4
  %58 = alloca float, align 4
  %59 = alloca float, align 4
  %60 = alloca float, align 4
  %61 = alloca float, align 4
  %62 = alloca float, align 4
  %63 = alloca float, align 4
  %64 = alloca float, align 4
  %65 = alloca float, align 4
  %66 = alloca float, align 4
  %67 = alloca float, align 4
  %68 = alloca float, align 4
  %69 = alloca float, align 4
  %70 = alloca float, align 4
  %71 = alloca float, align 4
  %72 = alloca float, align 4
  %73 = 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 8, ptr %21) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #5
  %74 = load ptr, ptr %12, align 8, !tbaa !5
  %75 = load i64, ptr %74, align 8, !tbaa !9
  store i64 %75, ptr %21, align 8, !tbaa !9
  %76 = load i64, ptr %21, align 8, !tbaa !9
  %77 = add nsw i64 1, %76
  store i64 %77, ptr %22, align 8, !tbaa !9
  %78 = load i64, ptr %22, align 8, !tbaa !9
  %79 = load ptr, ptr %11, align 8, !tbaa !5
  %80 = sub i64 0, %78
  %81 = getelementptr inbounds float, ptr %79, i64 %80
  store ptr %81, ptr %11, align 8, !tbaa !5
  %82 = load ptr, ptr %14, align 8, !tbaa !5
  %83 = load i64, ptr %82, align 8, !tbaa !9
  store i64 %83, ptr %23, align 8, !tbaa !9
  %84 = load i64, ptr %23, align 8, !tbaa !9
  %85 = add nsw i64 1, %84
  store i64 %85, ptr %24, align 8, !tbaa !9
  %86 = load i64, ptr %24, align 8, !tbaa !9
  %87 = load ptr, ptr %13, align 8, !tbaa !5
  %88 = sub i64 0, %86
  %89 = getelementptr inbounds float, ptr %87, i64 %88
  store ptr %89, ptr %13, align 8, !tbaa !5
  %90 = load ptr, ptr %15, align 8, !tbaa !5
  %91 = load float, ptr %90, align 4, !tbaa !11
  %92 = fpext float %91 to double
  %93 = call double @sqrt(double noundef %92) #5
  %94 = fptrunc double %93 to float
  store float %94, ptr %66, align 4, !tbaa !11
  %95 = load float, ptr %66, align 4, !tbaa !11
  %96 = fdiv float 1.000000e+00, %95
  store float %96, ptr %67, align 4, !tbaa !11
  %97 = load ptr, ptr %15, align 8, !tbaa !5
  %98 = load float, ptr %97, align 4, !tbaa !11
  %99 = fdiv float 1.000000e+00, %98
  store float %99, ptr %72, align 4, !tbaa !11
  %100 = load ptr, ptr %11, align 8, !tbaa !5
  %101 = load i64, ptr %21, align 8, !tbaa !9
  %102 = add nsw i64 %101, 1
  %103 = getelementptr inbounds float, ptr %100, i64 %102
  %104 = load float, ptr %103, align 4, !tbaa !11
  store float %104, ptr %25, align 4, !tbaa !11
  %105 = load float, ptr %25, align 4, !tbaa !11
  %106 = fcmp oge float %105, 0.000000e+00
  br i1 %106, label %107, label %109

107:                                              ; preds = %10
  %108 = load float, ptr %25, align 4, !tbaa !11
  br label %112

109:                                              ; preds = %10
  %110 = load float, ptr %25, align 4, !tbaa !11
  %111 = fneg float %110
  br label %112

112:                                              ; preds = %109, %107
  %113 = phi float [ %108, %107 ], [ %111, %109 ]
  %114 = fpext float %113 to double
  %115 = load ptr, ptr %11, align 8, !tbaa !5
  %116 = load i64, ptr %21, align 8, !tbaa !9
  %117 = add nsw i64 %116, 2
  %118 = getelementptr inbounds float, ptr %115, i64 %117
  %119 = load float, ptr %118, align 4, !tbaa !11
  store float %119, ptr %26, align 4, !tbaa !11
  %120 = load float, ptr %26, align 4, !tbaa !11
  %121 = fcmp oge float %120, 0.000000e+00
  br i1 %121, label %122, label %124

122:                                              ; preds = %112
  %123 = load float, ptr %26, align 4, !tbaa !11
  br label %127

124:                                              ; preds = %112
  %125 = load float, ptr %26, align 4, !tbaa !11
  %126 = fneg float %125
  br label %127

127:                                              ; preds = %124, %122
  %128 = phi float [ %123, %122 ], [ %126, %124 ]
  %129 = fpext float %128 to double
  %130 = fadd double %114, %129
  %131 = fptrunc double %130 to float
  store float %131, ptr %29, align 4, !tbaa !11
  %132 = load ptr, ptr %11, align 8, !tbaa !5
  %133 = load i64, ptr %21, align 8, !tbaa !9
  %134 = shl i64 %133, 1
  %135 = add nsw i64 %134, 1
  %136 = getelementptr inbounds float, ptr %132, i64 %135
  %137 = load float, ptr %136, align 4, !tbaa !11
  store float %137, ptr %27, align 4, !tbaa !11
  %138 = load float, ptr %27, align 4, !tbaa !11
  %139 = fcmp oge float %138, 0.000000e+00
  br i1 %139, label %140, label %142

140:                                              ; preds = %127
  %141 = load float, ptr %27, align 4, !tbaa !11
  br label %145

142:                                              ; preds = %127
  %143 = load float, ptr %27, align 4, !tbaa !11
  %144 = fneg float %143
  br label %145

145:                                              ; preds = %142, %140
  %146 = phi float [ %141, %140 ], [ %144, %142 ]
  %147 = fpext float %146 to double
  %148 = load ptr, ptr %11, align 8, !tbaa !5
  %149 = load i64, ptr %21, align 8, !tbaa !9
  %150 = shl i64 %149, 1
  %151 = add nsw i64 %150, 2
  %152 = getelementptr inbounds float, ptr %148, i64 %151
  %153 = load float, ptr %152, align 4, !tbaa !11
  store float %153, ptr %28, align 4, !tbaa !11
  %154 = load float, ptr %28, align 4, !tbaa !11
  %155 = fcmp oge float %154, 0.000000e+00
  br i1 %155, label %156, label %158

156:                                              ; preds = %145
  %157 = load float, ptr %28, align 4, !tbaa !11
  br label %161

158:                                              ; preds = %145
  %159 = load float, ptr %28, align 4, !tbaa !11
  %160 = fneg float %159
  br label %161

161:                                              ; preds = %158, %156
  %162 = phi float [ %157, %156 ], [ %160, %158 ]
  %163 = fpext float %162 to double
  %164 = fadd double %147, %163
  %165 = fptrunc double %164 to float
  store float %165, ptr %30, align 4, !tbaa !11
  %166 = load float, ptr %29, align 4, !tbaa !11
  %167 = load float, ptr %30, align 4, !tbaa !11
  %168 = fcmp oge float %166, %167
  br i1 %168, label %169, label %171

169:                                              ; preds = %161
  %170 = load float, ptr %29, align 4, !tbaa !11
  br label %173

171:                                              ; preds = %161
  %172 = load float, ptr %30, align 4, !tbaa !11
  br label %173

173:                                              ; preds = %171, %169
  %174 = phi float [ %170, %169 ], [ %172, %171 ]
  store float %174, ptr %29, align 4, !tbaa !11
  %175 = load float, ptr %29, align 4, !tbaa !11
  %176 = load ptr, ptr %15, align 8, !tbaa !5
  %177 = load float, ptr %176, align 4, !tbaa !11
  %178 = fcmp oge float %175, %177
  br i1 %178, label %179, label %181

179:                                              ; preds = %173
  %180 = load float, ptr %29, align 4, !tbaa !11
  br label %184

181:                                              ; preds = %173
  %182 = load ptr, ptr %15, align 8, !tbaa !5
  %183 = load float, ptr %182, align 4, !tbaa !11
  br label %184

184:                                              ; preds = %181, %179
  %185 = phi float [ %180, %179 ], [ %183, %181 ]
  %186 = fpext float %185 to double
  %187 = fptrunc double %186 to float
  store float %187, ptr %62, align 4, !tbaa !11
  %188 = load float, ptr %62, align 4, !tbaa !11
  %189 = fdiv float 1.000000e+00, %188
  store float %189, ptr %69, align 4, !tbaa !11
  %190 = load float, ptr %69, align 4, !tbaa !11
  %191 = load ptr, ptr %11, align 8, !tbaa !5
  %192 = load i64, ptr %21, align 8, !tbaa !9
  %193 = add nsw i64 %192, 1
  %194 = getelementptr inbounds float, ptr %191, i64 %193
  %195 = load float, ptr %194, align 4, !tbaa !11
  %196 = fmul float %190, %195
  store float %196, ptr %39, align 4, !tbaa !11
  %197 = load float, ptr %69, align 4, !tbaa !11
  %198 = load ptr, ptr %11, align 8, !tbaa !5
  %199 = load i64, ptr %21, align 8, !tbaa !9
  %200 = add nsw i64 %199, 2
  %201 = getelementptr inbounds float, ptr %198, i64 %200
  %202 = load float, ptr %201, align 4, !tbaa !11
  %203 = fmul float %197, %202
  store float %203, ptr %41, align 4, !tbaa !11
  %204 = load float, ptr %69, align 4, !tbaa !11
  %205 = load ptr, ptr %11, align 8, !tbaa !5
  %206 = load i64, ptr %21, align 8, !tbaa !9
  %207 = shl i64 %206, 1
  %208 = add nsw i64 %207, 1
  %209 = getelementptr inbounds float, ptr %205, i64 %208
  %210 = load float, ptr %209, align 4, !tbaa !11
  %211 = fmul float %204, %210
  store float %211, ptr %40, align 4, !tbaa !11
  %212 = load float, ptr %69, align 4, !tbaa !11
  %213 = load ptr, ptr %11, align 8, !tbaa !5
  %214 = load i64, ptr %21, align 8, !tbaa !9
  %215 = shl i64 %214, 1
  %216 = add nsw i64 %215, 2
  %217 = getelementptr inbounds float, ptr %213, i64 %216
  %218 = load float, ptr %217, align 4, !tbaa !11
  %219 = fmul float %212, %218
  store float %219, ptr %42, align 4, !tbaa !11
  %220 = load ptr, ptr %13, align 8, !tbaa !5
  %221 = load i64, ptr %23, align 8, !tbaa !9
  %222 = add nsw i64 %221, 1
  %223 = getelementptr inbounds float, ptr %220, i64 %222
  %224 = load float, ptr %223, align 4, !tbaa !11
  store float %224, ptr %43, align 4, !tbaa !11
  %225 = load ptr, ptr %13, align 8, !tbaa !5
  %226 = load i64, ptr %23, align 8, !tbaa !9
  %227 = shl i64 %226, 1
  %228 = add nsw i64 %227, 1
  %229 = getelementptr inbounds float, ptr %225, i64 %228
  %230 = load float, ptr %229, align 4, !tbaa !11
  store float %230, ptr %44, align 4, !tbaa !11
  %231 = load ptr, ptr %13, align 8, !tbaa !5
  %232 = load i64, ptr %23, align 8, !tbaa !9
  %233 = shl i64 %232, 1
  %234 = add nsw i64 %233, 2
  %235 = getelementptr inbounds float, ptr %231, i64 %234
  %236 = load float, ptr %235, align 4, !tbaa !11
  store float %236, ptr %45, align 4, !tbaa !11
  %237 = load float, ptr %43, align 4, !tbaa !11
  %238 = fcmp oge float %237, 0.000000e+00
  br i1 %238, label %239, label %241

239:                                              ; preds = %184
  %240 = load float, ptr %43, align 4, !tbaa !11
  br label %244

241:                                              ; preds = %184
  %242 = load float, ptr %43, align 4, !tbaa !11
  %243 = fneg float %242
  br label %244

244:                                              ; preds = %241, %239
  %245 = phi float [ %240, %239 ], [ %243, %241 ]
  %246 = fpext float %245 to double
  %247 = fptrunc double %246 to float
  store float %247, ptr %25, align 4, !tbaa !11
  %248 = load float, ptr %44, align 4, !tbaa !11
  %249 = fcmp oge float %248, 0.000000e+00
  br i1 %249, label %250, label %252

250:                                              ; preds = %244
  %251 = load float, ptr %44, align 4, !tbaa !11
  br label %255

252:                                              ; preds = %244
  %253 = load float, ptr %44, align 4, !tbaa !11
  %254 = fneg float %253
  br label %255

255:                                              ; preds = %252, %250
  %256 = phi float [ %251, %250 ], [ %254, %252 ]
  %257 = fpext float %256 to double
  %258 = fptrunc double %257 to float
  store float %258, ptr %26, align 4, !tbaa !11
  %259 = load float, ptr %25, align 4, !tbaa !11
  %260 = load float, ptr %26, align 4, !tbaa !11
  %261 = fcmp oge float %259, %260
  br i1 %261, label %262, label %264

262:                                              ; preds = %255
  %263 = load float, ptr %25, align 4, !tbaa !11
  br label %266

264:                                              ; preds = %255
  %265 = load float, ptr %26, align 4, !tbaa !11
  br label %266

266:                                              ; preds = %264, %262
  %267 = phi float [ %263, %262 ], [ %265, %264 ]
  store float %267, ptr %25, align 4, !tbaa !11
  %268 = load float, ptr %45, align 4, !tbaa !11
  %269 = fcmp oge float %268, 0.000000e+00
  br i1 %269, label %270, label %272

270:                                              ; preds = %266
  %271 = load float, ptr %45, align 4, !tbaa !11
  br label %275

272:                                              ; preds = %266
  %273 = load float, ptr %45, align 4, !tbaa !11
  %274 = fneg float %273
  br label %275

275:                                              ; preds = %272, %270
  %276 = phi float [ %271, %270 ], [ %274, %272 ]
  %277 = fpext float %276 to double
  %278 = fptrunc double %277 to float
  store float %278, ptr %26, align 4, !tbaa !11
  %279 = load float, ptr %25, align 4, !tbaa !11
  %280 = load float, ptr %26, align 4, !tbaa !11
  %281 = fcmp oge float %279, %280
  br i1 %281, label %282, label %284

282:                                              ; preds = %275
  %283 = load float, ptr %25, align 4, !tbaa !11
  br label %286

284:                                              ; preds = %275
  %285 = load float, ptr %26, align 4, !tbaa !11
  br label %286

286:                                              ; preds = %284, %282
  %287 = phi float [ %283, %282 ], [ %285, %284 ]
  store float %287, ptr %25, align 4, !tbaa !11
  %288 = load float, ptr %66, align 4, !tbaa !11
  %289 = fpext float %288 to double
  %290 = load float, ptr %25, align 4, !tbaa !11
  %291 = load float, ptr %66, align 4, !tbaa !11
  %292 = fcmp oge float %290, %291
  br i1 %292, label %293, label %295

293:                                              ; preds = %286
  %294 = load float, ptr %25, align 4, !tbaa !11
  br label %297

295:                                              ; preds = %286
  %296 = load float, ptr %66, align 4, !tbaa !11
  br label %297

297:                                              ; preds = %295, %293
  %298 = phi float [ %294, %293 ], [ %296, %295 ]
  %299 = fpext float %298 to double
  %300 = fmul double %289, %299
  %301 = fptrunc double %300 to float
  store float %301, ptr %55, align 4, !tbaa !11
  %302 = load float, ptr %43, align 4, !tbaa !11
  %303 = fcmp oge float %302, 0.000000e+00
  br i1 %303, label %304, label %306

304:                                              ; preds = %297
  %305 = load float, ptr %43, align 4, !tbaa !11
  br label %309

306:                                              ; preds = %297
  %307 = load float, ptr %43, align 4, !tbaa !11
  %308 = fneg float %307
  br label %309

309:                                              ; preds = %306, %304
  %310 = phi float [ %305, %304 ], [ %308, %306 ]
  %311 = fpext float %310 to double
  %312 = load float, ptr %55, align 4, !tbaa !11
  %313 = fpext float %312 to double
  %314 = fcmp olt double %311, %313
  br i1 %314, label %315, label %318

315:                                              ; preds = %309
  %316 = call double @r_sign(ptr noundef %55, ptr noundef %43)
  %317 = fptrunc double %316 to float
  store float %317, ptr %43, align 4, !tbaa !11
  br label %318

318:                                              ; preds = %315, %309
  %319 = load float, ptr %45, align 4, !tbaa !11
  %320 = fcmp oge float %319, 0.000000e+00
  br i1 %320, label %321, label %323

321:                                              ; preds = %318
  %322 = load float, ptr %45, align 4, !tbaa !11
  br label %326

323:                                              ; preds = %318
  %324 = load float, ptr %45, align 4, !tbaa !11
  %325 = fneg float %324
  br label %326

326:                                              ; preds = %323, %321
  %327 = phi float [ %322, %321 ], [ %325, %323 ]
  %328 = fpext float %327 to double
  %329 = load float, ptr %55, align 4, !tbaa !11
  %330 = fpext float %329 to double
  %331 = fcmp olt double %328, %330
  br i1 %331, label %332, label %335

332:                                              ; preds = %326
  %333 = call double @r_sign(ptr noundef %55, ptr noundef %45)
  %334 = fptrunc double %333 to float
  store float %334, ptr %45, align 4, !tbaa !11
  br label %335

335:                                              ; preds = %332, %326
  %336 = load float, ptr %43, align 4, !tbaa !11
  %337 = fcmp oge float %336, 0.000000e+00
  br i1 %337, label %338, label %340

338:                                              ; preds = %335
  %339 = load float, ptr %43, align 4, !tbaa !11
  br label %343

340:                                              ; preds = %335
  %341 = load float, ptr %43, align 4, !tbaa !11
  %342 = fneg float %341
  br label %343

343:                                              ; preds = %340, %338
  %344 = phi float [ %339, %338 ], [ %342, %340 ]
  %345 = fpext float %344 to double
  %346 = fptrunc double %345 to float
  store float %346, ptr %25, align 4, !tbaa !11
  %347 = load float, ptr %44, align 4, !tbaa !11
  %348 = fcmp oge float %347, 0.000000e+00
  br i1 %348, label %349, label %351

349:                                              ; preds = %343
  %350 = load float, ptr %44, align 4, !tbaa !11
  br label %354

351:                                              ; preds = %343
  %352 = load float, ptr %44, align 4, !tbaa !11
  %353 = fneg float %352
  br label %354

354:                                              ; preds = %351, %349
  %355 = phi float [ %350, %349 ], [ %353, %351 ]
  %356 = fpext float %355 to double
  %357 = load float, ptr %45, align 4, !tbaa !11
  %358 = fcmp oge float %357, 0.000000e+00
  br i1 %358, label %359, label %361

359:                                              ; preds = %354
  %360 = load float, ptr %45, align 4, !tbaa !11
  br label %364

361:                                              ; preds = %354
  %362 = load float, ptr %45, align 4, !tbaa !11
  %363 = fneg float %362
  br label %364

364:                                              ; preds = %361, %359
  %365 = phi float [ %360, %359 ], [ %363, %361 ]
  %366 = fpext float %365 to double
  %367 = fadd double %356, %366
  %368 = fptrunc double %367 to float
  store float %368, ptr %26, align 4, !tbaa !11
  %369 = load float, ptr %25, align 4, !tbaa !11
  %370 = load float, ptr %26, align 4, !tbaa !11
  %371 = fcmp oge float %369, %370
  br i1 %371, label %372, label %374

372:                                              ; preds = %364
  %373 = load float, ptr %25, align 4, !tbaa !11
  br label %376

374:                                              ; preds = %364
  %375 = load float, ptr %26, align 4, !tbaa !11
  br label %376

376:                                              ; preds = %374, %372
  %377 = phi float [ %373, %372 ], [ %375, %374 ]
  store float %377, ptr %25, align 4, !tbaa !11
  %378 = load float, ptr %25, align 4, !tbaa !11
  %379 = load ptr, ptr %15, align 8, !tbaa !5
  %380 = load float, ptr %379, align 4, !tbaa !11
  %381 = fcmp oge float %378, %380
  br i1 %381, label %382, label %384

382:                                              ; preds = %376
  %383 = load float, ptr %25, align 4, !tbaa !11
  br label %387

384:                                              ; preds = %376
  %385 = load ptr, ptr %15, align 8, !tbaa !5
  %386 = load float, ptr %385, align 4, !tbaa !11
  br label %387

387:                                              ; preds = %384, %382
  %388 = phi float [ %383, %382 ], [ %386, %384 ]
  %389 = fpext float %388 to double
  %390 = fptrunc double %389 to float
  store float %390, ptr %63, align 4, !tbaa !11
  %391 = load float, ptr %43, align 4, !tbaa !11
  %392 = fcmp oge float %391, 0.000000e+00
  br i1 %392, label %393, label %395

393:                                              ; preds = %387
  %394 = load float, ptr %43, align 4, !tbaa !11
  br label %398

395:                                              ; preds = %387
  %396 = load float, ptr %43, align 4, !tbaa !11
  %397 = fneg float %396
  br label %398

398:                                              ; preds = %395, %393
  %399 = phi float [ %394, %393 ], [ %397, %395 ]
  %400 = fpext float %399 to double
  %401 = fptrunc double %400 to float
  store float %401, ptr %25, align 4, !tbaa !11
  %402 = load float, ptr %45, align 4, !tbaa !11
  %403 = fcmp oge float %402, 0.000000e+00
  br i1 %403, label %404, label %406

404:                                              ; preds = %398
  %405 = load float, ptr %45, align 4, !tbaa !11
  br label %409

406:                                              ; preds = %398
  %407 = load float, ptr %45, align 4, !tbaa !11
  %408 = fneg float %407
  br label %409

409:                                              ; preds = %406, %404
  %410 = phi float [ %405, %404 ], [ %408, %406 ]
  %411 = fpext float %410 to double
  %412 = fptrunc double %411 to float
  store float %412, ptr %26, align 4, !tbaa !11
  %413 = load float, ptr %25, align 4, !tbaa !11
  %414 = load float, ptr %26, align 4, !tbaa !11
  %415 = fcmp oge float %413, %414
  br i1 %415, label %416, label %418

416:                                              ; preds = %409
  %417 = load float, ptr %25, align 4, !tbaa !11
  br label %420

418:                                              ; preds = %409
  %419 = load float, ptr %26, align 4, !tbaa !11
  br label %420

420:                                              ; preds = %418, %416
  %421 = phi float [ %417, %416 ], [ %419, %418 ]
  %422 = fpext float %421 to double
  %423 = fptrunc double %422 to float
  store float %423, ptr %64, align 4, !tbaa !11
  %424 = load float, ptr %64, align 4, !tbaa !11
  %425 = fdiv float 1.000000e+00, %424
  store float %425, ptr %70, align 4, !tbaa !11
  %426 = load float, ptr %70, align 4, !tbaa !11
  %427 = load float, ptr %43, align 4, !tbaa !11
  %428 = fmul float %427, %426
  store float %428, ptr %43, align 4, !tbaa !11
  %429 = load float, ptr %70, align 4, !tbaa !11
  %430 = load float, ptr %44, align 4, !tbaa !11
  %431 = fmul float %430, %429
  store float %431, ptr %44, align 4, !tbaa !11
  %432 = load float, ptr %70, align 4, !tbaa !11
  %433 = load float, ptr %45, align 4, !tbaa !11
  %434 = fmul float %433, %432
  store float %434, ptr %45, align 4, !tbaa !11
  %435 = load float, ptr %43, align 4, !tbaa !11
  %436 = fdiv float 1.000000e+00, %435
  store float %436, ptr %59, align 4, !tbaa !11
  %437 = load float, ptr %45, align 4, !tbaa !11
  %438 = fdiv float 1.000000e+00, %437
  store float %438, ptr %60, align 4, !tbaa !11
  %439 = load float, ptr %39, align 4, !tbaa !11
  %440 = load float, ptr %59, align 4, !tbaa !11
  %441 = fmul float %439, %440
  store float %441, ptr %37, align 4, !tbaa !11
  %442 = load float, ptr %42, align 4, !tbaa !11
  %443 = load float, ptr %60, align 4, !tbaa !11
  %444 = fmul float %442, %443
  store float %444, ptr %38, align 4, !tbaa !11
  %445 = load float, ptr %37, align 4, !tbaa !11
  %446 = fcmp oge float %445, 0.000000e+00
  br i1 %446, label %447, label %449

447:                                              ; preds = %420
  %448 = load float, ptr %37, align 4, !tbaa !11
  br label %452

449:                                              ; preds = %420
  %450 = load float, ptr %37, align 4, !tbaa !11
  %451 = fneg float %450
  br label %452

452:                                              ; preds = %449, %447
  %453 = phi float [ %448, %447 ], [ %451, %449 ]
  %454 = fpext float %453 to double
  %455 = load float, ptr %38, align 4, !tbaa !11
  %456 = fcmp oge float %455, 0.000000e+00
  br i1 %456, label %457, label %459

457:                                              ; preds = %452
  %458 = load float, ptr %38, align 4, !tbaa !11
  br label %462

459:                                              ; preds = %452
  %460 = load float, ptr %38, align 4, !tbaa !11
  %461 = fneg float %460
  br label %462

462:                                              ; preds = %459, %457
  %463 = phi float [ %458, %457 ], [ %461, %459 ]
  %464 = fpext float %463 to double
  %465 = fcmp ole double %454, %464
  br i1 %465, label %466, label %492

466:                                              ; preds = %462
  %467 = load float, ptr %40, align 4, !tbaa !11
  %468 = load float, ptr %37, align 4, !tbaa !11
  %469 = load float, ptr %44, align 4, !tbaa !11
  %470 = fneg float %468
  %471 = call float @llvm.fmuladd.f32(float %470, float %469, float %467)
  store float %471, ptr %50, align 4, !tbaa !11
  %472 = load float, ptr %42, align 4, !tbaa !11
  %473 = load float, ptr %37, align 4, !tbaa !11
  %474 = load float, ptr %45, align 4, !tbaa !11
  %475 = fneg float %473
  %476 = call float @llvm.fmuladd.f32(float %475, float %474, float %472)
  store float %476, ptr %51, align 4, !tbaa !11
  %477 = load float, ptr %41, align 4, !tbaa !11
  %478 = load float, ptr %59, align 4, !tbaa !11
  %479 = load float, ptr %60, align 4, !tbaa !11
  %480 = fmul float %478, %479
  %481 = fmul float %477, %480
  store float %481, ptr %48, align 4, !tbaa !11
  %482 = load float, ptr %51, align 4, !tbaa !11
  %483 = load float, ptr %60, align 4, !tbaa !11
  %484 = load float, ptr %48, align 4, !tbaa !11
  %485 = load float, ptr %44, align 4, !tbaa !11
  %486 = fmul float %484, %485
  %487 = fneg float %486
  %488 = call float @llvm.fmuladd.f32(float %482, float %483, float %487)
  store float %488, ptr %53, align 4, !tbaa !11
  %489 = load float, ptr %53, align 4, !tbaa !11
  %490 = fmul float %489, 5.000000e-01
  store float %490, ptr %46, align 4, !tbaa !11
  %491 = load float, ptr %37, align 4, !tbaa !11
  store float %491, ptr %65, align 4, !tbaa !11
  br label %518

492:                                              ; preds = %462
  %493 = load float, ptr %40, align 4, !tbaa !11
  %494 = load float, ptr %38, align 4, !tbaa !11
  %495 = load float, ptr %44, align 4, !tbaa !11
  %496 = fneg float %494
  %497 = call float @llvm.fmuladd.f32(float %496, float %495, float %493)
  store float %497, ptr %50, align 4, !tbaa !11
  %498 = load float, ptr %39, align 4, !tbaa !11
  %499 = load float, ptr %38, align 4, !tbaa !11
  %500 = load float, ptr %43, align 4, !tbaa !11
  %501 = fneg float %499
  %502 = call float @llvm.fmuladd.f32(float %501, float %500, float %498)
  store float %502, ptr %49, align 4, !tbaa !11
  %503 = load float, ptr %41, align 4, !tbaa !11
  %504 = load float, ptr %59, align 4, !tbaa !11
  %505 = load float, ptr %60, align 4, !tbaa !11
  %506 = fmul float %504, %505
  %507 = fmul float %503, %506
  store float %507, ptr %48, align 4, !tbaa !11
  %508 = load float, ptr %48, align 4, !tbaa !11
  %509 = fneg float %508
  %510 = load float, ptr %44, align 4, !tbaa !11
  %511 = fmul float %509, %510
  store float %511, ptr %53, align 4, !tbaa !11
  %512 = load float, ptr %49, align 4, !tbaa !11
  %513 = load float, ptr %59, align 4, !tbaa !11
  %514 = load float, ptr %53, align 4, !tbaa !11
  %515 = call float @llvm.fmuladd.f32(float %512, float %513, float %514)
  %516 = fmul float %515, 5.000000e-01
  store float %516, ptr %46, align 4, !tbaa !11
  %517 = load float, ptr %38, align 4, !tbaa !11
  store float %517, ptr %65, align 4, !tbaa !11
  br label %518

518:                                              ; preds = %492, %466
  %519 = load float, ptr %48, align 4, !tbaa !11
  %520 = load float, ptr %50, align 4, !tbaa !11
  %521 = fmul float %519, %520
  store float %521, ptr %47, align 4, !tbaa !11
  %522 = load float, ptr %46, align 4, !tbaa !11
  %523 = load float, ptr %66, align 4, !tbaa !11
  %524 = fmul float %522, %523
  store float %524, ptr %25, align 4, !tbaa !11
  %525 = load float, ptr %25, align 4, !tbaa !11
  %526 = fcmp oge float %525, 0.000000e+00
  br i1 %526, label %527, label %529

527:                                              ; preds = %518
  %528 = load float, ptr %25, align 4, !tbaa !11
  br label %532

529:                                              ; preds = %518
  %530 = load float, ptr %25, align 4, !tbaa !11
  %531 = fneg float %530
  br label %532

532:                                              ; preds = %529, %527
  %533 = phi float [ %528, %527 ], [ %531, %529 ]
  %534 = fpext float %533 to double
  %535 = fcmp oge double %534, 1.000000e+00
  br i1 %535, label %536, label %562

536:                                              ; preds = %532
  %537 = load float, ptr %66, align 4, !tbaa !11
  %538 = load float, ptr %46, align 4, !tbaa !11
  %539 = fmul float %537, %538
  store float %539, ptr %25, align 4, !tbaa !11
  %540 = load float, ptr %25, align 4, !tbaa !11
  %541 = load float, ptr %25, align 4, !tbaa !11
  %542 = load float, ptr %47, align 4, !tbaa !11
  %543 = load ptr, ptr %15, align 8, !tbaa !5
  %544 = load float, ptr %543, align 4, !tbaa !11
  %545 = fmul float %542, %544
  %546 = call float @llvm.fmuladd.f32(float %540, float %541, float %545)
  store float %546, ptr %61, align 4, !tbaa !11
  %547 = load float, ptr %61, align 4, !tbaa !11
  %548 = fcmp oge float %547, 0.000000e+00
  br i1 %548, label %549, label %551

549:                                              ; preds = %536
  %550 = load float, ptr %61, align 4, !tbaa !11
  br label %554

551:                                              ; preds = %536
  %552 = load float, ptr %61, align 4, !tbaa !11
  %553 = fneg float %552
  br label %554

554:                                              ; preds = %551, %549
  %555 = phi float [ %550, %549 ], [ %553, %551 ]
  %556 = fpext float %555 to double
  %557 = call double @sqrt(double noundef %556) #5
  %558 = load float, ptr %67, align 4, !tbaa !11
  %559 = fpext float %558 to double
  %560 = fmul double %557, %559
  %561 = fptrunc double %560 to float
  store float %561, ptr %31, align 4, !tbaa !11
  br label %627

562:                                              ; preds = %532
  %563 = load float, ptr %46, align 4, !tbaa !11
  store float %563, ptr %25, align 4, !tbaa !11
  %564 = load float, ptr %25, align 4, !tbaa !11
  %565 = load float, ptr %25, align 4, !tbaa !11
  %566 = fmul float %564, %565
  %567 = fpext float %566 to double
  %568 = load float, ptr %47, align 4, !tbaa !11
  %569 = fcmp oge float %568, 0.000000e+00
  br i1 %569, label %570, label %572

570:                                              ; preds = %562
  %571 = load float, ptr %47, align 4, !tbaa !11
  br label %575

572:                                              ; preds = %562
  %573 = load float, ptr %47, align 4, !tbaa !11
  %574 = fneg float %573
  br label %575

575:                                              ; preds = %572, %570
  %576 = phi float [ %571, %570 ], [ %574, %572 ]
  %577 = fpext float %576 to double
  %578 = fadd double %567, %577
  %579 = load ptr, ptr %15, align 8, !tbaa !5
  %580 = load float, ptr %579, align 4, !tbaa !11
  %581 = fpext float %580 to double
  %582 = fcmp ole double %578, %581
  br i1 %582, label %583, label %608

583:                                              ; preds = %575
  %584 = load float, ptr %67, align 4, !tbaa !11
  %585 = load float, ptr %46, align 4, !tbaa !11
  %586 = fmul float %584, %585
  store float %586, ptr %25, align 4, !tbaa !11
  %587 = load float, ptr %25, align 4, !tbaa !11
  %588 = load float, ptr %25, align 4, !tbaa !11
  %589 = load float, ptr %47, align 4, !tbaa !11
  %590 = load float, ptr %72, align 4, !tbaa !11
  %591 = fmul float %589, %590
  %592 = call float @llvm.fmuladd.f32(float %587, float %588, float %591)
  store float %592, ptr %61, align 4, !tbaa !11
  %593 = load float, ptr %61, align 4, !tbaa !11
  %594 = fcmp oge float %593, 0.000000e+00
  br i1 %594, label %595, label %597

595:                                              ; preds = %583
  %596 = load float, ptr %61, align 4, !tbaa !11
  br label %600

597:                                              ; preds = %583
  %598 = load float, ptr %61, align 4, !tbaa !11
  %599 = fneg float %598
  br label %600

600:                                              ; preds = %597, %595
  %601 = phi float [ %596, %595 ], [ %599, %597 ]
  %602 = fpext float %601 to double
  %603 = call double @sqrt(double noundef %602) #5
  %604 = load float, ptr %66, align 4, !tbaa !11
  %605 = fpext float %604 to double
  %606 = fmul double %603, %605
  %607 = fptrunc double %606 to float
  store float %607, ptr %31, align 4, !tbaa !11
  br label %626

608:                                              ; preds = %575
  %609 = load float, ptr %46, align 4, !tbaa !11
  store float %609, ptr %25, align 4, !tbaa !11
  %610 = load float, ptr %25, align 4, !tbaa !11
  %611 = load float, ptr %25, align 4, !tbaa !11
  %612 = load float, ptr %47, align 4, !tbaa !11
  %613 = call float @llvm.fmuladd.f32(float %610, float %611, float %612)
  store float %613, ptr %61, align 4, !tbaa !11
  %614 = load float, ptr %61, align 4, !tbaa !11
  %615 = fcmp oge float %614, 0.000000e+00
  br i1 %615, label %616, label %618

616:                                              ; preds = %608
  %617 = load float, ptr %61, align 4, !tbaa !11
  br label %621

618:                                              ; preds = %608
  %619 = load float, ptr %61, align 4, !tbaa !11
  %620 = fneg float %619
  br label %621

621:                                              ; preds = %618, %616
  %622 = phi float [ %617, %616 ], [ %620, %618 ]
  %623 = fpext float %622 to double
  %624 = call double @sqrt(double noundef %623) #5
  %625 = fptrunc double %624 to float
  store float %625, ptr %31, align 4, !tbaa !11
  br label %626

626:                                              ; preds = %621, %600
  br label %627

627:                                              ; preds = %626, %554
  %628 = load float, ptr %61, align 4, !tbaa !11
  %629 = fcmp oge float %628, 0.000000e+00
  br i1 %629, label %633, label %630

630:                                              ; preds = %627
  %631 = load float, ptr %31, align 4, !tbaa !11
  %632 = fcmp oeq float %631, 0.000000e+00
  br i1 %632, label %633, label %756

633:                                              ; preds = %630, %627
  %634 = load float, ptr %46, align 4, !tbaa !11
  %635 = fpext float %634 to double
  %636 = call double @r_sign(ptr noundef %31, ptr noundef %46)
  %637 = fadd double %635, %636
  %638 = fptrunc double %637 to float
  store float %638, ptr %52, align 4, !tbaa !11
  %639 = load float, ptr %46, align 4, !tbaa !11
  %640 = fpext float %639 to double
  %641 = call double @r_sign(ptr noundef %31, ptr noundef %46)
  %642 = fsub double %640, %641
  %643 = fptrunc double %642 to float
  store float %643, ptr %54, align 4, !tbaa !11
  %644 = load float, ptr %65, align 4, !tbaa !11
  %645 = load float, ptr %52, align 4, !tbaa !11
  %646 = fadd float %644, %645
  store float %646, ptr %56, align 4, !tbaa !11
  %647 = load float, ptr %65, align 4, !tbaa !11
  %648 = load float, ptr %54, align 4, !tbaa !11
  %649 = fadd float %647, %648
  store float %649, ptr %73, align 4, !tbaa !11
  %650 = load float, ptr %73, align 4, !tbaa !11
  %651 = fcmp oge float %650, 0.000000e+00
  br i1 %651, label %652, label %654

652:                                              ; preds = %633
  %653 = load float, ptr %73, align 4, !tbaa !11
  br label %657

654:                                              ; preds = %633
  %655 = load float, ptr %73, align 4, !tbaa !11
  %656 = fneg float %655
  br label %657

657:                                              ; preds = %654, %652
  %658 = phi float [ %653, %652 ], [ %656, %654 ]
  %659 = fpext float %658 to double
  %660 = fptrunc double %659 to float
  store float %660, ptr %25, align 4, !tbaa !11
  %661 = load float, ptr %56, align 4, !tbaa !11
  %662 = fcmp oge float %661, 0.000000e+00
  br i1 %662, label %663, label %665

663:                                              ; preds = %657
  %664 = load float, ptr %56, align 4, !tbaa !11
  br label %668

665:                                              ; preds = %657
  %666 = load float, ptr %56, align 4, !tbaa !11
  %667 = fneg float %666
  br label %668

668:                                              ; preds = %665, %663
  %669 = phi float [ %664, %663 ], [ %667, %665 ]
  %670 = fpext float %669 to double
  %671 = fmul double %670, 5.000000e-01
  %672 = load float, ptr %25, align 4, !tbaa !11
  %673 = load ptr, ptr %15, align 8, !tbaa !5
  %674 = load float, ptr %673, align 4, !tbaa !11
  %675 = fcmp oge float %672, %674
  br i1 %675, label %676, label %678

676:                                              ; preds = %668
  %677 = load float, ptr %25, align 4, !tbaa !11
  br label %681

678:                                              ; preds = %668
  %679 = load ptr, ptr %15, align 8, !tbaa !5
  %680 = load float, ptr %679, align 4, !tbaa !11
  br label %681

681:                                              ; preds = %678, %676
  %682 = phi float [ %677, %676 ], [ %680, %678 ]
  %683 = fpext float %682 to double
  %684 = fcmp ogt double %671, %683
  br i1 %684, label %685, label %700

685:                                              ; preds = %681
  %686 = load float, ptr %39, align 4, !tbaa !11
  %687 = load float, ptr %42, align 4, !tbaa !11
  %688 = load float, ptr %40, align 4, !tbaa !11
  %689 = load float, ptr %41, align 4, !tbaa !11
  %690 = fmul float %688, %689
  %691 = fneg float %690
  %692 = call float @llvm.fmuladd.f32(float %686, float %687, float %691)
  %693 = load float, ptr %59, align 4, !tbaa !11
  %694 = load float, ptr %60, align 4, !tbaa !11
  %695 = fmul float %693, %694
  %696 = fmul float %692, %695
  store float %696, ptr %58, align 4, !tbaa !11
  %697 = load float, ptr %58, align 4, !tbaa !11
  %698 = load float, ptr %56, align 4, !tbaa !11
  %699 = fdiv float %697, %698
  store float %699, ptr %73, align 4, !tbaa !11
  br label %700

700:                                              ; preds = %685, %681
  %701 = load float, ptr %46, align 4, !tbaa !11
  %702 = load float, ptr %53, align 4, !tbaa !11
  %703 = fcmp ogt float %701, %702
  br i1 %703, label %704, label %729

704:                                              ; preds = %700
  %705 = load float, ptr %56, align 4, !tbaa !11
  %706 = load float, ptr %73, align 4, !tbaa !11
  %707 = fcmp ole float %705, %706
  br i1 %707, label %708, label %710

708:                                              ; preds = %704
  %709 = load float, ptr %56, align 4, !tbaa !11
  br label %712

710:                                              ; preds = %704
  %711 = load float, ptr %73, align 4, !tbaa !11
  br label %712

712:                                              ; preds = %710, %708
  %713 = phi float [ %709, %708 ], [ %711, %710 ]
  %714 = fpext float %713 to double
  %715 = fptrunc double %714 to float
  %716 = load ptr, ptr %18, align 8, !tbaa !5
  store float %715, ptr %716, align 4, !tbaa !11
  %717 = load float, ptr %56, align 4, !tbaa !11
  %718 = load float, ptr %73, align 4, !tbaa !11
  %719 = fcmp oge float %717, %718
  br i1 %719, label %720, label %722

720:                                              ; preds = %712
  %721 = load float, ptr %56, align 4, !tbaa !11
  br label %724

722:                                              ; preds = %712
  %723 = load float, ptr %73, align 4, !tbaa !11
  br label %724

724:                                              ; preds = %722, %720
  %725 = phi float [ %721, %720 ], [ %723, %722 ]
  %726 = fpext float %725 to double
  %727 = fptrunc double %726 to float
  %728 = load ptr, ptr %19, align 8, !tbaa !5
  store float %727, ptr %728, align 4, !tbaa !11
  br label %754

729:                                              ; preds = %700
  %730 = load float, ptr %56, align 4, !tbaa !11
  %731 = load float, ptr %73, align 4, !tbaa !11
  %732 = fcmp oge float %730, %731
  br i1 %732, label %733, label %735

733:                                              ; preds = %729
  %734 = load float, ptr %56, align 4, !tbaa !11
  br label %737

735:                                              ; preds = %729
  %736 = load float, ptr %73, align 4, !tbaa !11
  br label %737

737:                                              ; preds = %735, %733
  %738 = phi float [ %734, %733 ], [ %736, %735 ]
  %739 = fpext float %738 to double
  %740 = fptrunc double %739 to float
  %741 = load ptr, ptr %18, align 8, !tbaa !5
  store float %740, ptr %741, align 4, !tbaa !11
  %742 = load float, ptr %56, align 4, !tbaa !11
  %743 = load float, ptr %73, align 4, !tbaa !11
  %744 = fcmp ole float %742, %743
  br i1 %744, label %745, label %747

745:                                              ; preds = %737
  %746 = load float, ptr %56, align 4, !tbaa !11
  br label %749

747:                                              ; preds = %737
  %748 = load float, ptr %73, align 4, !tbaa !11
  br label %749

749:                                              ; preds = %747, %745
  %750 = phi float [ %746, %745 ], [ %748, %747 ]
  %751 = fpext float %750 to double
  %752 = fptrunc double %751 to float
  %753 = load ptr, ptr %19, align 8, !tbaa !5
  store float %752, ptr %753, align 4, !tbaa !11
  br label %754

754:                                              ; preds = %749, %724
  %755 = load ptr, ptr %20, align 8, !tbaa !5
  store float 0.000000e+00, ptr %755, align 4, !tbaa !11
  br label %766

756:                                              ; preds = %630
  %757 = load float, ptr %65, align 4, !tbaa !11
  %758 = load float, ptr %46, align 4, !tbaa !11
  %759 = fadd float %757, %758
  %760 = load ptr, ptr %18, align 8, !tbaa !5
  store float %759, ptr %760, align 4, !tbaa !11
  %761 = load ptr, ptr %18, align 8, !tbaa !5
  %762 = load float, ptr %761, align 4, !tbaa !11
  %763 = load ptr, ptr %19, align 8, !tbaa !5
  store float %762, ptr %763, align 4, !tbaa !11
  %764 = load float, ptr %31, align 4, !tbaa !11
  %765 = load ptr, ptr %20, align 8, !tbaa !5
  store float %764, ptr %765, align 4, !tbaa !11
  br label %766

766:                                              ; preds = %756, %754
  %767 = load float, ptr %64, align 4, !tbaa !11
  %768 = fpext float %767 to double
  %769 = load ptr, ptr %15, align 8, !tbaa !5
  %770 = load float, ptr %769, align 4, !tbaa !11
  %771 = fpext float %770 to double
  %772 = load float, ptr %69, align 4, !tbaa !11
  %773 = fcmp oge float 1.000000e+00, %772
  br i1 %773, label %774, label %775

774:                                              ; preds = %766
  br label %777

775:                                              ; preds = %766
  %776 = load float, ptr %69, align 4, !tbaa !11
  br label %777

777:                                              ; preds = %775, %774
  %778 = phi float [ 1.000000e+00, %774 ], [ %776, %775 ]
  %779 = fpext float %778 to double
  %780 = fmul double %771, %779
  %781 = fmul double %768, %780
  %782 = fptrunc double %781 to float
  store float %782, ptr %32, align 4, !tbaa !11
  %783 = load ptr, ptr %15, align 8, !tbaa !5
  %784 = load float, ptr %783, align 4, !tbaa !11
  %785 = fpext float %784 to double
  %786 = load float, ptr %63, align 4, !tbaa !11
  %787 = fcmp oge float 1.000000e+00, %786
  br i1 %787, label %788, label %789

788:                                              ; preds = %777
  br label %791

789:                                              ; preds = %777
  %790 = load float, ptr %63, align 4, !tbaa !11
  br label %791

791:                                              ; preds = %789, %788
  %792 = phi float [ 1.000000e+00, %788 ], [ %790, %789 ]
  %793 = fpext float %792 to double
  %794 = fmul double %785, %793
  %795 = fptrunc double %794 to float
  store float %795, ptr %33, align 4, !tbaa !11
  %796 = load float, ptr %64, align 4, !tbaa !11
  %797 = load ptr, ptr %15, align 8, !tbaa !5
  %798 = load float, ptr %797, align 4, !tbaa !11
  %799 = fmul float %796, %798
  store float %799, ptr %34, align 4, !tbaa !11
  %800 = load float, ptr %69, align 4, !tbaa !11
  %801 = fcmp ole float %800, 1.000000e+00
  br i1 %801, label %802, label %823

802:                                              ; preds = %791
  %803 = load float, ptr %64, align 4, !tbaa !11
  %804 = fcmp ole float %803, 1.000000e+00
  br i1 %804, label %805, label %823

805:                                              ; preds = %802
  store float 1.000000e+00, ptr %25, align 4, !tbaa !11
  %806 = load float, ptr %69, align 4, !tbaa !11
  %807 = load ptr, ptr %15, align 8, !tbaa !5
  %808 = load float, ptr %807, align 4, !tbaa !11
  %809 = fdiv float %806, %808
  %810 = load float, ptr %64, align 4, !tbaa !11
  %811 = fmul float %809, %810
  store float %811, ptr %26, align 4, !tbaa !11
  %812 = load float, ptr %25, align 4, !tbaa !11
  %813 = load float, ptr %26, align 4, !tbaa !11
  %814 = fcmp ole float %812, %813
  br i1 %814, label %815, label %817

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

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

819:                                              ; preds = %817, %815
  %820 = phi float [ %816, %815 ], [ %818, %817 ]
  %821 = fpext float %820 to double
  %822 = fptrunc double %821 to float
  store float %822, ptr %35, align 4, !tbaa !11
  br label %824

823:                                              ; preds = %802, %791
  store float 1.000000e+00, ptr %35, align 4, !tbaa !11
  br label %824

824:                                              ; preds = %823, %819
  %825 = load float, ptr %69, align 4, !tbaa !11
  %826 = fcmp ole float %825, 1.000000e+00
  br i1 %826, label %830, label %827

827:                                              ; preds = %824
  %828 = load float, ptr %64, align 4, !tbaa !11
  %829 = fcmp ole float %828, 1.000000e+00
  br i1 %829, label %830, label %845

830:                                              ; preds = %827, %824
  store float 1.000000e+00, ptr %25, align 4, !tbaa !11
  %831 = load float, ptr %69, align 4, !tbaa !11
  %832 = load float, ptr %64, align 4, !tbaa !11
  %833 = fmul float %831, %832
  store float %833, ptr %26, align 4, !tbaa !11
  %834 = load float, ptr %25, align 4, !tbaa !11
  %835 = load float, ptr %26, align 4, !tbaa !11
  %836 = fcmp ole float %834, %835
  br i1 %836, label %837, label %839

837:                                              ; preds = %830
  %838 = load float, ptr %25, align 4, !tbaa !11
  br label %841

839:                                              ; preds = %830
  %840 = load float, ptr %26, align 4, !tbaa !11
  br label %841

841:                                              ; preds = %839, %837
  %842 = phi float [ %838, %837 ], [ %840, %839 ]
  %843 = fpext float %842 to double
  %844 = fptrunc double %843 to float
  store float %844, ptr %36, align 4, !tbaa !11
  br label %846

845:                                              ; preds = %827
  store float 1.000000e+00, ptr %36, align 4, !tbaa !11
  br label %846

846:                                              ; preds = %845, %841
  %847 = load ptr, ptr %18, align 8, !tbaa !5
  %848 = load float, ptr %847, align 4, !tbaa !11
  %849 = fcmp oge float %848, 0.000000e+00
  br i1 %849, label %850, label %853

850:                                              ; preds = %846
  %851 = load ptr, ptr %18, align 8, !tbaa !5
  %852 = load float, ptr %851, align 4, !tbaa !11
  br label %857

853:                                              ; preds = %846
  %854 = load ptr, ptr %18, align 8, !tbaa !5
  %855 = load float, ptr %854, align 4, !tbaa !11
  %856 = fneg float %855
  br label %857

857:                                              ; preds = %853, %850
  %858 = phi float [ %852, %850 ], [ %856, %853 ]
  %859 = fpext float %858 to double
  %860 = load ptr, ptr %20, align 8, !tbaa !5
  %861 = load float, ptr %860, align 4, !tbaa !11
  %862 = fcmp oge float %861, 0.000000e+00
  br i1 %862, label %863, label %866

863:                                              ; preds = %857
  %864 = load ptr, ptr %20, align 8, !tbaa !5
  %865 = load float, ptr %864, align 4, !tbaa !11
  br label %870

866:                                              ; preds = %857
  %867 = load ptr, ptr %20, align 8, !tbaa !5
  %868 = load float, ptr %867, align 4, !tbaa !11
  %869 = fneg float %868
  br label %870

870:                                              ; preds = %866, %863
  %871 = phi float [ %865, %863 ], [ %869, %866 ]
  %872 = fpext float %871 to double
  %873 = fadd double %859, %872
  %874 = fptrunc double %873 to float
  store float %874, ptr %57, align 4, !tbaa !11
  %875 = load float, ptr %35, align 4, !tbaa !11
  store float %875, ptr %27, align 4, !tbaa !11
  %876 = load float, ptr %57, align 4, !tbaa !11
  %877 = load float, ptr %36, align 4, !tbaa !11
  %878 = fcmp oge float %876, %877
  br i1 %878, label %879, label %881

879:                                              ; preds = %870
  %880 = load float, ptr %57, align 4, !tbaa !11
  br label %883

881:                                              ; preds = %870
  %882 = load float, ptr %36, align 4, !tbaa !11
  br label %883

883:                                              ; preds = %881, %879
  %884 = phi float [ %880, %879 ], [ %882, %881 ]
  %885 = fpext float %884 to double
  %886 = fmul double %885, 5.000000e-01
  %887 = fptrunc double %886 to float
  store float %887, ptr %28, align 4, !tbaa !11
  %888 = load ptr, ptr %15, align 8, !tbaa !5
  %889 = load float, ptr %888, align 4, !tbaa !11
  %890 = load float, ptr %32, align 4, !tbaa !11
  %891 = fcmp oge float %889, %890
  br i1 %891, label %892, label %895

892:                                              ; preds = %883
  %893 = load ptr, ptr %15, align 8, !tbaa !5
  %894 = load float, ptr %893, align 4, !tbaa !11
  br label %897

895:                                              ; preds = %883
  %896 = load float, ptr %32, align 4, !tbaa !11
  br label %897

897:                                              ; preds = %895, %892
  %898 = phi float [ %894, %892 ], [ %896, %895 ]
  store float %898, ptr %25, align 4, !tbaa !11
  %899 = load float, ptr %57, align 4, !tbaa !11
  %900 = load float, ptr %33, align 4, !tbaa !11
  %901 = load float, ptr %34, align 4, !tbaa !11
  %902 = call float @llvm.fmuladd.f32(float %899, float %900, float %901)
  %903 = fmul float %902, 0x3FF0000A80000000
  store float %903, ptr %26, align 4, !tbaa !11
  %904 = load float, ptr %25, align 4, !tbaa !11
  %905 = load float, ptr %26, align 4, !tbaa !11
  %906 = fcmp oge float %904, %905
  br i1 %906, label %907, label %909

907:                                              ; preds = %897
  %908 = load float, ptr %25, align 4, !tbaa !11
  br label %911

909:                                              ; preds = %897
  %910 = load float, ptr %26, align 4, !tbaa !11
  br label %911

911:                                              ; preds = %909, %907
  %912 = phi float [ %908, %907 ], [ %910, %909 ]
  store float %912, ptr %25, align 4, !tbaa !11
  %913 = load float, ptr %27, align 4, !tbaa !11
  %914 = load float, ptr %28, align 4, !tbaa !11
  %915 = fcmp ole float %913, %914
  br i1 %915, label %916, label %918

916:                                              ; preds = %911
  %917 = load float, ptr %27, align 4, !tbaa !11
  br label %920

918:                                              ; preds = %911
  %919 = load float, ptr %28, align 4, !tbaa !11
  br label %920

920:                                              ; preds = %918, %916
  %921 = phi float [ %917, %916 ], [ %919, %918 ]
  %922 = fpext float %921 to double
  %923 = fptrunc double %922 to float
  store float %923, ptr %26, align 4, !tbaa !11
  %924 = load float, ptr %25, align 4, !tbaa !11
  %925 = load float, ptr %26, align 4, !tbaa !11
  %926 = fcmp oge float %924, %925
  br i1 %926, label %927, label %929

927:                                              ; preds = %920
  %928 = load float, ptr %25, align 4, !tbaa !11
  br label %931

929:                                              ; preds = %920
  %930 = load float, ptr %26, align 4, !tbaa !11
  br label %931

931:                                              ; preds = %929, %927
  %932 = phi float [ %928, %927 ], [ %930, %929 ]
  %933 = fpext float %932 to double
  %934 = fptrunc double %933 to float
  store float %934, ptr %68, align 4, !tbaa !11
  %935 = load float, ptr %68, align 4, !tbaa !11
  %936 = fcmp une float %935, 1.000000e+00
  br i1 %936, label %937, label %1016

937:                                              ; preds = %931
  %938 = load float, ptr %68, align 4, !tbaa !11
  %939 = fdiv float 1.000000e+00, %938
  store float %939, ptr %71, align 4, !tbaa !11
  %940 = load float, ptr %68, align 4, !tbaa !11
  %941 = fcmp ogt float %940, 1.000000e+00
  br i1 %941, label %942, label %969

942:                                              ; preds = %937
  %943 = load float, ptr %69, align 4, !tbaa !11
  %944 = load float, ptr %64, align 4, !tbaa !11
  %945 = fcmp oge float %943, %944
  br i1 %945, label %946, label %948

946:                                              ; preds = %942
  %947 = load float, ptr %69, align 4, !tbaa !11
  br label %950

948:                                              ; preds = %942
  %949 = load float, ptr %64, align 4, !tbaa !11
  br label %950

950:                                              ; preds = %948, %946
  %951 = phi float [ %947, %946 ], [ %949, %948 ]
  %952 = fpext float %951 to double
  %953 = load float, ptr %71, align 4, !tbaa !11
  %954 = fpext float %953 to double
  %955 = fmul double %952, %954
  %956 = load float, ptr %69, align 4, !tbaa !11
  %957 = load float, ptr %64, align 4, !tbaa !11
  %958 = fcmp ole float %956, %957
  br i1 %958, label %959, label %961

959:                                              ; preds = %950
  %960 = load float, ptr %69, align 4, !tbaa !11
  br label %963

961:                                              ; preds = %950
  %962 = load float, ptr %64, align 4, !tbaa !11
  br label %963

963:                                              ; preds = %961, %959
  %964 = phi float [ %960, %959 ], [ %962, %961 ]
  %965 = fpext float %964 to double
  %966 = fmul double %955, %965
  %967 = fptrunc double %966 to float
  %968 = load ptr, ptr %16, align 8, !tbaa !5
  store float %967, ptr %968, align 4, !tbaa !11
  br label %996

969:                                              ; preds = %937
  %970 = load float, ptr %69, align 4, !tbaa !11
  %971 = load float, ptr %64, align 4, !tbaa !11
  %972 = fcmp ole float %970, %971
  br i1 %972, label %973, label %975

973:                                              ; preds = %969
  %974 = load float, ptr %69, align 4, !tbaa !11
  br label %977

975:                                              ; preds = %969
  %976 = load float, ptr %64, align 4, !tbaa !11
  br label %977

977:                                              ; preds = %975, %973
  %978 = phi float [ %974, %973 ], [ %976, %975 ]
  %979 = fpext float %978 to double
  %980 = load float, ptr %71, align 4, !tbaa !11
  %981 = fpext float %980 to double
  %982 = fmul double %979, %981
  %983 = load float, ptr %69, align 4, !tbaa !11
  %984 = load float, ptr %64, align 4, !tbaa !11
  %985 = fcmp oge float %983, %984
  br i1 %985, label %986, label %988

986:                                              ; preds = %977
  %987 = load float, ptr %69, align 4, !tbaa !11
  br label %990

988:                                              ; preds = %977
  %989 = load float, ptr %64, align 4, !tbaa !11
  br label %990

990:                                              ; preds = %988, %986
  %991 = phi float [ %987, %986 ], [ %989, %988 ]
  %992 = fpext float %991 to double
  %993 = fmul double %982, %992
  %994 = fptrunc double %993 to float
  %995 = load ptr, ptr %16, align 8, !tbaa !5
  store float %994, ptr %995, align 4, !tbaa !11
  br label %996

996:                                              ; preds = %990, %963
  %997 = load float, ptr %71, align 4, !tbaa !11
  %998 = load ptr, ptr %18, align 8, !tbaa !5
  %999 = load float, ptr %998, align 4, !tbaa !11
  %1000 = fmul float %999, %997
  store float %1000, ptr %998, align 4, !tbaa !11
  %1001 = load ptr, ptr %20, align 8, !tbaa !5
  %1002 = load float, ptr %1001, align 4, !tbaa !11
  %1003 = fcmp une float %1002, 0.000000e+00
  br i1 %1003, label %1004, label %1015

1004:                                             ; preds = %996
  %1005 = load float, ptr %71, align 4, !tbaa !11
  %1006 = load ptr, ptr %20, align 8, !tbaa !5
  %1007 = load float, ptr %1006, align 4, !tbaa !11
  %1008 = fmul float %1007, %1005
  store float %1008, ptr %1006, align 4, !tbaa !11
  %1009 = load ptr, ptr %18, align 8, !tbaa !5
  %1010 = load float, ptr %1009, align 4, !tbaa !11
  %1011 = load ptr, ptr %19, align 8, !tbaa !5
  store float %1010, ptr %1011, align 4, !tbaa !11
  %1012 = load ptr, ptr %16, align 8, !tbaa !5
  %1013 = load float, ptr %1012, align 4, !tbaa !11
  %1014 = load ptr, ptr %17, align 8, !tbaa !5
  store float %1013, ptr %1014, align 4, !tbaa !11
  br label %1015

1015:                                             ; preds = %1004, %996
  br label %1024

1016:                                             ; preds = %931
  %1017 = load float, ptr %69, align 4, !tbaa !11
  %1018 = load float, ptr %64, align 4, !tbaa !11
  %1019 = fmul float %1017, %1018
  %1020 = load ptr, ptr %16, align 8, !tbaa !5
  store float %1019, ptr %1020, align 4, !tbaa !11
  %1021 = load ptr, ptr %16, align 8, !tbaa !5
  %1022 = load float, ptr %1021, align 4, !tbaa !11
  %1023 = load ptr, ptr %17, align 8, !tbaa !5
  store float %1022, ptr %1023, align 4, !tbaa !11
  br label %1024

1024:                                             ; preds = %1016, %1015
  %1025 = load ptr, ptr %20, align 8, !tbaa !5
  %1026 = load float, ptr %1025, align 4, !tbaa !11
  %1027 = fcmp oeq float %1026, 0.000000e+00
  br i1 %1027, label %1028, label %1190

1028:                                             ; preds = %1024
  %1029 = load ptr, ptr %19, align 8, !tbaa !5
  %1030 = load float, ptr %1029, align 4, !tbaa !11
  %1031 = fcmp oge float %1030, 0.000000e+00
  br i1 %1031, label %1032, label %1035

1032:                                             ; preds = %1028
  %1033 = load ptr, ptr %19, align 8, !tbaa !5
  %1034 = load float, ptr %1033, align 4, !tbaa !11
  br label %1039

1035:                                             ; preds = %1028
  %1036 = load ptr, ptr %19, align 8, !tbaa !5
  %1037 = load float, ptr %1036, align 4, !tbaa !11
  %1038 = fneg float %1037
  br label %1039

1039:                                             ; preds = %1035, %1032
  %1040 = phi float [ %1034, %1032 ], [ %1038, %1035 ]
  %1041 = fpext float %1040 to double
  %1042 = fptrunc double %1041 to float
  store float %1042, ptr %29, align 4, !tbaa !11
  %1043 = load float, ptr %35, align 4, !tbaa !11
  store float %1043, ptr %27, align 4, !tbaa !11
  %1044 = load float, ptr %29, align 4, !tbaa !11
  %1045 = load float, ptr %36, align 4, !tbaa !11
  %1046 = fcmp oge float %1044, %1045
  br i1 %1046, label %1047, label %1049

1047:                                             ; preds = %1039
  %1048 = load float, ptr %29, align 4, !tbaa !11
  br label %1051

1049:                                             ; preds = %1039
  %1050 = load float, ptr %36, align 4, !tbaa !11
  br label %1051

1051:                                             ; preds = %1049, %1047
  %1052 = phi float [ %1048, %1047 ], [ %1050, %1049 ]
  %1053 = fpext float %1052 to double
  %1054 = fmul double %1053, 5.000000e-01
  %1055 = fptrunc double %1054 to float
  store float %1055, ptr %28, align 4, !tbaa !11
  %1056 = load ptr, ptr %15, align 8, !tbaa !5
  %1057 = load float, ptr %1056, align 4, !tbaa !11
  %1058 = load float, ptr %32, align 4, !tbaa !11
  %1059 = fcmp oge float %1057, %1058
  br i1 %1059, label %1060, label %1063

1060:                                             ; preds = %1051
  %1061 = load ptr, ptr %15, align 8, !tbaa !5
  %1062 = load float, ptr %1061, align 4, !tbaa !11
  br label %1065

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

1065:                                             ; preds = %1063, %1060
  %1066 = phi float [ %1062, %1060 ], [ %1064, %1063 ]
  store float %1066, ptr %25, align 4, !tbaa !11
  %1067 = load ptr, ptr %19, align 8, !tbaa !5
  %1068 = load float, ptr %1067, align 4, !tbaa !11
  %1069 = fcmp oge float %1068, 0.000000e+00
  br i1 %1069, label %1070, label %1073

1070:                                             ; preds = %1065
  %1071 = load ptr, ptr %19, align 8, !tbaa !5
  %1072 = load float, ptr %1071, align 4, !tbaa !11
  br label %1077

1073:                                             ; preds = %1065
  %1074 = load ptr, ptr %19, align 8, !tbaa !5
  %1075 = load float, ptr %1074, align 4, !tbaa !11
  %1076 = fneg float %1075
  br label %1077

1077:                                             ; preds = %1073, %1070
  %1078 = phi float [ %1072, %1070 ], [ %1076, %1073 ]
  %1079 = fpext float %1078 to double
  %1080 = load float, ptr %33, align 4, !tbaa !11
  %1081 = fpext float %1080 to double
  %1082 = load float, ptr %34, align 4, !tbaa !11
  %1083 = fpext float %1082 to double
  %1084 = call double @llvm.fmuladd.f64(double %1079, double %1081, double %1083)
  %1085 = fmul double %1084, 0x3FF0000A80000000
  %1086 = fptrunc double %1085 to float
  store float %1086, ptr %26, align 4, !tbaa !11
  %1087 = load float, ptr %25, align 4, !tbaa !11
  %1088 = load float, ptr %26, align 4, !tbaa !11
  %1089 = fcmp oge float %1087, %1088
  br i1 %1089, label %1090, label %1092

1090:                                             ; preds = %1077
  %1091 = load float, ptr %25, align 4, !tbaa !11
  br label %1094

1092:                                             ; preds = %1077
  %1093 = load float, ptr %26, align 4, !tbaa !11
  br label %1094

1094:                                             ; preds = %1092, %1090
  %1095 = phi float [ %1091, %1090 ], [ %1093, %1092 ]
  store float %1095, ptr %25, align 4, !tbaa !11
  %1096 = load float, ptr %27, align 4, !tbaa !11
  %1097 = load float, ptr %28, align 4, !tbaa !11
  %1098 = fcmp ole float %1096, %1097
  br i1 %1098, label %1099, label %1101

1099:                                             ; preds = %1094
  %1100 = load float, ptr %27, align 4, !tbaa !11
  br label %1103

1101:                                             ; preds = %1094
  %1102 = load float, ptr %28, align 4, !tbaa !11
  br label %1103

1103:                                             ; preds = %1101, %1099
  %1104 = phi float [ %1100, %1099 ], [ %1102, %1101 ]
  %1105 = fpext float %1104 to double
  %1106 = fptrunc double %1105 to float
  store float %1106, ptr %26, align 4, !tbaa !11
  %1107 = load float, ptr %25, align 4, !tbaa !11
  %1108 = load float, ptr %26, align 4, !tbaa !11
  %1109 = fcmp oge float %1107, %1108
  br i1 %1109, label %1110, label %1112

1110:                                             ; preds = %1103
  %1111 = load float, ptr %25, align 4, !tbaa !11
  br label %1114

1112:                                             ; preds = %1103
  %1113 = load float, ptr %26, align 4, !tbaa !11
  br label %1114

1114:                                             ; preds = %1112, %1110
  %1115 = phi float [ %1111, %1110 ], [ %1113, %1112 ]
  %1116 = fpext float %1115 to double
  %1117 = fptrunc double %1116 to float
  store float %1117, ptr %68, align 4, !tbaa !11
  %1118 = load float, ptr %68, align 4, !tbaa !11
  %1119 = fcmp une float %1118, 1.000000e+00
  br i1 %1119, label %1120, label %1184

1120:                                             ; preds = %1114
  %1121 = load float, ptr %68, align 4, !tbaa !11
  %1122 = fdiv float 1.000000e+00, %1121
  store float %1122, ptr %71, align 4, !tbaa !11
  %1123 = load float, ptr %68, align 4, !tbaa !11
  %1124 = fcmp ogt float %1123, 1.000000e+00
  br i1 %1124, label %1125, label %1152

1125:                                             ; preds = %1120
  %1126 = load float, ptr %69, align 4, !tbaa !11
  %1127 = load float, ptr %64, align 4, !tbaa !11
  %1128 = fcmp oge float %1126, %1127
  br i1 %1128, label %1129, label %1131

1129:                                             ; preds = %1125
  %1130 = load float, ptr %69, align 4, !tbaa !11
  br label %1133

1131:                                             ; preds = %1125
  %1132 = load float, ptr %64, align 4, !tbaa !11
  br label %1133

1133:                                             ; preds = %1131, %1129
  %1134 = phi float [ %1130, %1129 ], [ %1132, %1131 ]
  %1135 = fpext float %1134 to double
  %1136 = load float, ptr %71, align 4, !tbaa !11
  %1137 = fpext float %1136 to double
  %1138 = fmul double %1135, %1137
  %1139 = load float, ptr %69, align 4, !tbaa !11
  %1140 = load float, ptr %64, align 4, !tbaa !11
  %1141 = fcmp ole float %1139, %1140
  br i1 %1141, label %1142, label %1144

1142:                                             ; preds = %1133
  %1143 = load float, ptr %69, align 4, !tbaa !11
  br label %1146

1144:                                             ; preds = %1133
  %1145 = load float, ptr %64, align 4, !tbaa !11
  br label %1146

1146:                                             ; preds = %1144, %1142
  %1147 = phi float [ %1143, %1142 ], [ %1145, %1144 ]
  %1148 = fpext float %1147 to double
  %1149 = fmul double %1138, %1148
  %1150 = fptrunc double %1149 to float
  %1151 = load ptr, ptr %17, align 8, !tbaa !5
  store float %1150, ptr %1151, align 4, !tbaa !11
  br label %1179

1152:                                             ; preds = %1120
  %1153 = load float, ptr %69, align 4, !tbaa !11
  %1154 = load float, ptr %64, align 4, !tbaa !11
  %1155 = fcmp ole float %1153, %1154
  br i1 %1155, label %1156, label %1158

1156:                                             ; preds = %1152
  %1157 = load float, ptr %69, align 4, !tbaa !11
  br label %1160

1158:                                             ; preds = %1152
  %1159 = load float, ptr %64, align 4, !tbaa !11
  br label %1160

1160:                                             ; preds = %1158, %1156
  %1161 = phi float [ %1157, %1156 ], [ %1159, %1158 ]
  %1162 = fpext float %1161 to double
  %1163 = load float, ptr %71, align 4, !tbaa !11
  %1164 = fpext float %1163 to double
  %1165 = fmul double %1162, %1164
  %1166 = load float, ptr %69, align 4, !tbaa !11
  %1167 = load float, ptr %64, align 4, !tbaa !11
  %1168 = fcmp oge float %1166, %1167
  br i1 %1168, label %1169, label %1171

1169:                                             ; preds = %1160
  %1170 = load float, ptr %69, align 4, !tbaa !11
  br label %1173

1171:                                             ; preds = %1160
  %1172 = load float, ptr %64, align 4, !tbaa !11
  br label %1173

1173:                                             ; preds = %1171, %1169
  %1174 = phi float [ %1170, %1169 ], [ %1172, %1171 ]
  %1175 = fpext float %1174 to double
  %1176 = fmul double %1165, %1175
  %1177 = fptrunc double %1176 to float
  %1178 = load ptr, ptr %17, align 8, !tbaa !5
  store float %1177, ptr %1178, align 4, !tbaa !11
  br label %1179

1179:                                             ; preds = %1173, %1146
  %1180 = load float, ptr %71, align 4, !tbaa !11
  %1181 = load ptr, ptr %19, align 8, !tbaa !5
  %1182 = load float, ptr %1181, align 4, !tbaa !11
  %1183 = fmul float %1182, %1180
  store float %1183, ptr %1181, align 4, !tbaa !11
  br label %1189

1184:                                             ; preds = %1114
  %1185 = load float, ptr %69, align 4, !tbaa !11
  %1186 = load float, ptr %64, align 4, !tbaa !11
  %1187 = fmul float %1185, %1186
  %1188 = load ptr, ptr %17, align 8, !tbaa !5
  store float %1187, ptr %1188, align 4, !tbaa !11
  br label %1189

1189:                                             ; preds = %1184, %1179
  br label %1190

1190:                                             ; preds = %1189, %1024
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #5
  call void @llvm.lifetime.end.p0(i64 8, 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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @slag2_(ptr nocapture noundef readonly %0, ptr nocapture noundef readonly %1, ptr nocapture noundef readonly %2, ptr nocapture noundef readonly %3, ptr nocapture noundef readonly %4, ptr nocapture noundef %5, ptr nocapture noundef writeonly %6, ptr nocapture noundef %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) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #6
  %16 = load i64, ptr %1, align 8, !tbaa !5
  %17 = xor i64 %16, -1
  %18 = getelementptr inbounds float, ptr %0, i64 %17
  %19 = load i64, ptr %3, align 8, !tbaa !5
  %20 = xor i64 %19, -1
  %21 = getelementptr inbounds float, ptr %2, i64 %20
  %22 = load float, ptr %4, align 4, !tbaa !9
  %sqrtf = tail call float @sqrtf(float noundef %22) #2
  %23 = fdiv float 1.000000e+00, %sqrtf
  %24 = load float, ptr %4, align 4, !tbaa !9
  %25 = fdiv float 1.000000e+00, %24
  %26 = load <2 x float>, ptr %0, align 4, !tbaa !9
  %27 = fcmp oge <2 x float> %26, zeroinitializer
  %28 = fneg <2 x float> %26
  %29 = select <2 x i1> %27, <2 x float> %26, <2 x float> %28
  %shift = shufflevector <2 x float> %29, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %30 = fadd <2 x float> %29, %shift
  %31 = extractelement <2 x float> %30, i64 0
  %32 = shl i64 %16, 1
  %33 = or disjoint i64 %32, 1
  %34 = getelementptr inbounds float, ptr %18, i64 %33
  %35 = load <2 x float>, ptr %34, align 4, !tbaa !9
  %36 = fcmp oge <2 x float> %35, zeroinitializer
  %37 = fneg <2 x float> %35
  %38 = select <2 x i1> %36, <2 x float> %35, <2 x float> %37
  %shift428 = shufflevector <2 x float> %38, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %39 = fadd <2 x float> %38, %shift428
  %40 = extractelement <2 x float> %39, i64 0
  %41 = fcmp oge float %31, %40
  %42 = select i1 %41, float %31, float %40
  %.inv = fcmp oge float %42, %24
  %. = select i1 %.inv, float %42, float %24
  %43 = fdiv float 1.000000e+00, %.
  %44 = extractelement <2 x float> %26, i64 1
  %45 = fmul float %44, %43
  %46 = extractelement <2 x float> %35, i64 0
  %47 = fmul float %46, %43
  %48 = shufflevector <2 x float> %35, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %49 = shufflevector <2 x float> %48, <2 x float> %26, <2 x i32> <i32 0, i32 2>
  %50 = insertelement <2 x float> poison, float %43, i64 0
  %51 = shufflevector <2 x float> %50, <2 x float> poison, <2 x i32> zeroinitializer
  %52 = fmul <2 x float> %49, %51
  %53 = load float, ptr %2, align 4, !tbaa !9
  store float %53, ptr %12, align 4, !tbaa !9
  %54 = shl i64 %19, 1
  %55 = or disjoint i64 %54, 1
  %56 = getelementptr inbounds float, ptr %21, i64 %55
  %57 = load float, ptr %56, align 4, !tbaa !9
  %58 = getelementptr float, ptr %21, i64 %54
  %59 = getelementptr i8, ptr %58, i64 8
  %60 = load float, ptr %59, align 4, !tbaa !9
  store float %60, ptr %13, align 4, !tbaa !9
  %61 = fcmp oge float %53, 0.000000e+00
  %62 = fneg float %53
  %63 = select i1 %61, float %53, float %62
  %64 = fcmp oge float %57, 0.000000e+00
  %65 = fneg float %57
  %66 = select i1 %64, float %57, float %65
  %67 = fcmp oge float %63, %66
  %68 = select i1 %67, float %63, float %66
  %69 = fcmp oge float %60, 0.000000e+00
  %70 = fneg float %60
  %71 = select i1 %69, float %60, float %70
  %72 = fcmp oge float %68, %71
  %73 = select i1 %72, float %68, float %71
  %74 = fpext float %sqrtf to double
  %75 = fcmp oge float %73, %sqrtf
  %76 = select i1 %75, float %73, float %sqrtf
  %77 = fmul float %sqrtf, %76
  store float %77, ptr %15, align 4, !tbaa !9
  %78 = fcmp olt float %63, %77
  %79 = insertelement <2 x float> poison, float %60, i64 0
  %80 = insertelement <2 x float> %79, float %53, i64 1
  br i1 %78, label %81, label %86

81:                                               ; preds = %10
  %82 = call double @r_sign(ptr noundef nonnull %15, ptr noundef nonnull %12) #6
  %83 = fptrunc double %82 to float
  store float %83, ptr %12, align 4, !tbaa !9
  %.pre = load float, ptr %13, align 4
  %.pre415 = load float, ptr %15, align 4, !tbaa !9
  %.pre417 = fneg float %.pre
  %84 = insertelement <2 x float> poison, float %.pre, i64 0
  %85 = insertelement <2 x float> %84, float %83, i64 1
  br label %86

86:                                               ; preds = %81, %10
  %.pre-phi = phi float [ %.pre417, %81 ], [ %70, %10 ]
  %87 = phi float [ %.pre415, %81 ], [ %77, %10 ]
  %88 = phi <2 x float> [ %85, %81 ], [ %80, %10 ]
  %89 = extractelement <2 x float> %88, i64 0
  %90 = fcmp oge float %89, 0.000000e+00
  %91 = select i1 %90, float %89, float %.pre-phi
  %92 = fcmp olt float %91, %87
  br i1 %92, label %93, label %98

93:                                               ; preds = %86
  %94 = call double @r_sign(ptr noundef nonnull %15, ptr noundef nonnull %13) #6
  %95 = fptrunc double %94 to float
  %.pre416 = load float, ptr %12, align 4
  %.pre418 = fneg float %95
  %96 = insertelement <2 x float> poison, float %95, i64 0
  %97 = insertelement <2 x float> %96, float %.pre416, i64 1
  br label %98

98:                                               ; preds = %93, %86
  %.pre-phi419 = phi float [ %.pre418, %93 ], [ %.pre-phi, %86 ]
  %99 = phi <2 x float> [ %97, %93 ], [ %88, %86 ]
  %100 = extractelement <2 x float> %99, i64 1
  %101 = fcmp oge float %100, 0.000000e+00
  %102 = fneg float %100
  %103 = select i1 %101, float %100, float %102
  %104 = extractelement <2 x float> %99, i64 0
  %105 = fcmp oge float %104, 0.000000e+00
  %106 = select i1 %105, float %104, float %.pre-phi419
  %107 = fadd float %66, %106
  %108 = fcmp oge float %103, %107
  %109 = select i1 %108, float %103, float %107
  %110 = load float, ptr %4, align 4, !tbaa !9
  %.inv409 = fcmp oge float %109, %110
  %.407 = select i1 %.inv409, float %109, float %110
  %111 = fcmp oge float %103, %106
  %112 = select i1 %111, float %103, float %106
  %113 = fpext float %112 to double
  %114 = fdiv float 1.000000e+00, %112
  %115 = fmul float %57, %114
  %116 = insertelement <2 x float> poison, float %114, i64 0
  %117 = shufflevector <2 x float> %116, <2 x float> poison, <2 x i32> zeroinitializer
  %118 = fmul <2 x float> %99, %117
  %119 = extractelement <2 x float> %118, i64 1
  store float %119, ptr %12, align 4, !tbaa !9
  %120 = extractelement <2 x float> %118, i64 0
  store float %120, ptr %13, align 4, !tbaa !9
  %121 = fdiv <2 x float> <float 1.000000e+00, float 1.000000e+00>, %118
  %122 = fmul <2 x float> %52, %121
  %123 = fcmp oge <2 x float> %122, zeroinitializer
  %124 = fneg <2 x float> %122
  %125 = select <2 x i1> %123, <2 x float> %122, <2 x float> %124
  %126 = extractelement <2 x float> %125, i64 0
  %127 = extractelement <2 x float> %125, i64 1
  %128 = fcmp ugt float %127, %126
  %129 = extractelement <2 x float> %121, i64 0
  %130 = extractelement <2 x float> %121, i64 1
  %131 = fmul float %130, %129
  %132 = fmul float %45, %131
  %133 = fneg float %132
  %134 = fmul float %115, %133
  br i1 %128, label %146, label %135

135:                                              ; preds = %98
  %136 = extractelement <2 x float> %52, i64 0
  %137 = extractelement <2 x float> %124, i64 1
  %138 = call float @llvm.fmuladd.f32(float %137, float %120, float %136)
  %139 = insertelement <2 x float> %124, float %138, i64 0
  %140 = insertelement <2 x float> %121, float %115, i64 1
  %141 = insertelement <2 x float> poison, float %134, i64 0
  %142 = insertelement <2 x float> %141, float %47, i64 1
  %143 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %139, <2 x float> %140, <2 x float> %142)
  %144 = extractelement <2 x float> %143, i64 0
  %145 = extractelement <2 x float> %122, i64 1
  br label %158

146:                                              ; preds = %98
  %147 = extractelement <2 x float> %52, i64 1
  %148 = extractelement <2 x float> %124, i64 0
  %149 = call float @llvm.fmuladd.f32(float %148, float %119, float %147)
  %150 = insertelement <2 x float> poison, float %149, i64 0
  %151 = shufflevector <2 x float> %150, <2 x float> %124, <2 x i32> <i32 0, i32 2>
  %152 = shufflevector <2 x float> %121, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %153 = insertelement <2 x float> %152, float %115, i64 1
  %154 = insertelement <2 x float> poison, float %134, i64 0
  %155 = insertelement <2 x float> %154, float %47, i64 1
  %156 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %151, <2 x float> %153, <2 x float> %155)
  %157 = extractelement <2 x float> %122, i64 0
  br label %158

158:                                              ; preds = %146, %135
  %.0379 = phi float [ %134, %146 ], [ %144, %135 ]
  %.0373 = phi float [ %157, %146 ], [ %145, %135 ]
  %159 = phi <2 x float> [ %156, %146 ], [ %143, %135 ]
  %160 = extractelement <2 x float> %159, i64 0
  %storemerge = fmul float %160, 5.000000e-01
  store float %storemerge, ptr %14, align 4, !tbaa !9
  %161 = extractelement <2 x float> %159, i64 1
  %162 = fmul float %161, %132
  %163 = fmul float %sqrtf, %storemerge
  %164 = fcmp oge float %163, 0.000000e+00
  %165 = fneg float %163
  %166 = select i1 %164, float %163, float %165
  %167 = fcmp ult float %166, 1.000000e+00
  br i1 %167, label %179, label %168

168:                                              ; preds = %158
  %169 = fmul float %110, %162
  %170 = call float @llvm.fmuladd.f32(float %163, float %163, float %169)
  %171 = fcmp oge float %170, 0.000000e+00
  %172 = fneg float %170
  %173 = select i1 %171, float %170, float %172
  %174 = fpext float %173 to double
  %175 = call double @sqrt(double noundef %174) #6
  %176 = fpext float %23 to double
  %177 = fmul double %175, %176
  %178 = fptrunc double %177 to float
  store float %178, ptr %11, align 4, !tbaa !9
  br label %205

179:                                              ; preds = %158
  %180 = fmul float %storemerge, %storemerge
  %181 = fpext float %180 to double
  %182 = fcmp oge float %162, 0.000000e+00
  %183 = fneg float %162
  %184 = select i1 %182, float %162, float %183
  %185 = fpext float %184 to double
  %186 = fadd double %181, %185
  %187 = fpext float %110 to double
  %188 = fcmp ugt double %186, %187
  br i1 %188, label %200, label %189

189:                                              ; preds = %179
  %190 = fmul float %23, %storemerge
  %191 = fmul float %25, %162
  %192 = call float @llvm.fmuladd.f32(float %190, float %190, float %191)
  %193 = fcmp oge float %192, 0.000000e+00
  %194 = fneg float %192
  %195 = select i1 %193, float %192, float %194
  %196 = fpext float %195 to double
  %197 = call double @sqrt(double noundef %196) #6
  %198 = fmul double %197, %74
  %199 = fptrunc double %198 to float
  store float %199, ptr %11, align 4, !tbaa !9
  br label %205

200:                                              ; preds = %179
  %201 = call float @llvm.fmuladd.f32(float %storemerge, float %storemerge, float %162)
  %202 = fcmp oge float %201, 0.000000e+00
  %203 = fneg float %201
  %204 = select i1 %202, float %201, float %203
  %sqrtf402 = call float @sqrtf(float noundef %204) #2
  store float %sqrtf402, ptr %11, align 4, !tbaa !9
  br label %205

205:                                              ; preds = %189, %200, %168
  %206 = phi float [ %178, %168 ], [ %199, %189 ], [ %sqrtf402, %200 ]
  %.0375 = phi float [ %170, %168 ], [ %192, %189 ], [ %201, %200 ]
  %207 = fcmp oge float %.0375, 0.000000e+00
  %208 = fcmp oeq float %206, 0.000000e+00
  %or.cond = select i1 %207, i1 true, i1 %208
  br i1 %or.cond, label %209, label %254

209:                                              ; preds = %205
  %210 = fpext float %storemerge to double
  %211 = call double @r_sign(ptr noundef nonnull %11, ptr noundef nonnull %14) #6
  %212 = fadd double %211, %210
  %213 = fptrunc double %212 to float
  %214 = load float, ptr %14, align 4, !tbaa !9
  %215 = fpext float %214 to double
  %216 = call double @r_sign(ptr noundef nonnull %11, ptr noundef nonnull %14) #6
  %217 = fsub double %215, %216
  %218 = fptrunc double %217 to float
  %219 = fadd float %.0373, %213
  %220 = fadd float %.0373, %218
  %221 = fcmp oge float %220, 0.000000e+00
  %222 = fneg float %220
  %223 = select i1 %221, float %220, float %222
  %224 = fcmp oge float %219, 0.000000e+00
  %225 = fneg float %219
  %226 = select i1 %224, float %219, float %225
  %227 = fpext float %226 to double
  %228 = fmul double %227, 5.000000e-01
  %229 = load float, ptr %4, align 4, !tbaa !9
  %.inv411 = fcmp oge float %223, %229
  %.408 = select i1 %.inv411, float %223, float %229
  %230 = fpext float %.408 to double
  %231 = fcmp ogt double %228, %230
  br i1 %231, label %232, label %241

232:                                              ; preds = %209
  %233 = fneg float %47
  %234 = fmul float %45, %233
  %235 = extractelement <2 x float> %52, i64 0
  %236 = extractelement <2 x float> %52, i64 1
  %237 = call float @llvm.fmuladd.f32(float %236, float %235, float %234)
  %238 = fmul float %130, %129
  %239 = fmul float %237, %238
  %240 = fdiv float %239, %219
  br label %241

241:                                              ; preds = %232, %209
  %.0 = phi float [ %240, %232 ], [ %220, %209 ]
  %242 = load float, ptr %14, align 4, !tbaa !9
  %243 = fcmp ogt float %242, %.0379
  br i1 %243, label %244, label %249

244:                                              ; preds = %241
  %245 = fcmp ole float %219, %.0
  %246 = select i1 %245, float %219, float %.0
  store float %246, ptr %7, align 4, !tbaa !9
  %247 = fcmp oge float %219, %.0
  %248 = select i1 %247, float %219, float %.0
  br label %256

249:                                              ; preds = %241
  %250 = fcmp oge float %219, %.0
  %251 = select i1 %250, float %219, float %.0
  store float %251, ptr %7, align 4, !tbaa !9
  %252 = fcmp ole float %219, %.0
  %253 = select i1 %252, float %219, float %.0
  br label %256

254:                                              ; preds = %205
  %255 = fadd float %.0373, %storemerge
  store float %255, ptr %7, align 4, !tbaa !9
  br label %256

256:                                              ; preds = %244, %249, %254
  %storemerge410 = phi float [ %255, %254 ], [ %253, %249 ], [ %248, %244 ]
  %storemerge403 = phi float [ %206, %254 ], [ 0.000000e+00, %249 ], [ 0.000000e+00, %244 ]
  store float %storemerge410, ptr %8, align 4, !tbaa !9
  store float %storemerge403, ptr %9, align 4, !tbaa !9
  %257 = load float, ptr %4, align 4, !tbaa !9
  %258 = fpext float %257 to double
  %259 = fcmp ole float %43, 1.000000e+00
  %260 = select i1 %259, float 1.000000e+00, float %43
  %261 = fpext float %260 to double
  %262 = fmul double %261, %258
  %263 = fmul double %262, %113
  %264 = fptrunc double %263 to float
  %265 = fcmp ole float %.407, 1.000000e+00
  %266 = select i1 %265, float 1.000000e+00, float %.407
  %267 = fmul float %266, %257
  %268 = fmul float %112, %257
  %269 = fcmp ole float %112, 1.000000e+00
  %or.cond3 = and i1 %259, %269
  br i1 %or.cond3, label %270, label %275

270:                                              ; preds = %256
  %271 = fdiv float %43, %257
  %272 = fmul float %112, %271
  %273 = fcmp oge float %272, 1.000000e+00
  %274 = select i1 %273, float 1.000000e+00, float %272
  br label %275

275:                                              ; preds = %256, %270
  %.0374 = phi float [ %274, %270 ], [ 1.000000e+00, %256 ]
  %or.cond5 = or i1 %259, %269
  br i1 %or.cond5, label %276, label %280

276:                                              ; preds = %275
  %277 = fmul float %43, %112
  %278 = fcmp oge float %277, 1.000000e+00
  %279 = select i1 %278, float 1.000000e+00, float %277
  br label %280

280:                                              ; preds = %275, %276
  %.0376 = phi float [ %279, %276 ], [ 1.000000e+00, %275 ]
  %281 = load float, ptr %7, align 4, !tbaa !9
  %282 = insertelement <2 x float> poison, float %storemerge403, i64 0
  %283 = insertelement <2 x float> %282, float %281, i64 1
  %284 = fcmp ult <2 x float> %283, zeroinitializer
  %285 = fneg <2 x float> %283
  %286 = select <2 x i1> %284, <2 x float> %285, <2 x float> %283
  %shift429 = shufflevector <2 x float> %286, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %287 = fadd <2 x float> %286, %shift429
  %288 = extractelement <2 x float> %287, i64 0
  %289 = fcmp oge float %288, %.0376
  %290 = select i1 %289, float %288, float %.0376
  %291 = fmul float %290, 5.000000e-01
  %.inv412 = fcmp oge float %257, %264
  %292 = select i1 %.inv412, float %257, float %264
  %293 = call float @llvm.fmuladd.f32(float %288, float %267, float %268)
  %294 = fmul float %293, 0x3FF0000A80000000
  %295 = fcmp oge float %292, %294
  %296 = select i1 %295, float %292, float %294
  %297 = fcmp ole float %.0374, %291
  %298 = select i1 %297, float %.0374, float %291
  %299 = fcmp oge float %296, %298
  %300 = select i1 %299, float %296, float %298
  %301 = fcmp une float %300, 1.000000e+00
  br i1 %301, label %302, label %326

302:                                              ; preds = %280
  %303 = fdiv float 1.000000e+00, %300
  %304 = fcmp ogt float %300, 1.000000e+00
  %305 = fpext float %303 to double
  br i1 %304, label %306, label %310

306:                                              ; preds = %302
  %307 = fcmp oge float %43, %112
  %308 = select i1 %307, float %43, float %112
  %309 = fcmp ole float %43, %112
  br label %314

310:                                              ; preds = %302
  %311 = fcmp ole float %43, %112
  %312 = select i1 %311, float %43, float %112
  %313 = fcmp oge float %43, %112
  br label %314

314:                                              ; preds = %310, %306
  %.sink422 = phi i1 [ %313, %310 ], [ %309, %306 ]
  %.pn.in = phi float [ %312, %310 ], [ %308, %306 ]
  %.pn = fpext float %.pn.in to double
  %.sink = fmul double %.pn, %305
  %315 = select i1 %.sink422, float %43, float %112
  %316 = fpext float %315 to double
  %317 = fmul double %.sink, %316
  %storemerge405 = fptrunc double %317 to float
  store float %storemerge405, ptr %5, align 4, !tbaa !9
  %318 = load float, ptr %7, align 4, !tbaa !9
  %319 = fmul float %303, %318
  store float %319, ptr %7, align 4, !tbaa !9
  %320 = load float, ptr %9, align 4, !tbaa !9
  %321 = fcmp une float %320, 0.000000e+00
  br i1 %321, label %322, label %328

322:                                              ; preds = %314
  %323 = fmul float %303, %320
  store float %323, ptr %9, align 4, !tbaa !9
  %324 = load float, ptr %7, align 4, !tbaa !9
  store float %324, ptr %8, align 4, !tbaa !9
  %325 = load float, ptr %5, align 4, !tbaa !9
  br label %thread-pre-split

326:                                              ; preds = %280
  %327 = fmul float %43, %112
  store float %327, ptr %5, align 4, !tbaa !9
  br label %thread-pre-split

thread-pre-split:                                 ; preds = %326, %322
  %storemerge413 = phi float [ %327, %326 ], [ %325, %322 ]
  store float %storemerge413, ptr %6, align 4, !tbaa !9
  %.pr = load float, ptr %9, align 4, !tbaa !9
  br label %328

328:                                              ; preds = %thread-pre-split, %314
  %329 = phi float [ %.pr, %thread-pre-split ], [ %320, %314 ]
  %330 = fcmp oeq float %329, 0.000000e+00
  br i1 %330, label %331, label %374

331:                                              ; preds = %328
  %332 = load float, ptr %8, align 4, !tbaa !9
  %333 = fcmp ult float %332, 0.000000e+00
  %334 = fneg float %332
  %335 = select i1 %333, float %334, float %332
  %336 = fcmp oge float %335, %.0376
  %337 = select i1 %336, float %335, float %.0376
  %338 = fmul float %337, 5.000000e-01
  %339 = load float, ptr %4, align 4, !tbaa !9
  %.inv414 = fcmp oge float %339, %264
  %340 = select i1 %.inv414, float %339, float %264
  %341 = fpext float %335 to double
  %342 = fpext float %267 to double
  %343 = fpext float %268 to double
  %344 = call double @llvm.fmuladd.f64(double %341, double %342, double %343)
  %345 = fmul double %344, 0x3FF0000A80000000
  %346 = fptrunc double %345 to float
  %347 = fcmp oge float %340, %346
  %348 = select i1 %347, float %340, float %346
  %349 = fcmp ole float %.0374, %338
  %350 = select i1 %349, float %.0374, float %338
  %351 = fcmp oge float %348, %350
  %352 = select i1 %351, float %348, float %350
  %353 = fcmp une float %352, 1.000000e+00
  br i1 %353, label %354, label %372

354:                                              ; preds = %331
  %355 = fdiv float 1.000000e+00, %352
  %356 = fcmp ogt float %352, 1.000000e+00
  %357 = fpext float %355 to double
  br i1 %356, label %358, label %362

358:                                              ; preds = %354
  %359 = fcmp oge float %43, %112
  %360 = select i1 %359, float %43, float %112
  %361 = fcmp ole float %43, %112
  br label %366

362:                                              ; preds = %354
  %363 = fcmp ole float %43, %112
  %364 = select i1 %363, float %43, float %112
  %365 = fcmp oge float %43, %112
  br label %366

366:                                              ; preds = %362, %358
  %.sink426 = phi i1 [ %365, %362 ], [ %361, %358 ]
  %.pn427.in = phi float [ %364, %362 ], [ %360, %358 ]
  %.pn427 = fpext float %.pn427.in to double
  %.sink423 = fmul double %.pn427, %357
  %367 = select i1 %.sink426, float %43, float %112
  %368 = fpext float %367 to double
  %369 = fmul double %.sink423, %368
  %storemerge406 = fptrunc double %369 to float
  store float %storemerge406, ptr %6, align 4, !tbaa !9
  %370 = load float, ptr %8, align 4, !tbaa !9
  %371 = fmul float %355, %370
  store float %371, ptr %8, align 4, !tbaa !9
  br label %374

372:                                              ; preds = %331
  %373 = fmul float %43, %112
  store float %373, ptr %6, align 4, !tbaa !9
  br label %374

374:                                              ; preds = %366, %372, %328
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #6
  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

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

declare double @r_sign(ptr noundef, ptr 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

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

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

declare float @sqrtf(float) local_unnamed_addr

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

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


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