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

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b6 = external hidden global double, align 8

; Function Attrs: nounwind uwtable
define dso_local void @dlanv2_(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 i32, align 4
  %22 = alloca double, align 8
  %23 = alloca double, align 8
  %24 = alloca double, align 8
  %25 = alloca double, align 8
  %26 = alloca double, align 8
  %27 = alloca double, align 8
  %28 = alloca double, align 8
  %29 = alloca double, align 8
  %30 = alloca double, align 8
  %31 = alloca i32, align 4
  %32 = alloca double, align 8
  %33 = alloca double, align 8
  %34 = alloca double, align 8
  %35 = alloca double, align 8
  %36 = alloca double, align 8
  %37 = alloca double, align 8
  %38 = alloca double, align 8
  %39 = alloca double, align 8
  %40 = alloca double, align 8
  %41 = alloca double, align 8
  %42 = alloca double, align 8
  %43 = alloca double, align 8
  %44 = alloca double, align 8
  store ptr %0, ptr %11, align 8, !tbaa !5
  store ptr %1, ptr %12, align 8, !tbaa !5
  store ptr %2, ptr %13, align 8, !tbaa !5
  store ptr %3, ptr %14, align 8, !tbaa !5
  store ptr %4, ptr %15, align 8, !tbaa !5
  store ptr %5, ptr %16, align 8, !tbaa !5
  store ptr %6, ptr %17, align 8, !tbaa !5
  store ptr %7, ptr %18, align 8, !tbaa !5
  store ptr %8, ptr %19, align 8, !tbaa !5
  store ptr %9, ptr %20, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #5
  call void @llvm.lifetime.start.p0(i64 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 8, ptr %25) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #5
  %45 = call double @dlamch_(ptr noundef @.str)
  store double %45, ptr %38, align 8, !tbaa !9
  %46 = call double @dlamch_(ptr noundef @.str.1)
  store double %46, ptr %43, align 8, !tbaa !9
  %47 = call double @dlamch_(ptr noundef @.str.2)
  store double %47, ptr %22, align 8, !tbaa !9
  %48 = load double, ptr %38, align 8, !tbaa !9
  %49 = load double, ptr %43, align 8, !tbaa !9
  %50 = fdiv double %48, %49
  %51 = call double @log(double noundef %50) #5
  %52 = call double @dlamch_(ptr noundef @.str.2)
  %53 = call double @log(double noundef %52) #5
  %54 = fdiv double %51, %53
  %55 = fdiv double %54, 2.000000e+00
  %56 = fptosi double %55 to i32
  store i32 %56, ptr %21, align 4, !tbaa !11
  %57 = load double, ptr %22, align 8, !tbaa !9
  %58 = load i32, ptr %21, align 4, !tbaa !11
  %59 = call double @dpow_ui(double noundef %57, i32 noundef %58)
  store double %59, ptr %32, align 8, !tbaa !9
  %60 = load double, ptr %32, align 8, !tbaa !9
  %61 = fdiv double 1.000000e+00, %60
  store double %61, ptr %33, align 8, !tbaa !9
  %62 = load ptr, ptr %13, align 8, !tbaa !5
  %63 = load double, ptr %62, align 8, !tbaa !9
  %64 = fcmp oeq double %63, 0.000000e+00
  br i1 %64, label %65, label %68

65:                                               ; preds = %10
  %66 = load ptr, ptr %19, align 8, !tbaa !5
  store double 1.000000e+00, ptr %66, align 8, !tbaa !9
  %67 = load ptr, ptr %20, align 8, !tbaa !5
  store double 0.000000e+00, ptr %67, align 8, !tbaa !9
  br label %775

68:                                               ; preds = %10
  %69 = load ptr, ptr %12, align 8, !tbaa !5
  %70 = load double, ptr %69, align 8, !tbaa !9
  %71 = fcmp oeq double %70, 0.000000e+00
  br i1 %71, label %72, label %87

72:                                               ; preds = %68
  %73 = load ptr, ptr %19, align 8, !tbaa !5
  store double 0.000000e+00, ptr %73, align 8, !tbaa !9
  %74 = load ptr, ptr %20, align 8, !tbaa !5
  store double 1.000000e+00, ptr %74, align 8, !tbaa !9
  %75 = load ptr, ptr %14, align 8, !tbaa !5
  %76 = load double, ptr %75, align 8, !tbaa !9
  store double %76, ptr %24, align 8, !tbaa !9
  %77 = load ptr, ptr %11, align 8, !tbaa !5
  %78 = load double, ptr %77, align 8, !tbaa !9
  %79 = load ptr, ptr %14, align 8, !tbaa !5
  store double %78, ptr %79, align 8, !tbaa !9
  %80 = load double, ptr %24, align 8, !tbaa !9
  %81 = load ptr, ptr %11, align 8, !tbaa !5
  store double %80, ptr %81, align 8, !tbaa !9
  %82 = load ptr, ptr %13, align 8, !tbaa !5
  %83 = load double, ptr %82, align 8, !tbaa !9
  %84 = fneg double %83
  %85 = load ptr, ptr %12, align 8, !tbaa !5
  store double %84, ptr %85, align 8, !tbaa !9
  %86 = load ptr, ptr %13, align 8, !tbaa !5
  store double 0.000000e+00, ptr %86, align 8, !tbaa !9
  br label %774

87:                                               ; preds = %68
  %88 = load ptr, ptr %11, align 8, !tbaa !5
  %89 = load double, ptr %88, align 8, !tbaa !9
  %90 = load ptr, ptr %14, align 8, !tbaa !5
  %91 = load double, ptr %90, align 8, !tbaa !9
  %92 = fsub double %89, %91
  %93 = fcmp oeq double %92, 0.000000e+00
  br i1 %93, label %94, label %151

94:                                               ; preds = %87
  %95 = load ptr, ptr %12, align 8, !tbaa !5
  %96 = load double, ptr %95, align 8, !tbaa !9
  %97 = fcmp oge double %96, 0.000000e+00
  br i1 %97, label %98, label %108

98:                                               ; preds = %94
  %99 = load double, ptr @c_b6, align 8, !tbaa !9
  %100 = fcmp oge double %99, 0.000000e+00
  br i1 %100, label %101, label %103

101:                                              ; preds = %98
  %102 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %106

103:                                              ; preds = %98
  %104 = load double, ptr @c_b6, align 8, !tbaa !9
  %105 = fneg double %104
  br label %106

106:                                              ; preds = %103, %101
  %107 = phi double [ %102, %101 ], [ %105, %103 ]
  br label %119

108:                                              ; preds = %94
  %109 = load double, ptr @c_b6, align 8, !tbaa !9
  %110 = fcmp oge double %109, 0.000000e+00
  br i1 %110, label %111, label %113

111:                                              ; preds = %108
  %112 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %116

113:                                              ; preds = %108
  %114 = load double, ptr @c_b6, align 8, !tbaa !9
  %115 = fneg double %114
  br label %116

116:                                              ; preds = %113, %111
  %117 = phi double [ %112, %111 ], [ %115, %113 ]
  %118 = fneg double %117
  br label %119

119:                                              ; preds = %116, %106
  %120 = phi double [ %107, %106 ], [ %118, %116 ]
  %121 = load ptr, ptr %13, align 8, !tbaa !5
  %122 = load double, ptr %121, align 8, !tbaa !9
  %123 = fcmp oge double %122, 0.000000e+00
  br i1 %123, label %124, label %134

124:                                              ; preds = %119
  %125 = load double, ptr @c_b6, align 8, !tbaa !9
  %126 = fcmp oge double %125, 0.000000e+00
  br i1 %126, label %127, label %129

127:                                              ; preds = %124
  %128 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %132

129:                                              ; preds = %124
  %130 = load double, ptr @c_b6, align 8, !tbaa !9
  %131 = fneg double %130
  br label %132

132:                                              ; preds = %129, %127
  %133 = phi double [ %128, %127 ], [ %131, %129 ]
  br label %145

134:                                              ; preds = %119
  %135 = load double, ptr @c_b6, align 8, !tbaa !9
  %136 = fcmp oge double %135, 0.000000e+00
  br i1 %136, label %137, label %139

137:                                              ; preds = %134
  %138 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %142

139:                                              ; preds = %134
  %140 = load double, ptr @c_b6, align 8, !tbaa !9
  %141 = fneg double %140
  br label %142

142:                                              ; preds = %139, %137
  %143 = phi double [ %138, %137 ], [ %141, %139 ]
  %144 = fneg double %143
  br label %145

145:                                              ; preds = %142, %132
  %146 = phi double [ %133, %132 ], [ %144, %142 ]
  %147 = fcmp une double %120, %146
  br i1 %147, label %148, label %151

148:                                              ; preds = %145
  %149 = load ptr, ptr %19, align 8, !tbaa !5
  store double 1.000000e+00, ptr %149, align 8, !tbaa !9
  %150 = load ptr, ptr %20, align 8, !tbaa !5
  store double 0.000000e+00, ptr %150, align 8, !tbaa !9
  br label %773

151:                                              ; preds = %145, %87
  %152 = load ptr, ptr %11, align 8, !tbaa !5
  %153 = load double, ptr %152, align 8, !tbaa !9
  %154 = load ptr, ptr %14, align 8, !tbaa !5
  %155 = load double, ptr %154, align 8, !tbaa !9
  %156 = fsub double %153, %155
  store double %156, ptr %24, align 8, !tbaa !9
  %157 = load double, ptr %24, align 8, !tbaa !9
  %158 = fmul double %157, 5.000000e-01
  store double %158, ptr %25, align 8, !tbaa !9
  %159 = load ptr, ptr %12, align 8, !tbaa !5
  %160 = load double, ptr %159, align 8, !tbaa !9
  %161 = fcmp oge double %160, 0.000000e+00
  br i1 %161, label %162, label %165

162:                                              ; preds = %151
  %163 = load ptr, ptr %12, align 8, !tbaa !5
  %164 = load double, ptr %163, align 8, !tbaa !9
  br label %169

165:                                              ; preds = %151
  %166 = load ptr, ptr %12, align 8, !tbaa !5
  %167 = load double, ptr %166, align 8, !tbaa !9
  %168 = fneg double %167
  br label %169

169:                                              ; preds = %165, %162
  %170 = phi double [ %164, %162 ], [ %168, %165 ]
  store double %170, ptr %22, align 8, !tbaa !9
  %171 = load ptr, ptr %13, align 8, !tbaa !5
  %172 = load double, ptr %171, align 8, !tbaa !9
  %173 = fcmp oge double %172, 0.000000e+00
  br i1 %173, label %174, label %177

174:                                              ; preds = %169
  %175 = load ptr, ptr %13, align 8, !tbaa !5
  %176 = load double, ptr %175, align 8, !tbaa !9
  br label %181

177:                                              ; preds = %169
  %178 = load ptr, ptr %13, align 8, !tbaa !5
  %179 = load double, ptr %178, align 8, !tbaa !9
  %180 = fneg double %179
  br label %181

181:                                              ; preds = %177, %174
  %182 = phi double [ %176, %174 ], [ %180, %177 ]
  store double %182, ptr %23, align 8, !tbaa !9
  %183 = load double, ptr %22, align 8, !tbaa !9
  %184 = load double, ptr %23, align 8, !tbaa !9
  %185 = fcmp oge double %183, %184
  br i1 %185, label %186, label %188

186:                                              ; preds = %181
  %187 = load double, ptr %22, align 8, !tbaa !9
  br label %190

188:                                              ; preds = %181
  %189 = load double, ptr %23, align 8, !tbaa !9
  br label %190

190:                                              ; preds = %188, %186
  %191 = phi double [ %187, %186 ], [ %189, %188 ]
  store double %191, ptr %27, align 8, !tbaa !9
  %192 = load ptr, ptr %12, align 8, !tbaa !5
  %193 = load double, ptr %192, align 8, !tbaa !9
  %194 = fcmp oge double %193, 0.000000e+00
  br i1 %194, label %195, label %198

195:                                              ; preds = %190
  %196 = load ptr, ptr %12, align 8, !tbaa !5
  %197 = load double, ptr %196, align 8, !tbaa !9
  br label %202

198:                                              ; preds = %190
  %199 = load ptr, ptr %12, align 8, !tbaa !5
  %200 = load double, ptr %199, align 8, !tbaa !9
  %201 = fneg double %200
  br label %202

202:                                              ; preds = %198, %195
  %203 = phi double [ %197, %195 ], [ %201, %198 ]
  store double %203, ptr %22, align 8, !tbaa !9
  %204 = load ptr, ptr %13, align 8, !tbaa !5
  %205 = load double, ptr %204, align 8, !tbaa !9
  %206 = fcmp oge double %205, 0.000000e+00
  br i1 %206, label %207, label %210

207:                                              ; preds = %202
  %208 = load ptr, ptr %13, align 8, !tbaa !5
  %209 = load double, ptr %208, align 8, !tbaa !9
  br label %214

210:                                              ; preds = %202
  %211 = load ptr, ptr %13, align 8, !tbaa !5
  %212 = load double, ptr %211, align 8, !tbaa !9
  %213 = fneg double %212
  br label %214

214:                                              ; preds = %210, %207
  %215 = phi double [ %209, %207 ], [ %213, %210 ]
  store double %215, ptr %23, align 8, !tbaa !9
  %216 = load double, ptr %22, align 8, !tbaa !9
  %217 = load double, ptr %23, align 8, !tbaa !9
  %218 = fcmp ole double %216, %217
  br i1 %218, label %219, label %221

219:                                              ; preds = %214
  %220 = load double, ptr %22, align 8, !tbaa !9
  br label %223

221:                                              ; preds = %214
  %222 = load double, ptr %23, align 8, !tbaa !9
  br label %223

223:                                              ; preds = %221, %219
  %224 = phi double [ %220, %219 ], [ %222, %221 ]
  %225 = load ptr, ptr %12, align 8, !tbaa !5
  %226 = load double, ptr %225, align 8, !tbaa !9
  %227 = fcmp oge double %226, 0.000000e+00
  br i1 %227, label %228, label %238

228:                                              ; preds = %223
  %229 = load double, ptr @c_b6, align 8, !tbaa !9
  %230 = fcmp oge double %229, 0.000000e+00
  br i1 %230, label %231, label %233

231:                                              ; preds = %228
  %232 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %236

233:                                              ; preds = %228
  %234 = load double, ptr @c_b6, align 8, !tbaa !9
  %235 = fneg double %234
  br label %236

236:                                              ; preds = %233, %231
  %237 = phi double [ %232, %231 ], [ %235, %233 ]
  br label %249

238:                                              ; preds = %223
  %239 = load double, ptr @c_b6, align 8, !tbaa !9
  %240 = fcmp oge double %239, 0.000000e+00
  br i1 %240, label %241, label %243

241:                                              ; preds = %238
  %242 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %246

243:                                              ; preds = %238
  %244 = load double, ptr @c_b6, align 8, !tbaa !9
  %245 = fneg double %244
  br label %246

246:                                              ; preds = %243, %241
  %247 = phi double [ %242, %241 ], [ %245, %243 ]
  %248 = fneg double %247
  br label %249

249:                                              ; preds = %246, %236
  %250 = phi double [ %237, %236 ], [ %248, %246 ]
  %251 = fmul double %224, %250
  %252 = load ptr, ptr %13, align 8, !tbaa !5
  %253 = load double, ptr %252, align 8, !tbaa !9
  %254 = fcmp oge double %253, 0.000000e+00
  br i1 %254, label %255, label %265

255:                                              ; preds = %249
  %256 = load double, ptr @c_b6, align 8, !tbaa !9
  %257 = fcmp oge double %256, 0.000000e+00
  br i1 %257, label %258, label %260

258:                                              ; preds = %255
  %259 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %263

260:                                              ; preds = %255
  %261 = load double, ptr @c_b6, align 8, !tbaa !9
  %262 = fneg double %261
  br label %263

263:                                              ; preds = %260, %258
  %264 = phi double [ %259, %258 ], [ %262, %260 ]
  br label %276

265:                                              ; preds = %249
  %266 = load double, ptr @c_b6, align 8, !tbaa !9
  %267 = fcmp oge double %266, 0.000000e+00
  br i1 %267, label %268, label %270

268:                                              ; preds = %265
  %269 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %273

270:                                              ; preds = %265
  %271 = load double, ptr @c_b6, align 8, !tbaa !9
  %272 = fneg double %271
  br label %273

273:                                              ; preds = %270, %268
  %274 = phi double [ %269, %268 ], [ %272, %270 ]
  %275 = fneg double %274
  br label %276

276:                                              ; preds = %273, %263
  %277 = phi double [ %264, %263 ], [ %275, %273 ]
  %278 = fmul double %251, %277
  store double %278, ptr %29, align 8, !tbaa !9
  %279 = load double, ptr %25, align 8, !tbaa !9
  %280 = fcmp oge double %279, 0.000000e+00
  br i1 %280, label %281, label %283

281:                                              ; preds = %276
  %282 = load double, ptr %25, align 8, !tbaa !9
  br label %286

283:                                              ; preds = %276
  %284 = load double, ptr %25, align 8, !tbaa !9
  %285 = fneg double %284
  br label %286

286:                                              ; preds = %283, %281
  %287 = phi double [ %282, %281 ], [ %285, %283 ]
  store double %287, ptr %22, align 8, !tbaa !9
  %288 = load double, ptr %22, align 8, !tbaa !9
  %289 = load double, ptr %27, align 8, !tbaa !9
  %290 = fcmp oge double %288, %289
  br i1 %290, label %291, label %293

291:                                              ; preds = %286
  %292 = load double, ptr %22, align 8, !tbaa !9
  br label %295

293:                                              ; preds = %286
  %294 = load double, ptr %27, align 8, !tbaa !9
  br label %295

295:                                              ; preds = %293, %291
  %296 = phi double [ %292, %291 ], [ %294, %293 ]
  store double %296, ptr %26, align 8, !tbaa !9
  %297 = load double, ptr %25, align 8, !tbaa !9
  %298 = load double, ptr %26, align 8, !tbaa !9
  %299 = fdiv double %297, %298
  %300 = load double, ptr %25, align 8, !tbaa !9
  %301 = load double, ptr %27, align 8, !tbaa !9
  %302 = load double, ptr %26, align 8, !tbaa !9
  %303 = fdiv double %301, %302
  %304 = load double, ptr %29, align 8, !tbaa !9
  %305 = fmul double %303, %304
  %306 = call double @llvm.fmuladd.f64(double %299, double %300, double %305)
  store double %306, ptr %28, align 8, !tbaa !9
  %307 = load double, ptr %28, align 8, !tbaa !9
  %308 = load double, ptr %43, align 8, !tbaa !9
  %309 = fmul double %308, 4.000000e+00
  %310 = fcmp oge double %307, %309
  br i1 %310, label %311, label %374

311:                                              ; preds = %295
  %312 = load double, ptr %26, align 8, !tbaa !9
  %313 = call double @sqrt(double noundef %312) #5
  %314 = load double, ptr %28, align 8, !tbaa !9
  %315 = call double @sqrt(double noundef %314) #5
  %316 = fmul double %313, %315
  store double %316, ptr %22, align 8, !tbaa !9
  %317 = load double, ptr %25, align 8, !tbaa !9
  %318 = load double, ptr %25, align 8, !tbaa !9
  %319 = fcmp oge double %318, 0.000000e+00
  br i1 %319, label %320, label %330

320:                                              ; preds = %311
  %321 = load double, ptr %22, align 8, !tbaa !9
  %322 = fcmp oge double %321, 0.000000e+00
  br i1 %322, label %323, label %325

323:                                              ; preds = %320
  %324 = load double, ptr %22, align 8, !tbaa !9
  br label %328

325:                                              ; preds = %320
  %326 = load double, ptr %22, align 8, !tbaa !9
  %327 = fneg double %326
  br label %328

328:                                              ; preds = %325, %323
  %329 = phi double [ %324, %323 ], [ %327, %325 ]
  br label %341

330:                                              ; preds = %311
  %331 = load double, ptr %22, align 8, !tbaa !9
  %332 = fcmp oge double %331, 0.000000e+00
  br i1 %332, label %333, label %335

333:                                              ; preds = %330
  %334 = load double, ptr %22, align 8, !tbaa !9
  br label %338

335:                                              ; preds = %330
  %336 = load double, ptr %22, align 8, !tbaa !9
  %337 = fneg double %336
  br label %338

338:                                              ; preds = %335, %333
  %339 = phi double [ %334, %333 ], [ %337, %335 ]
  %340 = fneg double %339
  br label %341

341:                                              ; preds = %338, %328
  %342 = phi double [ %329, %328 ], [ %340, %338 ]
  %343 = fadd double %317, %342
  store double %343, ptr %28, align 8, !tbaa !9
  %344 = load ptr, ptr %14, align 8, !tbaa !5
  %345 = load double, ptr %344, align 8, !tbaa !9
  %346 = load double, ptr %28, align 8, !tbaa !9
  %347 = fadd double %345, %346
  %348 = load ptr, ptr %11, align 8, !tbaa !5
  store double %347, ptr %348, align 8, !tbaa !9
  %349 = load double, ptr %27, align 8, !tbaa !9
  %350 = load double, ptr %28, align 8, !tbaa !9
  %351 = fdiv double %349, %350
  %352 = load double, ptr %29, align 8, !tbaa !9
  %353 = load ptr, ptr %14, align 8, !tbaa !5
  %354 = load double, ptr %353, align 8, !tbaa !9
  %355 = fneg double %351
  %356 = call double @llvm.fmuladd.f64(double %355, double %352, double %354)
  store double %356, ptr %353, align 8, !tbaa !9
  %357 = load ptr, ptr %13, align 8, !tbaa !5
  %358 = call double @dlapy2_(ptr noundef %357, ptr noundef %28)
  store double %358, ptr %44, align 8, !tbaa !9
  %359 = load double, ptr %28, align 8, !tbaa !9
  %360 = load double, ptr %44, align 8, !tbaa !9
  %361 = fdiv double %359, %360
  %362 = load ptr, ptr %19, align 8, !tbaa !5
  store double %361, ptr %362, align 8, !tbaa !9
  %363 = load ptr, ptr %13, align 8, !tbaa !5
  %364 = load double, ptr %363, align 8, !tbaa !9
  %365 = load double, ptr %44, align 8, !tbaa !9
  %366 = fdiv double %364, %365
  %367 = load ptr, ptr %20, align 8, !tbaa !5
  store double %366, ptr %367, align 8, !tbaa !9
  %368 = load ptr, ptr %13, align 8, !tbaa !5
  %369 = load double, ptr %368, align 8, !tbaa !9
  %370 = load ptr, ptr %12, align 8, !tbaa !5
  %371 = load double, ptr %370, align 8, !tbaa !9
  %372 = fsub double %371, %369
  store double %372, ptr %370, align 8, !tbaa !9
  %373 = load ptr, ptr %13, align 8, !tbaa !5
  store double 0.000000e+00, ptr %373, align 8, !tbaa !9
  br label %772

374:                                              ; preds = %295
  store i32 0, ptr %31, align 4, !tbaa !11
  %375 = load ptr, ptr %12, align 8, !tbaa !5
  %376 = load double, ptr %375, align 8, !tbaa !9
  %377 = load ptr, ptr %13, align 8, !tbaa !5
  %378 = load double, ptr %377, align 8, !tbaa !9
  %379 = fadd double %376, %378
  store double %379, ptr %30, align 8, !tbaa !9
  br label %380

380:                                              ; preds = %437, %422, %374
  %381 = load i32, ptr %31, align 4, !tbaa !11
  %382 = add nsw i32 %381, 1
  store i32 %382, ptr %31, align 4, !tbaa !11
  %383 = load double, ptr %24, align 8, !tbaa !9
  %384 = fcmp oge double %383, 0.000000e+00
  br i1 %384, label %385, label %387

385:                                              ; preds = %380
  %386 = load double, ptr %24, align 8, !tbaa !9
  br label %390

387:                                              ; preds = %380
  %388 = load double, ptr %24, align 8, !tbaa !9
  %389 = fneg double %388
  br label %390

390:                                              ; preds = %387, %385
  %391 = phi double [ %386, %385 ], [ %389, %387 ]
  store double %391, ptr %22, align 8, !tbaa !9
  %392 = load double, ptr %30, align 8, !tbaa !9
  %393 = fcmp oge double %392, 0.000000e+00
  br i1 %393, label %394, label %396

394:                                              ; preds = %390
  %395 = load double, ptr %30, align 8, !tbaa !9
  br label %399

396:                                              ; preds = %390
  %397 = load double, ptr %30, align 8, !tbaa !9
  %398 = fneg double %397
  br label %399

399:                                              ; preds = %396, %394
  %400 = phi double [ %395, %394 ], [ %398, %396 ]
  store double %400, ptr %23, align 8, !tbaa !9
  %401 = load double, ptr %22, align 8, !tbaa !9
  %402 = load double, ptr %23, align 8, !tbaa !9
  %403 = fcmp oge double %401, %402
  br i1 %403, label %404, label %406

404:                                              ; preds = %399
  %405 = load double, ptr %22, align 8, !tbaa !9
  br label %408

406:                                              ; preds = %399
  %407 = load double, ptr %23, align 8, !tbaa !9
  br label %408

408:                                              ; preds = %406, %404
  %409 = phi double [ %405, %404 ], [ %407, %406 ]
  store double %409, ptr %26, align 8, !tbaa !9
  %410 = load double, ptr %26, align 8, !tbaa !9
  %411 = load double, ptr %33, align 8, !tbaa !9
  %412 = fcmp oge double %410, %411
  br i1 %412, label %413, label %424

413:                                              ; preds = %408
  %414 = load double, ptr %32, align 8, !tbaa !9
  %415 = load double, ptr %30, align 8, !tbaa !9
  %416 = fmul double %415, %414
  store double %416, ptr %30, align 8, !tbaa !9
  %417 = load double, ptr %32, align 8, !tbaa !9
  %418 = load double, ptr %24, align 8, !tbaa !9
  %419 = fmul double %418, %417
  store double %419, ptr %24, align 8, !tbaa !9
  %420 = load i32, ptr %31, align 4, !tbaa !11
  %421 = icmp sle i32 %420, 20
  br i1 %421, label %422, label %423

422:                                              ; preds = %413
  br label %380

423:                                              ; preds = %413
  br label %424

424:                                              ; preds = %423, %408
  %425 = load double, ptr %26, align 8, !tbaa !9
  %426 = load double, ptr %32, align 8, !tbaa !9
  %427 = fcmp ole double %425, %426
  br i1 %427, label %428, label %439

428:                                              ; preds = %424
  %429 = load double, ptr %33, align 8, !tbaa !9
  %430 = load double, ptr %30, align 8, !tbaa !9
  %431 = fmul double %430, %429
  store double %431, ptr %30, align 8, !tbaa !9
  %432 = load double, ptr %33, align 8, !tbaa !9
  %433 = load double, ptr %24, align 8, !tbaa !9
  %434 = fmul double %433, %432
  store double %434, ptr %24, align 8, !tbaa !9
  %435 = load i32, ptr %31, align 4, !tbaa !11
  %436 = icmp sle i32 %435, 20
  br i1 %436, label %437, label %438

437:                                              ; preds = %428
  br label %380

438:                                              ; preds = %428
  br label %439

439:                                              ; preds = %438, %424
  %440 = load double, ptr %24, align 8, !tbaa !9
  %441 = fmul double %440, 5.000000e-01
  store double %441, ptr %25, align 8, !tbaa !9
  %442 = call double @dlapy2_(ptr noundef %30, ptr noundef %24)
  store double %442, ptr %44, align 8, !tbaa !9
  %443 = load double, ptr %30, align 8, !tbaa !9
  %444 = fcmp oge double %443, 0.000000e+00
  br i1 %444, label %445, label %447

445:                                              ; preds = %439
  %446 = load double, ptr %30, align 8, !tbaa !9
  br label %450

447:                                              ; preds = %439
  %448 = load double, ptr %30, align 8, !tbaa !9
  %449 = fneg double %448
  br label %450

450:                                              ; preds = %447, %445
  %451 = phi double [ %446, %445 ], [ %449, %447 ]
  %452 = load double, ptr %44, align 8, !tbaa !9
  %453 = fdiv double %451, %452
  %454 = fadd double %453, 1.000000e+00
  %455 = fmul double %454, 5.000000e-01
  %456 = call double @sqrt(double noundef %455) #5
  %457 = load ptr, ptr %19, align 8, !tbaa !5
  store double %456, ptr %457, align 8, !tbaa !9
  %458 = load double, ptr %25, align 8, !tbaa !9
  %459 = load double, ptr %44, align 8, !tbaa !9
  %460 = load ptr, ptr %19, align 8, !tbaa !5
  %461 = load double, ptr %460, align 8, !tbaa !9
  %462 = fmul double %459, %461
  %463 = fdiv double %458, %462
  %464 = fneg double %463
  %465 = load double, ptr %30, align 8, !tbaa !9
  %466 = fcmp oge double %465, 0.000000e+00
  br i1 %466, label %467, label %477

467:                                              ; preds = %450
  %468 = load double, ptr @c_b6, align 8, !tbaa !9
  %469 = fcmp oge double %468, 0.000000e+00
  br i1 %469, label %470, label %472

470:                                              ; preds = %467
  %471 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %475

472:                                              ; preds = %467
  %473 = load double, ptr @c_b6, align 8, !tbaa !9
  %474 = fneg double %473
  br label %475

475:                                              ; preds = %472, %470
  %476 = phi double [ %471, %470 ], [ %474, %472 ]
  br label %488

477:                                              ; preds = %450
  %478 = load double, ptr @c_b6, align 8, !tbaa !9
  %479 = fcmp oge double %478, 0.000000e+00
  br i1 %479, label %480, label %482

480:                                              ; preds = %477
  %481 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %485

482:                                              ; preds = %477
  %483 = load double, ptr @c_b6, align 8, !tbaa !9
  %484 = fneg double %483
  br label %485

485:                                              ; preds = %482, %480
  %486 = phi double [ %481, %480 ], [ %484, %482 ]
  %487 = fneg double %486
  br label %488

488:                                              ; preds = %485, %475
  %489 = phi double [ %476, %475 ], [ %487, %485 ]
  %490 = fmul double %464, %489
  %491 = load ptr, ptr %20, align 8, !tbaa !5
  store double %490, ptr %491, align 8, !tbaa !9
  %492 = load ptr, ptr %11, align 8, !tbaa !5
  %493 = load double, ptr %492, align 8, !tbaa !9
  %494 = load ptr, ptr %19, align 8, !tbaa !5
  %495 = load double, ptr %494, align 8, !tbaa !9
  %496 = load ptr, ptr %12, align 8, !tbaa !5
  %497 = load double, ptr %496, align 8, !tbaa !9
  %498 = load ptr, ptr %20, align 8, !tbaa !5
  %499 = load double, ptr %498, align 8, !tbaa !9
  %500 = fmul double %497, %499
  %501 = call double @llvm.fmuladd.f64(double %493, double %495, double %500)
  store double %501, ptr %34, align 8, !tbaa !9
  %502 = load ptr, ptr %11, align 8, !tbaa !5
  %503 = load double, ptr %502, align 8, !tbaa !9
  %504 = fneg double %503
  %505 = load ptr, ptr %20, align 8, !tbaa !5
  %506 = load double, ptr %505, align 8, !tbaa !9
  %507 = load ptr, ptr %12, align 8, !tbaa !5
  %508 = load double, ptr %507, align 8, !tbaa !9
  %509 = load ptr, ptr %19, align 8, !tbaa !5
  %510 = load double, ptr %509, align 8, !tbaa !9
  %511 = fmul double %508, %510
  %512 = call double @llvm.fmuladd.f64(double %504, double %506, double %511)
  store double %512, ptr %35, align 8, !tbaa !9
  %513 = load ptr, ptr %13, align 8, !tbaa !5
  %514 = load double, ptr %513, align 8, !tbaa !9
  %515 = load ptr, ptr %19, align 8, !tbaa !5
  %516 = load double, ptr %515, align 8, !tbaa !9
  %517 = load ptr, ptr %14, align 8, !tbaa !5
  %518 = load double, ptr %517, align 8, !tbaa !9
  %519 = load ptr, ptr %20, align 8, !tbaa !5
  %520 = load double, ptr %519, align 8, !tbaa !9
  %521 = fmul double %518, %520
  %522 = call double @llvm.fmuladd.f64(double %514, double %516, double %521)
  store double %522, ptr %36, align 8, !tbaa !9
  %523 = load ptr, ptr %13, align 8, !tbaa !5
  %524 = load double, ptr %523, align 8, !tbaa !9
  %525 = fneg double %524
  %526 = load ptr, ptr %20, align 8, !tbaa !5
  %527 = load double, ptr %526, align 8, !tbaa !9
  %528 = load ptr, ptr %14, align 8, !tbaa !5
  %529 = load double, ptr %528, align 8, !tbaa !9
  %530 = load ptr, ptr %19, align 8, !tbaa !5
  %531 = load double, ptr %530, align 8, !tbaa !9
  %532 = fmul double %529, %531
  %533 = call double @llvm.fmuladd.f64(double %525, double %527, double %532)
  store double %533, ptr %37, align 8, !tbaa !9
  %534 = load double, ptr %34, align 8, !tbaa !9
  %535 = load ptr, ptr %19, align 8, !tbaa !5
  %536 = load double, ptr %535, align 8, !tbaa !9
  %537 = load double, ptr %36, align 8, !tbaa !9
  %538 = load ptr, ptr %20, align 8, !tbaa !5
  %539 = load double, ptr %538, align 8, !tbaa !9
  %540 = fmul double %537, %539
  %541 = call double @llvm.fmuladd.f64(double %534, double %536, double %540)
  %542 = load ptr, ptr %11, align 8, !tbaa !5
  store double %541, ptr %542, align 8, !tbaa !9
  %543 = load double, ptr %35, align 8, !tbaa !9
  %544 = load ptr, ptr %19, align 8, !tbaa !5
  %545 = load double, ptr %544, align 8, !tbaa !9
  %546 = load double, ptr %37, align 8, !tbaa !9
  %547 = load ptr, ptr %20, align 8, !tbaa !5
  %548 = load double, ptr %547, align 8, !tbaa !9
  %549 = fmul double %546, %548
  %550 = call double @llvm.fmuladd.f64(double %543, double %545, double %549)
  %551 = load ptr, ptr %12, align 8, !tbaa !5
  store double %550, ptr %551, align 8, !tbaa !9
  %552 = load double, ptr %34, align 8, !tbaa !9
  %553 = fneg double %552
  %554 = load ptr, ptr %20, align 8, !tbaa !5
  %555 = load double, ptr %554, align 8, !tbaa !9
  %556 = load double, ptr %36, align 8, !tbaa !9
  %557 = load ptr, ptr %19, align 8, !tbaa !5
  %558 = load double, ptr %557, align 8, !tbaa !9
  %559 = fmul double %556, %558
  %560 = call double @llvm.fmuladd.f64(double %553, double %555, double %559)
  %561 = load ptr, ptr %13, align 8, !tbaa !5
  store double %560, ptr %561, align 8, !tbaa !9
  %562 = load double, ptr %35, align 8, !tbaa !9
  %563 = fneg double %562
  %564 = load ptr, ptr %20, align 8, !tbaa !5
  %565 = load double, ptr %564, align 8, !tbaa !9
  %566 = load double, ptr %37, align 8, !tbaa !9
  %567 = load ptr, ptr %19, align 8, !tbaa !5
  %568 = load double, ptr %567, align 8, !tbaa !9
  %569 = fmul double %566, %568
  %570 = call double @llvm.fmuladd.f64(double %563, double %565, double %569)
  %571 = load ptr, ptr %14, align 8, !tbaa !5
  store double %570, ptr %571, align 8, !tbaa !9
  %572 = load ptr, ptr %11, align 8, !tbaa !5
  %573 = load double, ptr %572, align 8, !tbaa !9
  %574 = load ptr, ptr %14, align 8, !tbaa !5
  %575 = load double, ptr %574, align 8, !tbaa !9
  %576 = fadd double %573, %575
  %577 = fmul double %576, 5.000000e-01
  store double %577, ptr %24, align 8, !tbaa !9
  %578 = load double, ptr %24, align 8, !tbaa !9
  %579 = load ptr, ptr %11, align 8, !tbaa !5
  store double %578, ptr %579, align 8, !tbaa !9
  %580 = load double, ptr %24, align 8, !tbaa !9
  %581 = load ptr, ptr %14, align 8, !tbaa !5
  store double %580, ptr %581, align 8, !tbaa !9
  %582 = load ptr, ptr %13, align 8, !tbaa !5
  %583 = load double, ptr %582, align 8, !tbaa !9
  %584 = fcmp une double %583, 0.000000e+00
  br i1 %584, label %585, label %771

585:                                              ; preds = %488
  %586 = load ptr, ptr %12, align 8, !tbaa !5
  %587 = load double, ptr %586, align 8, !tbaa !9
  %588 = fcmp une double %587, 0.000000e+00
  br i1 %588, label %589, label %756

589:                                              ; preds = %585
  %590 = load ptr, ptr %12, align 8, !tbaa !5
  %591 = load double, ptr %590, align 8, !tbaa !9
  %592 = fcmp oge double %591, 0.000000e+00
  br i1 %592, label %593, label %603

593:                                              ; preds = %589
  %594 = load double, ptr @c_b6, align 8, !tbaa !9
  %595 = fcmp oge double %594, 0.000000e+00
  br i1 %595, label %596, label %598

596:                                              ; preds = %593
  %597 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %601

598:                                              ; preds = %593
  %599 = load double, ptr @c_b6, align 8, !tbaa !9
  %600 = fneg double %599
  br label %601

601:                                              ; preds = %598, %596
  %602 = phi double [ %597, %596 ], [ %600, %598 ]
  br label %614

603:                                              ; preds = %589
  %604 = load double, ptr @c_b6, align 8, !tbaa !9
  %605 = fcmp oge double %604, 0.000000e+00
  br i1 %605, label %606, label %608

606:                                              ; preds = %603
  %607 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %611

608:                                              ; preds = %603
  %609 = load double, ptr @c_b6, align 8, !tbaa !9
  %610 = fneg double %609
  br label %611

611:                                              ; preds = %608, %606
  %612 = phi double [ %607, %606 ], [ %610, %608 ]
  %613 = fneg double %612
  br label %614

614:                                              ; preds = %611, %601
  %615 = phi double [ %602, %601 ], [ %613, %611 ]
  %616 = load ptr, ptr %13, align 8, !tbaa !5
  %617 = load double, ptr %616, align 8, !tbaa !9
  %618 = fcmp oge double %617, 0.000000e+00
  br i1 %618, label %619, label %629

619:                                              ; preds = %614
  %620 = load double, ptr @c_b6, align 8, !tbaa !9
  %621 = fcmp oge double %620, 0.000000e+00
  br i1 %621, label %622, label %624

622:                                              ; preds = %619
  %623 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %627

624:                                              ; preds = %619
  %625 = load double, ptr @c_b6, align 8, !tbaa !9
  %626 = fneg double %625
  br label %627

627:                                              ; preds = %624, %622
  %628 = phi double [ %623, %622 ], [ %626, %624 ]
  br label %640

629:                                              ; preds = %614
  %630 = load double, ptr @c_b6, align 8, !tbaa !9
  %631 = fcmp oge double %630, 0.000000e+00
  br i1 %631, label %632, label %634

632:                                              ; preds = %629
  %633 = load double, ptr @c_b6, align 8, !tbaa !9
  br label %637

634:                                              ; preds = %629
  %635 = load double, ptr @c_b6, align 8, !tbaa !9
  %636 = fneg double %635
  br label %637

637:                                              ; preds = %634, %632
  %638 = phi double [ %633, %632 ], [ %636, %634 ]
  %639 = fneg double %638
  br label %640

640:                                              ; preds = %637, %627
  %641 = phi double [ %628, %627 ], [ %639, %637 ]
  %642 = fcmp oeq double %615, %641
  br i1 %642, label %643, label %755

643:                                              ; preds = %640
  %644 = load ptr, ptr %12, align 8, !tbaa !5
  %645 = load double, ptr %644, align 8, !tbaa !9
  %646 = fcmp oge double %645, 0.000000e+00
  br i1 %646, label %647, label %650

647:                                              ; preds = %643
  %648 = load ptr, ptr %12, align 8, !tbaa !5
  %649 = load double, ptr %648, align 8, !tbaa !9
  br label %654

650:                                              ; preds = %643
  %651 = load ptr, ptr %12, align 8, !tbaa !5
  %652 = load double, ptr %651, align 8, !tbaa !9
  %653 = fneg double %652
  br label %654

654:                                              ; preds = %650, %647
  %655 = phi double [ %649, %647 ], [ %653, %650 ]
  %656 = call double @sqrt(double noundef %655) #5
  store double %656, ptr %41, align 8, !tbaa !9
  %657 = load ptr, ptr %13, align 8, !tbaa !5
  %658 = load double, ptr %657, align 8, !tbaa !9
  %659 = fcmp oge double %658, 0.000000e+00
  br i1 %659, label %660, label %663

660:                                              ; preds = %654
  %661 = load ptr, ptr %13, align 8, !tbaa !5
  %662 = load double, ptr %661, align 8, !tbaa !9
  br label %667

663:                                              ; preds = %654
  %664 = load ptr, ptr %13, align 8, !tbaa !5
  %665 = load double, ptr %664, align 8, !tbaa !9
  %666 = fneg double %665
  br label %667

667:                                              ; preds = %663, %660
  %668 = phi double [ %662, %660 ], [ %666, %663 ]
  %669 = call double @sqrt(double noundef %668) #5
  store double %669, ptr %42, align 8, !tbaa !9
  %670 = load double, ptr %41, align 8, !tbaa !9
  %671 = load double, ptr %42, align 8, !tbaa !9
  %672 = fmul double %670, %671
  store double %672, ptr %22, align 8, !tbaa !9
  %673 = load ptr, ptr %13, align 8, !tbaa !5
  %674 = load double, ptr %673, align 8, !tbaa !9
  %675 = fcmp oge double %674, 0.000000e+00
  br i1 %675, label %676, label %686

676:                                              ; preds = %667
  %677 = load double, ptr %22, align 8, !tbaa !9
  %678 = fcmp oge double %677, 0.000000e+00
  br i1 %678, label %679, label %681

679:                                              ; preds = %676
  %680 = load double, ptr %22, align 8, !tbaa !9
  br label %684

681:                                              ; preds = %676
  %682 = load double, ptr %22, align 8, !tbaa !9
  %683 = fneg double %682
  br label %684

684:                                              ; preds = %681, %679
  %685 = phi double [ %680, %679 ], [ %683, %681 ]
  br label %697

686:                                              ; preds = %667
  %687 = load double, ptr %22, align 8, !tbaa !9
  %688 = fcmp oge double %687, 0.000000e+00
  br i1 %688, label %689, label %691

689:                                              ; preds = %686
  %690 = load double, ptr %22, align 8, !tbaa !9
  br label %694

691:                                              ; preds = %686
  %692 = load double, ptr %22, align 8, !tbaa !9
  %693 = fneg double %692
  br label %694

694:                                              ; preds = %691, %689
  %695 = phi double [ %690, %689 ], [ %693, %691 ]
  %696 = fneg double %695
  br label %697

697:                                              ; preds = %694, %684
  %698 = phi double [ %685, %684 ], [ %696, %694 ]
  store double %698, ptr %25, align 8, !tbaa !9
  %699 = load ptr, ptr %12, align 8, !tbaa !5
  %700 = load double, ptr %699, align 8, !tbaa !9
  %701 = load ptr, ptr %13, align 8, !tbaa !5
  %702 = load double, ptr %701, align 8, !tbaa !9
  %703 = fadd double %700, %702
  store double %703, ptr %22, align 8, !tbaa !9
  %704 = load double, ptr %22, align 8, !tbaa !9
  %705 = fcmp oge double %704, 0.000000e+00
  br i1 %705, label %706, label %708

706:                                              ; preds = %697
  %707 = load double, ptr %22, align 8, !tbaa !9
  br label %711

708:                                              ; preds = %697
  %709 = load double, ptr %22, align 8, !tbaa !9
  %710 = fneg double %709
  br label %711

711:                                              ; preds = %708, %706
  %712 = phi double [ %707, %706 ], [ %710, %708 ]
  %713 = call double @sqrt(double noundef %712) #5
  %714 = fdiv double 1.000000e+00, %713
  store double %714, ptr %44, align 8, !tbaa !9
  %715 = load double, ptr %24, align 8, !tbaa !9
  %716 = load double, ptr %25, align 8, !tbaa !9
  %717 = fadd double %715, %716
  %718 = load ptr, ptr %11, align 8, !tbaa !5
  store double %717, ptr %718, align 8, !tbaa !9
  %719 = load double, ptr %24, align 8, !tbaa !9
  %720 = load double, ptr %25, align 8, !tbaa !9
  %721 = fsub double %719, %720
  %722 = load ptr, ptr %14, align 8, !tbaa !5
  store double %721, ptr %722, align 8, !tbaa !9
  %723 = load ptr, ptr %13, align 8, !tbaa !5
  %724 = load double, ptr %723, align 8, !tbaa !9
  %725 = load ptr, ptr %12, align 8, !tbaa !5
  %726 = load double, ptr %725, align 8, !tbaa !9
  %727 = fsub double %726, %724
  store double %727, ptr %725, align 8, !tbaa !9
  %728 = load ptr, ptr %13, align 8, !tbaa !5
  store double 0.000000e+00, ptr %728, align 8, !tbaa !9
  %729 = load double, ptr %41, align 8, !tbaa !9
  %730 = load double, ptr %44, align 8, !tbaa !9
  %731 = fmul double %729, %730
  store double %731, ptr %39, align 8, !tbaa !9
  %732 = load double, ptr %42, align 8, !tbaa !9
  %733 = load double, ptr %44, align 8, !tbaa !9
  %734 = fmul double %732, %733
  store double %734, ptr %40, align 8, !tbaa !9
  %735 = load ptr, ptr %19, align 8, !tbaa !5
  %736 = load double, ptr %735, align 8, !tbaa !9
  %737 = load double, ptr %39, align 8, !tbaa !9
  %738 = load ptr, ptr %20, align 8, !tbaa !5
  %739 = load double, ptr %738, align 8, !tbaa !9
  %740 = load double, ptr %40, align 8, !tbaa !9
  %741 = fmul double %739, %740
  %742 = fneg double %741
  %743 = call double @llvm.fmuladd.f64(double %736, double %737, double %742)
  store double %743, ptr %24, align 8, !tbaa !9
  %744 = load ptr, ptr %19, align 8, !tbaa !5
  %745 = load double, ptr %744, align 8, !tbaa !9
  %746 = load double, ptr %40, align 8, !tbaa !9
  %747 = load ptr, ptr %20, align 8, !tbaa !5
  %748 = load double, ptr %747, align 8, !tbaa !9
  %749 = load double, ptr %39, align 8, !tbaa !9
  %750 = fmul double %748, %749
  %751 = call double @llvm.fmuladd.f64(double %745, double %746, double %750)
  %752 = load ptr, ptr %20, align 8, !tbaa !5
  store double %751, ptr %752, align 8, !tbaa !9
  %753 = load double, ptr %24, align 8, !tbaa !9
  %754 = load ptr, ptr %19, align 8, !tbaa !5
  store double %753, ptr %754, align 8, !tbaa !9
  br label %755

755:                                              ; preds = %711, %640
  br label %770

756:                                              ; preds = %585
  %757 = load ptr, ptr %13, align 8, !tbaa !5
  %758 = load double, ptr %757, align 8, !tbaa !9
  %759 = fneg double %758
  %760 = load ptr, ptr %12, align 8, !tbaa !5
  store double %759, ptr %760, align 8, !tbaa !9
  %761 = load ptr, ptr %13, align 8, !tbaa !5
  store double 0.000000e+00, ptr %761, align 8, !tbaa !9
  %762 = load ptr, ptr %19, align 8, !tbaa !5
  %763 = load double, ptr %762, align 8, !tbaa !9
  store double %763, ptr %24, align 8, !tbaa !9
  %764 = load ptr, ptr %20, align 8, !tbaa !5
  %765 = load double, ptr %764, align 8, !tbaa !9
  %766 = fneg double %765
  %767 = load ptr, ptr %19, align 8, !tbaa !5
  store double %766, ptr %767, align 8, !tbaa !9
  %768 = load double, ptr %24, align 8, !tbaa !9
  %769 = load ptr, ptr %20, align 8, !tbaa !5
  store double %768, ptr %769, align 8, !tbaa !9
  br label %770

770:                                              ; preds = %756, %755
  br label %771

771:                                              ; preds = %770, %488
  br label %772

772:                                              ; preds = %771, %341
  br label %773

773:                                              ; preds = %772, %148
  br label %774

774:                                              ; preds = %773, %72
  br label %775

775:                                              ; preds = %774, %65
  %776 = load ptr, ptr %11, align 8, !tbaa !5
  %777 = load double, ptr %776, align 8, !tbaa !9
  %778 = load ptr, ptr %15, align 8, !tbaa !5
  store double %777, ptr %778, align 8, !tbaa !9
  %779 = load ptr, ptr %14, align 8, !tbaa !5
  %780 = load double, ptr %779, align 8, !tbaa !9
  %781 = load ptr, ptr %17, align 8, !tbaa !5
  store double %780, ptr %781, align 8, !tbaa !9
  %782 = load ptr, ptr %13, align 8, !tbaa !5
  %783 = load double, ptr %782, align 8, !tbaa !9
  %784 = fcmp oeq double %783, 0.000000e+00
  br i1 %784, label %785, label %788

785:                                              ; preds = %775
  %786 = load ptr, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %786, align 8, !tbaa !9
  %787 = load ptr, ptr %18, align 8, !tbaa !5
  store double 0.000000e+00, ptr %787, align 8, !tbaa !9
  br label %821

788:                                              ; preds = %775
  %789 = load ptr, ptr %12, align 8, !tbaa !5
  %790 = load double, ptr %789, align 8, !tbaa !9
  %791 = fcmp oge double %790, 0.000000e+00
  br i1 %791, label %792, label %795

792:                                              ; preds = %788
  %793 = load ptr, ptr %12, align 8, !tbaa !5
  %794 = load double, ptr %793, align 8, !tbaa !9
  br label %799

795:                                              ; preds = %788
  %796 = load ptr, ptr %12, align 8, !tbaa !5
  %797 = load double, ptr %796, align 8, !tbaa !9
  %798 = fneg double %797
  br label %799

799:                                              ; preds = %795, %792
  %800 = phi double [ %794, %792 ], [ %798, %795 ]
  %801 = call double @sqrt(double noundef %800) #5
  %802 = load ptr, ptr %13, align 8, !tbaa !5
  %803 = load double, ptr %802, align 8, !tbaa !9
  %804 = fcmp oge double %803, 0.000000e+00
  br i1 %804, label %805, label %808

805:                                              ; preds = %799
  %806 = load ptr, ptr %13, align 8, !tbaa !5
  %807 = load double, ptr %806, align 8, !tbaa !9
  br label %812

808:                                              ; preds = %799
  %809 = load ptr, ptr %13, align 8, !tbaa !5
  %810 = load double, ptr %809, align 8, !tbaa !9
  %811 = fneg double %810
  br label %812

812:                                              ; preds = %808, %805
  %813 = phi double [ %807, %805 ], [ %811, %808 ]
  %814 = call double @sqrt(double noundef %813) #5
  %815 = fmul double %801, %814
  %816 = load ptr, ptr %16, align 8, !tbaa !5
  store double %815, ptr %816, align 8, !tbaa !9
  %817 = load ptr, ptr %16, align 8, !tbaa !5
  %818 = load double, ptr %817, align 8, !tbaa !9
  %819 = fneg double %818
  %820 = load ptr, ptr %18, align 8, !tbaa !5
  store double %819, ptr %820, align 8, !tbaa !9
  br label %821

821:                                              ; preds = %812, %785
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 8, 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 4, ptr %21) #5
  ret void
}

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

declare double @dlamch_(ptr noundef) #2

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

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

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

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

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

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

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

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

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


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b6 = external hidden local_unnamed_addr global double, align 8

; Function Attrs: nounwind uwtable
define dso_local void @dlanv2_(ptr nocapture noundef %0, ptr nocapture noundef %1, ptr noundef %2, ptr nocapture noundef %3, ptr nocapture noundef writeonly %4, ptr nocapture noundef writeonly %5, ptr nocapture noundef writeonly %6, ptr nocapture noundef writeonly %7, ptr nocapture noundef %8, ptr nocapture noundef %9) local_unnamed_addr #0 {
  %11 = alloca double, align 8
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #5
  %14 = tail call double @dlamch_(ptr noundef nonnull @.str) #5
  %15 = tail call double @dlamch_(ptr noundef nonnull @.str.1) #5
  %16 = tail call double @dlamch_(ptr noundef nonnull @.str.2) #5
  %17 = fdiv double %14, %15
  %18 = tail call double @log(double noundef %17) #5
  %19 = tail call double @dlamch_(ptr noundef nonnull @.str.2) #5
  %20 = tail call double @log(double noundef %19) #5
  %21 = fdiv double %18, %20
  %22 = fmul double %21, 5.000000e-01
  %23 = fptosi double %22 to i32
  %24 = tail call double @dpow_ui(double noundef %16, i32 noundef %23)
  %25 = fdiv double 1.000000e+00, %24
  %26 = load double, ptr %2, align 8, !tbaa !5
  %27 = fcmp oeq double %26, 0.000000e+00
  br i1 %27, label %28, label %29

28:                                               ; preds = %10
  store double 1.000000e+00, ptr %8, align 8, !tbaa !5
  store double 0.000000e+00, ptr %9, align 8, !tbaa !5
  br label %285

29:                                               ; preds = %10
  %30 = load double, ptr %1, align 8, !tbaa !5
  %31 = fcmp oeq double %30, 0.000000e+00
  br i1 %31, label %32, label %37

32:                                               ; preds = %29
  store double 0.000000e+00, ptr %8, align 8, !tbaa !5
  store double 1.000000e+00, ptr %9, align 8, !tbaa !5
  %33 = load double, ptr %3, align 8, !tbaa !5
  %34 = load double, ptr %0, align 8, !tbaa !5
  store double %34, ptr %3, align 8, !tbaa !5
  store double %33, ptr %0, align 8, !tbaa !5
  %35 = load double, ptr %2, align 8, !tbaa !5
  %36 = fneg double %35
  store double %36, ptr %1, align 8, !tbaa !5
  store double 0.000000e+00, ptr %2, align 8, !tbaa !5
  br label %285

37:                                               ; preds = %29
  %38 = load double, ptr %0, align 8, !tbaa !5
  %39 = load double, ptr %3, align 8, !tbaa !5
  %40 = fsub double %38, %39
  %41 = fcmp oeq double %40, 0.000000e+00
  br i1 %41, label %42, label %62

42:                                               ; preds = %37
  %43 = fcmp ult double %30, 0.000000e+00
  %44 = load double, ptr @c_b6, align 8
  %45 = fcmp oge double %44, 0.000000e+00
  %.neg = fneg double %44
  br i1 %43, label %48, label %46

46:                                               ; preds = %42
  %47 = select i1 %45, double %44, double %.neg
  br label %50

48:                                               ; preds = %42
  %49 = select i1 %45, double %.neg, double %44
  br label %50

50:                                               ; preds = %48, %46
  %51 = phi double [ %47, %46 ], [ %49, %48 ]
  %52 = fcmp ult double %26, 0.000000e+00
  %53 = fcmp oge double %44, 0.000000e+00
  %.neg235 = fneg double %44
  br i1 %52, label %56, label %54

54:                                               ; preds = %50
  %55 = select i1 %53, double %44, double %.neg235
  br label %58

56:                                               ; preds = %50
  %57 = select i1 %53, double %.neg235, double %44
  br label %58

58:                                               ; preds = %56, %54
  %59 = phi double [ %55, %54 ], [ %57, %56 ]
  %60 = fcmp une double %51, %59
  br i1 %60, label %61, label %62

61:                                               ; preds = %58
  store double 1.000000e+00, ptr %8, align 8, !tbaa !5
  store double 0.000000e+00, ptr %9, align 8, !tbaa !5
  br label %285

62:                                               ; preds = %58, %37
  %63 = fmul double %40, 5.000000e-01
  %64 = fcmp ult double %30, 0.000000e+00
  %65 = fneg double %30
  %66 = select i1 %64, double %65, double %30
  %67 = fcmp ult double %26, 0.000000e+00
  %68 = fneg double %26
  %69 = select i1 %67, double %68, double %26
  %70 = fcmp oge double %66, %69
  %71 = select i1 %70, double %66, double %69
  %72 = fcmp ole double %66, %69
  %73 = select i1 %72, double %66, double %69
  %74 = load double, ptr @c_b6, align 8
  %75 = fcmp oge double %74, 0.000000e+00
  %.neg236 = fneg double %74
  br i1 %64, label %78, label %76

76:                                               ; preds = %62
  %77 = select i1 %75, double %74, double %.neg236
  br label %80

78:                                               ; preds = %62
  %79 = select i1 %75, double %.neg236, double %74
  br label %80

80:                                               ; preds = %78, %76
  %81 = phi double [ %77, %76 ], [ %79, %78 ]
  %82 = fmul double %73, %81
  %83 = fcmp oge double %74, 0.000000e+00
  %.neg237 = fneg double %74
  br i1 %67, label %86, label %84

84:                                               ; preds = %80
  %85 = select i1 %83, double %74, double %.neg237
  br label %88

86:                                               ; preds = %80
  %87 = select i1 %83, double %.neg237, double %74
  br label %88

88:                                               ; preds = %86, %84
  %89 = phi double [ %85, %84 ], [ %87, %86 ]
  %90 = fmul double %82, %89
  %91 = fcmp oge double %63, 0.000000e+00
  %92 = fneg double %63
  %93 = select i1 %91, double %63, double %92
  %94 = fcmp oge double %93, %71
  %95 = select i1 %94, double %93, double %71
  %96 = fdiv double %63, %95
  %97 = fdiv double %71, %95
  %98 = fmul double %97, %90
  %99 = tail call double @llvm.fmuladd.f64(double %96, double %63, double %98)
  %100 = fmul double %15, 4.000000e+00
  %101 = fcmp ult double %99, %100
  br i1 %101, label %129, label %102

102:                                              ; preds = %88
  %103 = tail call double @sqrt(double noundef %95) #5
  %104 = tail call double @sqrt(double noundef %99) #5
  %105 = fmul double %103, %104
  %106 = fcmp oge double %105, 0.000000e+00
  %107 = fneg double %105
  br i1 %91, label %108, label %110

108:                                              ; preds = %102
  %109 = select i1 %106, double %105, double %107
  br label %112

110:                                              ; preds = %102
  %111 = select i1 %106, double %107, double %105
  br label %112

112:                                              ; preds = %110, %108
  %113 = phi double [ %109, %108 ], [ %111, %110 ]
  %114 = fadd double %63, %113
  store double %114, ptr %12, align 8, !tbaa !5
  %115 = load double, ptr %3, align 8, !tbaa !5
  %116 = fadd double %114, %115
  store double %116, ptr %0, align 8, !tbaa !5
  %117 = load double, ptr %3, align 8, !tbaa !5
  %118 = fneg double %71
  %119 = fdiv double %118, %114
  %120 = tail call double @llvm.fmuladd.f64(double %119, double %90, double %117)
  store double %120, ptr %3, align 8, !tbaa !5
  %121 = call double @dlapy2_(ptr noundef nonnull %2, ptr noundef nonnull %12) #5
  %122 = load double, ptr %12, align 8, !tbaa !5
  %123 = fdiv double %122, %121
  store double %123, ptr %8, align 8, !tbaa !5
  %124 = load double, ptr %2, align 8, !tbaa !5
  %125 = fdiv double %124, %121
  store double %125, ptr %9, align 8, !tbaa !5
  %126 = load double, ptr %2, align 8, !tbaa !5
  %127 = load double, ptr %1, align 8, !tbaa !5
  %128 = fsub double %127, %126
  store double %128, ptr %1, align 8, !tbaa !5
  store double 0.000000e+00, ptr %2, align 8, !tbaa !5
  br label %285

129:                                              ; preds = %88
  %130 = fadd double %26, %30
  br label %.backedge

.backedge:                                        ; preds = %.backedge.backedge, %129
  %131 = phi double [ %130, %129 ], [ %.be, %.backedge.backedge ]
  %132 = phi double [ %40, %129 ], [ %.be254, %.backedge.backedge ]
  %.0 = phi i32 [ 0, %129 ], [ %133, %.backedge.backedge ]
  %133 = add nuw nsw i32 %.0, 1
  %134 = fcmp oge double %132, 0.000000e+00
  %135 = fneg double %132
  %136 = select i1 %134, double %132, double %135
  %137 = fcmp oge double %131, 0.000000e+00
  %138 = fneg double %131
  %139 = select i1 %137, double %131, double %138
  %140 = fcmp oge double %136, %139
  %141 = select i1 %140, double %136, double %139
  %142 = fcmp ult double %141, %25
  br i1 %142, label %147, label %143

143:                                              ; preds = %.backedge
  %144 = fmul double %24, %131
  %145 = fmul double %24, %132
  %146 = icmp ult i32 %.0, 20
  br i1 %146, label %.backedge.backedge, label %.thread

.backedge.backedge:                               ; preds = %143, %152
  %.be = phi double [ %144, %143 ], [ %153, %152 ]
  %.be254 = phi double [ %145, %143 ], [ %154, %152 ]
  br label %.backedge

147:                                              ; preds = %.backedge
  %148 = fcmp ugt double %141, %24
  br i1 %148, label %.loopexit, label %152

.thread:                                          ; preds = %143
  %149 = fcmp ugt double %141, %24
  br i1 %149, label %.loopexit, label %.thread244

.thread244:                                       ; preds = %.thread
  %150 = fmul double %25, %144
  %151 = fmul double %25, %145
  br label %.loopexit

152:                                              ; preds = %147
  %153 = fmul double %25, %131
  %154 = fmul double %25, %132
  %155 = icmp ult i32 %.0, 20
  br i1 %155, label %.backedge.backedge, label %.loopexit

.loopexit:                                        ; preds = %152, %147, %.thread244, %.thread
  %156 = phi double [ %144, %.thread ], [ %150, %.thread244 ], [ %131, %147 ], [ %153, %152 ]
  %157 = phi double [ %145, %.thread ], [ %151, %.thread244 ], [ %132, %147 ], [ %154, %152 ]
  store double %157, ptr %11, align 8
  store double %156, ptr %13, align 8
  %158 = call double @dlapy2_(ptr noundef nonnull %13, ptr noundef nonnull %11) #5
  %159 = load double, ptr %13, align 8
  %160 = fcmp oge double %159, 0.000000e+00
  %161 = fneg double %159
  %162 = select i1 %160, double %159, double %161
  %163 = fdiv double %162, %158
  %164 = fadd double %163, 1.000000e+00
  %165 = fmul double %164, 5.000000e-01
  %166 = call double @sqrt(double noundef %165) #5
  store double %166, ptr %8, align 8, !tbaa !5
  %167 = fmul double %158, %166
  %168 = fmul double %157, -5.000000e-01
  %169 = fdiv double %168, %167
  %170 = load double, ptr %13, align 8, !tbaa !5
  %171 = fcmp ult double %170, 0.000000e+00
  %172 = load double, ptr @c_b6, align 8
  %173 = fcmp oge double %172, 0.000000e+00
  %.neg238 = fneg double %172
  br i1 %171, label %176, label %174

174:                                              ; preds = %.loopexit
  %175 = select i1 %173, double %172, double %.neg238
  br label %178

176:                                              ; preds = %.loopexit
  %177 = select i1 %173, double %.neg238, double %172
  br label %178

178:                                              ; preds = %176, %174
  %179 = phi double [ %175, %174 ], [ %177, %176 ]
  %180 = fmul double %169, %179
  store double %180, ptr %9, align 8, !tbaa !5
  %181 = load double, ptr %0, align 8, !tbaa !5
  %182 = load double, ptr %8, align 8, !tbaa !5
  %183 = load double, ptr %1, align 8, !tbaa !5
  %184 = fmul double %180, %183
  %185 = call double @llvm.fmuladd.f64(double %181, double %182, double %184)
  %186 = fneg double %181
  %187 = fmul double %182, %183
  %188 = call double @llvm.fmuladd.f64(double %186, double %180, double %187)
  %189 = load double, ptr %2, align 8, !tbaa !5
  %190 = load double, ptr %3, align 8, !tbaa !5
  %191 = fmul double %180, %190
  %192 = call double @llvm.fmuladd.f64(double %189, double %182, double %191)
  %193 = fneg double %189
  %194 = fmul double %182, %190
  %195 = call double @llvm.fmuladd.f64(double %193, double %180, double %194)
  %196 = fmul double %180, %192
  %197 = call double @llvm.fmuladd.f64(double %185, double %182, double %196)
  store double %197, ptr %0, align 8, !tbaa !5
  %198 = load double, ptr %8, align 8, !tbaa !5
  %199 = load double, ptr %9, align 8, !tbaa !5
  %200 = fmul double %195, %199
  %201 = call double @llvm.fmuladd.f64(double %188, double %198, double %200)
  store double %201, ptr %1, align 8, !tbaa !5
  %202 = fneg double %185
  %203 = load double, ptr %9, align 8, !tbaa !5
  %204 = load double, ptr %8, align 8, !tbaa !5
  %205 = fmul double %192, %204
  %206 = call double @llvm.fmuladd.f64(double %202, double %203, double %205)
  store double %206, ptr %2, align 8, !tbaa !5
  %207 = fneg double %188
  %208 = load double, ptr %9, align 8, !tbaa !5
  %209 = load double, ptr %8, align 8, !tbaa !5
  %210 = fmul double %195, %209
  %211 = call double @llvm.fmuladd.f64(double %207, double %208, double %210)
  store double %211, ptr %3, align 8, !tbaa !5
  %212 = load double, ptr %0, align 8, !tbaa !5
  %213 = fadd double %212, %211
  %214 = fmul double %213, 5.000000e-01
  store double %214, ptr %11, align 8, !tbaa !5
  store double %214, ptr %0, align 8, !tbaa !5
  store double %214, ptr %3, align 8, !tbaa !5
  %215 = load double, ptr %2, align 8, !tbaa !5
  %216 = fcmp une double %215, 0.000000e+00
  br i1 %216, label %217, label %285

217:                                              ; preds = %178
  %218 = load double, ptr %1, align 8, !tbaa !5
  %219 = fcmp une double %218, 0.000000e+00
  br i1 %219, label %220, label %280

220:                                              ; preds = %217
  %221 = fcmp ult double %218, 0.000000e+00
  %222 = load double, ptr @c_b6, align 8
  %223 = fcmp oge double %222, 0.000000e+00
  %.neg239 = fneg double %222
  br i1 %221, label %226, label %224

224:                                              ; preds = %220
  %225 = select i1 %223, double %222, double %.neg239
  br label %228

226:                                              ; preds = %220
  %227 = select i1 %223, double %.neg239, double %222
  br label %228

228:                                              ; preds = %226, %224
  %229 = phi double [ %225, %224 ], [ %227, %226 ]
  %230 = fcmp ult double %215, 0.000000e+00
  %231 = fcmp oge double %222, 0.000000e+00
  %.neg240 = fneg double %222
  br i1 %230, label %234, label %232

232:                                              ; preds = %228
  %233 = select i1 %231, double %222, double %.neg240
  br label %236

234:                                              ; preds = %228
  %235 = select i1 %231, double %.neg240, double %222
  br label %236

236:                                              ; preds = %234, %232
  %237 = phi double [ %233, %232 ], [ %235, %234 ]
  %238 = fcmp oeq double %229, %237
  br i1 %238, label %239, label %285

239:                                              ; preds = %236
  %240 = fneg double %218
  %241 = select i1 %221, double %240, double %218
  %242 = call double @sqrt(double noundef %241) #5
  %243 = load double, ptr %2, align 8, !tbaa !5
  %244 = fcmp ult double %243, 0.000000e+00
  %245 = fneg double %243
  %246 = select i1 %244, double %245, double %243
  %247 = call double @sqrt(double noundef %246) #5
  %248 = fmul double %242, %247
  %249 = load double, ptr %2, align 8, !tbaa !5
  %250 = fcmp ult double %249, 0.000000e+00
  %251 = fcmp oge double %248, 0.000000e+00
  %.neg241 = fneg double %248
  br i1 %250, label %254, label %252

252:                                              ; preds = %239
  %253 = select i1 %251, double %248, double %.neg241
  br label %256

254:                                              ; preds = %239
  %255 = select i1 %251, double %.neg241, double %248
  br label %256

256:                                              ; preds = %254, %252
  %257 = phi double [ %253, %252 ], [ %255, %254 ]
  %258 = load double, ptr %1, align 8, !tbaa !5
  %259 = fadd double %249, %258
  %260 = fcmp oge double %259, 0.000000e+00
  %261 = fneg double %259
  %262 = select i1 %260, double %259, double %261
  %263 = call double @sqrt(double noundef %262) #5
  %264 = fdiv double 1.000000e+00, %263
  %265 = load double, ptr %11, align 8, !tbaa !5
  %266 = fadd double %257, %265
  store double %266, ptr %0, align 8, !tbaa !5
  %267 = fsub double %265, %257
  store double %267, ptr %3, align 8, !tbaa !5
  %268 = load double, ptr %2, align 8, !tbaa !5
  %269 = load double, ptr %1, align 8, !tbaa !5
  %270 = fsub double %269, %268
  store double %270, ptr %1, align 8, !tbaa !5
  store double 0.000000e+00, ptr %2, align 8, !tbaa !5
  %271 = fmul double %242, %264
  %272 = fmul double %247, %264
  %273 = load double, ptr %8, align 8, !tbaa !5
  %274 = load double, ptr %9, align 8, !tbaa !5
  %275 = fneg double %274
  %276 = fmul double %272, %275
  %277 = call double @llvm.fmuladd.f64(double %273, double %271, double %276)
  %278 = fmul double %271, %274
  %279 = call double @llvm.fmuladd.f64(double %273, double %272, double %278)
  store double %279, ptr %9, align 8, !tbaa !5
  store double %277, ptr %8, align 8, !tbaa !5
  br label %285

280:                                              ; preds = %217
  %281 = fneg double %215
  store double %281, ptr %1, align 8, !tbaa !5
  store double 0.000000e+00, ptr %2, align 8, !tbaa !5
  %282 = load double, ptr %8, align 8, !tbaa !5
  %283 = load double, ptr %9, align 8, !tbaa !5
  %284 = fneg double %283
  store double %284, ptr %8, align 8, !tbaa !5
  store double %282, ptr %9, align 8, !tbaa !5
  br label %285

285:                                              ; preds = %32, %112, %280, %256, %236, %178, %61, %28
  %286 = load double, ptr %0, align 8, !tbaa !5
  store double %286, ptr %4, align 8, !tbaa !5
  %287 = load double, ptr %3, align 8, !tbaa !5
  store double %287, ptr %6, align 8, !tbaa !5
  %288 = load double, ptr %2, align 8, !tbaa !5
  %289 = fcmp oeq double %288, 0.000000e+00
  br i1 %289, label %303, label %290

290:                                              ; preds = %285
  %291 = load double, ptr %1, align 8, !tbaa !5
  %292 = fcmp ult double %291, 0.000000e+00
  %293 = fneg double %291
  %294 = select i1 %292, double %293, double %291
  %295 = call double @sqrt(double noundef %294) #5
  %296 = load double, ptr %2, align 8, !tbaa !5
  %297 = fcmp ult double %296, 0.000000e+00
  %298 = fneg double %296
  %299 = select i1 %297, double %298, double %296
  %300 = call double @sqrt(double noundef %299) #5
  %301 = fmul double %295, %300
  %302 = fneg double %301
  br label %303

303:                                              ; preds = %285, %290
  %.sink = phi double [ %301, %290 ], [ 0.000000e+00, %285 ]
  %storemerge = phi double [ %302, %290 ], [ 0.000000e+00, %285 ]
  store double %.sink, ptr %5, align 8
  store double %storemerge, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #5
  ret void
}

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

declare double @dlamch_(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopSimplifyPass,LoopUnrollPass,MergedLoadStoreMotionPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass