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

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

@.str = external hidden unnamed_addr constant [8 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@c__0 = external hidden global i32, align 4
@c__1 = external hidden global i32, align 4

; Function Attrs: nounwind uwtable
define dso_local void @sporfsx_(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, ptr noundef %10, ptr noundef %11, ptr noundef %12, ptr noundef %13, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22) #0 {
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, 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 [1 x i8], align 1
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca float, align 4
  %70 = alloca i32, align 4
  %71 = alloca float, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca float, align 4
  %76 = alloca float, align 4
  %77 = alloca i32, align 4
  store ptr %0, ptr %24, align 8, !tbaa !5
  store ptr %1, ptr %25, align 8, !tbaa !5
  store ptr %2, ptr %26, align 8, !tbaa !5
  store ptr %3, ptr %27, align 8, !tbaa !5
  store ptr %4, ptr %28, align 8, !tbaa !5
  store ptr %5, ptr %29, align 8, !tbaa !5
  store ptr %6, ptr %30, align 8, !tbaa !5
  store ptr %7, ptr %31, align 8, !tbaa !5
  store ptr %8, ptr %32, align 8, !tbaa !5
  store ptr %9, ptr %33, align 8, !tbaa !5
  store ptr %10, ptr %34, align 8, !tbaa !5
  store ptr %11, ptr %35, align 8, !tbaa !5
  store ptr %12, ptr %36, align 8, !tbaa !5
  store ptr %13, ptr %37, align 8, !tbaa !5
  store ptr %14, ptr %38, align 8, !tbaa !5
  store ptr %15, ptr %39, align 8, !tbaa !5
  store ptr %16, ptr %40, align 8, !tbaa !5
  store ptr %17, ptr %41, align 8, !tbaa !5
  store ptr %18, ptr %42, align 8, !tbaa !5
  store ptr %19, ptr %43, align 8, !tbaa !5
  store ptr %20, ptr %44, align 8, !tbaa !5
  store ptr %21, ptr %45, align 8, !tbaa !5
  store ptr %22, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #4
  %78 = load ptr, ptr %27, align 8, !tbaa !5
  %79 = load i32, ptr %78, align 4, !tbaa !9
  store i32 %79, ptr %57, align 4, !tbaa !9
  %80 = load i32, ptr %57, align 4, !tbaa !9
  %81 = mul nsw i32 %80, 1
  %82 = add nsw i32 1, %81
  store i32 %82, ptr %58, align 4, !tbaa !9
  %83 = load i32, ptr %58, align 4, !tbaa !9
  %84 = load ptr, ptr %41, align 8, !tbaa !5
  %85 = sext i32 %83 to i64
  %86 = sub i64 0, %85
  %87 = getelementptr inbounds float, ptr %84, i64 %86
  store ptr %87, ptr %41, align 8, !tbaa !5
  %88 = load ptr, ptr %27, align 8, !tbaa !5
  %89 = load i32, ptr %88, align 4, !tbaa !9
  store i32 %89, ptr %55, align 4, !tbaa !9
  %90 = load i32, ptr %55, align 4, !tbaa !9
  %91 = mul nsw i32 %90, 1
  %92 = add nsw i32 1, %91
  store i32 %92, ptr %56, align 4, !tbaa !9
  %93 = load i32, ptr %56, align 4, !tbaa !9
  %94 = load ptr, ptr %40, align 8, !tbaa !5
  %95 = sext i32 %93 to i64
  %96 = sub i64 0, %95
  %97 = getelementptr inbounds float, ptr %94, i64 %96
  store ptr %97, ptr %40, align 8, !tbaa !5
  %98 = load ptr, ptr %29, align 8, !tbaa !5
  %99 = load i32, ptr %98, align 4, !tbaa !9
  store i32 %99, ptr %47, align 4, !tbaa !9
  %100 = load i32, ptr %47, align 4, !tbaa !9
  %101 = mul nsw i32 %100, 1
  %102 = add nsw i32 1, %101
  store i32 %102, ptr %48, align 4, !tbaa !9
  %103 = load i32, ptr %48, align 4, !tbaa !9
  %104 = load ptr, ptr %28, align 8, !tbaa !5
  %105 = sext i32 %103 to i64
  %106 = sub i64 0, %105
  %107 = getelementptr inbounds float, ptr %104, i64 %106
  store ptr %107, ptr %28, align 8, !tbaa !5
  %108 = load ptr, ptr %31, align 8, !tbaa !5
  %109 = load i32, ptr %108, align 4, !tbaa !9
  store i32 %109, ptr %49, align 4, !tbaa !9
  %110 = load i32, ptr %49, align 4, !tbaa !9
  %111 = mul nsw i32 %110, 1
  %112 = add nsw i32 1, %111
  store i32 %112, ptr %50, align 4, !tbaa !9
  %113 = load i32, ptr %50, align 4, !tbaa !9
  %114 = load ptr, ptr %30, align 8, !tbaa !5
  %115 = sext i32 %113 to i64
  %116 = sub i64 0, %115
  %117 = getelementptr inbounds float, ptr %114, i64 %116
  store ptr %117, ptr %30, align 8, !tbaa !5
  %118 = load ptr, ptr %32, align 8, !tbaa !5
  %119 = getelementptr inbounds float, ptr %118, i32 -1
  store ptr %119, ptr %32, align 8, !tbaa !5
  %120 = load ptr, ptr %34, align 8, !tbaa !5
  %121 = load i32, ptr %120, align 4, !tbaa !9
  store i32 %121, ptr %51, align 4, !tbaa !9
  %122 = load i32, ptr %51, align 4, !tbaa !9
  %123 = mul nsw i32 %122, 1
  %124 = add nsw i32 1, %123
  store i32 %124, ptr %52, align 4, !tbaa !9
  %125 = load i32, ptr %52, align 4, !tbaa !9
  %126 = load ptr, ptr %33, align 8, !tbaa !5
  %127 = sext i32 %125 to i64
  %128 = sub i64 0, %127
  %129 = getelementptr inbounds float, ptr %126, i64 %128
  store ptr %129, ptr %33, align 8, !tbaa !5
  %130 = load ptr, ptr %36, align 8, !tbaa !5
  %131 = load i32, ptr %130, align 4, !tbaa !9
  store i32 %131, ptr %53, align 4, !tbaa !9
  %132 = load i32, ptr %53, align 4, !tbaa !9
  %133 = mul nsw i32 %132, 1
  %134 = add nsw i32 1, %133
  store i32 %134, ptr %54, align 4, !tbaa !9
  %135 = load i32, ptr %54, align 4, !tbaa !9
  %136 = load ptr, ptr %35, align 8, !tbaa !5
  %137 = sext i32 %135 to i64
  %138 = sub i64 0, %137
  %139 = getelementptr inbounds float, ptr %136, i64 %138
  store ptr %139, ptr %35, align 8, !tbaa !5
  %140 = load ptr, ptr %38, align 8, !tbaa !5
  %141 = getelementptr inbounds float, ptr %140, i32 -1
  store ptr %141, ptr %38, align 8, !tbaa !5
  %142 = load ptr, ptr %43, align 8, !tbaa !5
  %143 = getelementptr inbounds float, ptr %142, i32 -1
  store ptr %143, ptr %43, align 8, !tbaa !5
  %144 = load ptr, ptr %44, align 8, !tbaa !5
  %145 = getelementptr inbounds float, ptr %144, i32 -1
  store ptr %145, ptr %44, align 8, !tbaa !5
  %146 = load ptr, ptr %45, align 8, !tbaa !5
  %147 = getelementptr inbounds i32, ptr %146, i32 -1
  store ptr %147, ptr %45, align 8, !tbaa !5
  %148 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 0, ptr %148, align 4, !tbaa !9
  store i32 1, ptr %66, align 4, !tbaa !9
  %149 = load ptr, ptr %42, align 8, !tbaa !5
  %150 = load i32, ptr %149, align 4, !tbaa !9
  %151 = icmp sge i32 %150, 1
  br i1 %151, label %152, label %166

152:                                              ; preds = %23
  %153 = load ptr, ptr %43, align 8, !tbaa !5
  %154 = getelementptr inbounds float, ptr %153, i64 1
  %155 = load float, ptr %154, align 4, !tbaa !11
  %156 = fcmp olt float %155, 0.000000e+00
  br i1 %156, label %157, label %160

157:                                              ; preds = %152
  %158 = load ptr, ptr %43, align 8, !tbaa !5
  %159 = getelementptr inbounds float, ptr %158, i64 1
  store float 1.000000e+00, ptr %159, align 4, !tbaa !11
  br label %165

160:                                              ; preds = %152
  %161 = load ptr, ptr %43, align 8, !tbaa !5
  %162 = getelementptr inbounds float, ptr %161, i64 1
  %163 = load float, ptr %162, align 4, !tbaa !11
  %164 = fptosi float %163 to i32
  store i32 %164, ptr %66, align 4, !tbaa !9
  br label %165

165:                                              ; preds = %160, %157
  br label %166

166:                                              ; preds = %165, %23
  %167 = load ptr, ptr %26, align 8, !tbaa !5
  %168 = load i32, ptr %167, align 4, !tbaa !9
  %169 = sitofp i32 %168 to float
  %170 = call float @slamch_(ptr noundef @.str)
  %171 = fmul float %169, %170
  store float %171, ptr %62, align 4, !tbaa !11
  store i32 10, ptr %73, align 4, !tbaa !9
  store float 5.000000e-01, ptr %75, align 4, !tbaa !11
  store float 2.500000e-01, ptr %63, align 4, !tbaa !11
  store i32 0, ptr %67, align 4, !tbaa !9
  %172 = load ptr, ptr %42, align 8, !tbaa !5
  %173 = load i32, ptr %172, align 4, !tbaa !9
  %174 = icmp sge i32 %173, 2
  br i1 %174, label %175, label %191

175:                                              ; preds = %166
  %176 = load ptr, ptr %43, align 8, !tbaa !5
  %177 = getelementptr inbounds float, ptr %176, i64 2
  %178 = load float, ptr %177, align 4, !tbaa !11
  %179 = fcmp olt float %178, 0.000000e+00
  br i1 %179, label %180, label %185

180:                                              ; preds = %175
  %181 = load i32, ptr %73, align 4, !tbaa !9
  %182 = sitofp i32 %181 to float
  %183 = load ptr, ptr %43, align 8, !tbaa !5
  %184 = getelementptr inbounds float, ptr %183, i64 2
  store float %182, ptr %184, align 4, !tbaa !11
  br label %190

185:                                              ; preds = %175
  %186 = load ptr, ptr %43, align 8, !tbaa !5
  %187 = getelementptr inbounds float, ptr %186, i64 2
  %188 = load float, ptr %187, align 4, !tbaa !11
  %189 = fptosi float %188 to i32
  store i32 %189, ptr %73, align 4, !tbaa !9
  br label %190

190:                                              ; preds = %185, %180
  br label %191

191:                                              ; preds = %190, %166
  %192 = load ptr, ptr %42, align 8, !tbaa !5
  %193 = load i32, ptr %192, align 4, !tbaa !9
  %194 = icmp sge i32 %193, 3
  br i1 %194, label %195, label %217

195:                                              ; preds = %191
  %196 = load ptr, ptr %43, align 8, !tbaa !5
  %197 = getelementptr inbounds float, ptr %196, i64 3
  %198 = load float, ptr %197, align 4, !tbaa !11
  %199 = fcmp olt float %198, 0.000000e+00
  br i1 %199, label %200, label %210

200:                                              ; preds = %195
  %201 = load i32, ptr %67, align 4, !tbaa !9
  %202 = icmp ne i32 %201, 0
  br i1 %202, label %203, label %206

203:                                              ; preds = %200
  %204 = load ptr, ptr %43, align 8, !tbaa !5
  %205 = getelementptr inbounds float, ptr %204, i64 3
  store float 0.000000e+00, ptr %205, align 4, !tbaa !11
  br label %209

206:                                              ; preds = %200
  %207 = load ptr, ptr %43, align 8, !tbaa !5
  %208 = getelementptr inbounds float, ptr %207, i64 3
  store float 1.000000e+00, ptr %208, align 4, !tbaa !11
  br label %209

209:                                              ; preds = %206, %203
  br label %216

210:                                              ; preds = %195
  %211 = load ptr, ptr %43, align 8, !tbaa !5
  %212 = getelementptr inbounds float, ptr %211, i64 3
  %213 = load float, ptr %212, align 4, !tbaa !11
  %214 = fcmp oeq float %213, 0.000000e+00
  %215 = zext i1 %214 to i32
  store i32 %215, ptr %67, align 4, !tbaa !9
  br label %216

216:                                              ; preds = %210, %209
  br label %217

217:                                              ; preds = %216, %191
  %218 = load i32, ptr %66, align 4, !tbaa !9
  %219 = icmp eq i32 %218, 0
  br i1 %219, label %224, label %220

220:                                              ; preds = %217
  %221 = load ptr, ptr %39, align 8, !tbaa !5
  %222 = load i32, ptr %221, align 4, !tbaa !9
  %223 = icmp eq i32 %222, 0
  br i1 %223, label %224, label %225

224:                                              ; preds = %220, %217
  store i32 0, ptr %74, align 4, !tbaa !9
  br label %231

225:                                              ; preds = %220
  %226 = load i32, ptr %67, align 4, !tbaa !9
  %227 = icmp ne i32 %226, 0
  br i1 %227, label %228, label %229

228:                                              ; preds = %225
  store i32 1, ptr %74, align 4, !tbaa !9
  br label %230

229:                                              ; preds = %225
  store i32 2, ptr %74, align 4, !tbaa !9
  br label %230

230:                                              ; preds = %229, %228
  br label %231

231:                                              ; preds = %230, %224
  %232 = load ptr, ptr %25, align 8, !tbaa !5
  %233 = call i32 @lsame_(ptr noundef %232, ptr noundef @.str.1)
  store i32 %233, ptr %70, align 4, !tbaa !9
  %234 = load ptr, ptr %24, align 8, !tbaa !5
  %235 = call i32 @lsame_(ptr noundef %234, ptr noundef @.str.2)
  %236 = icmp ne i32 %235, 0
  br i1 %236, label %243, label %237

237:                                              ; preds = %231
  %238 = load ptr, ptr %24, align 8, !tbaa !5
  %239 = call i32 @lsame_(ptr noundef %238, ptr noundef @.str.3)
  %240 = icmp ne i32 %239, 0
  br i1 %240, label %243, label %241

241:                                              ; preds = %237
  %242 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 -1, ptr %242, align 4, !tbaa !9
  br label %331

243:                                              ; preds = %237, %231
  %244 = load i32, ptr %70, align 4, !tbaa !9
  %245 = icmp ne i32 %244, 0
  br i1 %245, label %252, label %246

246:                                              ; preds = %243
  %247 = load ptr, ptr %25, align 8, !tbaa !5
  %248 = call i32 @lsame_(ptr noundef %247, ptr noundef @.str.4)
  %249 = icmp ne i32 %248, 0
  br i1 %249, label %252, label %250

250:                                              ; preds = %246
  %251 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 -2, ptr %251, align 4, !tbaa !9
  br label %330

252:                                              ; preds = %246, %243
  %253 = load ptr, ptr %26, align 8, !tbaa !5
  %254 = load i32, ptr %253, align 4, !tbaa !9
  %255 = icmp slt i32 %254, 0
  br i1 %255, label %256, label %258

256:                                              ; preds = %252
  %257 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 -3, ptr %257, align 4, !tbaa !9
  br label %329

258:                                              ; preds = %252
  %259 = load ptr, ptr %27, align 8, !tbaa !5
  %260 = load i32, ptr %259, align 4, !tbaa !9
  %261 = icmp slt i32 %260, 0
  br i1 %261, label %262, label %264

262:                                              ; preds = %258
  %263 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 -4, ptr %263, align 4, !tbaa !9
  br label %328

264:                                              ; preds = %258
  %265 = load ptr, ptr %29, align 8, !tbaa !5
  %266 = load i32, ptr %265, align 4, !tbaa !9
  %267 = load ptr, ptr %26, align 8, !tbaa !5
  %268 = load i32, ptr %267, align 4, !tbaa !9
  %269 = icmp sge i32 1, %268
  br i1 %269, label %270, label %271

270:                                              ; preds = %264
  br label %274

271:                                              ; preds = %264
  %272 = load ptr, ptr %26, align 8, !tbaa !5
  %273 = load i32, ptr %272, align 4, !tbaa !9
  br label %274

274:                                              ; preds = %271, %270
  %275 = phi i32 [ 1, %270 ], [ %273, %271 ]
  %276 = icmp slt i32 %266, %275
  br i1 %276, label %277, label %279

277:                                              ; preds = %274
  %278 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 -6, ptr %278, align 4, !tbaa !9
  br label %327

279:                                              ; preds = %274
  %280 = load ptr, ptr %31, align 8, !tbaa !5
  %281 = load i32, ptr %280, align 4, !tbaa !9
  %282 = load ptr, ptr %26, align 8, !tbaa !5
  %283 = load i32, ptr %282, align 4, !tbaa !9
  %284 = icmp sge i32 1, %283
  br i1 %284, label %285, label %286

285:                                              ; preds = %279
  br label %289

286:                                              ; preds = %279
  %287 = load ptr, ptr %26, align 8, !tbaa !5
  %288 = load i32, ptr %287, align 4, !tbaa !9
  br label %289

289:                                              ; preds = %286, %285
  %290 = phi i32 [ 1, %285 ], [ %288, %286 ]
  %291 = icmp slt i32 %281, %290
  br i1 %291, label %292, label %294

292:                                              ; preds = %289
  %293 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 -8, ptr %293, align 4, !tbaa !9
  br label %326

294:                                              ; preds = %289
  %295 = load ptr, ptr %34, align 8, !tbaa !5
  %296 = load i32, ptr %295, align 4, !tbaa !9
  %297 = load ptr, ptr %26, align 8, !tbaa !5
  %298 = load i32, ptr %297, align 4, !tbaa !9
  %299 = icmp sge i32 1, %298
  br i1 %299, label %300, label %301

300:                                              ; preds = %294
  br label %304

301:                                              ; preds = %294
  %302 = load ptr, ptr %26, align 8, !tbaa !5
  %303 = load i32, ptr %302, align 4, !tbaa !9
  br label %304

304:                                              ; preds = %301, %300
  %305 = phi i32 [ 1, %300 ], [ %303, %301 ]
  %306 = icmp slt i32 %296, %305
  br i1 %306, label %307, label %309

307:                                              ; preds = %304
  %308 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 -11, ptr %308, align 4, !tbaa !9
  br label %325

309:                                              ; preds = %304
  %310 = load ptr, ptr %36, align 8, !tbaa !5
  %311 = load i32, ptr %310, align 4, !tbaa !9
  %312 = load ptr, ptr %26, align 8, !tbaa !5
  %313 = load i32, ptr %312, align 4, !tbaa !9
  %314 = icmp sge i32 1, %313
  br i1 %314, label %315, label %316

315:                                              ; preds = %309
  br label %319

316:                                              ; preds = %309
  %317 = load ptr, ptr %26, align 8, !tbaa !5
  %318 = load i32, ptr %317, align 4, !tbaa !9
  br label %319

319:                                              ; preds = %316, %315
  %320 = phi i32 [ 1, %315 ], [ %318, %316 ]
  %321 = icmp slt i32 %311, %320
  br i1 %321, label %322, label %324

322:                                              ; preds = %319
  %323 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 -13, ptr %323, align 4, !tbaa !9
  br label %324

324:                                              ; preds = %322, %319
  br label %325

325:                                              ; preds = %324, %307
  br label %326

326:                                              ; preds = %325, %292
  br label %327

327:                                              ; preds = %326, %277
  br label %328

328:                                              ; preds = %327, %262
  br label %329

329:                                              ; preds = %328, %256
  br label %330

330:                                              ; preds = %329, %250
  br label %331

331:                                              ; preds = %330, %241
  %332 = load ptr, ptr %46, align 8, !tbaa !5
  %333 = load i32, ptr %332, align 4, !tbaa !9
  %334 = icmp ne i32 %333, 0
  br i1 %334, label %335, label %340

335:                                              ; preds = %331
  %336 = load ptr, ptr %46, align 8, !tbaa !5
  %337 = load i32, ptr %336, align 4, !tbaa !9
  %338 = sub nsw i32 0, %337
  store i32 %338, ptr %59, align 4, !tbaa !9
  %339 = call i32 @xerbla_(ptr noundef @.str.5, ptr noundef %59, i32 noundef 7)
  store i32 1, ptr %77, align 4
  br label %909

340:                                              ; preds = %331
  %341 = load ptr, ptr %26, align 8, !tbaa !5
  %342 = load i32, ptr %341, align 4, !tbaa !9
  %343 = icmp eq i32 %342, 0
  br i1 %343, label %348, label %344

344:                                              ; preds = %340
  %345 = load ptr, ptr %27, align 8, !tbaa !5
  %346 = load i32, ptr %345, align 4, !tbaa !9
  %347 = icmp eq i32 %346, 0
  br i1 %347, label %348, label %420

348:                                              ; preds = %344, %340
  %349 = load ptr, ptr %37, align 8, !tbaa !5
  store float 1.000000e+00, ptr %349, align 4, !tbaa !11
  %350 = load ptr, ptr %27, align 8, !tbaa !5
  %351 = load i32, ptr %350, align 4, !tbaa !9
  store i32 %351, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %68, align 4, !tbaa !9
  br label %352

352:                                              ; preds = %416, %348
  %353 = load i32, ptr %68, align 4, !tbaa !9
  %354 = load i32, ptr %59, align 4, !tbaa !9
  %355 = icmp sle i32 %353, %354
  br i1 %355, label %356, label %419

356:                                              ; preds = %352
  %357 = load ptr, ptr %38, align 8, !tbaa !5
  %358 = load i32, ptr %68, align 4, !tbaa !9
  %359 = sext i32 %358 to i64
  %360 = getelementptr inbounds float, ptr %357, i64 %359
  store float 0.000000e+00, ptr %360, align 4, !tbaa !11
  %361 = load ptr, ptr %39, align 8, !tbaa !5
  %362 = load i32, ptr %361, align 4, !tbaa !9
  %363 = icmp sge i32 %362, 1
  br i1 %363, label %364, label %377

364:                                              ; preds = %356
  %365 = load ptr, ptr %40, align 8, !tbaa !5
  %366 = load i32, ptr %68, align 4, !tbaa !9
  %367 = load i32, ptr %55, align 4, !tbaa !9
  %368 = add nsw i32 %366, %367
  %369 = sext i32 %368 to i64
  %370 = getelementptr inbounds float, ptr %365, i64 %369
  store float 1.000000e+00, ptr %370, align 4, !tbaa !11
  %371 = load ptr, ptr %41, align 8, !tbaa !5
  %372 = load i32, ptr %68, align 4, !tbaa !9
  %373 = load i32, ptr %57, align 4, !tbaa !9
  %374 = add nsw i32 %372, %373
  %375 = sext i32 %374 to i64
  %376 = getelementptr inbounds float, ptr %371, i64 %375
  store float 1.000000e+00, ptr %376, align 4, !tbaa !11
  br label %377

377:                                              ; preds = %364, %356
  %378 = load ptr, ptr %39, align 8, !tbaa !5
  %379 = load i32, ptr %378, align 4, !tbaa !9
  %380 = icmp sge i32 %379, 2
  br i1 %380, label %381, label %396

381:                                              ; preds = %377
  %382 = load ptr, ptr %40, align 8, !tbaa !5
  %383 = load i32, ptr %68, align 4, !tbaa !9
  %384 = load i32, ptr %55, align 4, !tbaa !9
  %385 = shl i32 %384, 1
  %386 = add nsw i32 %383, %385
  %387 = sext i32 %386 to i64
  %388 = getelementptr inbounds float, ptr %382, i64 %387
  store float 0.000000e+00, ptr %388, align 4, !tbaa !11
  %389 = load ptr, ptr %41, align 8, !tbaa !5
  %390 = load i32, ptr %68, align 4, !tbaa !9
  %391 = load i32, ptr %57, align 4, !tbaa !9
  %392 = shl i32 %391, 1
  %393 = add nsw i32 %390, %392
  %394 = sext i32 %393 to i64
  %395 = getelementptr inbounds float, ptr %389, i64 %394
  store float 0.000000e+00, ptr %395, align 4, !tbaa !11
  br label %396

396:                                              ; preds = %381, %377
  %397 = load ptr, ptr %39, align 8, !tbaa !5
  %398 = load i32, ptr %397, align 4, !tbaa !9
  %399 = icmp sge i32 %398, 3
  br i1 %399, label %400, label %415

400:                                              ; preds = %396
  %401 = load ptr, ptr %40, align 8, !tbaa !5
  %402 = load i32, ptr %68, align 4, !tbaa !9
  %403 = load i32, ptr %55, align 4, !tbaa !9
  %404 = mul nsw i32 %403, 3
  %405 = add nsw i32 %402, %404
  %406 = sext i32 %405 to i64
  %407 = getelementptr inbounds float, ptr %401, i64 %406
  store float 1.000000e+00, ptr %407, align 4, !tbaa !11
  %408 = load ptr, ptr %41, align 8, !tbaa !5
  %409 = load i32, ptr %68, align 4, !tbaa !9
  %410 = load i32, ptr %57, align 4, !tbaa !9
  %411 = mul nsw i32 %410, 3
  %412 = add nsw i32 %409, %411
  %413 = sext i32 %412 to i64
  %414 = getelementptr inbounds float, ptr %408, i64 %413
  store float 1.000000e+00, ptr %414, align 4, !tbaa !11
  br label %415

415:                                              ; preds = %400, %396
  br label %416

416:                                              ; preds = %415
  %417 = load i32, ptr %68, align 4, !tbaa !9
  %418 = add nsw i32 %417, 1
  store i32 %418, ptr %68, align 4, !tbaa !9
  br label %352, !llvm.loop !13

419:                                              ; preds = %352
  store i32 1, ptr %77, align 4
  br label %909

420:                                              ; preds = %344
  %421 = load ptr, ptr %37, align 8, !tbaa !5
  store float 0.000000e+00, ptr %421, align 4, !tbaa !11
  %422 = load ptr, ptr %27, align 8, !tbaa !5
  %423 = load i32, ptr %422, align 4, !tbaa !9
  store i32 %423, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %68, align 4, !tbaa !9
  br label %424

424:                                              ; preds = %488, %420
  %425 = load i32, ptr %68, align 4, !tbaa !9
  %426 = load i32, ptr %59, align 4, !tbaa !9
  %427 = icmp sle i32 %425, %426
  br i1 %427, label %428, label %491

428:                                              ; preds = %424
  %429 = load ptr, ptr %38, align 8, !tbaa !5
  %430 = load i32, ptr %68, align 4, !tbaa !9
  %431 = sext i32 %430 to i64
  %432 = getelementptr inbounds float, ptr %429, i64 %431
  store float 1.000000e+00, ptr %432, align 4, !tbaa !11
  %433 = load ptr, ptr %39, align 8, !tbaa !5
  %434 = load i32, ptr %433, align 4, !tbaa !9
  %435 = icmp sge i32 %434, 1
  br i1 %435, label %436, label %449

436:                                              ; preds = %428
  %437 = load ptr, ptr %40, align 8, !tbaa !5
  %438 = load i32, ptr %68, align 4, !tbaa !9
  %439 = load i32, ptr %55, align 4, !tbaa !9
  %440 = add nsw i32 %438, %439
  %441 = sext i32 %440 to i64
  %442 = getelementptr inbounds float, ptr %437, i64 %441
  store float 1.000000e+00, ptr %442, align 4, !tbaa !11
  %443 = load ptr, ptr %41, align 8, !tbaa !5
  %444 = load i32, ptr %68, align 4, !tbaa !9
  %445 = load i32, ptr %57, align 4, !tbaa !9
  %446 = add nsw i32 %444, %445
  %447 = sext i32 %446 to i64
  %448 = getelementptr inbounds float, ptr %443, i64 %447
  store float 1.000000e+00, ptr %448, align 4, !tbaa !11
  br label %449

449:                                              ; preds = %436, %428
  %450 = load ptr, ptr %39, align 8, !tbaa !5
  %451 = load i32, ptr %450, align 4, !tbaa !9
  %452 = icmp sge i32 %451, 2
  br i1 %452, label %453, label %468

453:                                              ; preds = %449
  %454 = load ptr, ptr %40, align 8, !tbaa !5
  %455 = load i32, ptr %68, align 4, !tbaa !9
  %456 = load i32, ptr %55, align 4, !tbaa !9
  %457 = shl i32 %456, 1
  %458 = add nsw i32 %455, %457
  %459 = sext i32 %458 to i64
  %460 = getelementptr inbounds float, ptr %454, i64 %459
  store float 1.000000e+00, ptr %460, align 4, !tbaa !11
  %461 = load ptr, ptr %41, align 8, !tbaa !5
  %462 = load i32, ptr %68, align 4, !tbaa !9
  %463 = load i32, ptr %57, align 4, !tbaa !9
  %464 = shl i32 %463, 1
  %465 = add nsw i32 %462, %464
  %466 = sext i32 %465 to i64
  %467 = getelementptr inbounds float, ptr %461, i64 %466
  store float 1.000000e+00, ptr %467, align 4, !tbaa !11
  br label %468

468:                                              ; preds = %453, %449
  %469 = load ptr, ptr %39, align 8, !tbaa !5
  %470 = load i32, ptr %469, align 4, !tbaa !9
  %471 = icmp sge i32 %470, 3
  br i1 %471, label %472, label %487

472:                                              ; preds = %468
  %473 = load ptr, ptr %40, align 8, !tbaa !5
  %474 = load i32, ptr %68, align 4, !tbaa !9
  %475 = load i32, ptr %55, align 4, !tbaa !9
  %476 = mul nsw i32 %475, 3
  %477 = add nsw i32 %474, %476
  %478 = sext i32 %477 to i64
  %479 = getelementptr inbounds float, ptr %473, i64 %478
  store float 0.000000e+00, ptr %479, align 4, !tbaa !11
  %480 = load ptr, ptr %41, align 8, !tbaa !5
  %481 = load i32, ptr %68, align 4, !tbaa !9
  %482 = load i32, ptr %57, align 4, !tbaa !9
  %483 = mul nsw i32 %482, 3
  %484 = add nsw i32 %481, %483
  %485 = sext i32 %484 to i64
  %486 = getelementptr inbounds float, ptr %480, i64 %485
  store float 0.000000e+00, ptr %486, align 4, !tbaa !11
  br label %487

487:                                              ; preds = %472, %468
  br label %488

488:                                              ; preds = %487
  %489 = load i32, ptr %68, align 4, !tbaa !9
  %490 = add nsw i32 %489, 1
  store i32 %490, ptr %68, align 4, !tbaa !9
  br label %424, !llvm.loop !15

491:                                              ; preds = %424
  %492 = getelementptr inbounds [1 x i8], ptr %65, i64 0, i64 0
  store i8 73, ptr %492, align 1, !tbaa !16
  %493 = getelementptr inbounds [1 x i8], ptr %65, i64 0, i64 0
  %494 = load ptr, ptr %24, align 8, !tbaa !5
  %495 = load ptr, ptr %26, align 8, !tbaa !5
  %496 = load ptr, ptr %28, align 8, !tbaa !5
  %497 = load i32, ptr %48, align 4, !tbaa !9
  %498 = sext i32 %497 to i64
  %499 = getelementptr inbounds float, ptr %496, i64 %498
  %500 = load ptr, ptr %29, align 8, !tbaa !5
  %501 = load ptr, ptr %44, align 8, !tbaa !5
  %502 = getelementptr inbounds float, ptr %501, i64 1
  %503 = call float @slansy_(ptr noundef %493, ptr noundef %494, ptr noundef %495, ptr noundef %499, ptr noundef %500, ptr noundef %502)
  store float %503, ptr %69, align 4, !tbaa !11
  %504 = load ptr, ptr %24, align 8, !tbaa !5
  %505 = load ptr, ptr %26, align 8, !tbaa !5
  %506 = load ptr, ptr %30, align 8, !tbaa !5
  %507 = load i32, ptr %50, align 4, !tbaa !9
  %508 = sext i32 %507 to i64
  %509 = getelementptr inbounds float, ptr %506, i64 %508
  %510 = load ptr, ptr %31, align 8, !tbaa !5
  %511 = load ptr, ptr %37, align 8, !tbaa !5
  %512 = load ptr, ptr %44, align 8, !tbaa !5
  %513 = getelementptr inbounds float, ptr %512, i64 1
  %514 = load ptr, ptr %45, align 8, !tbaa !5
  %515 = getelementptr inbounds i32, ptr %514, i64 1
  %516 = load ptr, ptr %46, align 8, !tbaa !5
  call void @spocon_(ptr noundef %504, ptr noundef %505, ptr noundef %509, ptr noundef %510, ptr noundef %69, ptr noundef %511, ptr noundef %513, ptr noundef %515, ptr noundef %516)
  %517 = load i32, ptr %66, align 4, !tbaa !9
  %518 = icmp ne i32 %517, 0
  br i1 %518, label %519, label %575

519:                                              ; preds = %491
  %520 = call i32 @ilaprec_(ptr noundef @.str.6)
  store i32 %520, ptr %72, align 4, !tbaa !9
  %521 = load ptr, ptr %24, align 8, !tbaa !5
  %522 = load ptr, ptr %26, align 8, !tbaa !5
  %523 = load ptr, ptr %27, align 8, !tbaa !5
  %524 = load ptr, ptr %28, align 8, !tbaa !5
  %525 = load i32, ptr %48, align 4, !tbaa !9
  %526 = sext i32 %525 to i64
  %527 = getelementptr inbounds float, ptr %524, i64 %526
  %528 = load ptr, ptr %29, align 8, !tbaa !5
  %529 = load ptr, ptr %30, align 8, !tbaa !5
  %530 = load i32, ptr %50, align 4, !tbaa !9
  %531 = sext i32 %530 to i64
  %532 = getelementptr inbounds float, ptr %529, i64 %531
  %533 = load ptr, ptr %31, align 8, !tbaa !5
  %534 = load ptr, ptr %32, align 8, !tbaa !5
  %535 = getelementptr inbounds float, ptr %534, i64 1
  %536 = load ptr, ptr %33, align 8, !tbaa !5
  %537 = load i32, ptr %52, align 4, !tbaa !9
  %538 = sext i32 %537 to i64
  %539 = getelementptr inbounds float, ptr %536, i64 %538
  %540 = load ptr, ptr %34, align 8, !tbaa !5
  %541 = load ptr, ptr %35, align 8, !tbaa !5
  %542 = load i32, ptr %54, align 4, !tbaa !9
  %543 = sext i32 %542 to i64
  %544 = getelementptr inbounds float, ptr %541, i64 %543
  %545 = load ptr, ptr %36, align 8, !tbaa !5
  %546 = load ptr, ptr %38, align 8, !tbaa !5
  %547 = getelementptr inbounds float, ptr %546, i64 1
  %548 = load ptr, ptr %40, align 8, !tbaa !5
  %549 = load i32, ptr %56, align 4, !tbaa !9
  %550 = sext i32 %549 to i64
  %551 = getelementptr inbounds float, ptr %548, i64 %550
  %552 = load ptr, ptr %41, align 8, !tbaa !5
  %553 = load i32, ptr %58, align 4, !tbaa !9
  %554 = sext i32 %553 to i64
  %555 = getelementptr inbounds float, ptr %552, i64 %554
  %556 = load ptr, ptr %44, align 8, !tbaa !5
  %557 = load ptr, ptr %26, align 8, !tbaa !5
  %558 = load i32, ptr %557, align 4, !tbaa !9
  %559 = add nsw i32 %558, 1
  %560 = sext i32 %559 to i64
  %561 = getelementptr inbounds float, ptr %556, i64 %560
  %562 = load ptr, ptr %44, align 8, !tbaa !5
  %563 = getelementptr inbounds float, ptr %562, i64 1
  %564 = load ptr, ptr %44, align 8, !tbaa !5
  %565 = load ptr, ptr %26, align 8, !tbaa !5
  %566 = load i32, ptr %565, align 4, !tbaa !9
  %567 = shl i32 %566, 1
  %568 = add nsw i32 %567, 1
  %569 = sext i32 %568 to i64
  %570 = getelementptr inbounds float, ptr %564, i64 %569
  %571 = load ptr, ptr %44, align 8, !tbaa !5
  %572 = getelementptr inbounds float, ptr %571, i64 1
  %573 = load ptr, ptr %37, align 8, !tbaa !5
  %574 = load ptr, ptr %46, align 8, !tbaa !5
  call void @sla_porfsx_extended_(ptr noundef %72, ptr noundef %521, ptr noundef %522, ptr noundef %523, ptr noundef %527, ptr noundef %528, ptr noundef %532, ptr noundef %533, ptr noundef %70, ptr noundef %535, ptr noundef %539, ptr noundef %540, ptr noundef %544, ptr noundef %545, ptr noundef %547, ptr noundef %74, ptr noundef %551, ptr noundef %555, ptr noundef %561, ptr noundef %563, ptr noundef %570, ptr noundef %572, ptr noundef %573, ptr noundef %73, ptr noundef %75, ptr noundef %63, ptr noundef %67, ptr noundef %574)
  br label %575

575:                                              ; preds = %519, %491
  store float 1.000000e+01, ptr %60, align 4, !tbaa !11
  %576 = load ptr, ptr %26, align 8, !tbaa !5
  %577 = load i32, ptr %576, align 4, !tbaa !9
  %578 = sitofp i32 %577 to float
  %579 = fpext float %578 to double
  %580 = call double @sqrt(double noundef %579) #4
  %581 = fptrunc double %580 to float
  store float %581, ptr %61, align 4, !tbaa !11
  %582 = load float, ptr %60, align 4, !tbaa !11
  %583 = load float, ptr %61, align 4, !tbaa !11
  %584 = fcmp oge float %582, %583
  br i1 %584, label %585, label %587

585:                                              ; preds = %575
  %586 = load float, ptr %60, align 4, !tbaa !11
  br label %589

587:                                              ; preds = %575
  %588 = load float, ptr %61, align 4, !tbaa !11
  br label %589

589:                                              ; preds = %587, %585
  %590 = phi float [ %586, %585 ], [ %588, %587 ]
  %591 = call float @slamch_(ptr noundef @.str)
  %592 = fmul float %590, %591
  store float %592, ptr %64, align 4, !tbaa !11
  %593 = load ptr, ptr %39, align 8, !tbaa !5
  %594 = load i32, ptr %593, align 4, !tbaa !9
  %595 = icmp sge i32 %594, 1
  br i1 %595, label %596, label %748

596:                                              ; preds = %589
  %597 = load i32, ptr %74, align 4, !tbaa !9
  %598 = icmp sge i32 %597, 1
  br i1 %598, label %599, label %748

599:                                              ; preds = %596
  %600 = load i32, ptr %70, align 4, !tbaa !9
  %601 = icmp ne i32 %600, 0
  br i1 %601, label %602, label %623

602:                                              ; preds = %599
  %603 = load ptr, ptr %24, align 8, !tbaa !5
  %604 = load ptr, ptr %26, align 8, !tbaa !5
  %605 = load ptr, ptr %28, align 8, !tbaa !5
  %606 = load i32, ptr %48, align 4, !tbaa !9
  %607 = sext i32 %606 to i64
  %608 = getelementptr inbounds float, ptr %605, i64 %607
  %609 = load ptr, ptr %29, align 8, !tbaa !5
  %610 = load ptr, ptr %30, align 8, !tbaa !5
  %611 = load i32, ptr %50, align 4, !tbaa !9
  %612 = sext i32 %611 to i64
  %613 = getelementptr inbounds float, ptr %610, i64 %612
  %614 = load ptr, ptr %31, align 8, !tbaa !5
  %615 = load ptr, ptr %32, align 8, !tbaa !5
  %616 = getelementptr inbounds float, ptr %615, i64 1
  %617 = load ptr, ptr %46, align 8, !tbaa !5
  %618 = load ptr, ptr %44, align 8, !tbaa !5
  %619 = getelementptr inbounds float, ptr %618, i64 1
  %620 = load ptr, ptr %45, align 8, !tbaa !5
  %621 = getelementptr inbounds i32, ptr %620, i64 1
  %622 = call float @sla_porcond_(ptr noundef %603, ptr noundef %604, ptr noundef %608, ptr noundef %609, ptr noundef %613, ptr noundef %614, ptr noundef @c_n1, ptr noundef %616, ptr noundef %617, ptr noundef %619, ptr noundef %621)
  store float %622, ptr %71, align 4, !tbaa !11
  br label %644

623:                                              ; preds = %599
  %624 = load ptr, ptr %24, align 8, !tbaa !5
  %625 = load ptr, ptr %26, align 8, !tbaa !5
  %626 = load ptr, ptr %28, align 8, !tbaa !5
  %627 = load i32, ptr %48, align 4, !tbaa !9
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds float, ptr %626, i64 %628
  %630 = load ptr, ptr %29, align 8, !tbaa !5
  %631 = load ptr, ptr %30, align 8, !tbaa !5
  %632 = load i32, ptr %50, align 4, !tbaa !9
  %633 = sext i32 %632 to i64
  %634 = getelementptr inbounds float, ptr %631, i64 %633
  %635 = load ptr, ptr %31, align 8, !tbaa !5
  %636 = load ptr, ptr %32, align 8, !tbaa !5
  %637 = getelementptr inbounds float, ptr %636, i64 1
  %638 = load ptr, ptr %46, align 8, !tbaa !5
  %639 = load ptr, ptr %44, align 8, !tbaa !5
  %640 = getelementptr inbounds float, ptr %639, i64 1
  %641 = load ptr, ptr %45, align 8, !tbaa !5
  %642 = getelementptr inbounds i32, ptr %641, i64 1
  %643 = call float @sla_porcond_(ptr noundef %624, ptr noundef %625, ptr noundef %629, ptr noundef %630, ptr noundef %634, ptr noundef %635, ptr noundef @c__0, ptr noundef %637, ptr noundef %638, ptr noundef %640, ptr noundef %642)
  store float %643, ptr %71, align 4, !tbaa !11
  br label %644

644:                                              ; preds = %623, %602
  %645 = load ptr, ptr %27, align 8, !tbaa !5
  %646 = load i32, ptr %645, align 4, !tbaa !9
  store i32 %646, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %68, align 4, !tbaa !9
  br label %647

647:                                              ; preds = %744, %644
  %648 = load i32, ptr %68, align 4, !tbaa !9
  %649 = load i32, ptr %59, align 4, !tbaa !9
  %650 = icmp sle i32 %648, %649
  br i1 %650, label %651, label %747

651:                                              ; preds = %647
  %652 = load ptr, ptr %39, align 8, !tbaa !5
  %653 = load i32, ptr %652, align 4, !tbaa !9
  %654 = icmp sge i32 %653, 2
  br i1 %654, label %655, label %673

655:                                              ; preds = %651
  %656 = load ptr, ptr %40, align 8, !tbaa !5
  %657 = load i32, ptr %68, align 4, !tbaa !9
  %658 = load i32, ptr %55, align 4, !tbaa !9
  %659 = shl i32 %658, 1
  %660 = add nsw i32 %657, %659
  %661 = sext i32 %660 to i64
  %662 = getelementptr inbounds float, ptr %656, i64 %661
  %663 = load float, ptr %662, align 4, !tbaa !11
  %664 = fcmp ogt float %663, 1.000000e+00
  br i1 %664, label %665, label %673

665:                                              ; preds = %655
  %666 = load ptr, ptr %40, align 8, !tbaa !5
  %667 = load i32, ptr %68, align 4, !tbaa !9
  %668 = load i32, ptr %55, align 4, !tbaa !9
  %669 = shl i32 %668, 1
  %670 = add nsw i32 %667, %669
  %671 = sext i32 %670 to i64
  %672 = getelementptr inbounds float, ptr %666, i64 %671
  store float 1.000000e+00, ptr %672, align 4, !tbaa !11
  br label %673

673:                                              ; preds = %665, %655, %651
  %674 = load float, ptr %71, align 4, !tbaa !11
  %675 = load float, ptr %62, align 4, !tbaa !11
  %676 = fcmp olt float %674, %675
  br i1 %676, label %677, label %703

677:                                              ; preds = %673
  %678 = load ptr, ptr %40, align 8, !tbaa !5
  %679 = load i32, ptr %68, align 4, !tbaa !9
  %680 = load i32, ptr %55, align 4, !tbaa !9
  %681 = shl i32 %680, 1
  %682 = add nsw i32 %679, %681
  %683 = sext i32 %682 to i64
  %684 = getelementptr inbounds float, ptr %678, i64 %683
  store float 1.000000e+00, ptr %684, align 4, !tbaa !11
  %685 = load ptr, ptr %40, align 8, !tbaa !5
  %686 = load i32, ptr %68, align 4, !tbaa !9
  %687 = load i32, ptr %55, align 4, !tbaa !9
  %688 = add nsw i32 %686, %687
  %689 = sext i32 %688 to i64
  %690 = getelementptr inbounds float, ptr %685, i64 %689
  store float 0.000000e+00, ptr %690, align 4, !tbaa !11
  %691 = load ptr, ptr %46, align 8, !tbaa !5
  %692 = load i32, ptr %691, align 4, !tbaa !9
  %693 = load ptr, ptr %26, align 8, !tbaa !5
  %694 = load i32, ptr %693, align 4, !tbaa !9
  %695 = icmp sle i32 %692, %694
  br i1 %695, label %696, label %702

696:                                              ; preds = %677
  %697 = load ptr, ptr %26, align 8, !tbaa !5
  %698 = load i32, ptr %697, align 4, !tbaa !9
  %699 = load i32, ptr %68, align 4, !tbaa !9
  %700 = add nsw i32 %698, %699
  %701 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 %700, ptr %701, align 4, !tbaa !9
  br label %702

702:                                              ; preds = %696, %677
  br label %730

703:                                              ; preds = %673
  %704 = load ptr, ptr %40, align 8, !tbaa !5
  %705 = load i32, ptr %68, align 4, !tbaa !9
  %706 = load i32, ptr %55, align 4, !tbaa !9
  %707 = shl i32 %706, 1
  %708 = add nsw i32 %705, %707
  %709 = sext i32 %708 to i64
  %710 = getelementptr inbounds float, ptr %704, i64 %709
  %711 = load float, ptr %710, align 4, !tbaa !11
  %712 = load float, ptr %64, align 4, !tbaa !11
  %713 = fcmp olt float %711, %712
  br i1 %713, label %714, label %729

714:                                              ; preds = %703
  %715 = load float, ptr %64, align 4, !tbaa !11
  %716 = load ptr, ptr %40, align 8, !tbaa !5
  %717 = load i32, ptr %68, align 4, !tbaa !9
  %718 = load i32, ptr %55, align 4, !tbaa !9
  %719 = shl i32 %718, 1
  %720 = add nsw i32 %717, %719
  %721 = sext i32 %720 to i64
  %722 = getelementptr inbounds float, ptr %716, i64 %721
  store float %715, ptr %722, align 4, !tbaa !11
  %723 = load ptr, ptr %40, align 8, !tbaa !5
  %724 = load i32, ptr %68, align 4, !tbaa !9
  %725 = load i32, ptr %55, align 4, !tbaa !9
  %726 = add nsw i32 %724, %725
  %727 = sext i32 %726 to i64
  %728 = getelementptr inbounds float, ptr %723, i64 %727
  store float 1.000000e+00, ptr %728, align 4, !tbaa !11
  br label %729

729:                                              ; preds = %714, %703
  br label %730

730:                                              ; preds = %729, %702
  %731 = load ptr, ptr %39, align 8, !tbaa !5
  %732 = load i32, ptr %731, align 4, !tbaa !9
  %733 = icmp sge i32 %732, 3
  br i1 %733, label %734, label %743

734:                                              ; preds = %730
  %735 = load float, ptr %71, align 4, !tbaa !11
  %736 = load ptr, ptr %40, align 8, !tbaa !5
  %737 = load i32, ptr %68, align 4, !tbaa !9
  %738 = load i32, ptr %55, align 4, !tbaa !9
  %739 = mul nsw i32 %738, 3
  %740 = add nsw i32 %737, %739
  %741 = sext i32 %740 to i64
  %742 = getelementptr inbounds float, ptr %736, i64 %741
  store float %735, ptr %742, align 4, !tbaa !11
  br label %743

743:                                              ; preds = %734, %730
  br label %744

744:                                              ; preds = %743
  %745 = load i32, ptr %68, align 4, !tbaa !9
  %746 = add nsw i32 %745, 1
  store i32 %746, ptr %68, align 4, !tbaa !9
  br label %647, !llvm.loop !17

747:                                              ; preds = %647
  br label %748

748:                                              ; preds = %747, %596, %589
  %749 = load ptr, ptr %39, align 8, !tbaa !5
  %750 = load i32, ptr %749, align 4, !tbaa !9
  %751 = icmp sge i32 %750, 1
  br i1 %751, label %752, label %908

752:                                              ; preds = %748
  %753 = load i32, ptr %74, align 4, !tbaa !9
  %754 = icmp sge i32 %753, 2
  br i1 %754, label %755, label %908

755:                                              ; preds = %752
  %756 = call float @slamch_(ptr noundef @.str)
  %757 = fpext float %756 to double
  %758 = call double @sqrt(double noundef %757) #4
  %759 = fptrunc double %758 to float
  store float %759, ptr %76, align 4, !tbaa !11
  %760 = load ptr, ptr %27, align 8, !tbaa !5
  %761 = load i32, ptr %760, align 4, !tbaa !9
  store i32 %761, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %68, align 4, !tbaa !9
  br label %762

762:                                              ; preds = %904, %755
  %763 = load i32, ptr %68, align 4, !tbaa !9
  %764 = load i32, ptr %59, align 4, !tbaa !9
  %765 = icmp sle i32 %763, %764
  br i1 %765, label %766, label %907

766:                                              ; preds = %762
  %767 = load ptr, ptr %41, align 8, !tbaa !5
  %768 = load i32, ptr %68, align 4, !tbaa !9
  %769 = load i32, ptr %57, align 4, !tbaa !9
  %770 = shl i32 %769, 1
  %771 = add nsw i32 %768, %770
  %772 = sext i32 %771 to i64
  %773 = getelementptr inbounds float, ptr %767, i64 %772
  %774 = load float, ptr %773, align 4, !tbaa !11
  %775 = load float, ptr %76, align 4, !tbaa !11
  %776 = fcmp olt float %774, %775
  br i1 %776, label %777, label %803

777:                                              ; preds = %766
  %778 = load ptr, ptr %24, align 8, !tbaa !5
  %779 = load ptr, ptr %26, align 8, !tbaa !5
  %780 = load ptr, ptr %28, align 8, !tbaa !5
  %781 = load i32, ptr %48, align 4, !tbaa !9
  %782 = sext i32 %781 to i64
  %783 = getelementptr inbounds float, ptr %780, i64 %782
  %784 = load ptr, ptr %29, align 8, !tbaa !5
  %785 = load ptr, ptr %30, align 8, !tbaa !5
  %786 = load i32, ptr %50, align 4, !tbaa !9
  %787 = sext i32 %786 to i64
  %788 = getelementptr inbounds float, ptr %785, i64 %787
  %789 = load ptr, ptr %31, align 8, !tbaa !5
  %790 = load ptr, ptr %35, align 8, !tbaa !5
  %791 = load i32, ptr %68, align 4, !tbaa !9
  %792 = load i32, ptr %53, align 4, !tbaa !9
  %793 = mul nsw i32 %791, %792
  %794 = add nsw i32 %793, 1
  %795 = sext i32 %794 to i64
  %796 = getelementptr inbounds float, ptr %790, i64 %795
  %797 = load ptr, ptr %46, align 8, !tbaa !5
  %798 = load ptr, ptr %44, align 8, !tbaa !5
  %799 = getelementptr inbounds float, ptr %798, i64 1
  %800 = load ptr, ptr %45, align 8, !tbaa !5
  %801 = getelementptr inbounds i32, ptr %800, i64 1
  %802 = call float @sla_porcond_(ptr noundef %778, ptr noundef %779, ptr noundef %783, ptr noundef %784, ptr noundef %788, ptr noundef %789, ptr noundef @c__1, ptr noundef %796, ptr noundef %797, ptr noundef %799, ptr noundef %801)
  store float %802, ptr %71, align 4, !tbaa !11
  br label %804

803:                                              ; preds = %766
  store float 0.000000e+00, ptr %71, align 4, !tbaa !11
  br label %804

804:                                              ; preds = %803, %777
  %805 = load ptr, ptr %39, align 8, !tbaa !5
  %806 = load i32, ptr %805, align 4, !tbaa !9
  %807 = icmp sge i32 %806, 2
  br i1 %807, label %808, label %826

808:                                              ; preds = %804
  %809 = load ptr, ptr %41, align 8, !tbaa !5
  %810 = load i32, ptr %68, align 4, !tbaa !9
  %811 = load i32, ptr %57, align 4, !tbaa !9
  %812 = shl i32 %811, 1
  %813 = add nsw i32 %810, %812
  %814 = sext i32 %813 to i64
  %815 = getelementptr inbounds float, ptr %809, i64 %814
  %816 = load float, ptr %815, align 4, !tbaa !11
  %817 = fcmp ogt float %816, 1.000000e+00
  br i1 %817, label %818, label %826

818:                                              ; preds = %808
  %819 = load ptr, ptr %41, align 8, !tbaa !5
  %820 = load i32, ptr %68, align 4, !tbaa !9
  %821 = load i32, ptr %57, align 4, !tbaa !9
  %822 = shl i32 %821, 1
  %823 = add nsw i32 %820, %822
  %824 = sext i32 %823 to i64
  %825 = getelementptr inbounds float, ptr %819, i64 %824
  store float 1.000000e+00, ptr %825, align 4, !tbaa !11
  br label %826

826:                                              ; preds = %818, %808, %804
  %827 = load float, ptr %71, align 4, !tbaa !11
  %828 = load float, ptr %62, align 4, !tbaa !11
  %829 = fcmp olt float %827, %828
  br i1 %829, label %830, label %863

830:                                              ; preds = %826
  %831 = load ptr, ptr %41, align 8, !tbaa !5
  %832 = load i32, ptr %68, align 4, !tbaa !9
  %833 = load i32, ptr %57, align 4, !tbaa !9
  %834 = shl i32 %833, 1
  %835 = add nsw i32 %832, %834
  %836 = sext i32 %835 to i64
  %837 = getelementptr inbounds float, ptr %831, i64 %836
  store float 1.000000e+00, ptr %837, align 4, !tbaa !11
  %838 = load ptr, ptr %41, align 8, !tbaa !5
  %839 = load i32, ptr %68, align 4, !tbaa !9
  %840 = load i32, ptr %57, align 4, !tbaa !9
  %841 = add nsw i32 %839, %840
  %842 = sext i32 %841 to i64
  %843 = getelementptr inbounds float, ptr %838, i64 %842
  store float 0.000000e+00, ptr %843, align 4, !tbaa !11
  %844 = load ptr, ptr %43, align 8, !tbaa !5
  %845 = getelementptr inbounds float, ptr %844, i64 3
  %846 = load float, ptr %845, align 4, !tbaa !11
  %847 = fcmp oeq float %846, 1.000000e+00
  br i1 %847, label %848, label %862

848:                                              ; preds = %830
  %849 = load ptr, ptr %46, align 8, !tbaa !5
  %850 = load i32, ptr %849, align 4, !tbaa !9
  %851 = load ptr, ptr %26, align 8, !tbaa !5
  %852 = load i32, ptr %851, align 4, !tbaa !9
  %853 = load i32, ptr %68, align 4, !tbaa !9
  %854 = add nsw i32 %852, %853
  %855 = icmp slt i32 %850, %854
  br i1 %855, label %856, label %862

856:                                              ; preds = %848
  %857 = load ptr, ptr %26, align 8, !tbaa !5
  %858 = load i32, ptr %857, align 4, !tbaa !9
  %859 = load i32, ptr %68, align 4, !tbaa !9
  %860 = add nsw i32 %858, %859
  %861 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 %860, ptr %861, align 4, !tbaa !9
  br label %862

862:                                              ; preds = %856, %848, %830
  br label %890

863:                                              ; preds = %826
  %864 = load ptr, ptr %41, align 8, !tbaa !5
  %865 = load i32, ptr %68, align 4, !tbaa !9
  %866 = load i32, ptr %57, align 4, !tbaa !9
  %867 = shl i32 %866, 1
  %868 = add nsw i32 %865, %867
  %869 = sext i32 %868 to i64
  %870 = getelementptr inbounds float, ptr %864, i64 %869
  %871 = load float, ptr %870, align 4, !tbaa !11
  %872 = load float, ptr %64, align 4, !tbaa !11
  %873 = fcmp olt float %871, %872
  br i1 %873, label %874, label %889

874:                                              ; preds = %863
  %875 = load float, ptr %64, align 4, !tbaa !11
  %876 = load ptr, ptr %41, align 8, !tbaa !5
  %877 = load i32, ptr %68, align 4, !tbaa !9
  %878 = load i32, ptr %57, align 4, !tbaa !9
  %879 = shl i32 %878, 1
  %880 = add nsw i32 %877, %879
  %881 = sext i32 %880 to i64
  %882 = getelementptr inbounds float, ptr %876, i64 %881
  store float %875, ptr %882, align 4, !tbaa !11
  %883 = load ptr, ptr %41, align 8, !tbaa !5
  %884 = load i32, ptr %68, align 4, !tbaa !9
  %885 = load i32, ptr %57, align 4, !tbaa !9
  %886 = add nsw i32 %884, %885
  %887 = sext i32 %886 to i64
  %888 = getelementptr inbounds float, ptr %883, i64 %887
  store float 1.000000e+00, ptr %888, align 4, !tbaa !11
  br label %889

889:                                              ; preds = %874, %863
  br label %890

890:                                              ; preds = %889, %862
  %891 = load ptr, ptr %39, align 8, !tbaa !5
  %892 = load i32, ptr %891, align 4, !tbaa !9
  %893 = icmp sge i32 %892, 3
  br i1 %893, label %894, label %903

894:                                              ; preds = %890
  %895 = load float, ptr %71, align 4, !tbaa !11
  %896 = load ptr, ptr %41, align 8, !tbaa !5
  %897 = load i32, ptr %68, align 4, !tbaa !9
  %898 = load i32, ptr %57, align 4, !tbaa !9
  %899 = mul nsw i32 %898, 3
  %900 = add nsw i32 %897, %899
  %901 = sext i32 %900 to i64
  %902 = getelementptr inbounds float, ptr %896, i64 %901
  store float %895, ptr %902, align 4, !tbaa !11
  br label %903

903:                                              ; preds = %894, %890
  br label %904

904:                                              ; preds = %903
  %905 = load i32, ptr %68, align 4, !tbaa !9
  %906 = add nsw i32 %905, 1
  store i32 %906, ptr %68, align 4, !tbaa !9
  br label %762, !llvm.loop !18

907:                                              ; preds = %762
  br label %908

908:                                              ; preds = %907, %752, %748
  store i32 1, ptr %77, align 4
  br label %909

909:                                              ; preds = %908, %419, %335
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #4
  ret void
}

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

declare float @slamch_(ptr noundef) #2

declare i32 @lsame_(ptr noundef, ptr noundef) #2

declare i32 @xerbla_(ptr noundef, ptr noundef, i32 noundef) #2

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

declare void @spocon_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @ilaprec_(ptr noundef) #2

declare void @sla_porfsx_extended_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

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

declare float @sla_porcond_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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 = { 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 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"float", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = !{!7, !7, i64 0}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}


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

@.str = external hidden unnamed_addr constant [8 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@c__0 = external hidden global i32, align 4
@c__1 = external hidden global i32, align 4

; Function Attrs: nounwind uwtable
define dso_local void @sporfsx_(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, ptr noundef %10, ptr noundef %11, ptr noundef %12, ptr noundef %13, ptr noundef %14, ptr nocapture noundef readonly %15, ptr noundef %16, ptr noundef %17, ptr nocapture noundef readonly %18, ptr nocapture noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22) local_unnamed_addr #0 {
  %24 = ptrtoint ptr %17 to i64
  %25 = ptrtoint ptr %14 to i64
  %26 = ptrtoint ptr %16 to i64
  %27 = ptrtoint ptr %17 to i64
  %28 = ptrtoint ptr %14 to i64
  %29 = ptrtoint ptr %16 to i64
  %30 = alloca i32, align 4
  %31 = alloca float, align 4
  %32 = alloca [1 x i8], align 1
  %33 = alloca i32, align 4
  %34 = alloca float, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #5
  %40 = load i32, ptr %3, align 4, !tbaa !5
  %narrow329 = xor i32 %40, -1
  %41 = sext i32 %narrow329 to i64
  %42 = getelementptr inbounds float, ptr %17, i64 %41
  %43 = getelementptr inbounds float, ptr %16, i64 %41
  %44 = load i32, ptr %12, align 4, !tbaa !5
  %narrow = xor i32 %44, -1
  %45 = sext i32 %narrow to i64
  %46 = getelementptr inbounds float, ptr %11, i64 %45
  %47 = getelementptr inbounds i8, ptr %14, i64 -4
  %48 = getelementptr inbounds i8, ptr %20, i64 -4
  store i32 0, ptr %22, align 4, !tbaa !5
  %49 = load i32, ptr %18, align 4, !tbaa !5
  %50 = icmp sgt i32 %49, 0
  br i1 %50, label %51, label %57

51:                                               ; preds = %23
  %52 = load float, ptr %19, align 4, !tbaa !9
  %53 = fcmp olt float %52, 0.000000e+00
  br i1 %53, label %54, label %55

54:                                               ; preds = %51
  store float 1.000000e+00, ptr %19, align 4, !tbaa !9
  br label %57

55:                                               ; preds = %51
  %56 = fptosi float %52 to i32
  br label %57

57:                                               ; preds = %54, %55, %23
  %.0308 = phi i32 [ 1, %54 ], [ %56, %55 ], [ 1, %23 ]
  %58 = load i32, ptr %2, align 4, !tbaa !5
  %59 = sitofp i32 %58 to float
  %60 = tail call float @slamch_(ptr noundef nonnull @.str) #5
  %61 = fmul float %60, %59
  store i32 10, ptr %37, align 4, !tbaa !5
  store float 5.000000e-01, ptr %39, align 4, !tbaa !9
  store float 2.500000e-01, ptr %31, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !5
  %62 = load i32, ptr %18, align 4, !tbaa !5
  %63 = icmp sgt i32 %62, 1
  br i1 %63, label %64, label %.thread

64:                                               ; preds = %57
  %65 = getelementptr inbounds i8, ptr %19, i64 4
  %66 = load float, ptr %65, align 4, !tbaa !9
  %67 = fcmp olt float %66, 0.000000e+00
  br i1 %67, label %68, label %69

68:                                               ; preds = %64
  store float 1.000000e+01, ptr %65, align 4, !tbaa !9
  br label %71

69:                                               ; preds = %64
  %70 = fptosi float %66 to i32
  store i32 %70, ptr %37, align 4, !tbaa !5
  br label %71

71:                                               ; preds = %68, %69
  %.not = icmp eq i32 %62, 2
  br i1 %.not, label %.thread, label %72

72:                                               ; preds = %71
  %73 = getelementptr inbounds i8, ptr %19, i64 8
  %74 = load float, ptr %73, align 4, !tbaa !9
  %75 = fcmp olt float %74, 0.000000e+00
  br i1 %75, label %76, label %77

76:                                               ; preds = %72
  store float 1.000000e+00, ptr %73, align 4, !tbaa !9
  br label %.thread

77:                                               ; preds = %72
  %78 = fcmp oeq float %74, 0.000000e+00
  %79 = zext i1 %78 to i32
  store i32 %79, ptr %33, align 4, !tbaa !5
  br label %.thread

.thread:                                          ; preds = %57, %77, %76, %71
  %80 = phi i32 [ 0, %57 ], [ %79, %77 ], [ 0, %76 ], [ 0, %71 ]
  %81 = icmp eq i32 %.0308, 0
  br i1 %81, label %85, label %82

82:                                               ; preds = %.thread
  %83 = load i32, ptr %15, align 4, !tbaa !5
  %84 = icmp eq i32 %83, 0
  br i1 %84, label %85, label %86

85:                                               ; preds = %82, %.thread
  store i32 0, ptr %38, align 4, !tbaa !5
  br label %89

86:                                               ; preds = %82
  %.not321 = icmp eq i32 %80, 0
  br i1 %.not321, label %88, label %87

87:                                               ; preds = %86
  store i32 1, ptr %38, align 4, !tbaa !5
  br label %89

88:                                               ; preds = %86
  store i32 2, ptr %38, align 4, !tbaa !5
  br label %89

89:                                               ; preds = %87, %88, %85
  %90 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.1) #5
  store i32 %90, ptr %35, align 4, !tbaa !5
  %91 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.2) #5
  %.not322 = icmp eq i32 %91, 0
  br i1 %.not322, label %92, label %94

92:                                               ; preds = %89
  %93 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.3) #5
  %.not323 = icmp eq i32 %93, 0
  br i1 %.not323, label %.thread339.sink.split, label %94

94:                                               ; preds = %92, %89
  %.not324 = icmp eq i32 %90, 0
  br i1 %.not324, label %95, label %97

95:                                               ; preds = %94
  %96 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.4) #5
  %.not325 = icmp eq i32 %96, 0
  br i1 %.not325, label %.thread339.sink.split, label %97

97:                                               ; preds = %95, %94
  %98 = load i32, ptr %2, align 4, !tbaa !5
  %99 = icmp slt i32 %98, 0
  br i1 %99, label %.thread339.sink.split, label %100

100:                                              ; preds = %97
  %101 = load i32, ptr %3, align 4, !tbaa !5
  %102 = icmp slt i32 %101, 0
  br i1 %102, label %.thread339.sink.split, label %103

103:                                              ; preds = %100
  %104 = load i32, ptr %5, align 4, !tbaa !5
  %spec.select = tail call i32 @llvm.umax.i32(i32 %98, i32 1)
  %105 = icmp slt i32 %104, %spec.select
  br i1 %105, label %.thread339.sink.split, label %106

106:                                              ; preds = %103
  %107 = load i32, ptr %7, align 4, !tbaa !5
  %108 = icmp slt i32 %107, %spec.select
  br i1 %108, label %.thread339.sink.split, label %109

109:                                              ; preds = %106
  %110 = load i32, ptr %10, align 4, !tbaa !5
  %111 = icmp slt i32 %110, %spec.select
  br i1 %111, label %.thread339.sink.split, label %112

112:                                              ; preds = %109
  %113 = load i32, ptr %12, align 4, !tbaa !5
  %114 = icmp slt i32 %113, %spec.select
  br i1 %114, label %.thread339.sink.split, label %115

115:                                              ; preds = %112
  %.pr = load i32, ptr %22, align 4, !tbaa !5
  %.not326 = icmp eq i32 %.pr, 0
  br i1 %.not326, label %119, label %.thread339

.thread339.sink.split:                            ; preds = %112, %109, %106, %103, %100, %97, %95, %92
  %.sink = phi i32 [ -1, %92 ], [ -2, %95 ], [ -3, %97 ], [ -4, %100 ], [ -6, %103 ], [ -8, %106 ], [ -11, %109 ], [ -13, %112 ]
  store i32 %.sink, ptr %22, align 4, !tbaa !5
  br label %.thread339

.thread339:                                       ; preds = %.thread339.sink.split, %115
  %116 = phi i32 [ %.pr, %115 ], [ %.sink, %.thread339.sink.split ]
  %117 = sub nsw i32 0, %116
  store i32 %117, ptr %30, align 4, !tbaa !5
  %118 = call i32 @xerbla_(ptr noundef nonnull @.str.5, ptr noundef nonnull %30, i32 noundef 7) #5
  br label %.loopexit

119:                                              ; preds = %115
  %120 = icmp eq i32 %98, 0
  br i1 %120, label %123, label %121

121:                                              ; preds = %119
  %122 = icmp eq i32 %101, 0
  br i1 %122, label %.thread404, label %.lr.ph

.thread404:                                       ; preds = %121
  store float 1.000000e+00, ptr %13, align 4, !tbaa !9
  br label %.loopexit

123:                                              ; preds = %119
  store float 1.000000e+00, ptr %13, align 4, !tbaa !9
  %.not335361 = icmp eq i32 %101, 0
  br i1 %.not335361, label %.loopexit, label %.lr.ph364

.lr.ph364:                                        ; preds = %123
  %124 = load i32, ptr %15, align 4, !tbaa !5
  %125 = icmp sgt i32 %124, 0
  %126 = shl i32 %40, 1
  %127 = icmp ugt i32 %124, 2
  %128 = mul nsw i32 %40, 3
  br i1 %125, label %.lr.ph364.split.us, label %.thread343.preheader

.thread343.preheader:                             ; preds = %.lr.ph364
  %129 = zext nneg i32 %101 to i64
  %130 = shl nuw nsw i64 %129, 2
  tail call void @llvm.memset.p0.i64(ptr align 4 %14, i8 0, i64 %130, i1 false), !tbaa !9
  br label %.loopexit

.lr.ph364.split.us:                               ; preds = %.lr.ph364
  %.not348 = icmp eq i32 %124, 1
  %131 = sext i32 %40 to i64
  br i1 %.not348, label %.thread343.us.us.preheader, label %.lr.ph364.split.us.split.preheader

.lr.ph364.split.us.split.preheader:               ; preds = %.lr.ph364.split.us
  %132 = sext i32 %126 to i64
  %133 = sext i32 %128 to i64
  %134 = add nuw i32 %101, 1
  %wide.trip.count395 = zext i32 %134 to i64
  br label %.lr.ph364.split.us.split

.thread343.us.us.preheader:                       ; preds = %.lr.ph364.split.us
  %135 = add nuw i32 %101, 1
  %wide.trip.count400 = zext i32 %135 to i64
  %136 = zext nneg i32 %101 to i64
  %min.iters.check458 = icmp ult i32 %101, 20
  br i1 %min.iters.check458, label %.thread343.us.us.preheader469, label %vector.memcheck450

vector.memcheck450:                               ; preds = %.thread343.us.us.preheader
  %137 = shl nsw i64 %131, 2
  %138 = add i64 %137, %26
  %139 = shl nsw i64 %41, 2
  %140 = add i64 %138, %139
  %141 = add i64 %140, 4
  %142 = sub i64 %141, %25
  %diff.check451 = icmp ult i64 %142, 32
  %143 = add i64 %137, %24
  %144 = add i64 %143, %139
  %145 = add i64 %144, 4
  %146 = sub i64 %145, %25
  %diff.check452 = icmp ult i64 %146, 32
  %conflict.rdx453 = or i1 %diff.check451, %diff.check452
  %147 = sub i64 %24, %26
  %diff.check454 = icmp ult i64 %147, 32
  %conflict.rdx455 = or i1 %conflict.rdx453, %diff.check454
  br i1 %conflict.rdx455, label %.thread343.us.us.preheader469, label %vector.ph459

vector.ph459:                                     ; preds = %vector.memcheck450
  %n.vec461 = and i64 %136, 2147483640
  %ind.end462 = or disjoint i64 %n.vec461, 1
  br label %vector.body464

vector.body464:                                   ; preds = %vector.body464, %vector.ph459
  %index465 = phi i64 [ 0, %vector.ph459 ], [ %index.next467, %vector.body464 ]
  %offset.idx466 = or disjoint i64 %index465, 1
  %148 = getelementptr float, ptr %14, i64 %index465
  %149 = getelementptr inbounds i8, ptr %148, i64 16
  store <4 x float> zeroinitializer, ptr %148, align 4, !tbaa !9
  store <4 x float> zeroinitializer, ptr %149, align 4, !tbaa !9
  %150 = add nsw i64 %offset.idx466, %131
  %151 = getelementptr inbounds float, ptr %43, i64 %150
  %152 = getelementptr inbounds i8, ptr %151, i64 16
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %151, align 4, !tbaa !9
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %152, align 4, !tbaa !9
  %153 = getelementptr inbounds float, ptr %42, i64 %150
  %154 = getelementptr inbounds i8, ptr %153, i64 16
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %153, align 4, !tbaa !9
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %154, align 4, !tbaa !9
  %index.next467 = add nuw i64 %index465, 8
  %155 = icmp eq i64 %index.next467, %n.vec461
  br i1 %155, label %middle.block456, label %vector.body464, !llvm.loop !11

middle.block456:                                  ; preds = %vector.body464
  %cmp.n468 = icmp eq i64 %n.vec461, %136
  br i1 %cmp.n468, label %.loopexit, label %.thread343.us.us.preheader469

.thread343.us.us.preheader469:                    ; preds = %middle.block456, %vector.memcheck450, %.thread343.us.us.preheader
  %indvars.iv397.ph = phi i64 [ 1, %vector.memcheck450 ], [ 1, %.thread343.us.us.preheader ], [ %ind.end462, %middle.block456 ]
  %156 = zext nneg i32 %101 to i64
  %157 = and i32 %101, 1
  %lcmp.mod477.not = icmp eq i32 %157, 0
  br i1 %lcmp.mod477.not, label %.thread343.us.us.prol.loopexit, label %.thread343.us.us.prol

.thread343.us.us.prol:                            ; preds = %.thread343.us.us.preheader469
  %158 = getelementptr inbounds float, ptr %47, i64 %indvars.iv397.ph
  store float 0.000000e+00, ptr %158, align 4, !tbaa !9
  %159 = add nsw i64 %indvars.iv397.ph, %131
  %160 = getelementptr inbounds float, ptr %43, i64 %159
  store float 1.000000e+00, ptr %160, align 4, !tbaa !9
  %161 = getelementptr inbounds float, ptr %42, i64 %159
  store float 1.000000e+00, ptr %161, align 4, !tbaa !9
  %indvars.iv.next398.prol = add nuw nsw i64 %indvars.iv397.ph, 1
  br label %.thread343.us.us.prol.loopexit

.thread343.us.us.prol.loopexit:                   ; preds = %.thread343.us.us.prol, %.thread343.us.us.preheader469
  %indvars.iv397.unr = phi i64 [ %indvars.iv397.ph, %.thread343.us.us.preheader469 ], [ %indvars.iv.next398.prol, %.thread343.us.us.prol ]
  %162 = icmp eq i64 %indvars.iv397.ph, %156
  br i1 %162, label %.loopexit, label %.thread343.us.us

.thread343.us.us:                                 ; preds = %.thread343.us.us.prol.loopexit, %.thread343.us.us
  %indvars.iv397 = phi i64 [ %indvars.iv.next398.1, %.thread343.us.us ], [ %indvars.iv397.unr, %.thread343.us.us.prol.loopexit ]
  %163 = getelementptr inbounds float, ptr %47, i64 %indvars.iv397
  store float 0.000000e+00, ptr %163, align 4, !tbaa !9
  %164 = add nsw i64 %indvars.iv397, %131
  %165 = getelementptr inbounds float, ptr %43, i64 %164
  store float 1.000000e+00, ptr %165, align 4, !tbaa !9
  %166 = getelementptr inbounds float, ptr %42, i64 %164
  store float 1.000000e+00, ptr %166, align 4, !tbaa !9
  %indvars.iv.next398 = add nuw nsw i64 %indvars.iv397, 1
  %167 = getelementptr float, ptr %14, i64 %indvars.iv397
  store float 0.000000e+00, ptr %167, align 4, !tbaa !9
  %168 = add nsw i64 %indvars.iv.next398, %131
  %169 = getelementptr inbounds float, ptr %43, i64 %168
  store float 1.000000e+00, ptr %169, align 4, !tbaa !9
  %170 = getelementptr inbounds float, ptr %42, i64 %168
  store float 1.000000e+00, ptr %170, align 4, !tbaa !9
  %indvars.iv.next398.1 = add nuw nsw i64 %indvars.iv397, 2
  %exitcond401.not.1 = icmp eq i64 %indvars.iv.next398.1, %wide.trip.count400
  br i1 %exitcond401.not.1, label %.loopexit, label %.thread343.us.us, !llvm.loop !15

.lr.ph364.split.us.split:                         ; preds = %.lr.ph364.split.us.split.preheader, %.thread343.us
  %indvars.iv392 = phi i64 [ 1, %.lr.ph364.split.us.split.preheader ], [ %indvars.iv.next393, %.thread343.us ]
  %171 = getelementptr inbounds float, ptr %47, i64 %indvars.iv392
  store float 0.000000e+00, ptr %171, align 4, !tbaa !9
  %172 = add nsw i64 %indvars.iv392, %131
  %173 = getelementptr inbounds float, ptr %43, i64 %172
  store float 1.000000e+00, ptr %173, align 4, !tbaa !9
  %174 = getelementptr inbounds float, ptr %42, i64 %172
  store float 1.000000e+00, ptr %174, align 4, !tbaa !9
  %175 = add nsw i64 %indvars.iv392, %132
  %176 = getelementptr inbounds float, ptr %43, i64 %175
  store float 0.000000e+00, ptr %176, align 4, !tbaa !9
  %177 = getelementptr inbounds float, ptr %42, i64 %175
  store float 0.000000e+00, ptr %177, align 4, !tbaa !9
  br i1 %127, label %178, label %.thread343.us

178:                                              ; preds = %.lr.ph364.split.us.split
  %179 = add nsw i64 %indvars.iv392, %133
  %180 = getelementptr inbounds float, ptr %43, i64 %179
  store float 1.000000e+00, ptr %180, align 4, !tbaa !9
  %181 = getelementptr inbounds float, ptr %42, i64 %179
  store float 1.000000e+00, ptr %181, align 4, !tbaa !9
  br label %.thread343.us

.thread343.us:                                    ; preds = %178, %.lr.ph364.split.us.split
  %indvars.iv.next393 = add nuw nsw i64 %indvars.iv392, 1
  %exitcond396.not = icmp eq i64 %indvars.iv.next393, %wide.trip.count395
  br i1 %exitcond396.not, label %.loopexit, label %.lr.ph364.split.us.split, !llvm.loop !16

.lr.ph:                                           ; preds = %121
  store float 0.000000e+00, ptr %13, align 4, !tbaa !9
  %182 = load i32, ptr %15, align 4, !tbaa !5
  %183 = icmp sgt i32 %182, 0
  %184 = shl i32 %40, 1
  %185 = icmp ugt i32 %182, 2
  %186 = mul nsw i32 %40, 3
  br i1 %183, label %.lr.ph.split.us, label %.thread346.preheader

.thread346.preheader:                             ; preds = %.lr.ph
  %187 = add nuw i32 %101, 1
  %wide.trip.count = zext i32 %187 to i64
  %188 = zext nneg i32 %101 to i64
  %min.iters.check = icmp ult i32 %101, 8
  br i1 %min.iters.check, label %.thread346.preheader474, label %vector.ph

.thread346.preheader474:                          ; preds = %middle.block, %.thread346.preheader
  %indvars.iv.ph = phi i64 [ 1, %.thread346.preheader ], [ %ind.end, %middle.block ]
  br label %.thread346

vector.ph:                                        ; preds = %.thread346.preheader
  %n.vec = and i64 %188, 2147483640
  %ind.end = or disjoint i64 %n.vec, 1
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %189 = getelementptr float, ptr %14, i64 %index
  %190 = getelementptr inbounds i8, ptr %189, i64 16
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %189, align 4, !tbaa !9
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %190, align 4, !tbaa !9
  %index.next = add nuw i64 %index, 8
  %191 = icmp eq i64 %index.next, %n.vec
  br i1 %191, label %middle.block, label %vector.body, !llvm.loop !17

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %n.vec, %188
  br i1 %cmp.n, label %._crit_edge, label %.thread346.preheader474

.lr.ph.split.us:                                  ; preds = %.lr.ph
  %.not347 = icmp eq i32 %182, 1
  %192 = sext i32 %40 to i64
  br i1 %.not347, label %.thread346.us.us.preheader, label %.lr.ph.split.us.split.preheader

.lr.ph.split.us.split.preheader:                  ; preds = %.lr.ph.split.us
  %193 = sext i32 %184 to i64
  %194 = sext i32 %186 to i64
  %195 = add nuw i32 %101, 1
  %wide.trip.count374 = zext i32 %195 to i64
  br label %.lr.ph.split.us.split

.thread346.us.us.preheader:                       ; preds = %.lr.ph.split.us
  %196 = add nuw i32 %101, 1
  %wide.trip.count379 = zext i32 %196 to i64
  %197 = zext nneg i32 %101 to i64
  %min.iters.check439 = icmp ult i32 %101, 20
  br i1 %min.iters.check439, label %.thread346.us.us.preheader472, label %vector.memcheck

vector.memcheck:                                  ; preds = %.thread346.us.us.preheader
  %198 = shl nsw i64 %192, 2
  %199 = add i64 %198, %29
  %200 = shl nsw i64 %41, 2
  %201 = add i64 %199, %200
  %202 = add i64 %201, 4
  %203 = sub i64 %202, %28
  %diff.check = icmp ult i64 %203, 32
  %204 = add i64 %198, %27
  %205 = add i64 %204, %200
  %206 = add i64 %205, 4
  %207 = sub i64 %206, %28
  %diff.check434 = icmp ult i64 %207, 32
  %conflict.rdx = or i1 %diff.check, %diff.check434
  %208 = sub i64 %27, %29
  %diff.check435 = icmp ult i64 %208, 32
  %conflict.rdx436 = or i1 %conflict.rdx, %diff.check435
  br i1 %conflict.rdx436, label %.thread346.us.us.preheader472, label %vector.ph440

vector.ph440:                                     ; preds = %vector.memcheck
  %n.vec442 = and i64 %197, 2147483640
  %ind.end443 = or disjoint i64 %n.vec442, 1
  br label %vector.body445

vector.body445:                                   ; preds = %vector.body445, %vector.ph440
  %index446 = phi i64 [ 0, %vector.ph440 ], [ %index.next448, %vector.body445 ]
  %offset.idx447 = or disjoint i64 %index446, 1
  %209 = getelementptr float, ptr %14, i64 %index446
  %210 = getelementptr inbounds i8, ptr %209, i64 16
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %209, align 4, !tbaa !9
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %210, align 4, !tbaa !9
  %211 = add nsw i64 %offset.idx447, %192
  %212 = getelementptr inbounds float, ptr %43, i64 %211
  %213 = getelementptr inbounds i8, ptr %212, i64 16
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %212, align 4, !tbaa !9
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %213, align 4, !tbaa !9
  %214 = getelementptr inbounds float, ptr %42, i64 %211
  %215 = getelementptr inbounds i8, ptr %214, i64 16
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %214, align 4, !tbaa !9
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %215, align 4, !tbaa !9
  %index.next448 = add nuw i64 %index446, 8
  %216 = icmp eq i64 %index.next448, %n.vec442
  br i1 %216, label %middle.block437, label %vector.body445, !llvm.loop !18

middle.block437:                                  ; preds = %vector.body445
  %cmp.n449 = icmp eq i64 %n.vec442, %197
  br i1 %cmp.n449, label %._crit_edge, label %.thread346.us.us.preheader472

.thread346.us.us.preheader472:                    ; preds = %middle.block437, %vector.memcheck, %.thread346.us.us.preheader
  %indvars.iv376.ph = phi i64 [ 1, %vector.memcheck ], [ 1, %.thread346.us.us.preheader ], [ %ind.end443, %middle.block437 ]
  %217 = zext nneg i32 %101 to i64
  %218 = and i32 %101, 1
  %lcmp.mod.not = icmp eq i32 %218, 0
  br i1 %lcmp.mod.not, label %.thread346.us.us.prol.loopexit, label %.thread346.us.us.prol

.thread346.us.us.prol:                            ; preds = %.thread346.us.us.preheader472
  %219 = getelementptr inbounds float, ptr %47, i64 %indvars.iv376.ph
  store float 1.000000e+00, ptr %219, align 4, !tbaa !9
  %220 = add nsw i64 %indvars.iv376.ph, %192
  %221 = getelementptr inbounds float, ptr %43, i64 %220
  store float 1.000000e+00, ptr %221, align 4, !tbaa !9
  %222 = getelementptr inbounds float, ptr %42, i64 %220
  store float 1.000000e+00, ptr %222, align 4, !tbaa !9
  %indvars.iv.next377.prol = add nuw nsw i64 %indvars.iv376.ph, 1
  br label %.thread346.us.us.prol.loopexit

.thread346.us.us.prol.loopexit:                   ; preds = %.thread346.us.us.prol, %.thread346.us.us.preheader472
  %indvars.iv376.unr = phi i64 [ %indvars.iv376.ph, %.thread346.us.us.preheader472 ], [ %indvars.iv.next377.prol, %.thread346.us.us.prol ]
  %223 = icmp eq i64 %indvars.iv376.ph, %217
  br i1 %223, label %._crit_edge, label %.thread346.us.us

.thread346.us.us:                                 ; preds = %.thread346.us.us.prol.loopexit, %.thread346.us.us
  %indvars.iv376 = phi i64 [ %indvars.iv.next377.1, %.thread346.us.us ], [ %indvars.iv376.unr, %.thread346.us.us.prol.loopexit ]
  %224 = getelementptr inbounds float, ptr %47, i64 %indvars.iv376
  store float 1.000000e+00, ptr %224, align 4, !tbaa !9
  %225 = add nsw i64 %indvars.iv376, %192
  %226 = getelementptr inbounds float, ptr %43, i64 %225
  store float 1.000000e+00, ptr %226, align 4, !tbaa !9
  %227 = getelementptr inbounds float, ptr %42, i64 %225
  store float 1.000000e+00, ptr %227, align 4, !tbaa !9
  %indvars.iv.next377 = add nuw nsw i64 %indvars.iv376, 1
  %228 = getelementptr float, ptr %14, i64 %indvars.iv376
  store float 1.000000e+00, ptr %228, align 4, !tbaa !9
  %229 = add nsw i64 %indvars.iv.next377, %192
  %230 = getelementptr inbounds float, ptr %43, i64 %229
  store float 1.000000e+00, ptr %230, align 4, !tbaa !9
  %231 = getelementptr inbounds float, ptr %42, i64 %229
  store float 1.000000e+00, ptr %231, align 4, !tbaa !9
  %indvars.iv.next377.1 = add nuw nsw i64 %indvars.iv376, 2
  %exitcond380.not.1 = icmp eq i64 %indvars.iv.next377.1, %wide.trip.count379
  br i1 %exitcond380.not.1, label %._crit_edge, label %.thread346.us.us, !llvm.loop !19

.lr.ph.split.us.split:                            ; preds = %.lr.ph.split.us.split.preheader, %.thread346.us
  %indvars.iv371 = phi i64 [ 1, %.lr.ph.split.us.split.preheader ], [ %indvars.iv.next372, %.thread346.us ]
  %232 = getelementptr inbounds float, ptr %47, i64 %indvars.iv371
  store float 1.000000e+00, ptr %232, align 4, !tbaa !9
  %233 = add nsw i64 %indvars.iv371, %192
  %234 = getelementptr inbounds float, ptr %43, i64 %233
  store float 1.000000e+00, ptr %234, align 4, !tbaa !9
  %235 = getelementptr inbounds float, ptr %42, i64 %233
  store float 1.000000e+00, ptr %235, align 4, !tbaa !9
  %236 = add nsw i64 %indvars.iv371, %193
  %237 = getelementptr inbounds float, ptr %43, i64 %236
  store float 1.000000e+00, ptr %237, align 4, !tbaa !9
  %238 = getelementptr inbounds float, ptr %42, i64 %236
  store float 1.000000e+00, ptr %238, align 4, !tbaa !9
  br i1 %185, label %239, label %.thread346.us

239:                                              ; preds = %.lr.ph.split.us.split
  %240 = add nsw i64 %indvars.iv371, %194
  %241 = getelementptr inbounds float, ptr %43, i64 %240
  store float 0.000000e+00, ptr %241, align 4, !tbaa !9
  %242 = getelementptr inbounds float, ptr %42, i64 %240
  store float 0.000000e+00, ptr %242, align 4, !tbaa !9
  br label %.thread346.us

.thread346.us:                                    ; preds = %239, %.lr.ph.split.us.split
  %indvars.iv.next372 = add nuw nsw i64 %indvars.iv371, 1
  %exitcond375.not = icmp eq i64 %indvars.iv.next372, %wide.trip.count374
  br i1 %exitcond375.not, label %._crit_edge, label %.lr.ph.split.us.split, !llvm.loop !20

.thread346:                                       ; preds = %.thread346.preheader474, %.thread346
  %indvars.iv = phi i64 [ %indvars.iv.next, %.thread346 ], [ %indvars.iv.ph, %.thread346.preheader474 ]
  %243 = getelementptr inbounds float, ptr %47, i64 %indvars.iv
  store float 1.000000e+00, ptr %243, align 4, !tbaa !9
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %.thread346, !llvm.loop !21

._crit_edge:                                      ; preds = %.thread346, %.thread346.us, %.thread346.us.us.prol.loopexit, %.thread346.us.us, %middle.block, %middle.block437
  store i8 73, ptr %32, align 1, !tbaa !22
  %244 = call float @slansy_(ptr noundef nonnull %32, ptr noundef %0, ptr noundef nonnull %2, ptr noundef %4, ptr noundef nonnull %5, ptr noundef %20) #5
  store float %244, ptr %34, align 4, !tbaa !9
  call void @spocon_(ptr noundef %0, ptr noundef nonnull %2, ptr noundef %6, ptr noundef nonnull %7, ptr noundef nonnull %34, ptr noundef nonnull %13, ptr noundef %20, ptr noundef %21, ptr noundef nonnull %22) #5
  br i1 %81, label %255, label %245

245:                                              ; preds = %._crit_edge
  %246 = call i32 @ilaprec_(ptr noundef nonnull @.str.6) #5
  store i32 %246, ptr %36, align 4, !tbaa !5
  %247 = load i32, ptr %2, align 4, !tbaa !5
  %248 = sext i32 %247 to i64
  %249 = getelementptr float, ptr %48, i64 %248
  %250 = getelementptr i8, ptr %249, i64 4
  %251 = shl i32 %247, 1
  %252 = or disjoint i32 %251, 1
  %253 = sext i32 %252 to i64
  %254 = getelementptr inbounds float, ptr %48, i64 %253
  call void @sla_porfsx_extended_(ptr noundef nonnull %36, ptr noundef %0, ptr noundef nonnull %2, ptr noundef nonnull %3, ptr noundef %4, ptr noundef nonnull %5, ptr noundef %6, ptr noundef nonnull %7, ptr noundef nonnull %35, ptr noundef %8, ptr noundef %9, ptr noundef nonnull %10, ptr noundef %11, ptr noundef nonnull %12, ptr noundef nonnull %14, ptr noundef nonnull %38, ptr noundef %16, ptr noundef %17, ptr noundef %250, ptr noundef %20, ptr noundef nonnull %254, ptr noundef %20, ptr noundef nonnull %13, ptr noundef nonnull %37, ptr noundef nonnull %39, ptr noundef nonnull %31, ptr noundef nonnull %33, ptr noundef nonnull %22) #5
  br label %255

255:                                              ; preds = %245, %._crit_edge
  %256 = load i32, ptr %2, align 4, !tbaa !5
  %257 = sitofp i32 %256 to float
  %sqrtf = call float @sqrtf(float noundef %257) #6
  %258 = fcmp ole float %sqrtf, 1.000000e+01
  %259 = select i1 %258, float 1.000000e+01, float %sqrtf
  %260 = call float @slamch_(ptr noundef nonnull @.str) #5
  %261 = fmul float %260, %259
  %262 = load i32, ptr %15, align 4, !tbaa !5
  %263 = icmp sgt i32 %262, 0
  %264 = load i32, ptr %38, align 4
  %265 = icmp sgt i32 %264, 0
  %or.cond = select i1 %263, i1 %265, i1 false
  br i1 %or.cond, label %266, label %.loopexit350

266:                                              ; preds = %255
  %267 = load i32, ptr %35, align 4, !tbaa !5
  %.not330 = icmp eq i32 %267, 0
  %c__0.c_n1 = select i1 %.not330, ptr @c__0, ptr @c_n1
  %268 = call float @sla_porcond_(ptr noundef %0, ptr noundef nonnull %2, ptr noundef %4, ptr noundef nonnull %5, ptr noundef %6, ptr noundef nonnull %7, ptr noundef nonnull %c__0.c_n1, ptr noundef %8, ptr noundef nonnull %22, ptr noundef %20, ptr noundef %21) #5
  %269 = load i32, ptr %3, align 4, !tbaa !5
  %.not331353 = icmp slt i32 %269, 1
  %.pre403 = load i32, ptr %15, align 4, !tbaa !5
  br i1 %.not331353, label %.loopexit350, label %.lr.ph356

.lr.ph356:                                        ; preds = %266
  %270 = shl i32 %40, 1
  %271 = fcmp olt float %268, %61
  %272 = mul nsw i32 %40, 3
  %273 = sext i32 %270 to i64
  %274 = sext i32 %40 to i64
  %275 = sext i32 %272 to i64
  %276 = add nuw i32 %269, 1
  %wide.trip.count384 = zext i32 %276 to i64
  %invariant.gep410 = getelementptr float, ptr %43, i64 %273
  %invariant.gep412 = getelementptr float, ptr %43, i64 %273
  %invariant.gep414 = getelementptr float, ptr %43, i64 %274
  %invariant.gep416 = getelementptr float, ptr %43, i64 %273
  %invariant.gep418 = getelementptr float, ptr %43, i64 %274
  %invariant.gep420 = getelementptr float, ptr %43, i64 %275
  br label %277

277:                                              ; preds = %.lr.ph356, %299
  %278 = phi i32 [ %.pre403, %.lr.ph356 ], [ %296, %299 ]
  %indvars.iv381 = phi i64 [ 1, %.lr.ph356 ], [ %indvars.iv.next382, %299 ]
  %279 = icmp sgt i32 %278, 1
  br i1 %279, label %280, label %284

280:                                              ; preds = %277
  %gep411 = getelementptr float, ptr %invariant.gep410, i64 %indvars.iv381
  %281 = load float, ptr %gep411, align 4, !tbaa !9
  %282 = fcmp ogt float %281, 1.000000e+00
  br i1 %282, label %283, label %284

283:                                              ; preds = %280
  store float 1.000000e+00, ptr %gep411, align 4, !tbaa !9
  br label %284

284:                                              ; preds = %283, %280, %277
  br i1 %271, label %285, label %291

285:                                              ; preds = %284
  %gep417 = getelementptr float, ptr %invariant.gep416, i64 %indvars.iv381
  store float 1.000000e+00, ptr %gep417, align 4, !tbaa !9
  %gep419 = getelementptr float, ptr %invariant.gep418, i64 %indvars.iv381
  store float 0.000000e+00, ptr %gep419, align 4, !tbaa !9
  %286 = load i32, ptr %22, align 4, !tbaa !5
  %287 = load i32, ptr %2, align 4, !tbaa !5
  %.not334 = icmp sgt i32 %286, %287
  br i1 %.not334, label %295, label %288

288:                                              ; preds = %285
  %289 = trunc nuw nsw i64 %indvars.iv381 to i32
  %290 = add nsw i32 %287, %289
  store i32 %290, ptr %22, align 4, !tbaa !5
  %.pre402 = load i32, ptr %15, align 4, !tbaa !5
  br label %295

291:                                              ; preds = %284
  %gep413 = getelementptr float, ptr %invariant.gep412, i64 %indvars.iv381
  %292 = load float, ptr %gep413, align 4, !tbaa !9
  %293 = fcmp olt float %292, %261
  br i1 %293, label %294, label %295

294:                                              ; preds = %291
  store float %261, ptr %gep413, align 4, !tbaa !9
  %gep415 = getelementptr float, ptr %invariant.gep414, i64 %indvars.iv381
  store float 1.000000e+00, ptr %gep415, align 4, !tbaa !9
  br label %295

295:                                              ; preds = %291, %294, %285, %288
  %296 = phi i32 [ %278, %291 ], [ %278, %294 ], [ %278, %285 ], [ %.pre402, %288 ]
  %297 = icmp sgt i32 %296, 2
  br i1 %297, label %298, label %299

298:                                              ; preds = %295
  %gep421 = getelementptr float, ptr %invariant.gep420, i64 %indvars.iv381
  store float %268, ptr %gep421, align 4, !tbaa !9
  br label %299

299:                                              ; preds = %295, %298
  %indvars.iv.next382 = add nuw nsw i64 %indvars.iv381, 1
  %exitcond385.not = icmp eq i64 %indvars.iv.next382, %wide.trip.count384
  br i1 %exitcond385.not, label %.loopexit350, label %277, !llvm.loop !23

.loopexit350:                                     ; preds = %299, %266, %255
  %300 = phi i32 [ %.pre403, %266 ], [ %262, %255 ], [ %296, %299 ]
  %301 = icmp sgt i32 %300, 0
  %302 = load i32, ptr %38, align 4
  %303 = icmp sgt i32 %302, 1
  %or.cond3 = select i1 %301, i1 %303, i1 false
  br i1 %or.cond3, label %304, label %.loopexit

304:                                              ; preds = %.loopexit350
  %305 = call float @slamch_(ptr noundef nonnull @.str) #5
  %sqrtf332 = call float @sqrtf(float noundef %305) #6
  %306 = load i32, ptr %3, align 4, !tbaa !5
  %invariant.gep = getelementptr i8, ptr %46, i64 4
  %.not333357 = icmp slt i32 %306, 1
  br i1 %.not333357, label %.loopexit, label %.lr.ph360

.lr.ph360:                                        ; preds = %304
  %307 = shl i32 %40, 1
  %308 = getelementptr inbounds i8, ptr %19, i64 8
  %309 = mul nsw i32 %40, 3
  %310 = sext i32 %307 to i64
  %311 = sext i32 %44 to i64
  %312 = sext i32 %40 to i64
  %313 = sext i32 %309 to i64
  %invariant.gep422 = getelementptr float, ptr %42, i64 %310
  %invariant.gep424 = getelementptr float, ptr %42, i64 %312
  %invariant.gep426 = getelementptr float, ptr %42, i64 %312
  %invariant.gep428 = getelementptr float, ptr %42, i64 %313
  %314 = zext nneg i32 %306 to i64
  br label %315

315:                                              ; preds = %.lr.ph360, %348
  %indvars.iv386 = phi i64 [ 1, %.lr.ph360 ], [ %indvars.iv.next387, %348 ]
  %gep423 = getelementptr float, ptr %invariant.gep422, i64 %indvars.iv386
  %316 = load float, ptr %gep423, align 4, !tbaa !9
  %317 = fcmp olt float %316, %sqrtf332
  br i1 %317, label %318, label %321

318:                                              ; preds = %315
  %319 = mul nsw i64 %indvars.iv386, %311
  %gep = getelementptr float, ptr %invariant.gep, i64 %319
  %320 = call float @sla_porcond_(ptr noundef %0, ptr noundef nonnull %2, ptr noundef %4, ptr noundef nonnull %5, ptr noundef %6, ptr noundef nonnull %7, ptr noundef nonnull @c__1, ptr noundef %gep, ptr noundef nonnull %22, ptr noundef %20, ptr noundef %21) #5
  br label %321

321:                                              ; preds = %315, %318
  %.1 = phi float [ %320, %318 ], [ 0.000000e+00, %315 ]
  %322 = load i32, ptr %15, align 4, !tbaa !5
  %323 = icmp sgt i32 %322, 1
  br i1 %323, label %324, label %328

324:                                              ; preds = %321
  %325 = load float, ptr %gep423, align 4, !tbaa !9
  %326 = fcmp ogt float %325, 1.000000e+00
  br i1 %326, label %327, label %328

327:                                              ; preds = %324
  store float 1.000000e+00, ptr %gep423, align 4, !tbaa !9
  br label %328

328:                                              ; preds = %327, %324, %321
  %329 = fcmp olt float %.1, %61
  br i1 %329, label %330, label %340

330:                                              ; preds = %328
  store float 1.000000e+00, ptr %gep423, align 4, !tbaa !9
  %gep427 = getelementptr float, ptr %invariant.gep426, i64 %indvars.iv386
  store float 0.000000e+00, ptr %gep427, align 4, !tbaa !9
  %331 = load float, ptr %308, align 4, !tbaa !9
  %332 = fcmp oeq float %331, 1.000000e+00
  br i1 %332, label %333, label %344

333:                                              ; preds = %330
  %334 = load i32, ptr %22, align 4, !tbaa !5
  %335 = load i32, ptr %2, align 4, !tbaa !5
  %336 = trunc nuw nsw i64 %indvars.iv386 to i32
  %337 = add nsw i32 %335, %336
  %338 = icmp slt i32 %334, %337
  br i1 %338, label %339, label %344

339:                                              ; preds = %333
  store i32 %337, ptr %22, align 4, !tbaa !5
  %.pre = load i32, ptr %15, align 4, !tbaa !5
  br label %344

340:                                              ; preds = %328
  %341 = load float, ptr %gep423, align 4, !tbaa !9
  %342 = fcmp olt float %341, %261
  br i1 %342, label %343, label %344

343:                                              ; preds = %340
  store float %261, ptr %gep423, align 4, !tbaa !9
  %gep425 = getelementptr float, ptr %invariant.gep424, i64 %indvars.iv386
  store float 1.000000e+00, ptr %gep425, align 4, !tbaa !9
  br label %344

344:                                              ; preds = %340, %343, %330, %333, %339
  %345 = phi i32 [ %322, %340 ], [ %322, %343 ], [ %322, %330 ], [ %322, %333 ], [ %.pre, %339 ]
  %346 = icmp sgt i32 %345, 2
  br i1 %346, label %347, label %348

347:                                              ; preds = %344
  %gep429 = getelementptr float, ptr %invariant.gep428, i64 %indvars.iv386
  store float %.1, ptr %gep429, align 4, !tbaa !9
  br label %348

348:                                              ; preds = %344, %347
  %indvars.iv.next387 = add nuw nsw i64 %indvars.iv386, 1
  %.not333.not = icmp ult i64 %indvars.iv386, %314
  br i1 %.not333.not, label %315, label %.loopexit, !llvm.loop !24

.loopexit:                                        ; preds = %348, %.thread343.us, %.thread343.us.us.prol.loopexit, %.thread343.us.us, %middle.block456, %.thread404, %.thread343.preheader, %304, %123, %.loopexit350, %.thread339
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #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 float @slamch_(ptr noundef) local_unnamed_addr #2

declare i32 @lsame_(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @xerbla_(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare float @slansy_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @spocon_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @ilaprec_(ptr noundef) local_unnamed_addr #2

declare void @sla_porfsx_extended_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare float @sla_porcond_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare float @sqrtf(float) local_unnamed_addr

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #4

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

!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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"float", !7, i64 0}
!11 = distinct !{!11, !12, !13, !14}
!12 = !{!"llvm.loop.mustprogress"}
!13 = !{!"llvm.loop.isvectorized", i32 1}
!14 = !{!"llvm.loop.unroll.runtime.disable"}
!15 = distinct !{!15, !12, !13}
!16 = distinct !{!16, !12}
!17 = distinct !{!17, !12, !13, !14}
!18 = distinct !{!18, !12, !13, !14}
!19 = distinct !{!19, !12, !13}
!20 = distinct !{!20, !12}
!21 = distinct !{!21, !12, !14, !13}
!22 = !{!7, !7, i64 0}
!23 = distinct !{!23, !12}
!24 = distinct !{!24, !12}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopIdiomRecognizePass,LoopLoadEliminationPass,LoopRotatePass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,LoopVectorizePass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass