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

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

@c__10 = external hidden global i32, align 4
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4
@c__3 = external hidden global i32, align 4
@c__4 = external hidden global i32, align 4
@.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 [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [7 x i8], align 1
@c_n1 = external hidden global i32, align 4
@.str.8 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1

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

140:                                              ; preds = %21
  %141 = load ptr, ptr %41, align 8, !tbaa !5
  %142 = load i32, ptr %141, align 4, !tbaa !9
  %143 = icmp eq i32 %142, -1
  br label %144

144:                                              ; preds = %140, %21
  %145 = phi i1 [ true, %21 ], [ %143, %140 ]
  %146 = zext i1 %145 to i32
  store i32 %146, ptr %92, align 4, !tbaa !9
  store i32 1, ptr %47, align 4, !tbaa !9
  %147 = load ptr, ptr %25, align 8, !tbaa !5
  %148 = load i32, ptr %147, align 4, !tbaa !9
  %149 = mul nsw i32 %148, 26
  store i32 %149, ptr %48, align 4, !tbaa !9
  %150 = load i32, ptr %47, align 4, !tbaa !9
  %151 = load i32, ptr %48, align 4, !tbaa !9
  %152 = icmp sge i32 %150, %151
  br i1 %152, label %153, label %155

153:                                              ; preds = %144
  %154 = load i32, ptr %47, align 4, !tbaa !9
  br label %157

155:                                              ; preds = %144
  %156 = load i32, ptr %48, align 4, !tbaa !9
  br label %157

157:                                              ; preds = %155, %153
  %158 = phi i32 [ %154, %153 ], [ %156, %155 ]
  store i32 %158, ptr %66, align 4, !tbaa !9
  store i32 1, ptr %47, align 4, !tbaa !9
  %159 = load ptr, ptr %25, align 8, !tbaa !5
  %160 = load i32, ptr %159, align 4, !tbaa !9
  %161 = mul nsw i32 %160, 10
  store i32 %161, ptr %48, align 4, !tbaa !9
  %162 = load i32, ptr %47, align 4, !tbaa !9
  %163 = load i32, ptr %48, align 4, !tbaa !9
  %164 = icmp sge i32 %162, %163
  br i1 %164, label %165, label %167

165:                                              ; preds = %157
  %166 = load i32, ptr %47, align 4, !tbaa !9
  br label %169

167:                                              ; preds = %157
  %168 = load i32, ptr %48, align 4, !tbaa !9
  br label %169

169:                                              ; preds = %167, %165
  %170 = phi i32 [ %166, %165 ], [ %168, %167 ]
  store i32 %170, ptr %85, align 4, !tbaa !9
  %171 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 0, ptr %171, align 4, !tbaa !9
  %172 = load i32, ptr %68, align 4, !tbaa !9
  %173 = icmp ne i32 %172, 0
  br i1 %173, label %180, label %174

174:                                              ; preds = %169
  %175 = load ptr, ptr %22, align 8, !tbaa !5
  %176 = call i32 @lsame_(ptr noundef %175, ptr noundef @.str.1)
  %177 = icmp ne i32 %176, 0
  br i1 %177, label %180, label %178

178:                                              ; preds = %174
  %179 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -1, ptr %179, align 4, !tbaa !9
  br label %292

180:                                              ; preds = %174, %169
  %181 = load i32, ptr %71, align 4, !tbaa !9
  %182 = icmp ne i32 %181, 0
  br i1 %182, label %191, label %183

183:                                              ; preds = %180
  %184 = load i32, ptr %77, align 4, !tbaa !9
  %185 = icmp ne i32 %184, 0
  br i1 %185, label %191, label %186

186:                                              ; preds = %183
  %187 = load i32, ptr %72, align 4, !tbaa !9
  %188 = icmp ne i32 %187, 0
  br i1 %188, label %191, label %189

189:                                              ; preds = %186
  %190 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -2, ptr %190, align 4, !tbaa !9
  br label %291

191:                                              ; preds = %186, %183, %180
  %192 = load i32, ptr %67, align 4, !tbaa !9
  %193 = icmp ne i32 %192, 0
  br i1 %193, label %200, label %194

194:                                              ; preds = %191
  %195 = load ptr, ptr %24, align 8, !tbaa !5
  %196 = call i32 @lsame_(ptr noundef %195, ptr noundef @.str.6)
  %197 = icmp ne i32 %196, 0
  br i1 %197, label %200, label %198

198:                                              ; preds = %194
  %199 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -3, ptr %199, align 4, !tbaa !9
  br label %290

200:                                              ; preds = %194, %191
  %201 = load ptr, ptr %25, align 8, !tbaa !5
  %202 = load i32, ptr %201, align 4, !tbaa !9
  %203 = icmp slt i32 %202, 0
  br i1 %203, label %204, label %206

204:                                              ; preds = %200
  %205 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -4, ptr %205, align 4, !tbaa !9
  br label %289

206:                                              ; preds = %200
  %207 = load ptr, ptr %27, align 8, !tbaa !5
  %208 = load i32, ptr %207, align 4, !tbaa !9
  %209 = load ptr, ptr %25, align 8, !tbaa !5
  %210 = load i32, ptr %209, align 4, !tbaa !9
  %211 = icmp sge i32 1, %210
  br i1 %211, label %212, label %213

212:                                              ; preds = %206
  br label %216

213:                                              ; preds = %206
  %214 = load ptr, ptr %25, align 8, !tbaa !5
  %215 = load i32, ptr %214, align 4, !tbaa !9
  br label %216

216:                                              ; preds = %213, %212
  %217 = phi i32 [ 1, %212 ], [ %215, %213 ]
  %218 = icmp slt i32 %208, %217
  br i1 %218, label %219, label %221

219:                                              ; preds = %216
  %220 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -6, ptr %220, align 4, !tbaa !9
  br label %288

221:                                              ; preds = %216
  %222 = load i32, ptr %77, align 4, !tbaa !9
  %223 = icmp ne i32 %222, 0
  br i1 %223, label %224, label %237

224:                                              ; preds = %221
  %225 = load ptr, ptr %25, align 8, !tbaa !5
  %226 = load i32, ptr %225, align 4, !tbaa !9
  %227 = icmp sgt i32 %226, 0
  br i1 %227, label %228, label %236

228:                                              ; preds = %224
  %229 = load ptr, ptr %29, align 8, !tbaa !5
  %230 = load float, ptr %229, align 4, !tbaa !11
  %231 = load ptr, ptr %28, align 8, !tbaa !5
  %232 = load float, ptr %231, align 4, !tbaa !11
  %233 = fcmp ole float %230, %232
  br i1 %233, label %234, label %236

234:                                              ; preds = %228
  %235 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -8, ptr %235, align 4, !tbaa !9
  br label %236

236:                                              ; preds = %234, %228, %224
  br label %287

237:                                              ; preds = %221
  %238 = load i32, ptr %72, align 4, !tbaa !9
  %239 = icmp ne i32 %238, 0
  br i1 %239, label %240, label %286

240:                                              ; preds = %237
  %241 = load ptr, ptr %30, align 8, !tbaa !5
  %242 = load i32, ptr %241, align 4, !tbaa !9
  %243 = icmp slt i32 %242, 1
  br i1 %243, label %257, label %244

244:                                              ; preds = %240
  %245 = load ptr, ptr %30, align 8, !tbaa !5
  %246 = load i32, ptr %245, align 4, !tbaa !9
  %247 = load ptr, ptr %25, align 8, !tbaa !5
  %248 = load i32, ptr %247, align 4, !tbaa !9
  %249 = icmp sge i32 1, %248
  br i1 %249, label %250, label %251

250:                                              ; preds = %244
  br label %254

251:                                              ; preds = %244
  %252 = load ptr, ptr %25, align 8, !tbaa !5
  %253 = load i32, ptr %252, align 4, !tbaa !9
  br label %254

254:                                              ; preds = %251, %250
  %255 = phi i32 [ 1, %250 ], [ %253, %251 ]
  %256 = icmp sgt i32 %246, %255
  br i1 %256, label %257, label %259

257:                                              ; preds = %254, %240
  %258 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -9, ptr %258, align 4, !tbaa !9
  br label %285

259:                                              ; preds = %254
  %260 = load ptr, ptr %31, align 8, !tbaa !5
  %261 = load i32, ptr %260, align 4, !tbaa !9
  %262 = load ptr, ptr %25, align 8, !tbaa !5
  %263 = load i32, ptr %262, align 4, !tbaa !9
  %264 = load ptr, ptr %30, align 8, !tbaa !5
  %265 = load i32, ptr %264, align 4, !tbaa !9
  %266 = icmp sle i32 %263, %265
  br i1 %266, label %267, label %270

267:                                              ; preds = %259
  %268 = load ptr, ptr %25, align 8, !tbaa !5
  %269 = load i32, ptr %268, align 4, !tbaa !9
  br label %273

270:                                              ; preds = %259
  %271 = load ptr, ptr %30, align 8, !tbaa !5
  %272 = load i32, ptr %271, align 4, !tbaa !9
  br label %273

273:                                              ; preds = %270, %267
  %274 = phi i32 [ %269, %267 ], [ %272, %270 ]
  %275 = icmp slt i32 %261, %274
  br i1 %275, label %282, label %276

276:                                              ; preds = %273
  %277 = load ptr, ptr %31, align 8, !tbaa !5
  %278 = load i32, ptr %277, align 4, !tbaa !9
  %279 = load ptr, ptr %25, align 8, !tbaa !5
  %280 = load i32, ptr %279, align 4, !tbaa !9
  %281 = icmp sgt i32 %278, %280
  br i1 %281, label %282, label %284

282:                                              ; preds = %276, %273
  %283 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -10, ptr %283, align 4, !tbaa !9
  br label %284

284:                                              ; preds = %282, %276
  br label %285

285:                                              ; preds = %284, %257
  br label %286

286:                                              ; preds = %285, %237
  br label %287

287:                                              ; preds = %286, %236
  br label %288

288:                                              ; preds = %287, %219
  br label %289

289:                                              ; preds = %288, %204
  br label %290

290:                                              ; preds = %289, %198
  br label %291

291:                                              ; preds = %290, %189
  br label %292

292:                                              ; preds = %291, %178
  %293 = load ptr, ptr %42, align 8, !tbaa !5
  %294 = load i32, ptr %293, align 4, !tbaa !9
  %295 = icmp eq i32 %294, 0
  br i1 %295, label %296, label %312

296:                                              ; preds = %292
  %297 = load ptr, ptr %36, align 8, !tbaa !5
  %298 = load i32, ptr %297, align 4, !tbaa !9
  %299 = icmp slt i32 %298, 1
  br i1 %299, label %309, label %300

300:                                              ; preds = %296
  %301 = load i32, ptr %68, align 4, !tbaa !9
  %302 = icmp ne i32 %301, 0
  br i1 %302, label %303, label %311

303:                                              ; preds = %300
  %304 = load ptr, ptr %36, align 8, !tbaa !5
  %305 = load i32, ptr %304, align 4, !tbaa !9
  %306 = load ptr, ptr %25, align 8, !tbaa !5
  %307 = load i32, ptr %306, align 4, !tbaa !9
  %308 = icmp slt i32 %305, %307
  br i1 %308, label %309, label %311

309:                                              ; preds = %303, %296
  %310 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -15, ptr %310, align 4, !tbaa !9
  br label %311

311:                                              ; preds = %309, %303, %300
  br label %312

312:                                              ; preds = %311, %292
  %313 = load ptr, ptr %42, align 8, !tbaa !5
  %314 = load i32, ptr %313, align 4, !tbaa !9
  %315 = icmp eq i32 %314, 0
  br i1 %315, label %316, label %375

316:                                              ; preds = %312
  %317 = load ptr, ptr %24, align 8, !tbaa !5
  %318 = load ptr, ptr %25, align 8, !tbaa !5
  %319 = call i32 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.7, ptr noundef %317, ptr noundef %318, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef @c_n1, i32 noundef 6, i32 noundef 1)
  store i32 %319, ptr %69, align 4, !tbaa !9
  %320 = load i32, ptr %69, align 4, !tbaa !9
  store i32 %320, ptr %47, align 4, !tbaa !9
  %321 = load ptr, ptr %24, align 8, !tbaa !5
  %322 = load ptr, ptr %25, align 8, !tbaa !5
  %323 = call i32 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.8, ptr noundef %321, ptr noundef %322, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef @c_n1, i32 noundef 6, i32 noundef 1)
  store i32 %323, ptr %48, align 4, !tbaa !9
  %324 = load i32, ptr %47, align 4, !tbaa !9
  %325 = load i32, ptr %48, align 4, !tbaa !9
  %326 = icmp sge i32 %324, %325
  br i1 %326, label %327, label %329

327:                                              ; preds = %316
  %328 = load i32, ptr %47, align 4, !tbaa !9
  br label %331

329:                                              ; preds = %316
  %330 = load i32, ptr %48, align 4, !tbaa !9
  br label %331

331:                                              ; preds = %329, %327
  %332 = phi i32 [ %328, %327 ], [ %330, %329 ]
  store i32 %332, ptr %69, align 4, !tbaa !9
  %333 = load i32, ptr %69, align 4, !tbaa !9
  %334 = add nsw i32 %333, 1
  %335 = load ptr, ptr %25, align 8, !tbaa !5
  %336 = load i32, ptr %335, align 4, !tbaa !9
  %337 = mul nsw i32 %334, %336
  store i32 %337, ptr %47, align 4, !tbaa !9
  %338 = load i32, ptr %47, align 4, !tbaa !9
  %339 = load i32, ptr %66, align 4, !tbaa !9
  %340 = icmp sge i32 %338, %339
  br i1 %340, label %341, label %343

341:                                              ; preds = %331
  %342 = load i32, ptr %47, align 4, !tbaa !9
  br label %345

343:                                              ; preds = %331
  %344 = load i32, ptr %66, align 4, !tbaa !9
  br label %345

345:                                              ; preds = %343, %341
  %346 = phi i32 [ %342, %341 ], [ %344, %343 ]
  store i32 %346, ptr %91, align 4, !tbaa !9
  %347 = load i32, ptr %91, align 4, !tbaa !9
  %348 = sitofp i32 %347 to float
  %349 = load ptr, ptr %38, align 8, !tbaa !5
  %350 = getelementptr inbounds float, ptr %349, i64 1
  store float %348, ptr %350, align 4, !tbaa !11
  %351 = load i32, ptr %85, align 4, !tbaa !9
  %352 = load ptr, ptr %40, align 8, !tbaa !5
  %353 = getelementptr inbounds i32, ptr %352, i64 1
  store i32 %351, ptr %353, align 4, !tbaa !9
  %354 = load ptr, ptr %39, align 8, !tbaa !5
  %355 = load i32, ptr %354, align 4, !tbaa !9
  %356 = load i32, ptr %66, align 4, !tbaa !9
  %357 = icmp slt i32 %355, %356
  br i1 %357, label %358, label %363

358:                                              ; preds = %345
  %359 = load i32, ptr %92, align 4, !tbaa !9
  %360 = icmp ne i32 %359, 0
  br i1 %360, label %363, label %361

361:                                              ; preds = %358
  %362 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -18, ptr %362, align 4, !tbaa !9
  br label %374

363:                                              ; preds = %358, %345
  %364 = load ptr, ptr %41, align 8, !tbaa !5
  %365 = load i32, ptr %364, align 4, !tbaa !9
  %366 = load i32, ptr %85, align 4, !tbaa !9
  %367 = icmp slt i32 %365, %366
  br i1 %367, label %368, label %373

368:                                              ; preds = %363
  %369 = load i32, ptr %92, align 4, !tbaa !9
  %370 = icmp ne i32 %369, 0
  br i1 %370, label %373, label %371

371:                                              ; preds = %368
  %372 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -20, ptr %372, align 4, !tbaa !9
  br label %373

373:                                              ; preds = %371, %368, %363
  br label %374

374:                                              ; preds = %373, %361
  br label %375

375:                                              ; preds = %374, %312
  %376 = load ptr, ptr %42, align 8, !tbaa !5
  %377 = load i32, ptr %376, align 4, !tbaa !9
  %378 = icmp ne i32 %377, 0
  br i1 %378, label %379, label %384

379:                                              ; preds = %375
  %380 = load ptr, ptr %42, align 8, !tbaa !5
  %381 = load i32, ptr %380, align 4, !tbaa !9
  %382 = sub nsw i32 0, %381
  store i32 %382, ptr %47, align 4, !tbaa !9
  %383 = call i32 @xerbla_(ptr noundef @.str, ptr noundef %47, i32 noundef 6)
  store i32 1, ptr %97, align 4
  br label %1051

384:                                              ; preds = %375
  %385 = load i32, ptr %92, align 4, !tbaa !9
  %386 = icmp ne i32 %385, 0
  br i1 %386, label %387, label %388

387:                                              ; preds = %384
  store i32 1, ptr %97, align 4
  br label %1051

388:                                              ; preds = %384
  br label %389

389:                                              ; preds = %388
  %390 = load ptr, ptr %33, align 8, !tbaa !5
  store i32 0, ptr %390, align 4, !tbaa !9
  %391 = load ptr, ptr %25, align 8, !tbaa !5
  %392 = load i32, ptr %391, align 4, !tbaa !9
  %393 = icmp eq i32 %392, 0
  br i1 %393, label %394, label %397

394:                                              ; preds = %389
  %395 = load ptr, ptr %38, align 8, !tbaa !5
  %396 = getelementptr inbounds float, ptr %395, i64 1
  store float 1.000000e+00, ptr %396, align 4, !tbaa !11
  store i32 1, ptr %97, align 4
  br label %1051

397:                                              ; preds = %389
  %398 = load ptr, ptr %25, align 8, !tbaa !5
  %399 = load i32, ptr %398, align 4, !tbaa !9
  %400 = icmp eq i32 %399, 1
  br i1 %400, label %401, label %464

401:                                              ; preds = %397
  %402 = load ptr, ptr %38, align 8, !tbaa !5
  %403 = getelementptr inbounds float, ptr %402, i64 1
  store float 2.600000e+01, ptr %403, align 4, !tbaa !11
  %404 = load i32, ptr %71, align 4, !tbaa !9
  %405 = icmp ne i32 %404, 0
  br i1 %405, label %409, label %406

406:                                              ; preds = %401
  %407 = load i32, ptr %72, align 4, !tbaa !9
  %408 = icmp ne i32 %407, 0
  br i1 %408, label %409, label %419

409:                                              ; preds = %406, %401
  %410 = load ptr, ptr %33, align 8, !tbaa !5
  store i32 1, ptr %410, align 4, !tbaa !9
  %411 = load ptr, ptr %26, align 8, !tbaa !5
  %412 = load i32, ptr %43, align 4, !tbaa !9
  %413 = add nsw i32 %412, 1
  %414 = sext i32 %413 to i64
  %415 = getelementptr inbounds float, ptr %411, i64 %414
  %416 = load float, ptr %415, align 4, !tbaa !11
  %417 = load ptr, ptr %34, align 8, !tbaa !5
  %418 = getelementptr inbounds float, ptr %417, i64 1
  store float %416, ptr %418, align 4, !tbaa !11
  br label %450

419:                                              ; preds = %406
  %420 = load ptr, ptr %28, align 8, !tbaa !5
  %421 = load float, ptr %420, align 4, !tbaa !11
  %422 = load ptr, ptr %26, align 8, !tbaa !5
  %423 = load i32, ptr %43, align 4, !tbaa !9
  %424 = add nsw i32 %423, 1
  %425 = sext i32 %424 to i64
  %426 = getelementptr inbounds float, ptr %422, i64 %425
  %427 = load float, ptr %426, align 4, !tbaa !11
  %428 = fcmp olt float %421, %427
  br i1 %428, label %429, label %449

429:                                              ; preds = %419
  %430 = load ptr, ptr %29, align 8, !tbaa !5
  %431 = load float, ptr %430, align 4, !tbaa !11
  %432 = load ptr, ptr %26, align 8, !tbaa !5
  %433 = load i32, ptr %43, align 4, !tbaa !9
  %434 = add nsw i32 %433, 1
  %435 = sext i32 %434 to i64
  %436 = getelementptr inbounds float, ptr %432, i64 %435
  %437 = load float, ptr %436, align 4, !tbaa !11
  %438 = fcmp oge float %431, %437
  br i1 %438, label %439, label %449

439:                                              ; preds = %429
  %440 = load ptr, ptr %33, align 8, !tbaa !5
  store i32 1, ptr %440, align 4, !tbaa !9
  %441 = load ptr, ptr %26, align 8, !tbaa !5
  %442 = load i32, ptr %43, align 4, !tbaa !9
  %443 = add nsw i32 %442, 1
  %444 = sext i32 %443 to i64
  %445 = getelementptr inbounds float, ptr %441, i64 %444
  %446 = load float, ptr %445, align 4, !tbaa !11
  %447 = load ptr, ptr %34, align 8, !tbaa !5
  %448 = getelementptr inbounds float, ptr %447, i64 1
  store float %446, ptr %448, align 4, !tbaa !11
  br label %449

449:                                              ; preds = %439, %429, %419
  br label %450

450:                                              ; preds = %449, %409
  %451 = load i32, ptr %68, align 4, !tbaa !9
  %452 = icmp ne i32 %451, 0
  br i1 %452, label %453, label %463

453:                                              ; preds = %450
  %454 = load ptr, ptr %35, align 8, !tbaa !5
  %455 = load i32, ptr %45, align 4, !tbaa !9
  %456 = add nsw i32 %455, 1
  %457 = sext i32 %456 to i64
  %458 = getelementptr inbounds float, ptr %454, i64 %457
  store float 1.000000e+00, ptr %458, align 4, !tbaa !11
  %459 = load ptr, ptr %37, align 8, !tbaa !5
  %460 = getelementptr inbounds i32, ptr %459, i64 1
  store i32 1, ptr %460, align 4, !tbaa !9
  %461 = load ptr, ptr %37, align 8, !tbaa !5
  %462 = getelementptr inbounds i32, ptr %461, i64 2
  store i32 1, ptr %462, align 4, !tbaa !9
  br label %463

463:                                              ; preds = %453, %450
  store i32 1, ptr %97, align 4
  br label %1051

464:                                              ; preds = %397
  %465 = call float @slamch_(ptr noundef @.str.9)
  store float %465, ptr %78, align 4, !tbaa !11
  %466 = call float @slamch_(ptr noundef @.str.10)
  store float %466, ptr %93, align 4, !tbaa !11
  %467 = load float, ptr %78, align 4, !tbaa !11
  %468 = load float, ptr %93, align 4, !tbaa !11
  %469 = fdiv float %467, %468
  store float %469, ptr %90, align 4, !tbaa !11
  %470 = load float, ptr %90, align 4, !tbaa !11
  %471 = fdiv float 1.000000e+00, %470
  store float %471, ptr %80, align 4, !tbaa !11
  %472 = load float, ptr %90, align 4, !tbaa !11
  %473 = fpext float %472 to double
  %474 = call double @sqrt(double noundef %473) #4
  %475 = fptrunc double %474 to float
  store float %475, ptr %55, align 4, !tbaa !11
  %476 = load float, ptr %80, align 4, !tbaa !11
  %477 = fpext float %476 to double
  %478 = call double @sqrt(double noundef %477) #4
  %479 = fptrunc double %478 to float
  store float %479, ptr %49, align 4, !tbaa !11
  %480 = load float, ptr %78, align 4, !tbaa !11
  %481 = fpext float %480 to double
  %482 = call double @sqrt(double noundef %481) #4
  %483 = call double @sqrt(double noundef %482) #4
  %484 = fdiv double 1.000000e+00, %483
  %485 = fptrunc double %484 to float
  store float %485, ptr %50, align 4, !tbaa !11
  %486 = load float, ptr %49, align 4, !tbaa !11
  %487 = load float, ptr %50, align 4, !tbaa !11
  %488 = fcmp ole float %486, %487
  br i1 %488, label %489, label %491

489:                                              ; preds = %464
  %490 = load float, ptr %49, align 4, !tbaa !11
  br label %493

491:                                              ; preds = %464
  %492 = load float, ptr %50, align 4, !tbaa !11
  br label %493

493:                                              ; preds = %491, %489
  %494 = phi float [ %490, %489 ], [ %492, %491 ]
  store float %494, ptr %56, align 4, !tbaa !11
  store i32 0, ptr %73, align 4, !tbaa !9
  %495 = load ptr, ptr %32, align 8, !tbaa !5
  %496 = load float, ptr %495, align 4, !tbaa !11
  store float %496, ptr %79, align 4, !tbaa !11
  %497 = load i32, ptr %77, align 4, !tbaa !9
  %498 = icmp ne i32 %497, 0
  br i1 %498, label %499, label %504

499:                                              ; preds = %493
  %500 = load ptr, ptr %28, align 8, !tbaa !5
  %501 = load float, ptr %500, align 4, !tbaa !11
  store float %501, ptr %94, align 4, !tbaa !11
  %502 = load ptr, ptr %29, align 8, !tbaa !5
  %503 = load float, ptr %502, align 4, !tbaa !11
  store float %503, ptr %95, align 4, !tbaa !11
  br label %504

504:                                              ; preds = %499, %493
  %505 = load ptr, ptr %24, align 8, !tbaa !5
  %506 = load ptr, ptr %25, align 8, !tbaa !5
  %507 = load ptr, ptr %26, align 8, !tbaa !5
  %508 = load i32, ptr %44, align 4, !tbaa !9
  %509 = sext i32 %508 to i64
  %510 = getelementptr inbounds float, ptr %507, i64 %509
  %511 = load ptr, ptr %27, align 8, !tbaa !5
  %512 = load ptr, ptr %38, align 8, !tbaa !5
  %513 = getelementptr inbounds float, ptr %512, i64 1
  %514 = call float @slansy_(ptr noundef @.str.11, ptr noundef %505, ptr noundef %506, ptr noundef %510, ptr noundef %511, ptr noundef %513)
  store float %514, ptr %53, align 4, !tbaa !11
  %515 = load float, ptr %53, align 4, !tbaa !11
  %516 = fcmp ogt float %515, 0.000000e+00
  br i1 %516, label %517, label %525

517:                                              ; preds = %504
  %518 = load float, ptr %53, align 4, !tbaa !11
  %519 = load float, ptr %55, align 4, !tbaa !11
  %520 = fcmp olt float %518, %519
  br i1 %520, label %521, label %525

521:                                              ; preds = %517
  store i32 1, ptr %73, align 4, !tbaa !9
  %522 = load float, ptr %55, align 4, !tbaa !11
  %523 = load float, ptr %53, align 4, !tbaa !11
  %524 = fdiv float %522, %523
  store float %524, ptr %62, align 4, !tbaa !11
  br label %534

525:                                              ; preds = %517, %504
  %526 = load float, ptr %53, align 4, !tbaa !11
  %527 = load float, ptr %56, align 4, !tbaa !11
  %528 = fcmp ogt float %526, %527
  br i1 %528, label %529, label %533

529:                                              ; preds = %525
  store i32 1, ptr %73, align 4, !tbaa !9
  %530 = load float, ptr %56, align 4, !tbaa !11
  %531 = load float, ptr %53, align 4, !tbaa !11
  %532 = fdiv float %530, %531
  store float %532, ptr %62, align 4, !tbaa !11
  br label %533

533:                                              ; preds = %529, %525
  br label %534

534:                                              ; preds = %533, %521
  %535 = load i32, ptr %73, align 4, !tbaa !9
  %536 = icmp eq i32 %535, 1
  br i1 %536, label %537, label %606

537:                                              ; preds = %534
  %538 = load i32, ptr %67, align 4, !tbaa !9
  %539 = icmp ne i32 %538, 0
  br i1 %539, label %540, label %565

540:                                              ; preds = %537
  %541 = load ptr, ptr %25, align 8, !tbaa !5
  %542 = load i32, ptr %541, align 4, !tbaa !9
  store i32 %542, ptr %47, align 4, !tbaa !9
  store i32 1, ptr %59, align 4, !tbaa !9
  br label %543

543:                                              ; preds = %561, %540
  %544 = load i32, ptr %59, align 4, !tbaa !9
  %545 = load i32, ptr %47, align 4, !tbaa !9
  %546 = icmp sle i32 %544, %545
  br i1 %546, label %547, label %564

547:                                              ; preds = %543
  %548 = load ptr, ptr %25, align 8, !tbaa !5
  %549 = load i32, ptr %548, align 4, !tbaa !9
  %550 = load i32, ptr %59, align 4, !tbaa !9
  %551 = sub nsw i32 %549, %550
  %552 = add nsw i32 %551, 1
  store i32 %552, ptr %48, align 4, !tbaa !9
  %553 = load ptr, ptr %26, align 8, !tbaa !5
  %554 = load i32, ptr %59, align 4, !tbaa !9
  %555 = load i32, ptr %59, align 4, !tbaa !9
  %556 = load i32, ptr %43, align 4, !tbaa !9
  %557 = mul nsw i32 %555, %556
  %558 = add nsw i32 %554, %557
  %559 = sext i32 %558 to i64
  %560 = getelementptr inbounds float, ptr %553, i64 %559
  call void @sscal_(ptr noundef %48, ptr noundef %62, ptr noundef %560, ptr noundef @c__1)
  br label %561

561:                                              ; preds = %547
  %562 = load i32, ptr %59, align 4, !tbaa !9
  %563 = add nsw i32 %562, 1
  store i32 %563, ptr %59, align 4, !tbaa !9
  br label %543, !llvm.loop !13

564:                                              ; preds = %543
  br label %584

565:                                              ; preds = %537
  %566 = load ptr, ptr %25, align 8, !tbaa !5
  %567 = load i32, ptr %566, align 4, !tbaa !9
  store i32 %567, ptr %47, align 4, !tbaa !9
  store i32 1, ptr %59, align 4, !tbaa !9
  br label %568

568:                                              ; preds = %580, %565
  %569 = load i32, ptr %59, align 4, !tbaa !9
  %570 = load i32, ptr %47, align 4, !tbaa !9
  %571 = icmp sle i32 %569, %570
  br i1 %571, label %572, label %583

572:                                              ; preds = %568
  %573 = load ptr, ptr %26, align 8, !tbaa !5
  %574 = load i32, ptr %59, align 4, !tbaa !9
  %575 = load i32, ptr %43, align 4, !tbaa !9
  %576 = mul nsw i32 %574, %575
  %577 = add nsw i32 %576, 1
  %578 = sext i32 %577 to i64
  %579 = getelementptr inbounds float, ptr %573, i64 %578
  call void @sscal_(ptr noundef %59, ptr noundef %62, ptr noundef %579, ptr noundef @c__1)
  br label %580

580:                                              ; preds = %572
  %581 = load i32, ptr %59, align 4, !tbaa !9
  %582 = add nsw i32 %581, 1
  store i32 %582, ptr %59, align 4, !tbaa !9
  br label %568, !llvm.loop !15

583:                                              ; preds = %568
  br label %584

584:                                              ; preds = %583, %564
  %585 = load ptr, ptr %32, align 8, !tbaa !5
  %586 = load float, ptr %585, align 4, !tbaa !11
  %587 = fcmp ogt float %586, 0.000000e+00
  br i1 %587, label %588, label %593

588:                                              ; preds = %584
  %589 = load ptr, ptr %32, align 8, !tbaa !5
  %590 = load float, ptr %589, align 4, !tbaa !11
  %591 = load float, ptr %62, align 4, !tbaa !11
  %592 = fmul float %590, %591
  store float %592, ptr %79, align 4, !tbaa !11
  br label %593

593:                                              ; preds = %588, %584
  %594 = load i32, ptr %77, align 4, !tbaa !9
  %595 = icmp ne i32 %594, 0
  br i1 %595, label %596, label %605

596:                                              ; preds = %593
  %597 = load ptr, ptr %28, align 8, !tbaa !5
  %598 = load float, ptr %597, align 4, !tbaa !11
  %599 = load float, ptr %62, align 4, !tbaa !11
  %600 = fmul float %598, %599
  store float %600, ptr %94, align 4, !tbaa !11
  %601 = load ptr, ptr %29, align 8, !tbaa !5
  %602 = load float, ptr %601, align 4, !tbaa !11
  %603 = load float, ptr %62, align 4, !tbaa !11
  %604 = fmul float %602, %603
  store float %604, ptr %95, align 4, !tbaa !11
  br label %605

605:                                              ; preds = %596, %593
  br label %606

606:                                              ; preds = %605, %534
  store i32 1, ptr %81, align 4, !tbaa !9
  %607 = load i32, ptr %81, align 4, !tbaa !9
  %608 = load ptr, ptr %25, align 8, !tbaa !5
  %609 = load i32, ptr %608, align 4, !tbaa !9
  %610 = add nsw i32 %607, %609
  store i32 %610, ptr %51, align 4, !tbaa !9
  %611 = load i32, ptr %51, align 4, !tbaa !9
  %612 = load ptr, ptr %25, align 8, !tbaa !5
  %613 = load i32, ptr %612, align 4, !tbaa !9
  %614 = add nsw i32 %611, %613
  store i32 %614, ptr %52, align 4, !tbaa !9
  %615 = load i32, ptr %52, align 4, !tbaa !9
  %616 = load ptr, ptr %25, align 8, !tbaa !5
  %617 = load i32, ptr %616, align 4, !tbaa !9
  %618 = add nsw i32 %615, %617
  store i32 %618, ptr %60, align 4, !tbaa !9
  %619 = load i32, ptr %60, align 4, !tbaa !9
  %620 = load ptr, ptr %25, align 8, !tbaa !5
  %621 = load i32, ptr %620, align 4, !tbaa !9
  %622 = add nsw i32 %619, %621
  store i32 %622, ptr %61, align 4, !tbaa !9
  %623 = load i32, ptr %61, align 4, !tbaa !9
  %624 = load ptr, ptr %25, align 8, !tbaa !5
  %625 = load i32, ptr %624, align 4, !tbaa !9
  %626 = add nsw i32 %623, %625
  store i32 %626, ptr %65, align 4, !tbaa !9
  %627 = load ptr, ptr %39, align 8, !tbaa !5
  %628 = load i32, ptr %627, align 4, !tbaa !9
  %629 = load i32, ptr %65, align 4, !tbaa !9
  %630 = sub nsw i32 %628, %629
  %631 = add nsw i32 %630, 1
  store i32 %631, ptr %88, align 4, !tbaa !9
  store i32 1, ptr %75, align 4, !tbaa !9
  %632 = load i32, ptr %75, align 4, !tbaa !9
  %633 = load ptr, ptr %25, align 8, !tbaa !5
  %634 = load i32, ptr %633, align 4, !tbaa !9
  %635 = add nsw i32 %632, %634
  store i32 %635, ptr %82, align 4, !tbaa !9
  %636 = load i32, ptr %82, align 4, !tbaa !9
  %637 = load ptr, ptr %25, align 8, !tbaa !5
  %638 = load i32, ptr %637, align 4, !tbaa !9
  %639 = add nsw i32 %636, %638
  store i32 %639, ptr %76, align 4, !tbaa !9
  %640 = load i32, ptr %76, align 4, !tbaa !9
  %641 = load ptr, ptr %25, align 8, !tbaa !5
  %642 = load i32, ptr %641, align 4, !tbaa !9
  %643 = add nsw i32 %640, %642
  store i32 %643, ptr %83, align 4, !tbaa !9
  %644 = load ptr, ptr %24, align 8, !tbaa !5
  %645 = load ptr, ptr %25, align 8, !tbaa !5
  %646 = load ptr, ptr %26, align 8, !tbaa !5
  %647 = load i32, ptr %44, align 4, !tbaa !9
  %648 = sext i32 %647 to i64
  %649 = getelementptr inbounds float, ptr %646, i64 %648
  %650 = load ptr, ptr %27, align 8, !tbaa !5
  %651 = load ptr, ptr %38, align 8, !tbaa !5
  %652 = load i32, ptr %51, align 4, !tbaa !9
  %653 = sext i32 %652 to i64
  %654 = getelementptr inbounds float, ptr %651, i64 %653
  %655 = load ptr, ptr %38, align 8, !tbaa !5
  %656 = load i32, ptr %52, align 4, !tbaa !9
  %657 = sext i32 %656 to i64
  %658 = getelementptr inbounds float, ptr %655, i64 %657
  %659 = load ptr, ptr %38, align 8, !tbaa !5
  %660 = load i32, ptr %81, align 4, !tbaa !9
  %661 = sext i32 %660 to i64
  %662 = getelementptr inbounds float, ptr %659, i64 %661
  %663 = load ptr, ptr %38, align 8, !tbaa !5
  %664 = load i32, ptr %65, align 4, !tbaa !9
  %665 = sext i32 %664 to i64
  %666 = getelementptr inbounds float, ptr %663, i64 %665
  call void @ssytrd_(ptr noundef %644, ptr noundef %645, ptr noundef %649, ptr noundef %650, ptr noundef %654, ptr noundef %658, ptr noundef %662, ptr noundef %666, ptr noundef %88, ptr noundef %63)
  store i32 0, ptr %57, align 4, !tbaa !9
  %667 = load i32, ptr %72, align 4, !tbaa !9
  %668 = icmp ne i32 %667, 0
  br i1 %668, label %669, label %681

669:                                              ; preds = %606
  %670 = load ptr, ptr %30, align 8, !tbaa !5
  %671 = load i32, ptr %670, align 4, !tbaa !9
  %672 = icmp eq i32 %671, 1
  br i1 %672, label %673, label %680

673:                                              ; preds = %669
  %674 = load ptr, ptr %31, align 8, !tbaa !5
  %675 = load i32, ptr %674, align 4, !tbaa !9
  %676 = load ptr, ptr %25, align 8, !tbaa !5
  %677 = load i32, ptr %676, align 4, !tbaa !9
  %678 = icmp eq i32 %675, %677
  br i1 %678, label %679, label %680

679:                                              ; preds = %673
  store i32 1, ptr %57, align 4, !tbaa !9
  br label %680

680:                                              ; preds = %679, %673, %669
  br label %681

681:                                              ; preds = %680, %606
  %682 = load i32, ptr %71, align 4, !tbaa !9
  %683 = icmp ne i32 %682, 0
  br i1 %683, label %687, label %684

684:                                              ; preds = %681
  %685 = load i32, ptr %57, align 4, !tbaa !9
  %686 = icmp ne i32 %685, 0
  br i1 %686, label %687, label %832

687:                                              ; preds = %684, %681
  %688 = load i32, ptr %74, align 4, !tbaa !9
  %689 = icmp eq i32 %688, 1
  br i1 %689, label %690, label %832

690:                                              ; preds = %687
  %691 = load i32, ptr %68, align 4, !tbaa !9
  %692 = icmp ne i32 %691, 0
  br i1 %692, label %720, label %693

693:                                              ; preds = %690
  %694 = load ptr, ptr %25, align 8, !tbaa !5
  %695 = load ptr, ptr %38, align 8, !tbaa !5
  %696 = load i32, ptr %51, align 4, !tbaa !9
  %697 = sext i32 %696 to i64
  %698 = getelementptr inbounds float, ptr %695, i64 %697
  %699 = load ptr, ptr %34, align 8, !tbaa !5
  %700 = getelementptr inbounds float, ptr %699, i64 1
  call void @scopy_(ptr noundef %694, ptr noundef %698, ptr noundef @c__1, ptr noundef %700, ptr noundef @c__1)
  %701 = load ptr, ptr %25, align 8, !tbaa !5
  %702 = load i32, ptr %701, align 4, !tbaa !9
  %703 = sub nsw i32 %702, 1
  store i32 %703, ptr %47, align 4, !tbaa !9
  %704 = load ptr, ptr %38, align 8, !tbaa !5
  %705 = load i32, ptr %52, align 4, !tbaa !9
  %706 = sext i32 %705 to i64
  %707 = getelementptr inbounds float, ptr %704, i64 %706
  %708 = load ptr, ptr %38, align 8, !tbaa !5
  %709 = load i32, ptr %61, align 4, !tbaa !9
  %710 = sext i32 %709 to i64
  %711 = getelementptr inbounds float, ptr %708, i64 %710
  call void @scopy_(ptr noundef %47, ptr noundef %707, ptr noundef @c__1, ptr noundef %711, ptr noundef @c__1)
  %712 = load ptr, ptr %25, align 8, !tbaa !5
  %713 = load ptr, ptr %34, align 8, !tbaa !5
  %714 = getelementptr inbounds float, ptr %713, i64 1
  %715 = load ptr, ptr %38, align 8, !tbaa !5
  %716 = load i32, ptr %61, align 4, !tbaa !9
  %717 = sext i32 %716 to i64
  %718 = getelementptr inbounds float, ptr %715, i64 %717
  %719 = load ptr, ptr %42, align 8, !tbaa !5
  call void @ssterf_(ptr noundef %712, ptr noundef %714, ptr noundef %718, ptr noundef %719)
  br label %822

720:                                              ; preds = %690
  %721 = load ptr, ptr %25, align 8, !tbaa !5
  %722 = load i32, ptr %721, align 4, !tbaa !9
  %723 = sub nsw i32 %722, 1
  store i32 %723, ptr %47, align 4, !tbaa !9
  %724 = load ptr, ptr %38, align 8, !tbaa !5
  %725 = load i32, ptr %52, align 4, !tbaa !9
  %726 = sext i32 %725 to i64
  %727 = getelementptr inbounds float, ptr %724, i64 %726
  %728 = load ptr, ptr %38, align 8, !tbaa !5
  %729 = load i32, ptr %61, align 4, !tbaa !9
  %730 = sext i32 %729 to i64
  %731 = getelementptr inbounds float, ptr %728, i64 %730
  call void @scopy_(ptr noundef %47, ptr noundef %727, ptr noundef @c__1, ptr noundef %731, ptr noundef @c__1)
  %732 = load ptr, ptr %25, align 8, !tbaa !5
  %733 = load ptr, ptr %38, align 8, !tbaa !5
  %734 = load i32, ptr %51, align 4, !tbaa !9
  %735 = sext i32 %734 to i64
  %736 = getelementptr inbounds float, ptr %733, i64 %735
  %737 = load ptr, ptr %38, align 8, !tbaa !5
  %738 = load i32, ptr %60, align 4, !tbaa !9
  %739 = sext i32 %738 to i64
  %740 = getelementptr inbounds float, ptr %737, i64 %739
  call void @scopy_(ptr noundef %732, ptr noundef %736, ptr noundef @c__1, ptr noundef %740, ptr noundef @c__1)
  %741 = load ptr, ptr %32, align 8, !tbaa !5
  %742 = load float, ptr %741, align 4, !tbaa !11
  %743 = load ptr, ptr %25, align 8, !tbaa !5
  %744 = load i32, ptr %743, align 4, !tbaa !9
  %745 = sitofp i32 %744 to float
  %746 = fmul float %745, 2.000000e+00
  %747 = load float, ptr %93, align 4, !tbaa !11
  %748 = fmul float %746, %747
  %749 = fcmp ole float %742, %748
  br i1 %749, label %750, label %751

750:                                              ; preds = %720
  store i32 1, ptr %86, align 4, !tbaa !9
  br label %752

751:                                              ; preds = %720
  store i32 0, ptr %86, align 4, !tbaa !9
  br label %752

752:                                              ; preds = %751, %750
  %753 = load ptr, ptr %22, align 8, !tbaa !5
  %754 = load ptr, ptr %25, align 8, !tbaa !5
  %755 = load ptr, ptr %38, align 8, !tbaa !5
  %756 = load i32, ptr %60, align 4, !tbaa !9
  %757 = sext i32 %756 to i64
  %758 = getelementptr inbounds float, ptr %755, i64 %757
  %759 = load ptr, ptr %38, align 8, !tbaa !5
  %760 = load i32, ptr %61, align 4, !tbaa !9
  %761 = sext i32 %760 to i64
  %762 = getelementptr inbounds float, ptr %759, i64 %761
  %763 = load ptr, ptr %28, align 8, !tbaa !5
  %764 = load ptr, ptr %29, align 8, !tbaa !5
  %765 = load ptr, ptr %30, align 8, !tbaa !5
  %766 = load ptr, ptr %31, align 8, !tbaa !5
  %767 = load ptr, ptr %33, align 8, !tbaa !5
  %768 = load ptr, ptr %34, align 8, !tbaa !5
  %769 = getelementptr inbounds float, ptr %768, i64 1
  %770 = load ptr, ptr %35, align 8, !tbaa !5
  %771 = load i32, ptr %46, align 4, !tbaa !9
  %772 = sext i32 %771 to i64
  %773 = getelementptr inbounds float, ptr %770, i64 %772
  %774 = load ptr, ptr %36, align 8, !tbaa !5
  %775 = load ptr, ptr %25, align 8, !tbaa !5
  %776 = load ptr, ptr %37, align 8, !tbaa !5
  %777 = getelementptr inbounds i32, ptr %776, i64 1
  %778 = load ptr, ptr %38, align 8, !tbaa !5
  %779 = load i32, ptr %65, align 4, !tbaa !9
  %780 = sext i32 %779 to i64
  %781 = getelementptr inbounds float, ptr %778, i64 %780
  %782 = load ptr, ptr %39, align 8, !tbaa !5
  %783 = load ptr, ptr %40, align 8, !tbaa !5
  %784 = getelementptr inbounds i32, ptr %783, i64 1
  %785 = load ptr, ptr %41, align 8, !tbaa !5
  %786 = load ptr, ptr %42, align 8, !tbaa !5
  call void @sstemr_(ptr noundef %753, ptr noundef @.str.4, ptr noundef %754, ptr noundef %758, ptr noundef %762, ptr noundef %763, ptr noundef %764, ptr noundef %765, ptr noundef %766, ptr noundef %767, ptr noundef %769, ptr noundef %773, ptr noundef %774, ptr noundef %775, ptr noundef %777, ptr noundef %86, ptr noundef %781, ptr noundef %782, ptr noundef %784, ptr noundef %785, ptr noundef %786)
  %787 = load i32, ptr %68, align 4, !tbaa !9
  %788 = icmp ne i32 %787, 0
  br i1 %788, label %789, label %821

789:                                              ; preds = %752
  %790 = load ptr, ptr %42, align 8, !tbaa !5
  %791 = load i32, ptr %790, align 4, !tbaa !9
  %792 = icmp eq i32 %791, 0
  br i1 %792, label %793, label %821

793:                                              ; preds = %789
  %794 = load i32, ptr %52, align 4, !tbaa !9
  store i32 %794, ptr %84, align 4, !tbaa !9
  %795 = load ptr, ptr %39, align 8, !tbaa !5
  %796 = load i32, ptr %795, align 4, !tbaa !9
  %797 = load i32, ptr %84, align 4, !tbaa !9
  %798 = sub nsw i32 %796, %797
  %799 = add nsw i32 %798, 1
  store i32 %799, ptr %87, align 4, !tbaa !9
  %800 = load ptr, ptr %24, align 8, !tbaa !5
  %801 = load ptr, ptr %25, align 8, !tbaa !5
  %802 = load ptr, ptr %33, align 8, !tbaa !5
  %803 = load ptr, ptr %26, align 8, !tbaa !5
  %804 = load i32, ptr %44, align 4, !tbaa !9
  %805 = sext i32 %804 to i64
  %806 = getelementptr inbounds float, ptr %803, i64 %805
  %807 = load ptr, ptr %27, align 8, !tbaa !5
  %808 = load ptr, ptr %38, align 8, !tbaa !5
  %809 = load i32, ptr %81, align 4, !tbaa !9
  %810 = sext i32 %809 to i64
  %811 = getelementptr inbounds float, ptr %808, i64 %810
  %812 = load ptr, ptr %35, align 8, !tbaa !5
  %813 = load i32, ptr %46, align 4, !tbaa !9
  %814 = sext i32 %813 to i64
  %815 = getelementptr inbounds float, ptr %812, i64 %814
  %816 = load ptr, ptr %36, align 8, !tbaa !5
  %817 = load ptr, ptr %38, align 8, !tbaa !5
  %818 = load i32, ptr %84, align 4, !tbaa !9
  %819 = sext i32 %818 to i64
  %820 = getelementptr inbounds float, ptr %817, i64 %819
  call void @sormtr_(ptr noundef @.str.2, ptr noundef %800, ptr noundef @.str.1, ptr noundef %801, ptr noundef %802, ptr noundef %806, ptr noundef %807, ptr noundef %811, ptr noundef %815, ptr noundef %816, ptr noundef %820, ptr noundef %87, ptr noundef %63)
  br label %821

821:                                              ; preds = %793, %789, %752
  br label %822

822:                                              ; preds = %821, %693
  %823 = load ptr, ptr %42, align 8, !tbaa !5
  %824 = load i32, ptr %823, align 4, !tbaa !9
  %825 = icmp eq i32 %824, 0
  br i1 %825, label %826, label %830

826:                                              ; preds = %822
  %827 = load ptr, ptr %25, align 8, !tbaa !5
  %828 = load i32, ptr %827, align 4, !tbaa !9
  %829 = load ptr, ptr %33, align 8, !tbaa !5
  store i32 %828, ptr %829, align 4, !tbaa !9
  br label %942

830:                                              ; preds = %822
  %831 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 0, ptr %831, align 4, !tbaa !9
  br label %832

832:                                              ; preds = %830, %687, %684
  %833 = load i32, ptr %68, align 4, !tbaa !9
  %834 = icmp ne i32 %833, 0
  br i1 %834, label %835, label %837

835:                                              ; preds = %832
  %836 = getelementptr inbounds [1 x i8], ptr %64, i64 0, i64 0
  store i8 66, ptr %836, align 1, !tbaa !16
  br label %839

837:                                              ; preds = %832
  %838 = getelementptr inbounds [1 x i8], ptr %64, i64 0, i64 0
  store i8 69, ptr %838, align 1, !tbaa !16
  br label %839

839:                                              ; preds = %837, %835
  %840 = load ptr, ptr %23, align 8, !tbaa !5
  %841 = getelementptr inbounds [1 x i8], ptr %64, i64 0, i64 0
  %842 = load ptr, ptr %25, align 8, !tbaa !5
  %843 = load ptr, ptr %30, align 8, !tbaa !5
  %844 = load ptr, ptr %31, align 8, !tbaa !5
  %845 = load ptr, ptr %38, align 8, !tbaa !5
  %846 = load i32, ptr %51, align 4, !tbaa !9
  %847 = sext i32 %846 to i64
  %848 = getelementptr inbounds float, ptr %845, i64 %847
  %849 = load ptr, ptr %38, align 8, !tbaa !5
  %850 = load i32, ptr %52, align 4, !tbaa !9
  %851 = sext i32 %850 to i64
  %852 = getelementptr inbounds float, ptr %849, i64 %851
  %853 = load ptr, ptr %33, align 8, !tbaa !5
  %854 = load ptr, ptr %34, align 8, !tbaa !5
  %855 = getelementptr inbounds float, ptr %854, i64 1
  %856 = load ptr, ptr %40, align 8, !tbaa !5
  %857 = load i32, ptr %75, align 4, !tbaa !9
  %858 = sext i32 %857 to i64
  %859 = getelementptr inbounds i32, ptr %856, i64 %858
  %860 = load ptr, ptr %40, align 8, !tbaa !5
  %861 = load i32, ptr %82, align 4, !tbaa !9
  %862 = sext i32 %861 to i64
  %863 = getelementptr inbounds i32, ptr %860, i64 %862
  %864 = load ptr, ptr %38, align 8, !tbaa !5
  %865 = load i32, ptr %65, align 4, !tbaa !9
  %866 = sext i32 %865 to i64
  %867 = getelementptr inbounds float, ptr %864, i64 %866
  %868 = load ptr, ptr %40, align 8, !tbaa !5
  %869 = load i32, ptr %83, align 4, !tbaa !9
  %870 = sext i32 %869 to i64
  %871 = getelementptr inbounds i32, ptr %868, i64 %870
  %872 = load ptr, ptr %42, align 8, !tbaa !5
  call void @sstebz_(ptr noundef %840, ptr noundef %841, ptr noundef %842, ptr noundef %94, ptr noundef %95, ptr noundef %843, ptr noundef %844, ptr noundef %79, ptr noundef %848, ptr noundef %852, ptr noundef %853, ptr noundef %89, ptr noundef %855, ptr noundef %859, ptr noundef %863, ptr noundef %867, ptr noundef %871, ptr noundef %872)
  %873 = load i32, ptr %68, align 4, !tbaa !9
  %874 = icmp ne i32 %873, 0
  br i1 %874, label %875, label %941

875:                                              ; preds = %839
  %876 = load ptr, ptr %25, align 8, !tbaa !5
  %877 = load ptr, ptr %38, align 8, !tbaa !5
  %878 = load i32, ptr %51, align 4, !tbaa !9
  %879 = sext i32 %878 to i64
  %880 = getelementptr inbounds float, ptr %877, i64 %879
  %881 = load ptr, ptr %38, align 8, !tbaa !5
  %882 = load i32, ptr %52, align 4, !tbaa !9
  %883 = sext i32 %882 to i64
  %884 = getelementptr inbounds float, ptr %881, i64 %883
  %885 = load ptr, ptr %33, align 8, !tbaa !5
  %886 = load ptr, ptr %34, align 8, !tbaa !5
  %887 = getelementptr inbounds float, ptr %886, i64 1
  %888 = load ptr, ptr %40, align 8, !tbaa !5
  %889 = load i32, ptr %75, align 4, !tbaa !9
  %890 = sext i32 %889 to i64
  %891 = getelementptr inbounds i32, ptr %888, i64 %890
  %892 = load ptr, ptr %40, align 8, !tbaa !5
  %893 = load i32, ptr %82, align 4, !tbaa !9
  %894 = sext i32 %893 to i64
  %895 = getelementptr inbounds i32, ptr %892, i64 %894
  %896 = load ptr, ptr %35, align 8, !tbaa !5
  %897 = load i32, ptr %46, align 4, !tbaa !9
  %898 = sext i32 %897 to i64
  %899 = getelementptr inbounds float, ptr %896, i64 %898
  %900 = load ptr, ptr %36, align 8, !tbaa !5
  %901 = load ptr, ptr %38, align 8, !tbaa !5
  %902 = load i32, ptr %65, align 4, !tbaa !9
  %903 = sext i32 %902 to i64
  %904 = getelementptr inbounds float, ptr %901, i64 %903
  %905 = load ptr, ptr %40, align 8, !tbaa !5
  %906 = load i32, ptr %83, align 4, !tbaa !9
  %907 = sext i32 %906 to i64
  %908 = getelementptr inbounds i32, ptr %905, i64 %907
  %909 = load ptr, ptr %40, align 8, !tbaa !5
  %910 = load i32, ptr %76, align 4, !tbaa !9
  %911 = sext i32 %910 to i64
  %912 = getelementptr inbounds i32, ptr %909, i64 %911
  %913 = load ptr, ptr %42, align 8, !tbaa !5
  call void @sstein_(ptr noundef %876, ptr noundef %880, ptr noundef %884, ptr noundef %885, ptr noundef %887, ptr noundef %891, ptr noundef %895, ptr noundef %899, ptr noundef %900, ptr noundef %904, ptr noundef %908, ptr noundef %912, ptr noundef %913)
  %914 = load i32, ptr %52, align 4, !tbaa !9
  store i32 %914, ptr %84, align 4, !tbaa !9
  %915 = load ptr, ptr %39, align 8, !tbaa !5
  %916 = load i32, ptr %915, align 4, !tbaa !9
  %917 = load i32, ptr %84, align 4, !tbaa !9
  %918 = sub nsw i32 %916, %917
  %919 = add nsw i32 %918, 1
  store i32 %919, ptr %87, align 4, !tbaa !9
  %920 = load ptr, ptr %24, align 8, !tbaa !5
  %921 = load ptr, ptr %25, align 8, !tbaa !5
  %922 = load ptr, ptr %33, align 8, !tbaa !5
  %923 = load ptr, ptr %26, align 8, !tbaa !5
  %924 = load i32, ptr %44, align 4, !tbaa !9
  %925 = sext i32 %924 to i64
  %926 = getelementptr inbounds float, ptr %923, i64 %925
  %927 = load ptr, ptr %27, align 8, !tbaa !5
  %928 = load ptr, ptr %38, align 8, !tbaa !5
  %929 = load i32, ptr %81, align 4, !tbaa !9
  %930 = sext i32 %929 to i64
  %931 = getelementptr inbounds float, ptr %928, i64 %930
  %932 = load ptr, ptr %35, align 8, !tbaa !5
  %933 = load i32, ptr %46, align 4, !tbaa !9
  %934 = sext i32 %933 to i64
  %935 = getelementptr inbounds float, ptr %932, i64 %934
  %936 = load ptr, ptr %36, align 8, !tbaa !5
  %937 = load ptr, ptr %38, align 8, !tbaa !5
  %938 = load i32, ptr %84, align 4, !tbaa !9
  %939 = sext i32 %938 to i64
  %940 = getelementptr inbounds float, ptr %937, i64 %939
  call void @sormtr_(ptr noundef @.str.2, ptr noundef %920, ptr noundef @.str.1, ptr noundef %921, ptr noundef %922, ptr noundef %926, ptr noundef %927, ptr noundef %931, ptr noundef %935, ptr noundef %936, ptr noundef %940, ptr noundef %87, ptr noundef %63)
  br label %941

941:                                              ; preds = %875, %839
  br label %942

942:                                              ; preds = %941, %826
  %943 = load i32, ptr %73, align 4, !tbaa !9
  %944 = icmp eq i32 %943, 1
  br i1 %944, label %945, label %961

945:                                              ; preds = %942
  %946 = load ptr, ptr %42, align 8, !tbaa !5
  %947 = load i32, ptr %946, align 4, !tbaa !9
  %948 = icmp eq i32 %947, 0
  br i1 %948, label %949, label %952

949:                                              ; preds = %945
  %950 = load ptr, ptr %33, align 8, !tbaa !5
  %951 = load i32, ptr %950, align 4, !tbaa !9
  store i32 %951, ptr %54, align 4, !tbaa !9
  br label %956

952:                                              ; preds = %945
  %953 = load ptr, ptr %42, align 8, !tbaa !5
  %954 = load i32, ptr %953, align 4, !tbaa !9
  %955 = sub nsw i32 %954, 1
  store i32 %955, ptr %54, align 4, !tbaa !9
  br label %956

956:                                              ; preds = %952, %949
  %957 = load float, ptr %62, align 4, !tbaa !11
  %958 = fdiv float 1.000000e+00, %957
  store float %958, ptr %49, align 4, !tbaa !11
  %959 = load ptr, ptr %34, align 8, !tbaa !5
  %960 = getelementptr inbounds float, ptr %959, i64 1
  call void @sscal_(ptr noundef %54, ptr noundef %49, ptr noundef %960, ptr noundef @c__1)
  br label %961

961:                                              ; preds = %956, %942
  %962 = load i32, ptr %68, align 4, !tbaa !9
  %963 = icmp ne i32 %962, 0
  br i1 %963, label %964, label %1043

964:                                              ; preds = %961
  %965 = load ptr, ptr %33, align 8, !tbaa !5
  %966 = load i32, ptr %965, align 4, !tbaa !9
  %967 = sub nsw i32 %966, 1
  store i32 %967, ptr %47, align 4, !tbaa !9
  store i32 1, ptr %59, align 4, !tbaa !9
  br label %968

968:                                              ; preds = %1039, %964
  %969 = load i32, ptr %59, align 4, !tbaa !9
  %970 = load i32, ptr %47, align 4, !tbaa !9
  %971 = icmp sle i32 %969, %970
  br i1 %971, label %972, label %1042

972:                                              ; preds = %968
  store i32 0, ptr %58, align 4, !tbaa !9
  %973 = load ptr, ptr %34, align 8, !tbaa !5
  %974 = load i32, ptr %59, align 4, !tbaa !9
  %975 = sext i32 %974 to i64
  %976 = getelementptr inbounds float, ptr %973, i64 %975
  %977 = load float, ptr %976, align 4, !tbaa !11
  store float %977, ptr %96, align 4, !tbaa !11
  %978 = load ptr, ptr %33, align 8, !tbaa !5
  %979 = load i32, ptr %978, align 4, !tbaa !9
  store i32 %979, ptr %48, align 4, !tbaa !9
  %980 = load i32, ptr %59, align 4, !tbaa !9
  %981 = add nsw i32 %980, 1
  store i32 %981, ptr %70, align 4, !tbaa !9
  br label %982

982:                                              ; preds = %1002, %972
  %983 = load i32, ptr %70, align 4, !tbaa !9
  %984 = load i32, ptr %48, align 4, !tbaa !9
  %985 = icmp sle i32 %983, %984
  br i1 %985, label %986, label %1005

986:                                              ; preds = %982
  %987 = load ptr, ptr %34, align 8, !tbaa !5
  %988 = load i32, ptr %70, align 4, !tbaa !9
  %989 = sext i32 %988 to i64
  %990 = getelementptr inbounds float, ptr %987, i64 %989
  %991 = load float, ptr %990, align 4, !tbaa !11
  %992 = load float, ptr %96, align 4, !tbaa !11
  %993 = fcmp olt float %991, %992
  br i1 %993, label %994, label %1001

994:                                              ; preds = %986
  %995 = load i32, ptr %70, align 4, !tbaa !9
  store i32 %995, ptr %58, align 4, !tbaa !9
  %996 = load ptr, ptr %34, align 8, !tbaa !5
  %997 = load i32, ptr %70, align 4, !tbaa !9
  %998 = sext i32 %997 to i64
  %999 = getelementptr inbounds float, ptr %996, i64 %998
  %1000 = load float, ptr %999, align 4, !tbaa !11
  store float %1000, ptr %96, align 4, !tbaa !11
  br label %1001

1001:                                             ; preds = %994, %986
  br label %1002

1002:                                             ; preds = %1001
  %1003 = load i32, ptr %70, align 4, !tbaa !9
  %1004 = add nsw i32 %1003, 1
  store i32 %1004, ptr %70, align 4, !tbaa !9
  br label %982, !llvm.loop !17

1005:                                             ; preds = %982
  %1006 = load i32, ptr %58, align 4, !tbaa !9
  %1007 = icmp ne i32 %1006, 0
  br i1 %1007, label %1008, label %1038

1008:                                             ; preds = %1005
  %1009 = load ptr, ptr %34, align 8, !tbaa !5
  %1010 = load i32, ptr %59, align 4, !tbaa !9
  %1011 = sext i32 %1010 to i64
  %1012 = getelementptr inbounds float, ptr %1009, i64 %1011
  %1013 = load float, ptr %1012, align 4, !tbaa !11
  %1014 = load ptr, ptr %34, align 8, !tbaa !5
  %1015 = load i32, ptr %58, align 4, !tbaa !9
  %1016 = sext i32 %1015 to i64
  %1017 = getelementptr inbounds float, ptr %1014, i64 %1016
  store float %1013, ptr %1017, align 4, !tbaa !11
  %1018 = load float, ptr %96, align 4, !tbaa !11
  %1019 = load ptr, ptr %34, align 8, !tbaa !5
  %1020 = load i32, ptr %59, align 4, !tbaa !9
  %1021 = sext i32 %1020 to i64
  %1022 = getelementptr inbounds float, ptr %1019, i64 %1021
  store float %1018, ptr %1022, align 4, !tbaa !11
  %1023 = load ptr, ptr %25, align 8, !tbaa !5
  %1024 = load ptr, ptr %35, align 8, !tbaa !5
  %1025 = load i32, ptr %58, align 4, !tbaa !9
  %1026 = load i32, ptr %45, align 4, !tbaa !9
  %1027 = mul nsw i32 %1025, %1026
  %1028 = add nsw i32 %1027, 1
  %1029 = sext i32 %1028 to i64
  %1030 = getelementptr inbounds float, ptr %1024, i64 %1029
  %1031 = load ptr, ptr %35, align 8, !tbaa !5
  %1032 = load i32, ptr %59, align 4, !tbaa !9
  %1033 = load i32, ptr %45, align 4, !tbaa !9
  %1034 = mul nsw i32 %1032, %1033
  %1035 = add nsw i32 %1034, 1
  %1036 = sext i32 %1035 to i64
  %1037 = getelementptr inbounds float, ptr %1031, i64 %1036
  call void @sswap_(ptr noundef %1023, ptr noundef %1030, ptr noundef @c__1, ptr noundef %1037, ptr noundef @c__1)
  br label %1038

1038:                                             ; preds = %1008, %1005
  br label %1039

1039:                                             ; preds = %1038
  %1040 = load i32, ptr %59, align 4, !tbaa !9
  %1041 = add nsw i32 %1040, 1
  store i32 %1041, ptr %59, align 4, !tbaa !9
  br label %968, !llvm.loop !18

1042:                                             ; preds = %968
  br label %1043

1043:                                             ; preds = %1042, %961
  %1044 = load i32, ptr %91, align 4, !tbaa !9
  %1045 = sitofp i32 %1044 to float
  %1046 = load ptr, ptr %38, align 8, !tbaa !5
  %1047 = getelementptr inbounds float, ptr %1046, i64 1
  store float %1045, ptr %1047, align 4, !tbaa !11
  %1048 = load i32, ptr %85, align 4, !tbaa !9
  %1049 = load ptr, ptr %40, align 8, !tbaa !5
  %1050 = getelementptr inbounds i32, ptr %1049, i64 1
  store i32 %1048, ptr %1050, align 4, !tbaa !9
  store i32 1, ptr %97, align 4
  br label %1051

1051:                                             ; preds = %1043, %463, %394, %387, %379
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #4
  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 4, ptr %65) #4
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #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 i32 @ilaenv_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) #2

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

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

declare float @slamch_(ptr noundef) #2

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

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

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

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

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

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

declare void @sstemr_(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

declare void @sormtr_(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

declare void @sstebz_(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

declare void @sstein_(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

declare void @sswap_(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"

@c__10 = external hidden global i32, align 4
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4
@c__3 = external hidden global i32, align 4
@c__4 = external hidden global i32, align 4
@.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 [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [7 x i8], align 1
@c_n1 = external hidden global i32, align 4
@.str.8 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @ssyevr_(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 nocapture noundef readonly %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) local_unnamed_addr #0 {
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca float, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca float, align 4
  %28 = alloca i32, align 4
  %29 = alloca [1 x i8], align 1
  %30 = alloca float, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca float, align 4
  %36 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #5
  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 4, 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
  %37 = load i32, ptr %5, align 4, !tbaa !5
  %narrow = xor i32 %37, -1
  %38 = sext i32 %narrow to i64
  %39 = getelementptr inbounds float, ptr %4, i64 %38
  %40 = getelementptr inbounds i8, ptr %12, i64 -4
  %41 = load i32, ptr %14, align 4, !tbaa !5
  %narrow414 = xor i32 %41, -1
  %42 = sext i32 %narrow414 to i64
  %43 = getelementptr inbounds float, ptr %13, i64 %42
  %44 = getelementptr inbounds i8, ptr %16, i64 -4
  %45 = getelementptr inbounds i8, ptr %18, i64 -4
  %46 = tail call i32 @ilaenv_(ptr noundef nonnull @c__10, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1, ptr noundef nonnull @c__1, ptr noundef nonnull @c__2, ptr noundef nonnull @c__3, ptr noundef nonnull @c__4, i32 noundef 6, i32 noundef 1) #5
  %47 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.2) #5
  %48 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.3) #5
  %49 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.4) #5
  %50 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.3) #5
  %51 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.5) #5
  %52 = load i32, ptr %17, align 4, !tbaa !5
  %53 = icmp eq i32 %52, -1
  br i1 %53, label %57, label %54

54:                                               ; preds = %21
  %55 = load i32, ptr %19, align 4, !tbaa !5
  %56 = icmp eq i32 %55, -1
  br label %57

57:                                               ; preds = %54, %21
  %58 = phi i1 [ true, %21 ], [ %56, %54 ]
  %59 = load i32, ptr %3, align 4, !tbaa !5
  %60 = mul nsw i32 %59, 26
  %61 = icmp slt i32 %59, 1
  %62 = select i1 %61, i32 1, i32 %60
  %63 = mul nsw i32 %59, 10
  %64 = select i1 %61, i32 1, i32 %63
  store i32 0, ptr %20, align 4, !tbaa !5
  %.not = icmp ne i32 %48, 0
  br i1 %.not, label %67, label %65

65:                                               ; preds = %57
  %66 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.1) #5
  %.not393 = icmp eq i32 %66, 0
  br i1 %.not393, label %.thread428.sink.split, label %67

67:                                               ; preds = %65, %57
  %68 = icmp ne i32 %49, 0
  %69 = icmp ne i32 %50, 0
  %or.cond = select i1 %68, i1 true, i1 %69
  %70 = icmp ne i32 %51, 0
  %or.cond3 = select i1 %or.cond, i1 true, i1 %70
  br i1 %or.cond3, label %71, label %.thread428.sink.split

71:                                               ; preds = %67
  %.not394 = icmp eq i32 %47, 0
  br i1 %.not394, label %72, label %74

72:                                               ; preds = %71
  %73 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.6) #5
  %.not395 = icmp eq i32 %73, 0
  br i1 %.not395, label %.thread428.sink.split, label %74

74:                                               ; preds = %72, %71
  %75 = load i32, ptr %3, align 4, !tbaa !5
  %76 = icmp slt i32 %75, 0
  br i1 %76, label %.thread428.sink.split, label %77

77:                                               ; preds = %74
  %78 = load i32, ptr %5, align 4, !tbaa !5
  %spec.select = tail call i32 @llvm.umax.i32(i32 %75, i32 1)
  %79 = icmp slt i32 %78, %spec.select
  br i1 %79, label %.thread428.sink.split, label %80

80:                                               ; preds = %77
  br i1 %69, label %81, label %86

81:                                               ; preds = %80
  %.not442 = icmp eq i32 %75, 0
  br i1 %.not442, label %95, label %82

82:                                               ; preds = %81
  %83 = load float, ptr %7, align 4, !tbaa !9
  %84 = load float, ptr %6, align 4, !tbaa !9
  %85 = fcmp ugt float %83, %84
  br i1 %85, label %95, label %.thread428.sink.split

86:                                               ; preds = %80
  br i1 %70, label %87, label %95

87:                                               ; preds = %86
  %88 = load i32, ptr %8, align 4, !tbaa !5
  %89 = icmp slt i32 %88, 1
  %90 = icmp ugt i32 %88, %spec.select
  %or.cond440 = or i1 %89, %90
  br i1 %or.cond440, label %.thread428.sink.split, label %91

91:                                               ; preds = %87
  %92 = load i32, ptr %9, align 4, !tbaa !5
  %. = tail call i32 @llvm.umin.i32(i32 %75, i32 %88)
  %93 = icmp slt i32 %92, %.
  %94 = icmp ugt i32 %92, %75
  %or.cond441 = or i1 %93, %94
  br i1 %or.cond441, label %.thread428.sink.split, label %95

95:                                               ; preds = %91, %82, %81, %86
  %.pr = load i32, ptr %20, align 4, !tbaa !5
  %96 = icmp eq i32 %.pr, 0
  br i1 %96, label %97, label %.thread428

97:                                               ; preds = %95
  %98 = load i32, ptr %14, align 4, !tbaa !5
  %99 = icmp slt i32 %98, 1
  %100 = icmp ult i32 %98, %75
  %or.cond475 = and i1 %.not, %100
  %or.cond478 = or i1 %99, %or.cond475
  br i1 %or.cond478, label %.thread428.sink.split, label %.thread

.thread:                                          ; preds = %97
  %101 = tail call i32 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.7, ptr noundef %2, ptr noundef nonnull %3, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, i32 noundef 6, i32 noundef 1) #5
  %102 = tail call i32 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.8, ptr noundef %2, ptr noundef nonnull %3, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, i32 noundef 6, i32 noundef 1) #5
  store i32 %102, ptr %23, align 4, !tbaa !5
  %103 = tail call i32 @llvm.smax.i32(i32 %101, i32 %102)
  %104 = add nsw i32 %103, 1
  %105 = load i32, ptr %3, align 4, !tbaa !5
  %106 = mul nsw i32 %104, %105
  store i32 %106, ptr %22, align 4, !tbaa !5
  %107 = tail call i32 @llvm.smax.i32(i32 %106, i32 %62)
  %108 = sitofp i32 %107 to float
  store float %108, ptr %16, align 4, !tbaa !9
  store i32 %64, ptr %18, align 4, !tbaa !5
  %109 = load i32, ptr %17, align 4, !tbaa !5
  %110 = icmp sge i32 %109, %62
  %or.cond5 = select i1 %110, i1 true, i1 %58
  br i1 %or.cond5, label %111, label %.thread428.sink.split

111:                                              ; preds = %.thread
  %112 = load i32, ptr %19, align 4, !tbaa !5
  %113 = icmp sge i32 %112, %64
  %or.cond7 = select i1 %113, i1 true, i1 %58
  br i1 %or.cond7, label %.thread423, label %.thread428.sink.split

.thread423:                                       ; preds = %111
  %.pr425.pr = load i32, ptr %20, align 4, !tbaa !5
  %.not399 = icmp eq i32 %.pr425.pr, 0
  br i1 %.not399, label %117, label %.thread428

.thread428.sink.split:                            ; preds = %111, %.thread, %97, %91, %87, %82, %77, %74, %72, %67, %65
  %.sink = phi i32 [ -1, %65 ], [ -2, %67 ], [ -3, %72 ], [ -4, %74 ], [ -6, %77 ], [ -8, %82 ], [ -9, %87 ], [ -10, %91 ], [ -15, %97 ], [ -18, %.thread ], [ -20, %111 ]
  store i32 %.sink, ptr %20, align 4, !tbaa !5
  br label %.thread428

.thread428:                                       ; preds = %.thread428.sink.split, %95, %.thread423
  %114 = phi i32 [ %.pr425.pr, %.thread423 ], [ %.pr, %95 ], [ %.sink, %.thread428.sink.split ]
  %115 = sub nsw i32 0, %114
  store i32 %115, ptr %22, align 4, !tbaa !5
  %116 = call i32 @xerbla_(ptr noundef nonnull @.str, ptr noundef nonnull %22, i32 noundef 6) #5
  br label %297

117:                                              ; preds = %.thread423
  br i1 %58, label %297, label %118

118:                                              ; preds = %117
  store i32 0, ptr %11, align 4, !tbaa !5
  %119 = load i32, ptr %3, align 4, !tbaa !5
  switch i32 %119, label %135 [
    i32 0, label %120
    i32 1, label %121
  ]

120:                                              ; preds = %118
  store float 1.000000e+00, ptr %16, align 4, !tbaa !9
  br label %297

121:                                              ; preds = %118
  store float 2.600000e+01, ptr %16, align 4, !tbaa !9
  %or.cond9 = select i1 %68, i1 true, i1 %70
  br i1 %or.cond9, label %122, label %124

122:                                              ; preds = %121
  store i32 1, ptr %11, align 4, !tbaa !5
  %123 = load float, ptr %4, align 4, !tbaa !9
  br label %.sink.split

124:                                              ; preds = %121
  %125 = load float, ptr %6, align 4, !tbaa !9
  %126 = load float, ptr %4, align 4, !tbaa !9
  %127 = fcmp olt float %125, %126
  br i1 %127, label %128, label %132

128:                                              ; preds = %124
  %129 = load float, ptr %7, align 4, !tbaa !9
  %130 = fcmp ult float %129, %126
  br i1 %130, label %132, label %131

131:                                              ; preds = %128
  store i32 1, ptr %11, align 4, !tbaa !5
  br label %.sink.split

.sink.split:                                      ; preds = %122, %131
  %.sink476 = phi float [ %126, %131 ], [ %123, %122 ]
  store float %.sink476, ptr %12, align 4, !tbaa !9
  br label %132

132:                                              ; preds = %.sink.split, %124, %128
  br i1 %.not, label %133, label %297

133:                                              ; preds = %132
  store float 1.000000e+00, ptr %13, align 4, !tbaa !9
  store i32 1, ptr %15, align 4, !tbaa !5
  %134 = getelementptr inbounds i8, ptr %15, i64 4
  store i32 1, ptr %134, align 4, !tbaa !5
  br label %297

135:                                              ; preds = %118
  %136 = tail call float @slamch_(ptr noundef nonnull @.str.9) #5
  %137 = tail call float @slamch_(ptr noundef nonnull @.str.10) #5
  %138 = fdiv float %136, %137
  %139 = fdiv float 1.000000e+00, %138
  %sqrtf = tail call float @sqrtf(float noundef %138) #3
  %sqrtf400 = tail call float @sqrtf(float noundef %139) #3
  store float %sqrtf400, ptr %24, align 4, !tbaa !9
  %140 = fpext float %136 to double
  %141 = tail call double @sqrt(double noundef %140) #5
  %142 = tail call double @sqrt(double noundef %141) #5
  %143 = fdiv double 1.000000e+00, %142
  %144 = fptrunc double %143 to float
  %145 = fcmp ole float %sqrtf400, %144
  %146 = select i1 %145, float %sqrtf400, float %144
  %147 = load float, ptr %10, align 4, !tbaa !9
  store float %147, ptr %30, align 4, !tbaa !9
  %.not401 = icmp eq i32 %50, 0
  br i1 %.not401, label %151, label %148

148:                                              ; preds = %135
  %149 = load float, ptr %6, align 4, !tbaa !9
  store float %149, ptr %35, align 4, !tbaa !9
  %150 = load float, ptr %7, align 4, !tbaa !9
  store float %150, ptr %36, align 4, !tbaa !9
  br label %151

151:                                              ; preds = %148, %135
  %152 = tail call float @slansy_(ptr noundef nonnull @.str.11, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4, ptr noundef nonnull %5, ptr noundef nonnull %16) #5
  %153 = fcmp ogt float %152, 0.000000e+00
  %154 = fcmp olt float %152, %sqrtf
  %or.cond416 = select i1 %153, i1 %154, i1 false
  br i1 %or.cond416, label %157, label %155

155:                                              ; preds = %151
  %156 = fcmp ogt float %152, %146
  br i1 %156, label %157, label %188

157:                                              ; preds = %155, %151
  %.pn = phi float [ %sqrtf, %151 ], [ %146, %155 ]
  %storemerge443 = fdiv float %.pn, %152
  store float %storemerge443, ptr %27, align 4, !tbaa !9
  %158 = load i32, ptr %3, align 4, !tbaa !5
  store i32 %158, ptr %22, align 4, !tbaa !5
  br i1 %.not394, label %170, label %159

159:                                              ; preds = %157
  store i32 1, ptr %26, align 4, !tbaa !5
  %.not405447 = icmp slt i32 %158, 1
  br i1 %.not405447, label %.loopexit445, label %.lr.ph

.lr.ph:                                           ; preds = %159
  %160 = add i32 %37, 1
  br label %161

161:                                              ; preds = %.lr.ph, %161
  %storemerge404448 = phi i32 [ 1, %.lr.ph ], [ %168, %161 ]
  %162 = load i32, ptr %3, align 4, !tbaa !5
  %reass.sub = sub i32 %162, %storemerge404448
  %163 = add i32 %reass.sub, 1
  store i32 %163, ptr %23, align 4, !tbaa !5
  %164 = mul i32 %storemerge404448, %160
  %165 = sext i32 %164 to i64
  %166 = getelementptr inbounds float, ptr %39, i64 %165
  call void @sscal_(ptr noundef nonnull %23, ptr noundef nonnull %27, ptr noundef %166, ptr noundef nonnull @c__1) #5
  %167 = load i32, ptr %26, align 4, !tbaa !5
  %168 = add nsw i32 %167, 1
  store i32 %168, ptr %26, align 4, !tbaa !5
  %169 = load i32, ptr %22, align 4, !tbaa !5
  %.not405.not = icmp slt i32 %167, %169
  br i1 %.not405.not, label %161, label %.loopexit445, !llvm.loop !11

170:                                              ; preds = %157
  %invariant.gep = getelementptr i8, ptr %39, i64 4
  store i32 1, ptr %26, align 4, !tbaa !5
  %.not403449 = icmp slt i32 %158, 1
  br i1 %.not403449, label %.loopexit445, label %.lr.ph451

.lr.ph451:                                        ; preds = %170, %.lr.ph451
  %storemerge450 = phi i32 [ %174, %.lr.ph451 ], [ 1, %170 ]
  %171 = mul nsw i32 %storemerge450, %37
  %172 = sext i32 %171 to i64
  %gep = getelementptr float, ptr %invariant.gep, i64 %172
  call void @sscal_(ptr noundef nonnull %26, ptr noundef nonnull %27, ptr noundef %gep, ptr noundef nonnull @c__1) #5
  %173 = load i32, ptr %26, align 4, !tbaa !5
  %174 = add nsw i32 %173, 1
  store i32 %174, ptr %26, align 4, !tbaa !5
  %175 = load i32, ptr %22, align 4, !tbaa !5
  %.not403.not = icmp slt i32 %173, %175
  br i1 %.not403.not, label %.lr.ph451, label %.loopexit445, !llvm.loop !13

.loopexit445:                                     ; preds = %161, %.lr.ph451, %159, %170
  %176 = load float, ptr %10, align 4, !tbaa !9
  %177 = fcmp ogt float %176, 0.000000e+00
  br i1 %177, label %178, label %181

178:                                              ; preds = %.loopexit445
  %179 = load float, ptr %27, align 4, !tbaa !9
  %180 = fmul float %176, %179
  store float %180, ptr %30, align 4, !tbaa !9
  br label %181

181:                                              ; preds = %178, %.loopexit445
  br i1 %.not401, label %188, label %182

182:                                              ; preds = %181
  %183 = load float, ptr %6, align 4, !tbaa !9
  %184 = load float, ptr %27, align 4, !tbaa !9
  %185 = fmul float %183, %184
  store float %185, ptr %35, align 4, !tbaa !9
  %186 = load float, ptr %7, align 4, !tbaa !9
  %187 = fmul float %184, %186
  store float %187, ptr %36, align 4, !tbaa !9
  br label %188

188:                                              ; preds = %155, %181, %182
  %189 = phi i1 [ true, %181 ], [ true, %182 ], [ false, %155 ]
  %190 = load i32, ptr %3, align 4, !tbaa !5
  %191 = add nsw i32 %190, 1
  %192 = add nsw i32 %191, %190
  %193 = add nsw i32 %192, %190
  %194 = add nsw i32 %193, %190
  %195 = add nsw i32 %194, %190
  %196 = load i32, ptr %17, align 4, !tbaa !5
  %197 = add i32 %196, 1
  %198 = sub i32 %197, %195
  store i32 %198, ptr %33, align 4, !tbaa !5
  %199 = sext i32 %191 to i64
  %200 = getelementptr inbounds float, ptr %44, i64 %199
  %201 = sext i32 %192 to i64
  %202 = getelementptr inbounds float, ptr %44, i64 %201
  %203 = sext i32 %195 to i64
  %204 = getelementptr inbounds float, ptr %44, i64 %203
  call void @ssytrd_(ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4, ptr noundef nonnull %5, ptr noundef nonnull %200, ptr noundef nonnull %202, ptr noundef nonnull %16, ptr noundef nonnull %204, ptr noundef nonnull %33, ptr noundef nonnull %28) #5
  %.not406 = icmp eq i32 %51, 0
  br i1 %.not406, label %212, label %205

205:                                              ; preds = %188
  %206 = load i32, ptr %8, align 4, !tbaa !5
  %207 = icmp eq i32 %206, 1
  br i1 %207, label %208, label %212

208:                                              ; preds = %205
  %209 = load i32, ptr %9, align 4, !tbaa !5
  %210 = load i32, ptr %3, align 4, !tbaa !5
  %211 = icmp eq i32 %209, %210
  br label %212

212:                                              ; preds = %208, %205, %188
  %213 = phi i1 [ false, %205 ], [ false, %188 ], [ %211, %208 ]
  %or.cond11 = or i1 %68, %213
  %214 = icmp eq i32 %46, 1
  %or.cond13 = select i1 %or.cond11, i1 %214, i1 false
  br i1 %or.cond13, label %215, label %243

215:                                              ; preds = %212
  br i1 %.not, label %221, label %216

216:                                              ; preds = %215
  call void @scopy_(ptr noundef nonnull %3, ptr noundef nonnull %200, ptr noundef nonnull @c__1, ptr noundef %12, ptr noundef nonnull @c__1) #5
  %217 = load i32, ptr %3, align 4, !tbaa !5
  %218 = add nsw i32 %217, -1
  store i32 %218, ptr %22, align 4, !tbaa !5
  %219 = sext i32 %194 to i64
  %220 = getelementptr inbounds float, ptr %44, i64 %219
  call void @scopy_(ptr noundef nonnull %22, ptr noundef nonnull %202, ptr noundef nonnull @c__1, ptr noundef nonnull %220, ptr noundef nonnull @c__1) #5
  call void @ssterf_(ptr noundef nonnull %3, ptr noundef %12, ptr noundef nonnull %220, ptr noundef nonnull %20) #5
  br label %239

221:                                              ; preds = %215
  %222 = load i32, ptr %3, align 4, !tbaa !5
  %223 = add nsw i32 %222, -1
  store i32 %223, ptr %22, align 4, !tbaa !5
  %224 = sext i32 %194 to i64
  %225 = getelementptr inbounds float, ptr %44, i64 %224
  call void @scopy_(ptr noundef nonnull %22, ptr noundef nonnull %202, ptr noundef nonnull @c__1, ptr noundef nonnull %225, ptr noundef nonnull @c__1) #5
  %226 = sext i32 %193 to i64
  %227 = getelementptr inbounds float, ptr %44, i64 %226
  call void @scopy_(ptr noundef nonnull %3, ptr noundef nonnull %200, ptr noundef nonnull @c__1, ptr noundef nonnull %227, ptr noundef nonnull @c__1) #5
  %228 = load float, ptr %10, align 4, !tbaa !9
  %229 = load i32, ptr %3, align 4, !tbaa !5
  %230 = sitofp i32 %229 to float
  %231 = fmul float %230, 2.000000e+00
  %232 = fmul float %137, %231
  %233 = fcmp ole float %228, %232
  %.418 = zext i1 %233 to i32
  store i32 %.418, ptr %31, align 4, !tbaa !5
  call void @sstemr_(ptr noundef %0, ptr noundef nonnull @.str.4, ptr noundef nonnull %3, ptr noundef nonnull %227, ptr noundef nonnull %225, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef nonnull %11, ptr noundef %12, ptr noundef %13, ptr noundef nonnull %14, ptr noundef nonnull %3, ptr noundef %15, ptr noundef nonnull %31, ptr noundef nonnull %204, ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20) #5
  %234 = load i32, ptr %20, align 4, !tbaa !5
  %235 = icmp eq i32 %234, 0
  br i1 %235, label %236, label %.thread435

236:                                              ; preds = %221
  %237 = load i32, ptr %17, align 4, !tbaa !5
  %reass.sub466 = sub i32 %237, %192
  %238 = add i32 %reass.sub466, 1
  store i32 %238, ptr %32, align 4, !tbaa !5
  call void @sormtr_(ptr noundef nonnull @.str.2, ptr noundef %2, ptr noundef nonnull @.str.1, ptr noundef nonnull %3, ptr noundef nonnull %11, ptr noundef %4, ptr noundef nonnull %5, ptr noundef nonnull %16, ptr noundef %13, ptr noundef nonnull %14, ptr noundef nonnull %202, ptr noundef nonnull %32, ptr noundef nonnull %28) #5
  br label %239

239:                                              ; preds = %236, %216
  %.pr434 = load i32, ptr %20, align 4, !tbaa !5
  %240 = icmp eq i32 %.pr434, 0
  br i1 %240, label %241, label %.thread435

241:                                              ; preds = %239
  %242 = load i32, ptr %3, align 4, !tbaa !5
  store i32 %242, ptr %11, align 4, !tbaa !5
  br label %251

.thread435:                                       ; preds = %221, %239
  store i32 0, ptr %20, align 4, !tbaa !5
  br label %243

243:                                              ; preds = %212, %.thread435
  %.419 = select i1 %.not, i8 66, i8 69
  store i8 %.419, ptr %29, align 1, !tbaa !14
  %244 = getelementptr inbounds i32, ptr %45, i64 %199
  %245 = sext i32 %193 to i64
  %246 = getelementptr inbounds i32, ptr %45, i64 %245
  call void @sstebz_(ptr noundef %1, ptr noundef nonnull %29, ptr noundef nonnull %3, ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef %8, ptr noundef %9, ptr noundef nonnull %30, ptr noundef nonnull %200, ptr noundef nonnull %202, ptr noundef nonnull %11, ptr noundef nonnull %34, ptr noundef %12, ptr noundef nonnull %18, ptr noundef nonnull %244, ptr noundef nonnull %204, ptr noundef nonnull %246, ptr noundef nonnull %20) #5
  br i1 %.not, label %247, label %251

247:                                              ; preds = %243
  %248 = getelementptr inbounds i32, ptr %45, i64 %201
  call void @sstein_(ptr noundef nonnull %3, ptr noundef nonnull %200, ptr noundef nonnull %202, ptr noundef nonnull %11, ptr noundef %12, ptr noundef nonnull %18, ptr noundef nonnull %244, ptr noundef %13, ptr noundef nonnull %14, ptr noundef nonnull %204, ptr noundef nonnull %246, ptr noundef nonnull %248, ptr noundef nonnull %20) #5
  %249 = load i32, ptr %17, align 4, !tbaa !5
  %reass.sub467 = sub i32 %249, %192
  %250 = add i32 %reass.sub467, 1
  store i32 %250, ptr %32, align 4, !tbaa !5
  call void @sormtr_(ptr noundef nonnull @.str.2, ptr noundef %2, ptr noundef nonnull @.str.1, ptr noundef nonnull %3, ptr noundef nonnull %11, ptr noundef %4, ptr noundef nonnull %5, ptr noundef nonnull %16, ptr noundef %13, ptr noundef nonnull %14, ptr noundef nonnull %202, ptr noundef nonnull %32, ptr noundef nonnull %28) #5
  br label %251

251:                                              ; preds = %243, %247, %241
  br i1 %189, label %252, label %262

252:                                              ; preds = %251
  %253 = load i32, ptr %20, align 4, !tbaa !5
  %254 = icmp eq i32 %253, 0
  br i1 %254, label %255, label %257

255:                                              ; preds = %252
  %256 = load i32, ptr %11, align 4, !tbaa !5
  br label %259

257:                                              ; preds = %252
  %258 = add nsw i32 %253, -1
  br label %259

259:                                              ; preds = %257, %255
  %storemerge409 = phi i32 [ %258, %257 ], [ %256, %255 ]
  store i32 %storemerge409, ptr %25, align 4, !tbaa !5
  %260 = load float, ptr %27, align 4, !tbaa !9
  %261 = fdiv float 1.000000e+00, %260
  store float %261, ptr %24, align 4, !tbaa !9
  call void @sscal_(ptr noundef nonnull %25, ptr noundef nonnull %24, ptr noundef %12, ptr noundef nonnull @c__1) #5
  br label %262

262:                                              ; preds = %259, %251
  br i1 %.not, label %263, label %.loopexit

263:                                              ; preds = %262
  %264 = load i32, ptr %11, align 4, !tbaa !5
  %265 = add nsw i32 %264, -1
  store i32 %265, ptr %22, align 4, !tbaa !5
  %invariant.gep458 = getelementptr i8, ptr %43, i64 4
  store i32 1, ptr %26, align 4, !tbaa !5
  %.not411462 = icmp slt i32 %264, 2
  br i1 %.not411462, label %.loopexit, label %.lr.ph465

.lr.ph465:                                        ; preds = %263, %._crit_edge.thread
  %266 = phi i32 [ %294, %._crit_edge.thread ], [ %265, %263 ]
  %storemerge410463 = phi i32 [ %296, %._crit_edge.thread ], [ 1, %263 ]
  %267 = sext i32 %storemerge410463 to i64
  %268 = getelementptr inbounds float, ptr %40, i64 %267
  %269 = load float, ptr %268, align 4, !tbaa !9
  %270 = load i32, ptr %11, align 4, !tbaa !5
  store i32 %270, ptr %23, align 4, !tbaa !5
  %.not412.not452 = icmp slt i32 %storemerge410463, %270
  br i1 %.not412.not452, label %.lr.ph456.preheader, label %._crit_edge.thread

.lr.ph456.preheader:                              ; preds = %.lr.ph465
  %wide.trip.count = sext i32 %270 to i64
  %271 = sub nsw i64 %wide.trip.count, %267
  %xtraiter = and i64 %271, 1
  %272 = add nsw i64 %wide.trip.count, -1
  %273 = icmp eq i64 %272, %267
  br i1 %273, label %._crit_edge.unr-lcssa, label %.lr.ph456.preheader.new

.lr.ph456.preheader.new:                          ; preds = %.lr.ph456.preheader
  %unroll_iter = and i64 %271, -2
  br label %.lr.ph456

.lr.ph456:                                        ; preds = %.lr.ph456, %.lr.ph456.preheader.new
  %indvars.iv = phi i64 [ %267, %.lr.ph456.preheader.new ], [ %indvars.iv.next.1, %.lr.ph456 ]
  %.0455 = phi float [ %269, %.lr.ph456.preheader.new ], [ %.1.1, %.lr.ph456 ]
  %.0371454 = phi i32 [ 0, %.lr.ph456.preheader.new ], [ %.1372.1, %.lr.ph456 ]
  %niter = phi i64 [ 0, %.lr.ph456.preheader.new ], [ %niter.next.1, %.lr.ph456 ]
  %indvars.iv.next = add nsw i64 %indvars.iv, 1
  %274 = getelementptr float, ptr %12, i64 %indvars.iv
  %275 = load float, ptr %274, align 4, !tbaa !9
  %276 = fcmp olt float %275, %.0455
  %277 = trunc nsw i64 %indvars.iv.next to i32
  %.1372 = select i1 %276, i32 %277, i32 %.0371454
  %.1 = select i1 %276, float %275, float %.0455
  %indvars.iv.next.1 = add nsw i64 %indvars.iv, 2
  %278 = getelementptr float, ptr %12, i64 %indvars.iv.next
  %279 = load float, ptr %278, align 4, !tbaa !9
  %280 = fcmp olt float %279, %.1
  %281 = trunc nsw i64 %indvars.iv.next.1 to i32
  %.1372.1 = select i1 %280, i32 %281, i32 %.1372
  %.1.1 = select i1 %280, float %279, float %.1
  %niter.next.1 = add i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %._crit_edge.unr-lcssa, label %.lr.ph456, !llvm.loop !15

._crit_edge.unr-lcssa:                            ; preds = %.lr.ph456, %.lr.ph456.preheader
  %.1372.lcssa.ph = phi i32 [ poison, %.lr.ph456.preheader ], [ %.1372.1, %.lr.ph456 ]
  %.1.lcssa.ph = phi float [ poison, %.lr.ph456.preheader ], [ %.1.1, %.lr.ph456 ]
  %indvars.iv.unr = phi i64 [ %267, %.lr.ph456.preheader ], [ %indvars.iv.next.1, %.lr.ph456 ]
  %.0455.unr = phi float [ %269, %.lr.ph456.preheader ], [ %.1.1, %.lr.ph456 ]
  %.0371454.unr = phi i32 [ 0, %.lr.ph456.preheader ], [ %.1372.1, %.lr.ph456 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %._crit_edge, label %.lr.ph456.epil

.lr.ph456.epil:                                   ; preds = %._crit_edge.unr-lcssa
  %282 = getelementptr float, ptr %12, i64 %indvars.iv.unr
  %283 = load float, ptr %282, align 4, !tbaa !9
  %284 = fcmp olt float %283, %.0455.unr
  %285 = trunc i64 %indvars.iv.unr to i32
  %286 = add i32 %285, 1
  %.1372.epil = select i1 %284, i32 %286, i32 %.0371454.unr
  %.1.epil = select i1 %284, float %283, float %.0455.unr
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.unr-lcssa, %.lr.ph456.epil
  %.1372.lcssa = phi i32 [ %.1372.lcssa.ph, %._crit_edge.unr-lcssa ], [ %.1372.epil, %.lr.ph456.epil ]
  %.1.lcssa = phi float [ %.1.lcssa.ph, %._crit_edge.unr-lcssa ], [ %.1.epil, %.lr.ph456.epil ]
  %.not413 = icmp eq i32 %.1372.lcssa, 0
  br i1 %.not413, label %._crit_edge.thread, label %287

287:                                              ; preds = %._crit_edge
  %288 = sext i32 %.1372.lcssa to i64
  %289 = getelementptr inbounds float, ptr %40, i64 %288
  store float %269, ptr %289, align 4, !tbaa !9
  store float %.1.lcssa, ptr %268, align 4, !tbaa !9
  %290 = mul nsw i32 %.1372.lcssa, %41
  %291 = sext i32 %290 to i64
  %gep459 = getelementptr float, ptr %invariant.gep458, i64 %291
  %292 = mul nsw i32 %storemerge410463, %41
  %293 = sext i32 %292 to i64
  %gep461 = getelementptr float, ptr %invariant.gep458, i64 %293
  call void @sswap_(ptr noundef nonnull %3, ptr noundef %gep459, ptr noundef nonnull @c__1, ptr noundef %gep461, ptr noundef nonnull @c__1) #5
  %.pre = load i32, ptr %26, align 4, !tbaa !5
  %.pre470 = load i32, ptr %22, align 4, !tbaa !5
  br label %._crit_edge.thread

._crit_edge.thread:                               ; preds = %.lr.ph465, %._crit_edge, %287
  %294 = phi i32 [ %266, %._crit_edge ], [ %.pre470, %287 ], [ %266, %.lr.ph465 ]
  %295 = phi i32 [ %storemerge410463, %._crit_edge ], [ %.pre, %287 ], [ %storemerge410463, %.lr.ph465 ]
  %296 = add nsw i32 %295, 1
  store i32 %296, ptr %26, align 4, !tbaa !5
  %.not411.not = icmp slt i32 %295, %294
  br i1 %.not411.not, label %.lr.ph465, label %.loopexit, !llvm.loop !16

.loopexit:                                        ; preds = %._crit_edge.thread, %263, %262
  store float %108, ptr %16, align 4, !tbaa !9
  store i32 %64, ptr %18, align 4, !tbaa !5
  br label %297

297:                                              ; preds = %132, %133, %117, %.loopexit, %120, %.thread428
  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 4, 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
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #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 i32 @ilaenv_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 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 @slamch_(ptr noundef) local_unnamed_addr #2

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

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

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

declare void @ssytrd_(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 void @scopy_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare void @sstemr_(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 void @sormtr_(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 void @sstebz_(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 void @sstein_(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 void @sswap_(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

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

declare float @sqrtf(float) local_unnamed_addr

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.umin.i32(i32, i32) #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 = { mustprogress nofree nounwind willreturn memory(write) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"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}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}
!14 = !{!7, !7, i64 0}
!15 = distinct !{!15, !12}
!16 = distinct !{!16, !12}


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