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

137:                                              ; preds = %21
  %138 = load ptr, ptr %42, align 8, !tbaa !5
  %139 = load i64, ptr %138, align 8, !tbaa !9
  %140 = icmp eq i64 %139, -1
  br label %141

141:                                              ; preds = %137, %21
  %142 = phi i1 [ true, %21 ], [ %140, %137 ]
  %143 = zext i1 %142 to i32
  %144 = sext i32 %143 to i64
  store i64 %144, ptr %97, align 8, !tbaa !9
  store i64 1, ptr %48, align 8, !tbaa !9
  %145 = load ptr, ptr %26, align 8, !tbaa !5
  %146 = load i64, ptr %145, align 8, !tbaa !9
  %147 = mul nsw i64 %146, 26
  store i64 %147, ptr %49, align 8, !tbaa !9
  %148 = load i64, ptr %48, align 8, !tbaa !9
  %149 = load i64, ptr %49, align 8, !tbaa !9
  %150 = icmp sge i64 %148, %149
  br i1 %150, label %151, label %153

151:                                              ; preds = %141
  %152 = load i64, ptr %48, align 8, !tbaa !9
  br label %155

153:                                              ; preds = %141
  %154 = load i64, ptr %49, align 8, !tbaa !9
  br label %155

155:                                              ; preds = %153, %151
  %156 = phi i64 [ %152, %151 ], [ %154, %153 ]
  store i64 %156, ptr %73, align 8, !tbaa !9
  store i64 1, ptr %48, align 8, !tbaa !9
  %157 = load ptr, ptr %26, align 8, !tbaa !5
  %158 = load i64, ptr %157, align 8, !tbaa !9
  %159 = mul nsw i64 %158, 10
  store i64 %159, ptr %49, align 8, !tbaa !9
  %160 = load i64, ptr %48, align 8, !tbaa !9
  %161 = load i64, ptr %49, align 8, !tbaa !9
  %162 = icmp sge i64 %160, %161
  br i1 %162, label %163, label %165

163:                                              ; preds = %155
  %164 = load i64, ptr %48, align 8, !tbaa !9
  br label %167

165:                                              ; preds = %155
  %166 = load i64, ptr %49, align 8, !tbaa !9
  br label %167

167:                                              ; preds = %165, %163
  %168 = phi i64 [ %164, %163 ], [ %166, %165 ]
  store i64 %168, ptr %90, align 8, !tbaa !9
  %169 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 0, ptr %169, align 8, !tbaa !9
  %170 = load i64, ptr %75, align 8, !tbaa !9
  %171 = icmp ne i64 %170, 0
  br i1 %171, label %178, label %172

172:                                              ; preds = %167
  %173 = load ptr, ptr %23, align 8, !tbaa !5
  %174 = call i64 @lsame_(ptr noundef %173, ptr noundef @.str.1)
  %175 = icmp ne i64 %174, 0
  br i1 %175, label %178, label %176

176:                                              ; preds = %172
  %177 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -1, ptr %177, align 8, !tbaa !9
  br label %290

178:                                              ; preds = %172, %167
  %179 = load i64, ptr %76, align 8, !tbaa !9
  %180 = icmp ne i64 %179, 0
  br i1 %180, label %189, label %181

181:                                              ; preds = %178
  %182 = load i64, ptr %82, align 8, !tbaa !9
  %183 = icmp ne i64 %182, 0
  br i1 %183, label %189, label %184

184:                                              ; preds = %181
  %185 = load i64, ptr %77, align 8, !tbaa !9
  %186 = icmp ne i64 %185, 0
  br i1 %186, label %189, label %187

187:                                              ; preds = %184
  %188 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -2, ptr %188, align 8, !tbaa !9
  br label %289

189:                                              ; preds = %184, %181, %178
  %190 = load i64, ptr %74, align 8, !tbaa !9
  %191 = icmp ne i64 %190, 0
  br i1 %191, label %198, label %192

192:                                              ; preds = %189
  %193 = load ptr, ptr %25, align 8, !tbaa !5
  %194 = call i64 @lsame_(ptr noundef %193, ptr noundef @.str.6)
  %195 = icmp ne i64 %194, 0
  br i1 %195, label %198, label %196

196:                                              ; preds = %192
  %197 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -3, ptr %197, align 8, !tbaa !9
  br label %288

198:                                              ; preds = %192, %189
  %199 = load ptr, ptr %26, align 8, !tbaa !5
  %200 = load i64, ptr %199, align 8, !tbaa !9
  %201 = icmp slt i64 %200, 0
  br i1 %201, label %202, label %204

202:                                              ; preds = %198
  %203 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -4, ptr %203, align 8, !tbaa !9
  br label %287

204:                                              ; preds = %198
  %205 = load ptr, ptr %28, align 8, !tbaa !5
  %206 = load i64, ptr %205, align 8, !tbaa !9
  %207 = load ptr, ptr %26, align 8, !tbaa !5
  %208 = load i64, ptr %207, align 8, !tbaa !9
  %209 = icmp sge i64 1, %208
  br i1 %209, label %210, label %211

210:                                              ; preds = %204
  br label %214

211:                                              ; preds = %204
  %212 = load ptr, ptr %26, align 8, !tbaa !5
  %213 = load i64, ptr %212, align 8, !tbaa !9
  br label %214

214:                                              ; preds = %211, %210
  %215 = phi i64 [ 1, %210 ], [ %213, %211 ]
  %216 = icmp slt i64 %206, %215
  br i1 %216, label %217, label %219

217:                                              ; preds = %214
  %218 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -6, ptr %218, align 8, !tbaa !9
  br label %286

219:                                              ; preds = %214
  %220 = load i64, ptr %82, align 8, !tbaa !9
  %221 = icmp ne i64 %220, 0
  br i1 %221, label %222, label %235

222:                                              ; preds = %219
  %223 = load ptr, ptr %26, align 8, !tbaa !5
  %224 = load i64, ptr %223, align 8, !tbaa !9
  %225 = icmp sgt i64 %224, 0
  br i1 %225, label %226, label %234

226:                                              ; preds = %222
  %227 = load ptr, ptr %30, align 8, !tbaa !5
  %228 = load float, ptr %227, align 4, !tbaa !11
  %229 = load ptr, ptr %29, align 8, !tbaa !5
  %230 = load float, ptr %229, align 4, !tbaa !11
  %231 = fcmp ole float %228, %230
  br i1 %231, label %232, label %234

232:                                              ; preds = %226
  %233 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -8, ptr %233, align 8, !tbaa !9
  br label %234

234:                                              ; preds = %232, %226, %222
  br label %285

235:                                              ; preds = %219
  %236 = load i64, ptr %77, align 8, !tbaa !9
  %237 = icmp ne i64 %236, 0
  br i1 %237, label %238, label %284

238:                                              ; preds = %235
  %239 = load ptr, ptr %31, align 8, !tbaa !5
  %240 = load i64, ptr %239, align 8, !tbaa !9
  %241 = icmp slt i64 %240, 1
  br i1 %241, label %255, label %242

242:                                              ; preds = %238
  %243 = load ptr, ptr %31, align 8, !tbaa !5
  %244 = load i64, ptr %243, align 8, !tbaa !9
  %245 = load ptr, ptr %26, align 8, !tbaa !5
  %246 = load i64, ptr %245, align 8, !tbaa !9
  %247 = icmp sge i64 1, %246
  br i1 %247, label %248, label %249

248:                                              ; preds = %242
  br label %252

249:                                              ; preds = %242
  %250 = load ptr, ptr %26, align 8, !tbaa !5
  %251 = load i64, ptr %250, align 8, !tbaa !9
  br label %252

252:                                              ; preds = %249, %248
  %253 = phi i64 [ 1, %248 ], [ %251, %249 ]
  %254 = icmp sgt i64 %244, %253
  br i1 %254, label %255, label %257

255:                                              ; preds = %252, %238
  %256 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -9, ptr %256, align 8, !tbaa !9
  br label %283

257:                                              ; preds = %252
  %258 = load ptr, ptr %32, align 8, !tbaa !5
  %259 = load i64, ptr %258, align 8, !tbaa !9
  %260 = load ptr, ptr %26, align 8, !tbaa !5
  %261 = load i64, ptr %260, align 8, !tbaa !9
  %262 = load ptr, ptr %31, align 8, !tbaa !5
  %263 = load i64, ptr %262, align 8, !tbaa !9
  %264 = icmp sle i64 %261, %263
  br i1 %264, label %265, label %268

265:                                              ; preds = %257
  %266 = load ptr, ptr %26, align 8, !tbaa !5
  %267 = load i64, ptr %266, align 8, !tbaa !9
  br label %271

268:                                              ; preds = %257
  %269 = load ptr, ptr %31, align 8, !tbaa !5
  %270 = load i64, ptr %269, align 8, !tbaa !9
  br label %271

271:                                              ; preds = %268, %265
  %272 = phi i64 [ %267, %265 ], [ %270, %268 ]
  %273 = icmp slt i64 %259, %272
  br i1 %273, label %280, label %274

274:                                              ; preds = %271
  %275 = load ptr, ptr %32, align 8, !tbaa !5
  %276 = load i64, ptr %275, align 8, !tbaa !9
  %277 = load ptr, ptr %26, align 8, !tbaa !5
  %278 = load i64, ptr %277, align 8, !tbaa !9
  %279 = icmp sgt i64 %276, %278
  br i1 %279, label %280, label %282

280:                                              ; preds = %274, %271
  %281 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -10, ptr %281, align 8, !tbaa !9
  br label %282

282:                                              ; preds = %280, %274
  br label %283

283:                                              ; preds = %282, %255
  br label %284

284:                                              ; preds = %283, %235
  br label %285

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

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

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

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

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

290:                                              ; preds = %289, %176
  %291 = load ptr, ptr %43, align 8, !tbaa !5
  %292 = load i64, ptr %291, align 8, !tbaa !9
  %293 = icmp eq i64 %292, 0
  br i1 %293, label %294, label %310

294:                                              ; preds = %290
  %295 = load ptr, ptr %37, align 8, !tbaa !5
  %296 = load i64, ptr %295, align 8, !tbaa !9
  %297 = icmp slt i64 %296, 1
  br i1 %297, label %307, label %298

298:                                              ; preds = %294
  %299 = load i64, ptr %75, align 8, !tbaa !9
  %300 = icmp ne i64 %299, 0
  br i1 %300, label %301, label %309

301:                                              ; preds = %298
  %302 = load ptr, ptr %37, align 8, !tbaa !5
  %303 = load i64, ptr %302, align 8, !tbaa !9
  %304 = load ptr, ptr %26, align 8, !tbaa !5
  %305 = load i64, ptr %304, align 8, !tbaa !9
  %306 = icmp slt i64 %303, %305
  br i1 %306, label %307, label %309

307:                                              ; preds = %301, %294
  %308 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -15, ptr %308, align 8, !tbaa !9
  br label %309

309:                                              ; preds = %307, %301, %298
  br label %310

310:                                              ; preds = %309, %290
  %311 = load ptr, ptr %43, align 8, !tbaa !5
  %312 = load i64, ptr %311, align 8, !tbaa !9
  %313 = icmp eq i64 %312, 0
  br i1 %313, label %314, label %373

314:                                              ; preds = %310
  %315 = load ptr, ptr %25, align 8, !tbaa !5
  %316 = load ptr, ptr %26, align 8, !tbaa !5
  %317 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.7, ptr noundef %315, ptr noundef %316, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef @c_n1)
  store i64 %317, ptr %54, align 8, !tbaa !9
  %318 = load i64, ptr %54, align 8, !tbaa !9
  store i64 %318, ptr %48, align 8, !tbaa !9
  %319 = load ptr, ptr %25, align 8, !tbaa !5
  %320 = load ptr, ptr %26, align 8, !tbaa !5
  %321 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.8, ptr noundef %319, ptr noundef %320, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef @c_n1)
  store i64 %321, ptr %49, align 8, !tbaa !9
  %322 = load i64, ptr %48, align 8, !tbaa !9
  %323 = load i64, ptr %49, align 8, !tbaa !9
  %324 = icmp sge i64 %322, %323
  br i1 %324, label %325, label %327

325:                                              ; preds = %314
  %326 = load i64, ptr %48, align 8, !tbaa !9
  br label %329

327:                                              ; preds = %314
  %328 = load i64, ptr %49, align 8, !tbaa !9
  br label %329

329:                                              ; preds = %327, %325
  %330 = phi i64 [ %326, %325 ], [ %328, %327 ]
  store i64 %330, ptr %54, align 8, !tbaa !9
  %331 = load i64, ptr %54, align 8, !tbaa !9
  %332 = add nsw i64 %331, 1
  %333 = load ptr, ptr %26, align 8, !tbaa !5
  %334 = load i64, ptr %333, align 8, !tbaa !9
  %335 = mul nsw i64 %332, %334
  store i64 %335, ptr %48, align 8, !tbaa !9
  %336 = load i64, ptr %48, align 8, !tbaa !9
  %337 = load i64, ptr %73, align 8, !tbaa !9
  %338 = icmp sge i64 %336, %337
  br i1 %338, label %339, label %341

339:                                              ; preds = %329
  %340 = load i64, ptr %48, align 8, !tbaa !9
  br label %343

341:                                              ; preds = %329
  %342 = load i64, ptr %73, align 8, !tbaa !9
  br label %343

343:                                              ; preds = %341, %339
  %344 = phi i64 [ %340, %339 ], [ %342, %341 ]
  store i64 %344, ptr %96, align 8, !tbaa !9
  %345 = load i64, ptr %96, align 8, !tbaa !9
  %346 = sitofp i64 %345 to float
  %347 = load ptr, ptr %39, align 8, !tbaa !5
  %348 = getelementptr inbounds float, ptr %347, i64 1
  store float %346, ptr %348, align 4, !tbaa !11
  %349 = load i64, ptr %90, align 8, !tbaa !9
  %350 = load ptr, ptr %41, align 8, !tbaa !5
  %351 = getelementptr inbounds i64, ptr %350, i64 1
  store i64 %349, ptr %351, align 8, !tbaa !9
  %352 = load ptr, ptr %40, align 8, !tbaa !5
  %353 = load i64, ptr %352, align 8, !tbaa !9
  %354 = load i64, ptr %73, align 8, !tbaa !9
  %355 = icmp slt i64 %353, %354
  br i1 %355, label %356, label %361

356:                                              ; preds = %343
  %357 = load i64, ptr %97, align 8, !tbaa !9
  %358 = icmp ne i64 %357, 0
  br i1 %358, label %361, label %359

359:                                              ; preds = %356
  %360 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -18, ptr %360, align 8, !tbaa !9
  br label %372

361:                                              ; preds = %356, %343
  %362 = load ptr, ptr %42, align 8, !tbaa !5
  %363 = load i64, ptr %362, align 8, !tbaa !9
  %364 = load i64, ptr %90, align 8, !tbaa !9
  %365 = icmp slt i64 %363, %364
  br i1 %365, label %366, label %371

366:                                              ; preds = %361
  %367 = load i64, ptr %97, align 8, !tbaa !9
  %368 = icmp ne i64 %367, 0
  br i1 %368, label %371, label %369

369:                                              ; preds = %366
  %370 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 -20, ptr %370, align 8, !tbaa !9
  br label %371

371:                                              ; preds = %369, %366, %361
  br label %372

372:                                              ; preds = %371, %359
  br label %373

373:                                              ; preds = %372, %310
  %374 = load ptr, ptr %43, align 8, !tbaa !5
  %375 = load i64, ptr %374, align 8, !tbaa !9
  %376 = icmp ne i64 %375, 0
  br i1 %376, label %377, label %382

377:                                              ; preds = %373
  %378 = load ptr, ptr %43, align 8, !tbaa !5
  %379 = load i64, ptr %378, align 8, !tbaa !9
  %380 = sub nsw i64 0, %379
  store i64 %380, ptr %48, align 8, !tbaa !9
  %381 = call i32 @xerbla_(ptr noundef @.str, ptr noundef %48)
  store i32 0, ptr %22, align 4
  store i32 1, ptr %98, align 4
  br label %1010

382:                                              ; preds = %373
  %383 = load i64, ptr %97, align 8, !tbaa !9
  %384 = icmp ne i64 %383, 0
  br i1 %384, label %385, label %386

385:                                              ; preds = %382
  store i32 0, ptr %22, align 4
  store i32 1, ptr %98, align 4
  br label %1010

386:                                              ; preds = %382
  br label %387

387:                                              ; preds = %386
  %388 = load ptr, ptr %34, align 8, !tbaa !5
  store i64 0, ptr %388, align 8, !tbaa !9
  %389 = load ptr, ptr %26, align 8, !tbaa !5
  %390 = load i64, ptr %389, align 8, !tbaa !9
  %391 = icmp eq i64 %390, 0
  br i1 %391, label %392, label %395

392:                                              ; preds = %387
  %393 = load ptr, ptr %39, align 8, !tbaa !5
  %394 = getelementptr inbounds float, ptr %393, i64 1
  store float 1.000000e+00, ptr %394, align 4, !tbaa !11
  store i32 0, ptr %22, align 4
  store i32 1, ptr %98, align 4
  br label %1010

395:                                              ; preds = %387
  %396 = load ptr, ptr %26, align 8, !tbaa !5
  %397 = load i64, ptr %396, align 8, !tbaa !9
  %398 = icmp eq i64 %397, 1
  br i1 %398, label %399, label %453

399:                                              ; preds = %395
  %400 = load ptr, ptr %39, align 8, !tbaa !5
  %401 = getelementptr inbounds float, ptr %400, i64 1
  store float 2.600000e+01, ptr %401, align 4, !tbaa !11
  %402 = load i64, ptr %76, align 8, !tbaa !9
  %403 = icmp ne i64 %402, 0
  br i1 %403, label %407, label %404

404:                                              ; preds = %399
  %405 = load i64, ptr %77, align 8, !tbaa !9
  %406 = icmp ne i64 %405, 0
  br i1 %406, label %407, label %416

407:                                              ; preds = %404, %399
  %408 = load ptr, ptr %34, align 8, !tbaa !5
  store i64 1, ptr %408, align 8, !tbaa !9
  %409 = load ptr, ptr %27, align 8, !tbaa !5
  %410 = load i64, ptr %44, align 8, !tbaa !9
  %411 = add nsw i64 %410, 1
  %412 = getelementptr inbounds float, ptr %409, i64 %411
  %413 = load float, ptr %412, align 4, !tbaa !11
  %414 = load ptr, ptr %35, align 8, !tbaa !5
  %415 = getelementptr inbounds float, ptr %414, i64 1
  store float %413, ptr %415, align 4, !tbaa !11
  br label %444

416:                                              ; preds = %404
  %417 = load ptr, ptr %29, align 8, !tbaa !5
  %418 = load float, ptr %417, align 4, !tbaa !11
  %419 = load ptr, ptr %27, align 8, !tbaa !5
  %420 = load i64, ptr %44, align 8, !tbaa !9
  %421 = add nsw i64 %420, 1
  %422 = getelementptr inbounds float, ptr %419, i64 %421
  %423 = load float, ptr %422, align 4, !tbaa !11
  %424 = fcmp olt float %418, %423
  br i1 %424, label %425, label %443

425:                                              ; preds = %416
  %426 = load ptr, ptr %30, align 8, !tbaa !5
  %427 = load float, ptr %426, align 4, !tbaa !11
  %428 = load ptr, ptr %27, align 8, !tbaa !5
  %429 = load i64, ptr %44, align 8, !tbaa !9
  %430 = add nsw i64 %429, 1
  %431 = getelementptr inbounds float, ptr %428, i64 %430
  %432 = load float, ptr %431, align 4, !tbaa !11
  %433 = fcmp oge float %427, %432
  br i1 %433, label %434, label %443

434:                                              ; preds = %425
  %435 = load ptr, ptr %34, align 8, !tbaa !5
  store i64 1, ptr %435, align 8, !tbaa !9
  %436 = load ptr, ptr %27, align 8, !tbaa !5
  %437 = load i64, ptr %44, align 8, !tbaa !9
  %438 = add nsw i64 %437, 1
  %439 = getelementptr inbounds float, ptr %436, i64 %438
  %440 = load float, ptr %439, align 4, !tbaa !11
  %441 = load ptr, ptr %35, align 8, !tbaa !5
  %442 = getelementptr inbounds float, ptr %441, i64 1
  store float %440, ptr %442, align 4, !tbaa !11
  br label %443

443:                                              ; preds = %434, %425, %416
  br label %444

444:                                              ; preds = %443, %407
  %445 = load i64, ptr %75, align 8, !tbaa !9
  %446 = icmp ne i64 %445, 0
  br i1 %446, label %447, label %452

447:                                              ; preds = %444
  %448 = load ptr, ptr %36, align 8, !tbaa !5
  %449 = load i64, ptr %46, align 8, !tbaa !9
  %450 = add nsw i64 %449, 1
  %451 = getelementptr inbounds float, ptr %448, i64 %450
  store float 1.000000e+00, ptr %451, align 4, !tbaa !11
  br label %452

452:                                              ; preds = %447, %444
  store i32 0, ptr %22, align 4
  store i32 1, ptr %98, align 4
  br label %1010

453:                                              ; preds = %395
  %454 = call double @slamch_(ptr noundef @.str.9)
  %455 = fptrunc double %454 to float
  store float %455, ptr %83, align 4, !tbaa !11
  %456 = call double @slamch_(ptr noundef @.str.10)
  %457 = fptrunc double %456 to float
  store float %457, ptr %56, align 4, !tbaa !11
  %458 = load float, ptr %83, align 4, !tbaa !11
  %459 = load float, ptr %56, align 4, !tbaa !11
  %460 = fdiv float %458, %459
  store float %460, ptr %95, align 4, !tbaa !11
  %461 = load float, ptr %95, align 4, !tbaa !11
  %462 = fdiv float 1.000000e+00, %461
  store float %462, ptr %85, align 4, !tbaa !11
  %463 = load float, ptr %95, align 4, !tbaa !11
  %464 = fpext float %463 to double
  %465 = call double @sqrt(double noundef %464) #4
  %466 = fptrunc double %465 to float
  store float %466, ptr %64, align 4, !tbaa !11
  %467 = load float, ptr %85, align 4, !tbaa !11
  %468 = fpext float %467 to double
  %469 = call double @sqrt(double noundef %468) #4
  %470 = fptrunc double %469 to float
  store float %470, ptr %50, align 4, !tbaa !11
  %471 = load float, ptr %83, align 4, !tbaa !11
  %472 = fpext float %471 to double
  %473 = call double @sqrt(double noundef %472) #4
  %474 = call double @sqrt(double noundef %473) #4
  %475 = fdiv double 1.000000e+00, %474
  %476 = fptrunc double %475 to float
  store float %476, ptr %51, align 4, !tbaa !11
  %477 = load float, ptr %50, align 4, !tbaa !11
  %478 = load float, ptr %51, align 4, !tbaa !11
  %479 = fcmp ole float %477, %478
  br i1 %479, label %480, label %482

480:                                              ; preds = %453
  %481 = load float, ptr %50, align 4, !tbaa !11
  br label %484

482:                                              ; preds = %453
  %483 = load float, ptr %51, align 4, !tbaa !11
  br label %484

484:                                              ; preds = %482, %480
  %485 = phi float [ %481, %480 ], [ %483, %482 ]
  %486 = fpext float %485 to double
  %487 = fptrunc double %486 to float
  store float %487, ptr %65, align 4, !tbaa !11
  store i64 0, ptr %78, align 8, !tbaa !9
  %488 = load ptr, ptr %33, align 8, !tbaa !5
  %489 = load float, ptr %488, align 4, !tbaa !11
  store float %489, ptr %84, align 4, !tbaa !11
  %490 = load i64, ptr %82, align 8, !tbaa !9
  %491 = icmp ne i64 %490, 0
  br i1 %491, label %492, label %497

492:                                              ; preds = %484
  %493 = load ptr, ptr %29, align 8, !tbaa !5
  %494 = load float, ptr %493, align 4, !tbaa !11
  store float %494, ptr %57, align 4, !tbaa !11
  %495 = load ptr, ptr %30, align 8, !tbaa !5
  %496 = load float, ptr %495, align 4, !tbaa !11
  store float %496, ptr %58, align 4, !tbaa !11
  br label %497

497:                                              ; preds = %492, %484
  %498 = load ptr, ptr %25, align 8, !tbaa !5
  %499 = load ptr, ptr %26, align 8, !tbaa !5
  %500 = load ptr, ptr %27, align 8, !tbaa !5
  %501 = load i64, ptr %45, align 8, !tbaa !9
  %502 = getelementptr inbounds float, ptr %500, i64 %501
  %503 = load ptr, ptr %28, align 8, !tbaa !5
  %504 = load ptr, ptr %39, align 8, !tbaa !5
  %505 = getelementptr inbounds float, ptr %504, i64 1
  %506 = call double @slansy_(ptr noundef @.str.11, ptr noundef %498, ptr noundef %499, ptr noundef %502, ptr noundef %503, ptr noundef %505)
  %507 = fptrunc double %506 to float
  store float %507, ptr %62, align 4, !tbaa !11
  %508 = load float, ptr %62, align 4, !tbaa !11
  %509 = fcmp ogt float %508, 0.000000e+00
  br i1 %509, label %510, label %518

510:                                              ; preds = %497
  %511 = load float, ptr %62, align 4, !tbaa !11
  %512 = load float, ptr %64, align 4, !tbaa !11
  %513 = fcmp olt float %511, %512
  br i1 %513, label %514, label %518

514:                                              ; preds = %510
  store i64 1, ptr %78, align 8, !tbaa !9
  %515 = load float, ptr %64, align 4, !tbaa !11
  %516 = load float, ptr %62, align 4, !tbaa !11
  %517 = fdiv float %515, %516
  store float %517, ptr %69, align 4, !tbaa !11
  br label %527

518:                                              ; preds = %510, %497
  %519 = load float, ptr %62, align 4, !tbaa !11
  %520 = load float, ptr %65, align 4, !tbaa !11
  %521 = fcmp ogt float %519, %520
  br i1 %521, label %522, label %526

522:                                              ; preds = %518
  store i64 1, ptr %78, align 8, !tbaa !9
  %523 = load float, ptr %65, align 4, !tbaa !11
  %524 = load float, ptr %62, align 4, !tbaa !11
  %525 = fdiv float %523, %524
  store float %525, ptr %69, align 4, !tbaa !11
  br label %526

526:                                              ; preds = %522, %518
  br label %527

527:                                              ; preds = %526, %514
  %528 = load i64, ptr %78, align 8, !tbaa !9
  %529 = icmp eq i64 %528, 1
  br i1 %529, label %530, label %599

530:                                              ; preds = %527
  %531 = load i64, ptr %74, align 8, !tbaa !9
  %532 = icmp ne i64 %531, 0
  br i1 %532, label %533, label %558

533:                                              ; preds = %530
  %534 = load ptr, ptr %26, align 8, !tbaa !5
  %535 = load i64, ptr %534, align 8, !tbaa !9
  store i64 %535, ptr %48, align 8, !tbaa !9
  store i64 1, ptr %53, align 8, !tbaa !9
  br label %536

536:                                              ; preds = %554, %533
  %537 = load i64, ptr %53, align 8, !tbaa !9
  %538 = load i64, ptr %48, align 8, !tbaa !9
  %539 = icmp sle i64 %537, %538
  br i1 %539, label %540, label %557

540:                                              ; preds = %536
  %541 = load ptr, ptr %26, align 8, !tbaa !5
  %542 = load i64, ptr %541, align 8, !tbaa !9
  %543 = load i64, ptr %53, align 8, !tbaa !9
  %544 = sub nsw i64 %542, %543
  %545 = add nsw i64 %544, 1
  store i64 %545, ptr %49, align 8, !tbaa !9
  %546 = load ptr, ptr %27, align 8, !tbaa !5
  %547 = load i64, ptr %53, align 8, !tbaa !9
  %548 = load i64, ptr %53, align 8, !tbaa !9
  %549 = load i64, ptr %44, align 8, !tbaa !9
  %550 = mul nsw i64 %548, %549
  %551 = add nsw i64 %547, %550
  %552 = getelementptr inbounds float, ptr %546, i64 %551
  %553 = call i32 @f2c_sscal(ptr noundef %49, ptr noundef %69, ptr noundef %552, ptr noundef @c__1)
  br label %554

554:                                              ; preds = %540
  %555 = load i64, ptr %53, align 8, !tbaa !9
  %556 = add nsw i64 %555, 1
  store i64 %556, ptr %53, align 8, !tbaa !9
  br label %536, !llvm.loop !13

557:                                              ; preds = %536
  br label %577

558:                                              ; preds = %530
  %559 = load ptr, ptr %26, align 8, !tbaa !5
  %560 = load i64, ptr %559, align 8, !tbaa !9
  store i64 %560, ptr %48, align 8, !tbaa !9
  store i64 1, ptr %53, align 8, !tbaa !9
  br label %561

561:                                              ; preds = %573, %558
  %562 = load i64, ptr %53, align 8, !tbaa !9
  %563 = load i64, ptr %48, align 8, !tbaa !9
  %564 = icmp sle i64 %562, %563
  br i1 %564, label %565, label %576

565:                                              ; preds = %561
  %566 = load ptr, ptr %27, align 8, !tbaa !5
  %567 = load i64, ptr %53, align 8, !tbaa !9
  %568 = load i64, ptr %44, align 8, !tbaa !9
  %569 = mul nsw i64 %567, %568
  %570 = add nsw i64 %569, 1
  %571 = getelementptr inbounds float, ptr %566, i64 %570
  %572 = call i32 @f2c_sscal(ptr noundef %53, ptr noundef %69, ptr noundef %571, ptr noundef @c__1)
  br label %573

573:                                              ; preds = %565
  %574 = load i64, ptr %53, align 8, !tbaa !9
  %575 = add nsw i64 %574, 1
  store i64 %575, ptr %53, align 8, !tbaa !9
  br label %561, !llvm.loop !15

576:                                              ; preds = %561
  br label %577

577:                                              ; preds = %576, %557
  %578 = load ptr, ptr %33, align 8, !tbaa !5
  %579 = load float, ptr %578, align 4, !tbaa !11
  %580 = fcmp ogt float %579, 0.000000e+00
  br i1 %580, label %581, label %586

581:                                              ; preds = %577
  %582 = load ptr, ptr %33, align 8, !tbaa !5
  %583 = load float, ptr %582, align 4, !tbaa !11
  %584 = load float, ptr %69, align 4, !tbaa !11
  %585 = fmul float %583, %584
  store float %585, ptr %84, align 4, !tbaa !11
  br label %586

586:                                              ; preds = %581, %577
  %587 = load i64, ptr %82, align 8, !tbaa !9
  %588 = icmp ne i64 %587, 0
  br i1 %588, label %589, label %598

589:                                              ; preds = %586
  %590 = load ptr, ptr %29, align 8, !tbaa !5
  %591 = load float, ptr %590, align 4, !tbaa !11
  %592 = load float, ptr %69, align 4, !tbaa !11
  %593 = fmul float %591, %592
  store float %593, ptr %57, align 4, !tbaa !11
  %594 = load ptr, ptr %30, align 8, !tbaa !5
  %595 = load float, ptr %594, align 4, !tbaa !11
  %596 = load float, ptr %69, align 4, !tbaa !11
  %597 = fmul float %595, %596
  store float %597, ptr %58, align 4, !tbaa !11
  br label %598

598:                                              ; preds = %589, %586
  br label %599

599:                                              ; preds = %598, %527
  store i64 1, ptr %86, align 8, !tbaa !9
  %600 = load i64, ptr %86, align 8, !tbaa !9
  %601 = load ptr, ptr %26, align 8, !tbaa !5
  %602 = load i64, ptr %601, align 8, !tbaa !9
  %603 = add nsw i64 %600, %602
  store i64 %603, ptr %60, align 8, !tbaa !9
  %604 = load i64, ptr %60, align 8, !tbaa !9
  %605 = load ptr, ptr %26, align 8, !tbaa !5
  %606 = load i64, ptr %605, align 8, !tbaa !9
  %607 = add nsw i64 %604, %606
  store i64 %607, ptr %61, align 8, !tbaa !9
  %608 = load i64, ptr %61, align 8, !tbaa !9
  %609 = load ptr, ptr %26, align 8, !tbaa !5
  %610 = load i64, ptr %609, align 8, !tbaa !9
  %611 = add nsw i64 %608, %610
  store i64 %611, ptr %67, align 8, !tbaa !9
  %612 = load i64, ptr %67, align 8, !tbaa !9
  %613 = load ptr, ptr %26, align 8, !tbaa !5
  %614 = load i64, ptr %613, align 8, !tbaa !9
  %615 = add nsw i64 %612, %614
  store i64 %615, ptr %68, align 8, !tbaa !9
  %616 = load i64, ptr %68, align 8, !tbaa !9
  %617 = load ptr, ptr %26, align 8, !tbaa !5
  %618 = load i64, ptr %617, align 8, !tbaa !9
  %619 = add nsw i64 %616, %618
  store i64 %619, ptr %72, align 8, !tbaa !9
  %620 = load ptr, ptr %40, align 8, !tbaa !5
  %621 = load i64, ptr %620, align 8, !tbaa !9
  %622 = load i64, ptr %72, align 8, !tbaa !9
  %623 = sub nsw i64 %621, %622
  %624 = add nsw i64 %623, 1
  store i64 %624, ptr %93, align 8, !tbaa !9
  store i64 1, ptr %80, align 8, !tbaa !9
  %625 = load i64, ptr %80, align 8, !tbaa !9
  %626 = load ptr, ptr %26, align 8, !tbaa !5
  %627 = load i64, ptr %626, align 8, !tbaa !9
  %628 = add nsw i64 %625, %627
  store i64 %628, ptr %87, align 8, !tbaa !9
  %629 = load i64, ptr %87, align 8, !tbaa !9
  %630 = load ptr, ptr %26, align 8, !tbaa !5
  %631 = load i64, ptr %630, align 8, !tbaa !9
  %632 = add nsw i64 %629, %631
  store i64 %632, ptr %81, align 8, !tbaa !9
  %633 = load i64, ptr %87, align 8, !tbaa !9
  %634 = load ptr, ptr %26, align 8, !tbaa !5
  %635 = load i64, ptr %634, align 8, !tbaa !9
  %636 = add nsw i64 %633, %635
  store i64 %636, ptr %88, align 8, !tbaa !9
  %637 = load ptr, ptr %25, align 8, !tbaa !5
  %638 = load ptr, ptr %26, align 8, !tbaa !5
  %639 = load ptr, ptr %27, align 8, !tbaa !5
  %640 = load i64, ptr %45, align 8, !tbaa !9
  %641 = getelementptr inbounds float, ptr %639, i64 %640
  %642 = load ptr, ptr %28, align 8, !tbaa !5
  %643 = load ptr, ptr %39, align 8, !tbaa !5
  %644 = load i64, ptr %60, align 8, !tbaa !9
  %645 = getelementptr inbounds float, ptr %643, i64 %644
  %646 = load ptr, ptr %39, align 8, !tbaa !5
  %647 = load i64, ptr %61, align 8, !tbaa !9
  %648 = getelementptr inbounds float, ptr %646, i64 %647
  %649 = load ptr, ptr %39, align 8, !tbaa !5
  %650 = load i64, ptr %86, align 8, !tbaa !9
  %651 = getelementptr inbounds float, ptr %649, i64 %650
  %652 = load ptr, ptr %39, align 8, !tbaa !5
  %653 = load i64, ptr %72, align 8, !tbaa !9
  %654 = getelementptr inbounds float, ptr %652, i64 %653
  %655 = call i32 @ssytrd_(ptr noundef %637, ptr noundef %638, ptr noundef %641, ptr noundef %642, ptr noundef %645, ptr noundef %648, ptr noundef %651, ptr noundef %654, ptr noundef %93, ptr noundef %70)
  store i64 0, ptr %66, align 8, !tbaa !9
  %656 = load i64, ptr %77, align 8, !tbaa !9
  %657 = icmp ne i64 %656, 0
  br i1 %657, label %658, label %670

658:                                              ; preds = %599
  %659 = load ptr, ptr %31, align 8, !tbaa !5
  %660 = load i64, ptr %659, align 8, !tbaa !9
  %661 = icmp eq i64 %660, 1
  br i1 %661, label %662, label %669

662:                                              ; preds = %658
  %663 = load ptr, ptr %32, align 8, !tbaa !5
  %664 = load i64, ptr %663, align 8, !tbaa !9
  %665 = load ptr, ptr %26, align 8, !tbaa !5
  %666 = load i64, ptr %665, align 8, !tbaa !9
  %667 = icmp eq i64 %664, %666
  br i1 %667, label %668, label %669

668:                                              ; preds = %662
  store i64 1, ptr %66, align 8, !tbaa !9
  br label %669

669:                                              ; preds = %668, %662, %658
  br label %670

670:                                              ; preds = %669, %599
  %671 = load i64, ptr %76, align 8, !tbaa !9
  %672 = icmp ne i64 %671, 0
  br i1 %672, label %676, label %673

673:                                              ; preds = %670
  %674 = load i64, ptr %66, align 8, !tbaa !9
  %675 = icmp ne i64 %674, 0
  br i1 %675, label %676, label %812

676:                                              ; preds = %673, %670
  %677 = load i64, ptr %79, align 8, !tbaa !9
  %678 = icmp eq i64 %677, 1
  br i1 %678, label %679, label %812

679:                                              ; preds = %676
  %680 = load i64, ptr %75, align 8, !tbaa !9
  %681 = icmp ne i64 %680, 0
  br i1 %681, label %708, label %682

682:                                              ; preds = %679
  %683 = load ptr, ptr %26, align 8, !tbaa !5
  %684 = load ptr, ptr %39, align 8, !tbaa !5
  %685 = load i64, ptr %60, align 8, !tbaa !9
  %686 = getelementptr inbounds float, ptr %684, i64 %685
  %687 = load ptr, ptr %35, align 8, !tbaa !5
  %688 = getelementptr inbounds float, ptr %687, i64 1
  %689 = call i32 @f2c_scopy(ptr noundef %683, ptr noundef %686, ptr noundef @c__1, ptr noundef %688, ptr noundef @c__1)
  %690 = load ptr, ptr %26, align 8, !tbaa !5
  %691 = load i64, ptr %690, align 8, !tbaa !9
  %692 = sub nsw i64 %691, 1
  store i64 %692, ptr %48, align 8, !tbaa !9
  %693 = load ptr, ptr %39, align 8, !tbaa !5
  %694 = load i64, ptr %61, align 8, !tbaa !9
  %695 = getelementptr inbounds float, ptr %693, i64 %694
  %696 = load ptr, ptr %39, align 8, !tbaa !5
  %697 = load i64, ptr %68, align 8, !tbaa !9
  %698 = getelementptr inbounds float, ptr %696, i64 %697
  %699 = call i32 @f2c_scopy(ptr noundef %48, ptr noundef %695, ptr noundef @c__1, ptr noundef %698, ptr noundef @c__1)
  %700 = load ptr, ptr %26, align 8, !tbaa !5
  %701 = load ptr, ptr %35, align 8, !tbaa !5
  %702 = getelementptr inbounds float, ptr %701, i64 1
  %703 = load ptr, ptr %39, align 8, !tbaa !5
  %704 = load i64, ptr %68, align 8, !tbaa !9
  %705 = getelementptr inbounds float, ptr %703, i64 %704
  %706 = load ptr, ptr %43, align 8, !tbaa !5
  %707 = call i32 @ssterf_(ptr noundef %700, ptr noundef %702, ptr noundef %705, ptr noundef %706)
  br label %802

708:                                              ; preds = %679
  %709 = load ptr, ptr %26, align 8, !tbaa !5
  %710 = load i64, ptr %709, align 8, !tbaa !9
  %711 = sub nsw i64 %710, 1
  store i64 %711, ptr %48, align 8, !tbaa !9
  %712 = load ptr, ptr %39, align 8, !tbaa !5
  %713 = load i64, ptr %61, align 8, !tbaa !9
  %714 = getelementptr inbounds float, ptr %712, i64 %713
  %715 = load ptr, ptr %39, align 8, !tbaa !5
  %716 = load i64, ptr %68, align 8, !tbaa !9
  %717 = getelementptr inbounds float, ptr %715, i64 %716
  %718 = call i32 @f2c_scopy(ptr noundef %48, ptr noundef %714, ptr noundef @c__1, ptr noundef %717, ptr noundef @c__1)
  %719 = load ptr, ptr %26, align 8, !tbaa !5
  %720 = load ptr, ptr %39, align 8, !tbaa !5
  %721 = load i64, ptr %60, align 8, !tbaa !9
  %722 = getelementptr inbounds float, ptr %720, i64 %721
  %723 = load ptr, ptr %39, align 8, !tbaa !5
  %724 = load i64, ptr %67, align 8, !tbaa !9
  %725 = getelementptr inbounds float, ptr %723, i64 %724
  %726 = call i32 @f2c_scopy(ptr noundef %719, ptr noundef %722, ptr noundef @c__1, ptr noundef %725, ptr noundef @c__1)
  %727 = load ptr, ptr %33, align 8, !tbaa !5
  %728 = load float, ptr %727, align 4, !tbaa !11
  %729 = load ptr, ptr %26, align 8, !tbaa !5
  %730 = load i64, ptr %729, align 8, !tbaa !9
  %731 = sitofp i64 %730 to float
  %732 = fmul float %731, 2.000000e+00
  %733 = load float, ptr %56, align 4, !tbaa !11
  %734 = fmul float %732, %733
  %735 = fcmp ole float %728, %734
  br i1 %735, label %736, label %737

736:                                              ; preds = %708
  store i64 1, ptr %91, align 8, !tbaa !9
  br label %738

737:                                              ; preds = %708
  store i64 0, ptr %91, align 8, !tbaa !9
  br label %738

738:                                              ; preds = %737, %736
  %739 = load ptr, ptr %23, align 8, !tbaa !5
  %740 = load ptr, ptr %26, align 8, !tbaa !5
  %741 = load ptr, ptr %39, align 8, !tbaa !5
  %742 = load i64, ptr %67, align 8, !tbaa !9
  %743 = getelementptr inbounds float, ptr %741, i64 %742
  %744 = load ptr, ptr %39, align 8, !tbaa !5
  %745 = load i64, ptr %68, align 8, !tbaa !9
  %746 = getelementptr inbounds float, ptr %744, i64 %745
  %747 = load ptr, ptr %29, align 8, !tbaa !5
  %748 = load ptr, ptr %30, align 8, !tbaa !5
  %749 = load ptr, ptr %31, align 8, !tbaa !5
  %750 = load ptr, ptr %32, align 8, !tbaa !5
  %751 = load ptr, ptr %34, align 8, !tbaa !5
  %752 = load ptr, ptr %35, align 8, !tbaa !5
  %753 = getelementptr inbounds float, ptr %752, i64 1
  %754 = load ptr, ptr %36, align 8, !tbaa !5
  %755 = load i64, ptr %47, align 8, !tbaa !9
  %756 = getelementptr inbounds float, ptr %754, i64 %755
  %757 = load ptr, ptr %37, align 8, !tbaa !5
  %758 = load ptr, ptr %26, align 8, !tbaa !5
  %759 = load ptr, ptr %38, align 8, !tbaa !5
  %760 = getelementptr inbounds i64, ptr %759, i64 1
  %761 = load ptr, ptr %39, align 8, !tbaa !5
  %762 = load i64, ptr %72, align 8, !tbaa !9
  %763 = getelementptr inbounds float, ptr %761, i64 %762
  %764 = load ptr, ptr %40, align 8, !tbaa !5
  %765 = load ptr, ptr %41, align 8, !tbaa !5
  %766 = getelementptr inbounds i64, ptr %765, i64 1
  %767 = load ptr, ptr %42, align 8, !tbaa !5
  %768 = load ptr, ptr %43, align 8, !tbaa !5
  %769 = call i32 @sstemr_(ptr noundef %739, ptr noundef @.str.4, ptr noundef %740, ptr noundef %743, ptr noundef %746, ptr noundef %747, ptr noundef %748, ptr noundef %749, ptr noundef %750, ptr noundef %751, ptr noundef %753, ptr noundef %756, ptr noundef %757, ptr noundef %758, ptr noundef %760, ptr noundef %91, ptr noundef %763, ptr noundef %764, ptr noundef %766, ptr noundef %767, ptr noundef %768)
  %770 = load i64, ptr %75, align 8, !tbaa !9
  %771 = icmp ne i64 %770, 0
  br i1 %771, label %772, label %801

772:                                              ; preds = %738
  %773 = load ptr, ptr %43, align 8, !tbaa !5
  %774 = load i64, ptr %773, align 8, !tbaa !9
  %775 = icmp eq i64 %774, 0
  br i1 %775, label %776, label %801

776:                                              ; preds = %772
  %777 = load i64, ptr %61, align 8, !tbaa !9
  store i64 %777, ptr %89, align 8, !tbaa !9
  %778 = load ptr, ptr %40, align 8, !tbaa !5
  %779 = load i64, ptr %778, align 8, !tbaa !9
  %780 = load i64, ptr %89, align 8, !tbaa !9
  %781 = sub nsw i64 %779, %780
  %782 = add nsw i64 %781, 1
  store i64 %782, ptr %92, align 8, !tbaa !9
  %783 = load ptr, ptr %25, align 8, !tbaa !5
  %784 = load ptr, ptr %26, align 8, !tbaa !5
  %785 = load ptr, ptr %34, align 8, !tbaa !5
  %786 = load ptr, ptr %27, align 8, !tbaa !5
  %787 = load i64, ptr %45, align 8, !tbaa !9
  %788 = getelementptr inbounds float, ptr %786, i64 %787
  %789 = load ptr, ptr %28, align 8, !tbaa !5
  %790 = load ptr, ptr %39, align 8, !tbaa !5
  %791 = load i64, ptr %86, align 8, !tbaa !9
  %792 = getelementptr inbounds float, ptr %790, i64 %791
  %793 = load ptr, ptr %36, align 8, !tbaa !5
  %794 = load i64, ptr %47, align 8, !tbaa !9
  %795 = getelementptr inbounds float, ptr %793, i64 %794
  %796 = load ptr, ptr %37, align 8, !tbaa !5
  %797 = load ptr, ptr %39, align 8, !tbaa !5
  %798 = load i64, ptr %89, align 8, !tbaa !9
  %799 = getelementptr inbounds float, ptr %797, i64 %798
  %800 = call i32 @sormtr_(ptr noundef @.str.2, ptr noundef %783, ptr noundef @.str.1, ptr noundef %784, ptr noundef %785, ptr noundef %788, ptr noundef %789, ptr noundef %792, ptr noundef %795, ptr noundef %796, ptr noundef %799, ptr noundef %92, ptr noundef %70)
  br label %801

801:                                              ; preds = %776, %772, %738
  br label %802

802:                                              ; preds = %801, %682
  %803 = load ptr, ptr %43, align 8, !tbaa !5
  %804 = load i64, ptr %803, align 8, !tbaa !9
  %805 = icmp eq i64 %804, 0
  br i1 %805, label %806, label %810

806:                                              ; preds = %802
  %807 = load ptr, ptr %26, align 8, !tbaa !5
  %808 = load i64, ptr %807, align 8, !tbaa !9
  %809 = load ptr, ptr %34, align 8, !tbaa !5
  store i64 %808, ptr %809, align 8, !tbaa !9
  br label %907

810:                                              ; preds = %802
  %811 = load ptr, ptr %43, align 8, !tbaa !5
  store i64 0, ptr %811, align 8, !tbaa !9
  br label %812

812:                                              ; preds = %810, %676, %673
  %813 = load i64, ptr %75, align 8, !tbaa !9
  %814 = icmp ne i64 %813, 0
  br i1 %814, label %815, label %817

815:                                              ; preds = %812
  %816 = getelementptr inbounds [1 x i8], ptr %71, i64 0, i64 0
  store i8 66, ptr %816, align 1, !tbaa !16
  br label %819

817:                                              ; preds = %812
  %818 = getelementptr inbounds [1 x i8], ptr %71, i64 0, i64 0
  store i8 69, ptr %818, align 1, !tbaa !16
  br label %819

819:                                              ; preds = %817, %815
  %820 = load ptr, ptr %24, align 8, !tbaa !5
  %821 = getelementptr inbounds [1 x i8], ptr %71, i64 0, i64 0
  %822 = load ptr, ptr %26, align 8, !tbaa !5
  %823 = load ptr, ptr %31, align 8, !tbaa !5
  %824 = load ptr, ptr %32, align 8, !tbaa !5
  %825 = load ptr, ptr %39, align 8, !tbaa !5
  %826 = load i64, ptr %60, align 8, !tbaa !9
  %827 = getelementptr inbounds float, ptr %825, i64 %826
  %828 = load ptr, ptr %39, align 8, !tbaa !5
  %829 = load i64, ptr %61, align 8, !tbaa !9
  %830 = getelementptr inbounds float, ptr %828, i64 %829
  %831 = load ptr, ptr %34, align 8, !tbaa !5
  %832 = load ptr, ptr %35, align 8, !tbaa !5
  %833 = getelementptr inbounds float, ptr %832, i64 1
  %834 = load ptr, ptr %41, align 8, !tbaa !5
  %835 = load i64, ptr %80, align 8, !tbaa !9
  %836 = getelementptr inbounds i64, ptr %834, i64 %835
  %837 = load ptr, ptr %41, align 8, !tbaa !5
  %838 = load i64, ptr %87, align 8, !tbaa !9
  %839 = getelementptr inbounds i64, ptr %837, i64 %838
  %840 = load ptr, ptr %39, align 8, !tbaa !5
  %841 = load i64, ptr %72, align 8, !tbaa !9
  %842 = getelementptr inbounds float, ptr %840, i64 %841
  %843 = load ptr, ptr %41, align 8, !tbaa !5
  %844 = load i64, ptr %88, align 8, !tbaa !9
  %845 = getelementptr inbounds i64, ptr %843, i64 %844
  %846 = load ptr, ptr %43, align 8, !tbaa !5
  %847 = call i32 @sstebz_(ptr noundef %820, ptr noundef %821, ptr noundef %822, ptr noundef %57, ptr noundef %58, ptr noundef %823, ptr noundef %824, ptr noundef %84, ptr noundef %827, ptr noundef %830, ptr noundef %831, ptr noundef %94, ptr noundef %833, ptr noundef %836, ptr noundef %839, ptr noundef %842, ptr noundef %845, ptr noundef %846)
  %848 = load i64, ptr %75, align 8, !tbaa !9
  %849 = icmp ne i64 %848, 0
  br i1 %849, label %850, label %906

850:                                              ; preds = %819
  %851 = load ptr, ptr %26, align 8, !tbaa !5
  %852 = load ptr, ptr %39, align 8, !tbaa !5
  %853 = load i64, ptr %60, align 8, !tbaa !9
  %854 = getelementptr inbounds float, ptr %852, i64 %853
  %855 = load ptr, ptr %39, align 8, !tbaa !5
  %856 = load i64, ptr %61, align 8, !tbaa !9
  %857 = getelementptr inbounds float, ptr %855, i64 %856
  %858 = load ptr, ptr %34, align 8, !tbaa !5
  %859 = load ptr, ptr %35, align 8, !tbaa !5
  %860 = getelementptr inbounds float, ptr %859, i64 1
  %861 = load ptr, ptr %41, align 8, !tbaa !5
  %862 = load i64, ptr %80, align 8, !tbaa !9
  %863 = getelementptr inbounds i64, ptr %861, i64 %862
  %864 = load ptr, ptr %41, align 8, !tbaa !5
  %865 = load i64, ptr %87, align 8, !tbaa !9
  %866 = getelementptr inbounds i64, ptr %864, i64 %865
  %867 = load ptr, ptr %36, align 8, !tbaa !5
  %868 = load i64, ptr %47, align 8, !tbaa !9
  %869 = getelementptr inbounds float, ptr %867, i64 %868
  %870 = load ptr, ptr %37, align 8, !tbaa !5
  %871 = load ptr, ptr %39, align 8, !tbaa !5
  %872 = load i64, ptr %72, align 8, !tbaa !9
  %873 = getelementptr inbounds float, ptr %871, i64 %872
  %874 = load ptr, ptr %41, align 8, !tbaa !5
  %875 = load i64, ptr %88, align 8, !tbaa !9
  %876 = getelementptr inbounds i64, ptr %874, i64 %875
  %877 = load ptr, ptr %41, align 8, !tbaa !5
  %878 = load i64, ptr %81, align 8, !tbaa !9
  %879 = getelementptr inbounds i64, ptr %877, i64 %878
  %880 = load ptr, ptr %43, align 8, !tbaa !5
  %881 = call i32 @sstein_(ptr noundef %851, ptr noundef %854, ptr noundef %857, ptr noundef %858, ptr noundef %860, ptr noundef %863, ptr noundef %866, ptr noundef %869, ptr noundef %870, ptr noundef %873, ptr noundef %876, ptr noundef %879, ptr noundef %880)
  %882 = load i64, ptr %61, align 8, !tbaa !9
  store i64 %882, ptr %89, align 8, !tbaa !9
  %883 = load ptr, ptr %40, align 8, !tbaa !5
  %884 = load i64, ptr %883, align 8, !tbaa !9
  %885 = load i64, ptr %89, align 8, !tbaa !9
  %886 = sub nsw i64 %884, %885
  %887 = add nsw i64 %886, 1
  store i64 %887, ptr %92, align 8, !tbaa !9
  %888 = load ptr, ptr %25, align 8, !tbaa !5
  %889 = load ptr, ptr %26, align 8, !tbaa !5
  %890 = load ptr, ptr %34, align 8, !tbaa !5
  %891 = load ptr, ptr %27, align 8, !tbaa !5
  %892 = load i64, ptr %45, align 8, !tbaa !9
  %893 = getelementptr inbounds float, ptr %891, i64 %892
  %894 = load ptr, ptr %28, align 8, !tbaa !5
  %895 = load ptr, ptr %39, align 8, !tbaa !5
  %896 = load i64, ptr %86, align 8, !tbaa !9
  %897 = getelementptr inbounds float, ptr %895, i64 %896
  %898 = load ptr, ptr %36, align 8, !tbaa !5
  %899 = load i64, ptr %47, align 8, !tbaa !9
  %900 = getelementptr inbounds float, ptr %898, i64 %899
  %901 = load ptr, ptr %37, align 8, !tbaa !5
  %902 = load ptr, ptr %39, align 8, !tbaa !5
  %903 = load i64, ptr %89, align 8, !tbaa !9
  %904 = getelementptr inbounds float, ptr %902, i64 %903
  %905 = call i32 @sormtr_(ptr noundef @.str.2, ptr noundef %888, ptr noundef @.str.1, ptr noundef %889, ptr noundef %890, ptr noundef %893, ptr noundef %894, ptr noundef %897, ptr noundef %900, ptr noundef %901, ptr noundef %904, ptr noundef %92, ptr noundef %70)
  br label %906

906:                                              ; preds = %850, %819
  br label %907

907:                                              ; preds = %906, %806
  %908 = load i64, ptr %78, align 8, !tbaa !9
  %909 = icmp eq i64 %908, 1
  br i1 %909, label %910, label %927

910:                                              ; preds = %907
  %911 = load ptr, ptr %43, align 8, !tbaa !5
  %912 = load i64, ptr %911, align 8, !tbaa !9
  %913 = icmp eq i64 %912, 0
  br i1 %913, label %914, label %917

914:                                              ; preds = %910
  %915 = load ptr, ptr %34, align 8, !tbaa !5
  %916 = load i64, ptr %915, align 8, !tbaa !9
  store i64 %916, ptr %63, align 8, !tbaa !9
  br label %921

917:                                              ; preds = %910
  %918 = load ptr, ptr %43, align 8, !tbaa !5
  %919 = load i64, ptr %918, align 8, !tbaa !9
  %920 = sub nsw i64 %919, 1
  store i64 %920, ptr %63, align 8, !tbaa !9
  br label %921

921:                                              ; preds = %917, %914
  %922 = load float, ptr %69, align 4, !tbaa !11
  %923 = fdiv float 1.000000e+00, %922
  store float %923, ptr %50, align 4, !tbaa !11
  %924 = load ptr, ptr %35, align 8, !tbaa !5
  %925 = getelementptr inbounds float, ptr %924, i64 1
  %926 = call i32 @f2c_sscal(ptr noundef %63, ptr noundef %50, ptr noundef %925, ptr noundef @c__1)
  br label %927

927:                                              ; preds = %921, %907
  %928 = load i64, ptr %75, align 8, !tbaa !9
  %929 = icmp ne i64 %928, 0
  br i1 %929, label %930, label %1002

930:                                              ; preds = %927
  %931 = load ptr, ptr %34, align 8, !tbaa !5
  %932 = load i64, ptr %931, align 8, !tbaa !9
  %933 = sub nsw i64 %932, 1
  store i64 %933, ptr %48, align 8, !tbaa !9
  store i64 1, ptr %53, align 8, !tbaa !9
  br label %934

934:                                              ; preds = %998, %930
  %935 = load i64, ptr %53, align 8, !tbaa !9
  %936 = load i64, ptr %48, align 8, !tbaa !9
  %937 = icmp sle i64 %935, %936
  br i1 %937, label %938, label %1001

938:                                              ; preds = %934
  store i64 0, ptr %52, align 8, !tbaa !9
  %939 = load ptr, ptr %35, align 8, !tbaa !5
  %940 = load i64, ptr %53, align 8, !tbaa !9
  %941 = getelementptr inbounds float, ptr %939, i64 %940
  %942 = load float, ptr %941, align 4, !tbaa !11
  store float %942, ptr %59, align 4, !tbaa !11
  %943 = load ptr, ptr %34, align 8, !tbaa !5
  %944 = load i64, ptr %943, align 8, !tbaa !9
  store i64 %944, ptr %49, align 8, !tbaa !9
  %945 = load i64, ptr %53, align 8, !tbaa !9
  %946 = add nsw i64 %945, 1
  store i64 %946, ptr %55, align 8, !tbaa !9
  br label %947

947:                                              ; preds = %965, %938
  %948 = load i64, ptr %55, align 8, !tbaa !9
  %949 = load i64, ptr %49, align 8, !tbaa !9
  %950 = icmp sle i64 %948, %949
  br i1 %950, label %951, label %968

951:                                              ; preds = %947
  %952 = load ptr, ptr %35, align 8, !tbaa !5
  %953 = load i64, ptr %55, align 8, !tbaa !9
  %954 = getelementptr inbounds float, ptr %952, i64 %953
  %955 = load float, ptr %954, align 4, !tbaa !11
  %956 = load float, ptr %59, align 4, !tbaa !11
  %957 = fcmp olt float %955, %956
  br i1 %957, label %958, label %964

958:                                              ; preds = %951
  %959 = load i64, ptr %55, align 8, !tbaa !9
  store i64 %959, ptr %52, align 8, !tbaa !9
  %960 = load ptr, ptr %35, align 8, !tbaa !5
  %961 = load i64, ptr %55, align 8, !tbaa !9
  %962 = getelementptr inbounds float, ptr %960, i64 %961
  %963 = load float, ptr %962, align 4, !tbaa !11
  store float %963, ptr %59, align 4, !tbaa !11
  br label %964

964:                                              ; preds = %958, %951
  br label %965

965:                                              ; preds = %964
  %966 = load i64, ptr %55, align 8, !tbaa !9
  %967 = add nsw i64 %966, 1
  store i64 %967, ptr %55, align 8, !tbaa !9
  br label %947, !llvm.loop !17

968:                                              ; preds = %947
  %969 = load i64, ptr %52, align 8, !tbaa !9
  %970 = icmp ne i64 %969, 0
  br i1 %970, label %971, label %997

971:                                              ; preds = %968
  %972 = load ptr, ptr %35, align 8, !tbaa !5
  %973 = load i64, ptr %53, align 8, !tbaa !9
  %974 = getelementptr inbounds float, ptr %972, i64 %973
  %975 = load float, ptr %974, align 4, !tbaa !11
  %976 = load ptr, ptr %35, align 8, !tbaa !5
  %977 = load i64, ptr %52, align 8, !tbaa !9
  %978 = getelementptr inbounds float, ptr %976, i64 %977
  store float %975, ptr %978, align 4, !tbaa !11
  %979 = load float, ptr %59, align 4, !tbaa !11
  %980 = load ptr, ptr %35, align 8, !tbaa !5
  %981 = load i64, ptr %53, align 8, !tbaa !9
  %982 = getelementptr inbounds float, ptr %980, i64 %981
  store float %979, ptr %982, align 4, !tbaa !11
  %983 = load ptr, ptr %26, align 8, !tbaa !5
  %984 = load ptr, ptr %36, align 8, !tbaa !5
  %985 = load i64, ptr %52, align 8, !tbaa !9
  %986 = load i64, ptr %46, align 8, !tbaa !9
  %987 = mul nsw i64 %985, %986
  %988 = add nsw i64 %987, 1
  %989 = getelementptr inbounds float, ptr %984, i64 %988
  %990 = load ptr, ptr %36, align 8, !tbaa !5
  %991 = load i64, ptr %53, align 8, !tbaa !9
  %992 = load i64, ptr %46, align 8, !tbaa !9
  %993 = mul nsw i64 %991, %992
  %994 = add nsw i64 %993, 1
  %995 = getelementptr inbounds float, ptr %990, i64 %994
  %996 = call i32 @f2c_sswap(ptr noundef %983, ptr noundef %989, ptr noundef @c__1, ptr noundef %995, ptr noundef @c__1)
  br label %997

997:                                              ; preds = %971, %968
  br label %998

998:                                              ; preds = %997
  %999 = load i64, ptr %53, align 8, !tbaa !9
  %1000 = add nsw i64 %999, 1
  store i64 %1000, ptr %53, align 8, !tbaa !9
  br label %934, !llvm.loop !18

1001:                                             ; preds = %934
  br label %1002

1002:                                             ; preds = %1001, %927
  %1003 = load i64, ptr %96, align 8, !tbaa !9
  %1004 = sitofp i64 %1003 to float
  %1005 = load ptr, ptr %39, align 8, !tbaa !5
  %1006 = getelementptr inbounds float, ptr %1005, i64 1
  store float %1004, ptr %1006, align 4, !tbaa !11
  %1007 = load i64, ptr %90, align 8, !tbaa !9
  %1008 = load ptr, ptr %41, align 8, !tbaa !5
  %1009 = getelementptr inbounds i64, ptr %1008, i64 1
  store i64 %1007, ptr %1009, align 8, !tbaa !9
  store i32 0, ptr %22, align 4
  store i32 1, ptr %98, align 4
  br label %1010

1010:                                             ; preds = %1002, %452, %392, %385, %377
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #4
  call void @llvm.lifetime.end.p0(i64 8, 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 8, ptr %82) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #4
  call void @llvm.lifetime.end.p0(i64 8, 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 8, ptr %55) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #4
  call void @llvm.lifetime.end.p0(i64 8, 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 8, ptr %49) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #4
  %1011 = load i32, ptr %22, align 4
  ret i32 %1011
}

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

declare i64 @ilaenv_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

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

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

declare double @slamch_(ptr noundef) #2

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

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

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

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

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

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

declare i32 @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 i32 @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 i32 @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 i32 @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 i32 @f2c_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 = !{!"long", !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 i64, align 8
@.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 i64, align 8
@c__2 = external hidden global i64, align 8
@c__3 = external hidden global i64, align 8
@c__4 = external hidden global i64, align 8
@.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 i64, align 8
@.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 noundef i32 @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 i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca float, align 4
  %25 = alloca i64, align 8
  %26 = alloca float, align 4
  %27 = alloca float, align 4
  %28 = alloca i64, align 8
  %29 = alloca float, align 4
  %30 = alloca i64, align 8
  %31 = alloca [1 x i8], align 1
  %32 = alloca float, align 4
  %33 = alloca i64, align 8
  %34 = alloca i64, align 8
  %35 = alloca i64, align 8
  %36 = alloca i64, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #5
  call void @llvm.lifetime.start.p0(i64 8, 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 8, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #5
  %37 = load i64, ptr %5, align 8, !tbaa !5
  %38 = xor i64 %37, -1
  %39 = getelementptr inbounds float, ptr %4, i64 %38
  %40 = getelementptr inbounds i8, ptr %12, i64 -4
  %41 = load i64, ptr %14, align 8, !tbaa !5
  %42 = xor i64 %41, -1
  %43 = getelementptr inbounds float, ptr %13, i64 %42
  %44 = getelementptr inbounds i8, ptr %16, i64 -4
  %45 = tail call i64 @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) #5
  %46 = tail call i64 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.2) #5
  %47 = tail call i64 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.3) #5
  %48 = tail call i64 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.4) #5
  %49 = tail call i64 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.3) #5
  %50 = tail call i64 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.5) #5
  %51 = load i64, ptr %17, align 8, !tbaa !5
  %52 = icmp eq i64 %51, -1
  br i1 %52, label %56, label %53

53:                                               ; preds = %21
  %54 = load i64, ptr %19, align 8, !tbaa !5
  %55 = icmp eq i64 %54, -1
  br label %56

56:                                               ; preds = %53, %21
  %57 = phi i1 [ true, %21 ], [ %55, %53 ]
  %58 = load i64, ptr %3, align 8, !tbaa !5
  %59 = mul nsw i64 %58, 26
  %60 = icmp slt i64 %58, 1
  %61 = select i1 %60, i64 1, i64 %59
  %62 = mul nsw i64 %58, 10
  %63 = select i1 %60, i64 1, i64 %62
  store i64 0, ptr %20, align 8, !tbaa !5
  %.not = icmp ne i64 %47, 0
  br i1 %.not, label %66, label %64

64:                                               ; preds = %56
  %65 = tail call i64 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.1) #5
  %.not392 = icmp eq i64 %65, 0
  br i1 %.not392, label %.thread427.sink.split, label %66

66:                                               ; preds = %64, %56
  %67 = icmp ne i64 %48, 0
  %68 = icmp ne i64 %49, 0
  %or.cond = select i1 %67, i1 true, i1 %68
  %69 = icmp ne i64 %50, 0
  %or.cond3 = select i1 %or.cond, i1 true, i1 %69
  br i1 %or.cond3, label %70, label %.thread427.sink.split

70:                                               ; preds = %66
  %.not393 = icmp eq i64 %46, 0
  br i1 %.not393, label %71, label %73

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

73:                                               ; preds = %71, %70
  %74 = load i64, ptr %3, align 8, !tbaa !5
  %75 = icmp slt i64 %74, 0
  br i1 %75, label %.thread427.sink.split, label %76

76:                                               ; preds = %73
  %77 = load i64, ptr %5, align 8, !tbaa !5
  %spec.select = tail call i64 @llvm.umax.i64(i64 %74, i64 1)
  %78 = icmp slt i64 %77, %spec.select
  br i1 %78, label %.thread427.sink.split, label %79

79:                                               ; preds = %76
  br i1 %68, label %80, label %85

80:                                               ; preds = %79
  %.not441 = icmp eq i64 %74, 0
  br i1 %.not441, label %94, label %81

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

85:                                               ; preds = %79
  br i1 %69, label %86, label %94

86:                                               ; preds = %85
  %87 = load i64, ptr %8, align 8, !tbaa !5
  %88 = icmp slt i64 %87, 1
  %89 = icmp ugt i64 %87, %spec.select
  %or.cond439 = or i1 %88, %89
  br i1 %or.cond439, label %.thread427.sink.split, label %90

90:                                               ; preds = %86
  %91 = load i64, ptr %9, align 8, !tbaa !5
  %. = tail call i64 @llvm.umin.i64(i64 %74, i64 %87)
  %92 = icmp slt i64 %91, %.
  %93 = icmp ugt i64 %91, %74
  %or.cond440 = or i1 %92, %93
  br i1 %or.cond440, label %.thread427.sink.split, label %94

94:                                               ; preds = %90, %81, %80, %85
  %.pr = load i64, ptr %20, align 8, !tbaa !5
  %95 = icmp eq i64 %.pr, 0
  br i1 %95, label %96, label %.thread427

96:                                               ; preds = %94
  %97 = load i64, ptr %14, align 8, !tbaa !5
  %98 = icmp slt i64 %97, 1
  %99 = icmp ult i64 %97, %74
  %or.cond473 = and i1 %.not, %99
  %or.cond476 = or i1 %98, %or.cond473
  br i1 %or.cond476, label %.thread427.sink.split, label %.thread

.thread:                                          ; preds = %96
  %100 = tail call i64 @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) #5
  %101 = tail call i64 @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) #5
  store i64 %101, ptr %23, align 8, !tbaa !5
  %102 = tail call i64 @llvm.smax.i64(i64 %100, i64 %101)
  %103 = add nsw i64 %102, 1
  %104 = load i64, ptr %3, align 8, !tbaa !5
  %105 = mul nsw i64 %103, %104
  store i64 %105, ptr %22, align 8, !tbaa !5
  %106 = tail call i64 @llvm.smax.i64(i64 %105, i64 %61)
  %107 = sitofp i64 %106 to float
  store float %107, ptr %16, align 4, !tbaa !9
  store i64 %63, ptr %18, align 8, !tbaa !5
  %108 = load i64, ptr %17, align 8, !tbaa !5
  %109 = icmp sge i64 %108, %61
  %or.cond5 = select i1 %109, i1 true, i1 %57
  br i1 %or.cond5, label %110, label %.thread427.sink.split

110:                                              ; preds = %.thread
  %111 = load i64, ptr %19, align 8, !tbaa !5
  %112 = icmp sge i64 %111, %63
  %or.cond7 = select i1 %112, i1 true, i1 %57
  br i1 %or.cond7, label %.thread422, label %.thread427.sink.split

.thread422:                                       ; preds = %110
  %.pr424.pr = load i64, ptr %20, align 8, !tbaa !5
  %.not398 = icmp eq i64 %.pr424.pr, 0
  br i1 %.not398, label %116, label %.thread427

.thread427.sink.split:                            ; preds = %110, %.thread, %96, %90, %86, %81, %76, %73, %71, %66, %64
  %.sink = phi i64 [ -1, %64 ], [ -2, %66 ], [ -3, %71 ], [ -4, %73 ], [ -6, %76 ], [ -8, %81 ], [ -9, %86 ], [ -10, %90 ], [ -15, %96 ], [ -18, %.thread ], [ -20, %110 ]
  store i64 %.sink, ptr %20, align 8, !tbaa !5
  br label %.thread427

.thread427:                                       ; preds = %.thread427.sink.split, %94, %.thread422
  %113 = phi i64 [ %.pr424.pr, %.thread422 ], [ %.pr, %94 ], [ %.sink, %.thread427.sink.split ]
  %114 = sub nsw i64 0, %113
  store i64 %114, ptr %22, align 8, !tbaa !5
  %115 = call i32 @xerbla_(ptr noundef nonnull @.str, ptr noundef nonnull %22) #5
  br label %293

116:                                              ; preds = %.thread422
  br i1 %57, label %293, label %117

117:                                              ; preds = %116
  store i64 0, ptr %11, align 8, !tbaa !5
  %118 = load i64, ptr %3, align 8, !tbaa !5
  switch i64 %118, label %133 [
    i64 0, label %119
    i64 1, label %120
  ]

119:                                              ; preds = %117
  store float 1.000000e+00, ptr %16, align 4, !tbaa !9
  br label %293

120:                                              ; preds = %117
  store float 2.600000e+01, ptr %16, align 4, !tbaa !9
  %or.cond9 = select i1 %67, i1 true, i1 %69
  br i1 %or.cond9, label %121, label %123

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

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

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

130:                                              ; preds = %127
  store i64 1, ptr %11, align 8, !tbaa !5
  br label %.sink.split

.sink.split:                                      ; preds = %121, %130
  %.sink474 = phi float [ %125, %130 ], [ %122, %121 ]
  store float %.sink474, ptr %12, align 4, !tbaa !9
  br label %131

131:                                              ; preds = %.sink.split, %123, %127
  br i1 %.not, label %132, label %293

132:                                              ; preds = %131
  store float 1.000000e+00, ptr %13, align 4, !tbaa !9
  br label %293

133:                                              ; preds = %117
  %134 = tail call double @slamch_(ptr noundef nonnull @.str.9) #5
  %135 = fptrunc double %134 to float
  %136 = tail call double @slamch_(ptr noundef nonnull @.str.10) #5
  %137 = fptrunc double %136 to float
  %138 = fdiv float %135, %137
  %139 = fdiv float 1.000000e+00, %138
  %sqrtf = tail call float @sqrtf(float noundef %138) #3
  %sqrtf399 = tail call float @sqrtf(float noundef %139) #3
  store float %sqrtf399, ptr %24, align 4, !tbaa !9
  %140 = fpext float %135 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 %sqrtf399, %144
  %146 = select i1 %145, float %sqrtf399, float %144
  %147 = load float, ptr %10, align 4, !tbaa !9
  store float %147, ptr %32, align 4, !tbaa !9
  %.not400 = icmp eq i64 %49, 0
  br i1 %.not400, label %151, label %148

148:                                              ; preds = %133
  %149 = load float, ptr %6, align 4, !tbaa !9
  store float %149, ptr %26, align 4, !tbaa !9
  %150 = load float, ptr %7, align 4, !tbaa !9
  store float %150, ptr %27, align 4, !tbaa !9
  br label %151

151:                                              ; preds = %148, %133
  %152 = tail call double @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 = fptrunc double %152 to float
  %154 = fcmp ogt float %153, 0.000000e+00
  %155 = fcmp ogt float %sqrtf, %153
  %or.cond415 = select i1 %154, i1 %155, i1 false
  br i1 %or.cond415, label %158, label %156

156:                                              ; preds = %151
  %157 = fcmp olt float %146, %153
  br i1 %157, label %158, label %189

158:                                              ; preds = %156, %151
  %.pn = phi float [ %sqrtf, %151 ], [ %146, %156 ]
  %storemerge442 = fdiv float %.pn, %153
  store float %storemerge442, ptr %29, align 4, !tbaa !9
  %159 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %159, ptr %22, align 8, !tbaa !5
  br i1 %.not393, label %171, label %160

160:                                              ; preds = %158
  store i64 1, ptr %25, align 8, !tbaa !5
  %.not404446 = icmp slt i64 %159, 1
  br i1 %.not404446, label %.loopexit444, label %.lr.ph

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

162:                                              ; preds = %.lr.ph, %162
  %storemerge403447 = phi i64 [ 1, %.lr.ph ], [ %169, %162 ]
  %163 = load i64, ptr %3, align 8, !tbaa !5
  %reass.sub = sub i64 %163, %storemerge403447
  %164 = add i64 %reass.sub, 1
  store i64 %164, ptr %23, align 8, !tbaa !5
  %165 = mul i64 %storemerge403447, %161
  %166 = getelementptr inbounds float, ptr %39, i64 %165
  %167 = call i32 @f2c_sscal(ptr noundef nonnull %23, ptr noundef nonnull %29, ptr noundef %166, ptr noundef nonnull @c__1) #5
  %168 = load i64, ptr %25, align 8, !tbaa !5
  %169 = add nsw i64 %168, 1
  store i64 %169, ptr %25, align 8, !tbaa !5
  %170 = load i64, ptr %22, align 8, !tbaa !5
  %.not404.not = icmp slt i64 %168, %170
  br i1 %.not404.not, label %162, label %.loopexit444, !llvm.loop !11

171:                                              ; preds = %158
  %invariant.gep = getelementptr i8, ptr %39, i64 4
  store i64 1, ptr %25, align 8, !tbaa !5
  %.not402448 = icmp slt i64 %159, 1
  br i1 %.not402448, label %.loopexit444, label %.lr.ph450

.lr.ph450:                                        ; preds = %171, %.lr.ph450
  %storemerge449 = phi i64 [ %175, %.lr.ph450 ], [ 1, %171 ]
  %172 = mul nsw i64 %storemerge449, %37
  %gep = getelementptr float, ptr %invariant.gep, i64 %172
  %173 = call i32 @f2c_sscal(ptr noundef nonnull %25, ptr noundef nonnull %29, ptr noundef %gep, ptr noundef nonnull @c__1) #5
  %174 = load i64, ptr %25, align 8, !tbaa !5
  %175 = add nsw i64 %174, 1
  store i64 %175, ptr %25, align 8, !tbaa !5
  %176 = load i64, ptr %22, align 8, !tbaa !5
  %.not402.not = icmp slt i64 %174, %176
  br i1 %.not402.not, label %.lr.ph450, label %.loopexit444, !llvm.loop !13

.loopexit444:                                     ; preds = %162, %.lr.ph450, %160, %171
  %177 = load float, ptr %10, align 4, !tbaa !9
  %178 = fcmp ogt float %177, 0.000000e+00
  br i1 %178, label %179, label %182

179:                                              ; preds = %.loopexit444
  %180 = load float, ptr %29, align 4, !tbaa !9
  %181 = fmul float %177, %180
  store float %181, ptr %32, align 4, !tbaa !9
  br label %182

182:                                              ; preds = %179, %.loopexit444
  br i1 %.not400, label %189, label %183

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

189:                                              ; preds = %156, %182, %183
  %190 = phi i1 [ true, %182 ], [ true, %183 ], [ false, %156 ]
  %191 = load i64, ptr %3, align 8, !tbaa !5
  %reass.add = shl i64 %191, 1
  %192 = or disjoint i64 %reass.add, 1
  %193 = add nsw i64 %192, %191
  %194 = add nsw i64 %193, %191
  %195 = add nsw i64 %194, %191
  %196 = load i64, ptr %17, align 8, !tbaa !5
  %197 = add i64 %196, 1
  %198 = sub i64 %197, %195
  store i64 %198, ptr %35, align 8, !tbaa !5
  %199 = getelementptr float, ptr %16, i64 %191
  %200 = getelementptr float, ptr %16, i64 %reass.add
  %201 = getelementptr inbounds float, ptr %44, i64 %195
  %202 = call i32 @ssytrd_(ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4, ptr noundef nonnull %5, ptr noundef %199, ptr noundef %200, ptr noundef nonnull %16, ptr noundef nonnull %201, ptr noundef nonnull %35, ptr noundef nonnull %30) #5
  %.not405 = icmp eq i64 %50, 0
  br i1 %.not405, label %210, label %203

203:                                              ; preds = %189
  %204 = load i64, ptr %8, align 8, !tbaa !5
  %205 = icmp eq i64 %204, 1
  br i1 %205, label %206, label %210

206:                                              ; preds = %203
  %207 = load i64, ptr %9, align 8, !tbaa !5
  %208 = load i64, ptr %3, align 8, !tbaa !5
  %209 = icmp eq i64 %207, %208
  br label %210

210:                                              ; preds = %206, %203, %189
  %211 = phi i1 [ false, %203 ], [ false, %189 ], [ %209, %206 ]
  %or.cond11 = or i1 %67, %211
  %212 = icmp eq i64 %45, 1
  %or.cond13 = select i1 %or.cond11, i1 %212, i1 false
  br i1 %or.cond13, label %213, label %245

213:                                              ; preds = %210
  br i1 %.not, label %221, label %214

214:                                              ; preds = %213
  %215 = call i32 @f2c_scopy(ptr noundef nonnull %3, ptr noundef %199, ptr noundef nonnull @c__1, ptr noundef %12, ptr noundef nonnull @c__1) #5
  %216 = load i64, ptr %3, align 8, !tbaa !5
  %217 = add nsw i64 %216, -1
  store i64 %217, ptr %22, align 8, !tbaa !5
  %218 = getelementptr inbounds float, ptr %44, i64 %194
  %219 = call i32 @f2c_scopy(ptr noundef nonnull %22, ptr noundef %200, ptr noundef nonnull @c__1, ptr noundef nonnull %218, ptr noundef nonnull @c__1) #5
  %220 = call i32 @ssterf_(ptr noundef nonnull %3, ptr noundef %12, ptr noundef nonnull %218, ptr noundef nonnull %20) #5
  br label %241

221:                                              ; preds = %213
  %222 = load i64, ptr %3, align 8, !tbaa !5
  %223 = add nsw i64 %222, -1
  store i64 %223, ptr %22, align 8, !tbaa !5
  %224 = getelementptr inbounds float, ptr %44, i64 %194
  %225 = call i32 @f2c_scopy(ptr noundef nonnull %22, ptr noundef %200, ptr noundef nonnull @c__1, ptr noundef nonnull %224, ptr noundef nonnull @c__1) #5
  %226 = getelementptr inbounds float, ptr %44, i64 %193
  %227 = call i32 @f2c_scopy(ptr noundef nonnull %3, ptr noundef %199, ptr noundef nonnull @c__1, ptr noundef nonnull %226, ptr noundef nonnull @c__1) #5
  %228 = load float, ptr %10, align 4, !tbaa !9
  %229 = load i64, ptr %3, align 8, !tbaa !5
  %230 = sitofp i64 %229 to float
  %231 = fmul float %230, 2.000000e+00
  %232 = fmul float %231, %137
  %233 = fcmp ole float %228, %232
  %.417 = zext i1 %233 to i64
  store i64 %.417, ptr %33, align 8, !tbaa !5
  %234 = call i32 @sstemr_(ptr noundef %0, ptr noundef nonnull @.str.4, ptr noundef nonnull %3, ptr noundef nonnull %226, ptr noundef nonnull %224, 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 %33, ptr noundef nonnull %201, ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20) #5
  %235 = load i64, ptr %20, align 8, !tbaa !5
  %236 = icmp eq i64 %235, 0
  br i1 %236, label %237, label %.thread434

237:                                              ; preds = %221
  %238 = load i64, ptr %17, align 8, !tbaa !5
  %reass.sub465 = sub i64 %238, %192
  %239 = add i64 %reass.sub465, 1
  store i64 %239, ptr %34, align 8, !tbaa !5
  %240 = call i32 @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 %200, ptr noundef nonnull %34, ptr noundef nonnull %30) #5
  br label %241

241:                                              ; preds = %237, %214
  %.pr433 = load i64, ptr %20, align 8, !tbaa !5
  %242 = icmp eq i64 %.pr433, 0
  br i1 %242, label %243, label %.thread434

243:                                              ; preds = %241
  %244 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %244, ptr %11, align 8, !tbaa !5
  br label %254

.thread434:                                       ; preds = %221, %241
  store i64 0, ptr %20, align 8, !tbaa !5
  br label %245

245:                                              ; preds = %210, %.thread434
  %.418 = select i1 %.not, i8 66, i8 69
  store i8 %.418, ptr %31, align 1, !tbaa !14
  %246 = getelementptr i64, ptr %18, i64 %191
  %.idx = shl i64 %191, 4
  %247 = getelementptr i8, ptr %18, i64 %.idx
  %248 = call i32 @sstebz_(ptr noundef %1, ptr noundef nonnull %31, ptr noundef nonnull %3, ptr noundef nonnull %26, ptr noundef nonnull %27, ptr noundef %8, ptr noundef %9, ptr noundef nonnull %32, ptr noundef %199, ptr noundef %200, ptr noundef nonnull %11, ptr noundef nonnull %36, ptr noundef %12, ptr noundef nonnull %18, ptr noundef %246, ptr noundef nonnull %201, ptr noundef %247, ptr noundef nonnull %20) #5
  br i1 %.not, label %249, label %254

249:                                              ; preds = %245
  %250 = call i32 @sstein_(ptr noundef nonnull %3, ptr noundef %199, ptr noundef %200, ptr noundef nonnull %11, ptr noundef %12, ptr noundef nonnull %18, ptr noundef %246, ptr noundef %13, ptr noundef nonnull %14, ptr noundef nonnull %201, ptr noundef %247, ptr noundef %247, ptr noundef nonnull %20) #5
  %251 = load i64, ptr %17, align 8, !tbaa !5
  %reass.sub466 = sub i64 %251, %192
  %252 = add i64 %reass.sub466, 1
  store i64 %252, ptr %34, align 8, !tbaa !5
  %253 = call i32 @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 %200, ptr noundef nonnull %34, ptr noundef nonnull %30) #5
  br label %254

254:                                              ; preds = %245, %249, %243
  br i1 %190, label %255, label %266

255:                                              ; preds = %254
  %256 = load i64, ptr %20, align 8, !tbaa !5
  %257 = icmp eq i64 %256, 0
  br i1 %257, label %258, label %260

258:                                              ; preds = %255
  %259 = load i64, ptr %11, align 8, !tbaa !5
  br label %262

260:                                              ; preds = %255
  %261 = add nsw i64 %256, -1
  br label %262

262:                                              ; preds = %260, %258
  %storemerge409 = phi i64 [ %261, %260 ], [ %259, %258 ]
  store i64 %storemerge409, ptr %28, align 8, !tbaa !5
  %263 = load float, ptr %29, align 4, !tbaa !9
  %264 = fdiv float 1.000000e+00, %263
  store float %264, ptr %24, align 4, !tbaa !9
  %265 = call i32 @f2c_sscal(ptr noundef nonnull %28, ptr noundef nonnull %24, ptr noundef %12, ptr noundef nonnull @c__1) #5
  br label %266

266:                                              ; preds = %262, %254
  br i1 %.not, label %267, label %.loopexit

267:                                              ; preds = %266
  %268 = load i64, ptr %11, align 8, !tbaa !5
  %269 = add nsw i64 %268, -1
  store i64 %269, ptr %22, align 8, !tbaa !5
  %invariant.gep457 = getelementptr i8, ptr %43, i64 4
  store i64 1, ptr %25, align 8, !tbaa !5
  %.not411461 = icmp slt i64 %268, 2
  br i1 %.not411461, label %.loopexit, label %.lr.ph464

.lr.ph464:                                        ; preds = %267, %._crit_edge.thread
  %270 = phi i64 [ %290, %._crit_edge.thread ], [ %269, %267 ]
  %storemerge410462 = phi i64 [ %292, %._crit_edge.thread ], [ 1, %267 ]
  %271 = getelementptr inbounds float, ptr %40, i64 %storemerge410462
  %272 = load float, ptr %271, align 4, !tbaa !9
  %273 = load i64, ptr %11, align 8, !tbaa !5
  store i64 %273, ptr %23, align 8, !tbaa !5
  %.not412.not451 = icmp slt i64 %storemerge410462, %273
  br i1 %.not412.not451, label %.lr.ph455.preheader, label %._crit_edge.thread

.lr.ph455.preheader:                              ; preds = %.lr.ph464
  %274 = sub i64 %273, %storemerge410462
  %.neg = add i64 %storemerge410462, 1
  %xtraiter = and i64 %274, 1
  %275 = icmp eq i64 %273, %.neg
  br i1 %275, label %._crit_edge.unr-lcssa, label %.lr.ph455.preheader.new

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

.lr.ph455:                                        ; preds = %.lr.ph455, %.lr.ph455.preheader.new
  %.0369454 = phi i64 [ 0, %.lr.ph455.preheader.new ], [ %.1.1, %.lr.ph455 ]
  %.0370.in453 = phi i64 [ %storemerge410462, %.lr.ph455.preheader.new ], [ %.0370.1, %.lr.ph455 ]
  %.0371452 = phi float [ %272, %.lr.ph455.preheader.new ], [ %.1372.1, %.lr.ph455 ]
  %niter = phi i64 [ 0, %.lr.ph455.preheader.new ], [ %niter.next.1, %.lr.ph455 ]
  %.0370 = add nsw i64 %.0370.in453, 1
  %276 = getelementptr float, ptr %12, i64 %.0370.in453
  %277 = load float, ptr %276, align 4, !tbaa !9
  %278 = fcmp olt float %277, %.0371452
  %.1372 = select i1 %278, float %277, float %.0371452
  %.1 = select i1 %278, i64 %.0370, i64 %.0369454
  %.0370.1 = add nsw i64 %.0370.in453, 2
  %279 = getelementptr float, ptr %12, i64 %.0370
  %280 = load float, ptr %279, align 4, !tbaa !9
  %281 = fcmp olt float %280, %.1372
  %.1372.1 = select i1 %281, float %280, float %.1372
  %.1.1 = select i1 %281, i64 %.0370.1, i64 %.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.ph455, !llvm.loop !15

._crit_edge.unr-lcssa:                            ; preds = %.lr.ph455, %.lr.ph455.preheader
  %.1372.lcssa.ph = phi float [ poison, %.lr.ph455.preheader ], [ %.1372.1, %.lr.ph455 ]
  %.1.lcssa.ph = phi i64 [ poison, %.lr.ph455.preheader ], [ %.1.1, %.lr.ph455 ]
  %.0369454.unr = phi i64 [ 0, %.lr.ph455.preheader ], [ %.1.1, %.lr.ph455 ]
  %.0370.in453.unr = phi i64 [ %storemerge410462, %.lr.ph455.preheader ], [ %.0370.1, %.lr.ph455 ]
  %.0371452.unr = phi float [ %272, %.lr.ph455.preheader ], [ %.1372.1, %.lr.ph455 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %._crit_edge, label %.lr.ph455.epil

.lr.ph455.epil:                                   ; preds = %._crit_edge.unr-lcssa
  %.0370.epil = add nsw i64 %.0370.in453.unr, 1
  %282 = getelementptr float, ptr %12, i64 %.0370.in453.unr
  %283 = load float, ptr %282, align 4, !tbaa !9
  %284 = fcmp olt float %283, %.0371452.unr
  %.1372.epil = select i1 %284, float %283, float %.0371452.unr
  %.1.epil = select i1 %284, i64 %.0370.epil, i64 %.0369454.unr
  br label %._crit_edge

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

285:                                              ; preds = %._crit_edge
  %286 = getelementptr inbounds float, ptr %40, i64 %.1.lcssa
  store float %272, ptr %286, align 4, !tbaa !9
  store float %.1372.lcssa, ptr %271, align 4, !tbaa !9
  %287 = mul nsw i64 %.1.lcssa, %41
  %gep458 = getelementptr float, ptr %invariant.gep457, i64 %287
  %288 = mul nsw i64 %storemerge410462, %41
  %gep460 = getelementptr float, ptr %invariant.gep457, i64 %288
  %289 = call i32 @f2c_sswap(ptr noundef nonnull %3, ptr noundef %gep458, ptr noundef nonnull @c__1, ptr noundef %gep460, ptr noundef nonnull @c__1) #5
  %.pre = load i64, ptr %25, align 8, !tbaa !5
  %.pre468 = load i64, ptr %22, align 8, !tbaa !5
  br label %._crit_edge.thread

._crit_edge.thread:                               ; preds = %.lr.ph464, %._crit_edge, %285
  %290 = phi i64 [ %270, %._crit_edge ], [ %.pre468, %285 ], [ %270, %.lr.ph464 ]
  %291 = phi i64 [ %storemerge410462, %._crit_edge ], [ %.pre, %285 ], [ %storemerge410462, %.lr.ph464 ]
  %292 = add nsw i64 %291, 1
  store i64 %292, ptr %25, align 8, !tbaa !5
  %.not411.not = icmp slt i64 %291, %290
  br i1 %.not411.not, label %.lr.ph464, label %.loopexit, !llvm.loop !16

.loopexit:                                        ; preds = %._crit_edge.thread, %267, %266
  store float %107, ptr %16, align 4, !tbaa !9
  store i64 %63, ptr %18, align 8, !tbaa !5
  br label %293

293:                                              ; preds = %131, %132, %116, %.loopexit, %119, %.thread427
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #5
  call void @llvm.lifetime.end.p0(i64 8, 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 8, ptr nonnull %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #5
  ret i32 0
}

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

declare i64 @ilaenv_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

declare double @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 double @slansy_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @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 i32 @f2c_scopy(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @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 i32 @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 i32 @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 i32 @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 i32 @f2c_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 i64 @llvm.smax.i64(i64, i64) #4

declare float @sqrtf(float) local_unnamed_addr

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umin.i64(i64, i64) #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 = !{!"long", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"float", !7, i64 0}
!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