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

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

@c__10 = external hidden global i32, align 4
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4
@c__3 = external hidden global i32, align 4
@c__4 = external hidden global i32, align 4
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [14 x i8], align 1
@c_n1 = external hidden global i32, align 4
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1

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

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

147:                                              ; preds = %143, %21
  %148 = phi i1 [ true, %21 ], [ %146, %143 ]
  %149 = zext i1 %148 to i32
  store i32 %149, ptr %94, align 4, !tbaa !9
  %150 = load ptr, ptr %22, align 8, !tbaa !5
  %151 = load ptr, ptr %25, align 8, !tbaa !5
  %152 = call i32 @ilaenv2stage_(ptr noundef @c__1, ptr noundef @.str.6, ptr noundef %150, ptr noundef %151, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef @c_n1)
  store i32 %152, ptr %72, align 4, !tbaa !9
  %153 = load ptr, ptr %22, align 8, !tbaa !5
  %154 = load ptr, ptr %25, align 8, !tbaa !5
  %155 = call i32 @ilaenv2stage_(ptr noundef @c__2, ptr noundef @.str.6, ptr noundef %153, ptr noundef %154, ptr noundef %72, ptr noundef @c_n1, ptr noundef @c_n1)
  store i32 %155, ptr %71, align 4, !tbaa !9
  %156 = load ptr, ptr %22, align 8, !tbaa !5
  %157 = load ptr, ptr %25, align 8, !tbaa !5
  %158 = call i32 @ilaenv2stage_(ptr noundef @c__3, ptr noundef @.str.6, ptr noundef %156, ptr noundef %157, ptr noundef %72, ptr noundef %71, ptr noundef @c_n1)
  store i32 %158, ptr %66, align 4, !tbaa !9
  %159 = load ptr, ptr %22, align 8, !tbaa !5
  %160 = load ptr, ptr %25, align 8, !tbaa !5
  %161 = call i32 @ilaenv2stage_(ptr noundef @c__4, ptr noundef @.str.6, ptr noundef %159, ptr noundef %160, ptr noundef %72, ptr noundef %71, ptr noundef @c_n1)
  store i32 %161, ptr %69, align 4, !tbaa !9
  %162 = load ptr, ptr %25, align 8, !tbaa !5
  %163 = load i32, ptr %162, align 4, !tbaa !9
  %164 = mul nsw i32 %163, 26
  store i32 %164, ptr %47, align 4, !tbaa !9
  %165 = load ptr, ptr %25, align 8, !tbaa !5
  %166 = load i32, ptr %165, align 4, !tbaa !9
  %167 = mul nsw i32 %166, 5
  %168 = load i32, ptr %66, align 4, !tbaa !9
  %169 = add nsw i32 %167, %168
  %170 = load i32, ptr %69, align 4, !tbaa !9
  %171 = add nsw i32 %169, %170
  store i32 %171, ptr %48, align 4, !tbaa !9
  %172 = load i32, ptr %47, align 4, !tbaa !9
  %173 = load i32, ptr %48, align 4, !tbaa !9
  %174 = icmp sge i32 %172, %173
  br i1 %174, label %175, label %177

175:                                              ; preds = %147
  %176 = load i32, ptr %47, align 4, !tbaa !9
  br label %179

177:                                              ; preds = %147
  %178 = load i32, ptr %48, align 4, !tbaa !9
  br label %179

179:                                              ; preds = %177, %175
  %180 = phi i32 [ %176, %175 ], [ %178, %177 ]
  store i32 %180, ptr %67, align 4, !tbaa !9
  store i32 1, ptr %47, align 4, !tbaa !9
  %181 = load ptr, ptr %25, align 8, !tbaa !5
  %182 = load i32, ptr %181, align 4, !tbaa !9
  %183 = mul nsw i32 %182, 10
  store i32 %183, ptr %48, align 4, !tbaa !9
  %184 = load i32, ptr %47, align 4, !tbaa !9
  %185 = load i32, ptr %48, align 4, !tbaa !9
  %186 = icmp sge i32 %184, %185
  br i1 %186, label %187, label %189

187:                                              ; preds = %179
  %188 = load i32, ptr %47, align 4, !tbaa !9
  br label %191

189:                                              ; preds = %179
  %190 = load i32, ptr %48, align 4, !tbaa !9
  br label %191

191:                                              ; preds = %189, %187
  %192 = phi i32 [ %188, %187 ], [ %190, %189 ]
  store i32 %192, ptr %88, align 4, !tbaa !9
  %193 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 0, ptr %193, align 4, !tbaa !9
  %194 = load ptr, ptr %22, align 8, !tbaa !5
  %195 = call i32 @lsame_(ptr noundef %194, ptr noundef @.str.1)
  %196 = icmp ne i32 %195, 0
  br i1 %196, label %199, label %197

197:                                              ; preds = %191
  %198 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -1, ptr %198, align 4, !tbaa !9
  br label %311

199:                                              ; preds = %191
  %200 = load i32, ptr %74, align 4, !tbaa !9
  %201 = icmp ne i32 %200, 0
  br i1 %201, label %210, label %202

202:                                              ; preds = %199
  %203 = load i32, ptr %80, align 4, !tbaa !9
  %204 = icmp ne i32 %203, 0
  br i1 %204, label %210, label %205

205:                                              ; preds = %202
  %206 = load i32, ptr %75, align 4, !tbaa !9
  %207 = icmp ne i32 %206, 0
  br i1 %207, label %210, label %208

208:                                              ; preds = %205
  %209 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -2, ptr %209, align 4, !tbaa !9
  br label %310

210:                                              ; preds = %205, %202, %199
  %211 = load i32, ptr %68, align 4, !tbaa !9
  %212 = icmp ne i32 %211, 0
  br i1 %212, label %219, label %213

213:                                              ; preds = %210
  %214 = load ptr, ptr %24, align 8, !tbaa !5
  %215 = call i32 @lsame_(ptr noundef %214, ptr noundef @.str.7)
  %216 = icmp ne i32 %215, 0
  br i1 %216, label %219, label %217

217:                                              ; preds = %213
  %218 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -3, ptr %218, align 4, !tbaa !9
  br label %309

219:                                              ; preds = %213, %210
  %220 = load ptr, ptr %25, align 8, !tbaa !5
  %221 = load i32, ptr %220, align 4, !tbaa !9
  %222 = icmp slt i32 %221, 0
  br i1 %222, label %223, label %225

223:                                              ; preds = %219
  %224 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -4, ptr %224, align 4, !tbaa !9
  br label %308

225:                                              ; preds = %219
  %226 = load ptr, ptr %27, align 8, !tbaa !5
  %227 = load i32, ptr %226, align 4, !tbaa !9
  %228 = load ptr, ptr %25, align 8, !tbaa !5
  %229 = load i32, ptr %228, align 4, !tbaa !9
  %230 = icmp sge i32 1, %229
  br i1 %230, label %231, label %232

231:                                              ; preds = %225
  br label %235

232:                                              ; preds = %225
  %233 = load ptr, ptr %25, align 8, !tbaa !5
  %234 = load i32, ptr %233, align 4, !tbaa !9
  br label %235

235:                                              ; preds = %232, %231
  %236 = phi i32 [ 1, %231 ], [ %234, %232 ]
  %237 = icmp slt i32 %227, %236
  br i1 %237, label %238, label %240

238:                                              ; preds = %235
  %239 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -6, ptr %239, align 4, !tbaa !9
  br label %307

240:                                              ; preds = %235
  %241 = load i32, ptr %80, align 4, !tbaa !9
  %242 = icmp ne i32 %241, 0
  br i1 %242, label %243, label %256

243:                                              ; preds = %240
  %244 = load ptr, ptr %25, align 8, !tbaa !5
  %245 = load i32, ptr %244, align 4, !tbaa !9
  %246 = icmp sgt i32 %245, 0
  br i1 %246, label %247, label %255

247:                                              ; preds = %243
  %248 = load ptr, ptr %29, align 8, !tbaa !5
  %249 = load float, ptr %248, align 4, !tbaa !11
  %250 = load ptr, ptr %28, align 8, !tbaa !5
  %251 = load float, ptr %250, align 4, !tbaa !11
  %252 = fcmp ole float %249, %251
  br i1 %252, label %253, label %255

253:                                              ; preds = %247
  %254 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -8, ptr %254, align 4, !tbaa !9
  br label %255

255:                                              ; preds = %253, %247, %243
  br label %306

256:                                              ; preds = %240
  %257 = load i32, ptr %75, align 4, !tbaa !9
  %258 = icmp ne i32 %257, 0
  br i1 %258, label %259, label %305

259:                                              ; preds = %256
  %260 = load ptr, ptr %30, align 8, !tbaa !5
  %261 = load i32, ptr %260, align 4, !tbaa !9
  %262 = icmp slt i32 %261, 1
  br i1 %262, label %276, label %263

263:                                              ; preds = %259
  %264 = load ptr, ptr %30, align 8, !tbaa !5
  %265 = load i32, ptr %264, align 4, !tbaa !9
  %266 = load ptr, ptr %25, align 8, !tbaa !5
  %267 = load i32, ptr %266, align 4, !tbaa !9
  %268 = icmp sge i32 1, %267
  br i1 %268, label %269, label %270

269:                                              ; preds = %263
  br label %273

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

273:                                              ; preds = %270, %269
  %274 = phi i32 [ 1, %269 ], [ %272, %270 ]
  %275 = icmp sgt i32 %265, %274
  br i1 %275, label %276, label %278

276:                                              ; preds = %273, %259
  %277 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -9, ptr %277, align 4, !tbaa !9
  br label %304

278:                                              ; preds = %273
  %279 = load ptr, ptr %31, align 8, !tbaa !5
  %280 = load i32, ptr %279, align 4, !tbaa !9
  %281 = load ptr, ptr %25, align 8, !tbaa !5
  %282 = load i32, ptr %281, align 4, !tbaa !9
  %283 = load ptr, ptr %30, align 8, !tbaa !5
  %284 = load i32, ptr %283, align 4, !tbaa !9
  %285 = icmp sle i32 %282, %284
  br i1 %285, label %286, label %289

286:                                              ; preds = %278
  %287 = load ptr, ptr %25, align 8, !tbaa !5
  %288 = load i32, ptr %287, align 4, !tbaa !9
  br label %292

289:                                              ; preds = %278
  %290 = load ptr, ptr %30, align 8, !tbaa !5
  %291 = load i32, ptr %290, align 4, !tbaa !9
  br label %292

292:                                              ; preds = %289, %286
  %293 = phi i32 [ %288, %286 ], [ %291, %289 ]
  %294 = icmp slt i32 %280, %293
  br i1 %294, label %301, label %295

295:                                              ; preds = %292
  %296 = load ptr, ptr %31, align 8, !tbaa !5
  %297 = load i32, ptr %296, align 4, !tbaa !9
  %298 = load ptr, ptr %25, align 8, !tbaa !5
  %299 = load i32, ptr %298, align 4, !tbaa !9
  %300 = icmp sgt i32 %297, %299
  br i1 %300, label %301, label %303

301:                                              ; preds = %295, %292
  %302 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -10, ptr %302, align 4, !tbaa !9
  br label %303

303:                                              ; preds = %301, %295
  br label %304

304:                                              ; preds = %303, %276
  br label %305

305:                                              ; preds = %304, %256
  br label %306

306:                                              ; preds = %305, %255
  br label %307

307:                                              ; preds = %306, %238
  br label %308

308:                                              ; preds = %307, %223
  br label %309

309:                                              ; preds = %308, %217
  br label %310

310:                                              ; preds = %309, %208
  br label %311

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

315:                                              ; preds = %311
  %316 = load ptr, ptr %36, align 8, !tbaa !5
  %317 = load i32, ptr %316, align 4, !tbaa !9
  %318 = icmp slt i32 %317, 1
  br i1 %318, label %328, label %319

319:                                              ; preds = %315
  %320 = load i32, ptr %70, align 4, !tbaa !9
  %321 = icmp ne i32 %320, 0
  br i1 %321, label %322, label %330

322:                                              ; preds = %319
  %323 = load ptr, ptr %36, align 8, !tbaa !5
  %324 = load i32, ptr %323, align 4, !tbaa !9
  %325 = load ptr, ptr %25, align 8, !tbaa !5
  %326 = load i32, ptr %325, align 4, !tbaa !9
  %327 = icmp slt i32 %324, %326
  br i1 %327, label %328, label %330

328:                                              ; preds = %322, %315
  %329 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -15, ptr %329, align 4, !tbaa !9
  br label %352

330:                                              ; preds = %322, %319
  %331 = load ptr, ptr %39, align 8, !tbaa !5
  %332 = load i32, ptr %331, align 4, !tbaa !9
  %333 = load i32, ptr %67, align 4, !tbaa !9
  %334 = icmp slt i32 %332, %333
  br i1 %334, label %335, label %340

335:                                              ; preds = %330
  %336 = load i32, ptr %94, align 4, !tbaa !9
  %337 = icmp ne i32 %336, 0
  br i1 %337, label %340, label %338

338:                                              ; preds = %335
  %339 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -18, ptr %339, align 4, !tbaa !9
  br label %351

340:                                              ; preds = %335, %330
  %341 = load ptr, ptr %41, align 8, !tbaa !5
  %342 = load i32, ptr %341, align 4, !tbaa !9
  %343 = load i32, ptr %88, align 4, !tbaa !9
  %344 = icmp slt i32 %342, %343
  br i1 %344, label %345, label %350

345:                                              ; preds = %340
  %346 = load i32, ptr %94, align 4, !tbaa !9
  %347 = icmp ne i32 %346, 0
  br i1 %347, label %350, label %348

348:                                              ; preds = %345
  %349 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 -20, ptr %349, align 4, !tbaa !9
  br label %350

350:                                              ; preds = %348, %345, %340
  br label %351

351:                                              ; preds = %350, %338
  br label %352

352:                                              ; preds = %351, %328
  br label %353

353:                                              ; preds = %352, %311
  %354 = load ptr, ptr %42, align 8, !tbaa !5
  %355 = load i32, ptr %354, align 4, !tbaa !9
  %356 = icmp eq i32 %355, 0
  br i1 %356, label %357, label %365

357:                                              ; preds = %353
  %358 = load i32, ptr %67, align 4, !tbaa !9
  %359 = sitofp i32 %358 to float
  %360 = load ptr, ptr %38, align 8, !tbaa !5
  %361 = getelementptr inbounds float, ptr %360, i64 1
  store float %359, ptr %361, align 4, !tbaa !11
  %362 = load i32, ptr %88, align 4, !tbaa !9
  %363 = load ptr, ptr %40, align 8, !tbaa !5
  %364 = getelementptr inbounds i32, ptr %363, i64 1
  store i32 %362, ptr %364, align 4, !tbaa !9
  br label %365

365:                                              ; preds = %357, %353
  %366 = load ptr, ptr %42, align 8, !tbaa !5
  %367 = load i32, ptr %366, align 4, !tbaa !9
  %368 = icmp ne i32 %367, 0
  br i1 %368, label %369, label %374

369:                                              ; preds = %365
  %370 = load ptr, ptr %42, align 8, !tbaa !5
  %371 = load i32, ptr %370, align 4, !tbaa !9
  %372 = sub nsw i32 0, %371
  store i32 %372, ptr %47, align 4, !tbaa !9
  %373 = call i32 @xerbla_(ptr noundef @.str.8, ptr noundef %47, i32 noundef 13)
  store i32 1, ptr %100, align 4
  br label %1049

374:                                              ; preds = %365
  %375 = load i32, ptr %94, align 4, !tbaa !9
  %376 = icmp ne i32 %375, 0
  br i1 %376, label %377, label %378

377:                                              ; preds = %374
  store i32 1, ptr %100, align 4
  br label %1049

378:                                              ; preds = %374
  br label %379

379:                                              ; preds = %378
  %380 = load ptr, ptr %33, align 8, !tbaa !5
  store i32 0, ptr %380, align 4, !tbaa !9
  %381 = load ptr, ptr %25, align 8, !tbaa !5
  %382 = load i32, ptr %381, align 4, !tbaa !9
  %383 = icmp eq i32 %382, 0
  br i1 %383, label %384, label %387

384:                                              ; preds = %379
  %385 = load ptr, ptr %38, align 8, !tbaa !5
  %386 = getelementptr inbounds float, ptr %385, i64 1
  store float 1.000000e+00, ptr %386, align 4, !tbaa !11
  store i32 1, ptr %100, align 4
  br label %1049

387:                                              ; preds = %379
  %388 = load ptr, ptr %25, align 8, !tbaa !5
  %389 = load i32, ptr %388, align 4, !tbaa !9
  %390 = icmp eq i32 %389, 1
  br i1 %390, label %391, label %454

391:                                              ; preds = %387
  %392 = load ptr, ptr %38, align 8, !tbaa !5
  %393 = getelementptr inbounds float, ptr %392, i64 1
  store float 2.600000e+01, ptr %393, align 4, !tbaa !11
  %394 = load i32, ptr %74, align 4, !tbaa !9
  %395 = icmp ne i32 %394, 0
  br i1 %395, label %399, label %396

396:                                              ; preds = %391
  %397 = load i32, ptr %75, align 4, !tbaa !9
  %398 = icmp ne i32 %397, 0
  br i1 %398, label %399, label %409

399:                                              ; preds = %396, %391
  %400 = load ptr, ptr %33, align 8, !tbaa !5
  store i32 1, ptr %400, align 4, !tbaa !9
  %401 = load ptr, ptr %26, align 8, !tbaa !5
  %402 = load i32, ptr %43, align 4, !tbaa !9
  %403 = add nsw i32 %402, 1
  %404 = sext i32 %403 to i64
  %405 = getelementptr inbounds float, ptr %401, i64 %404
  %406 = load float, ptr %405, align 4, !tbaa !11
  %407 = load ptr, ptr %34, align 8, !tbaa !5
  %408 = getelementptr inbounds float, ptr %407, i64 1
  store float %406, ptr %408, align 4, !tbaa !11
  br label %440

409:                                              ; preds = %396
  %410 = load ptr, ptr %28, align 8, !tbaa !5
  %411 = load float, ptr %410, align 4, !tbaa !11
  %412 = load ptr, ptr %26, align 8, !tbaa !5
  %413 = load i32, ptr %43, align 4, !tbaa !9
  %414 = add nsw i32 %413, 1
  %415 = sext i32 %414 to i64
  %416 = getelementptr inbounds float, ptr %412, i64 %415
  %417 = load float, ptr %416, align 4, !tbaa !11
  %418 = fcmp olt float %411, %417
  br i1 %418, label %419, label %439

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

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

439:                                              ; preds = %429, %419, %409
  br label %440

440:                                              ; preds = %439, %399
  %441 = load i32, ptr %70, align 4, !tbaa !9
  %442 = icmp ne i32 %441, 0
  br i1 %442, label %443, label %453

443:                                              ; preds = %440
  %444 = load ptr, ptr %35, align 8, !tbaa !5
  %445 = load i32, ptr %45, align 4, !tbaa !9
  %446 = add nsw i32 %445, 1
  %447 = sext i32 %446 to i64
  %448 = getelementptr inbounds float, ptr %444, i64 %447
  store float 1.000000e+00, ptr %448, align 4, !tbaa !11
  %449 = load ptr, ptr %37, align 8, !tbaa !5
  %450 = getelementptr inbounds i32, ptr %449, i64 1
  store i32 1, ptr %450, align 4, !tbaa !9
  %451 = load ptr, ptr %37, align 8, !tbaa !5
  %452 = getelementptr inbounds i32, ptr %451, i64 2
  store i32 1, ptr %452, align 4, !tbaa !9
  br label %453

453:                                              ; preds = %443, %440
  store i32 1, ptr %100, align 4
  br label %1049

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

479:                                              ; preds = %454
  %480 = load float, ptr %49, align 4, !tbaa !11
  br label %483

481:                                              ; preds = %454
  %482 = load float, ptr %50, align 4, !tbaa !11
  br label %483

483:                                              ; preds = %481, %479
  %484 = phi float [ %480, %479 ], [ %482, %481 ]
  store float %484, ptr %56, align 4, !tbaa !11
  store i32 0, ptr %76, align 4, !tbaa !9
  %485 = load ptr, ptr %32, align 8, !tbaa !5
  %486 = load float, ptr %485, align 4, !tbaa !11
  store float %486, ptr %82, align 4, !tbaa !11
  %487 = load i32, ptr %80, align 4, !tbaa !9
  %488 = icmp ne i32 %487, 0
  br i1 %488, label %489, label %494

489:                                              ; preds = %483
  %490 = load ptr, ptr %28, align 8, !tbaa !5
  %491 = load float, ptr %490, align 4, !tbaa !11
  store float %491, ptr %96, align 4, !tbaa !11
  %492 = load ptr, ptr %29, align 8, !tbaa !5
  %493 = load float, ptr %492, align 4, !tbaa !11
  store float %493, ptr %97, align 4, !tbaa !11
  br label %494

494:                                              ; preds = %489, %483
  %495 = load ptr, ptr %24, align 8, !tbaa !5
  %496 = load ptr, ptr %25, align 8, !tbaa !5
  %497 = load ptr, ptr %26, align 8, !tbaa !5
  %498 = load i32, ptr %44, align 4, !tbaa !9
  %499 = sext i32 %498 to i64
  %500 = getelementptr inbounds float, ptr %497, i64 %499
  %501 = load ptr, ptr %27, align 8, !tbaa !5
  %502 = load ptr, ptr %38, align 8, !tbaa !5
  %503 = getelementptr inbounds float, ptr %502, i64 1
  %504 = call float @slansy_(ptr noundef @.str.11, ptr noundef %495, ptr noundef %496, ptr noundef %500, ptr noundef %501, ptr noundef %503)
  store float %504, ptr %53, align 4, !tbaa !11
  %505 = load float, ptr %53, align 4, !tbaa !11
  %506 = fcmp ogt float %505, 0.000000e+00
  br i1 %506, label %507, label %515

507:                                              ; preds = %494
  %508 = load float, ptr %53, align 4, !tbaa !11
  %509 = load float, ptr %55, align 4, !tbaa !11
  %510 = fcmp olt float %508, %509
  br i1 %510, label %511, label %515

511:                                              ; preds = %507
  store i32 1, ptr %76, align 4, !tbaa !9
  %512 = load float, ptr %55, align 4, !tbaa !11
  %513 = load float, ptr %53, align 4, !tbaa !11
  %514 = fdiv float %512, %513
  store float %514, ptr %62, align 4, !tbaa !11
  br label %524

515:                                              ; preds = %507, %494
  %516 = load float, ptr %53, align 4, !tbaa !11
  %517 = load float, ptr %56, align 4, !tbaa !11
  %518 = fcmp ogt float %516, %517
  br i1 %518, label %519, label %523

519:                                              ; preds = %515
  store i32 1, ptr %76, align 4, !tbaa !9
  %520 = load float, ptr %56, align 4, !tbaa !11
  %521 = load float, ptr %53, align 4, !tbaa !11
  %522 = fdiv float %520, %521
  store float %522, ptr %62, align 4, !tbaa !11
  br label %523

523:                                              ; preds = %519, %515
  br label %524

524:                                              ; preds = %523, %511
  %525 = load i32, ptr %76, align 4, !tbaa !9
  %526 = icmp eq i32 %525, 1
  br i1 %526, label %527, label %596

527:                                              ; preds = %524
  %528 = load i32, ptr %68, align 4, !tbaa !9
  %529 = icmp ne i32 %528, 0
  br i1 %529, label %530, label %555

530:                                              ; preds = %527
  %531 = load ptr, ptr %25, align 8, !tbaa !5
  %532 = load i32, ptr %531, align 4, !tbaa !9
  store i32 %532, ptr %47, align 4, !tbaa !9
  store i32 1, ptr %59, align 4, !tbaa !9
  br label %533

533:                                              ; preds = %551, %530
  %534 = load i32, ptr %59, align 4, !tbaa !9
  %535 = load i32, ptr %47, align 4, !tbaa !9
  %536 = icmp sle i32 %534, %535
  br i1 %536, label %537, label %554

537:                                              ; preds = %533
  %538 = load ptr, ptr %25, align 8, !tbaa !5
  %539 = load i32, ptr %538, align 4, !tbaa !9
  %540 = load i32, ptr %59, align 4, !tbaa !9
  %541 = sub nsw i32 %539, %540
  %542 = add nsw i32 %541, 1
  store i32 %542, ptr %48, align 4, !tbaa !9
  %543 = load ptr, ptr %26, align 8, !tbaa !5
  %544 = load i32, ptr %59, align 4, !tbaa !9
  %545 = load i32, ptr %59, align 4, !tbaa !9
  %546 = load i32, ptr %43, align 4, !tbaa !9
  %547 = mul nsw i32 %545, %546
  %548 = add nsw i32 %544, %547
  %549 = sext i32 %548 to i64
  %550 = getelementptr inbounds float, ptr %543, i64 %549
  call void @sscal_(ptr noundef %48, ptr noundef %62, ptr noundef %550, ptr noundef @c__1)
  br label %551

551:                                              ; preds = %537
  %552 = load i32, ptr %59, align 4, !tbaa !9
  %553 = add nsw i32 %552, 1
  store i32 %553, ptr %59, align 4, !tbaa !9
  br label %533, !llvm.loop !13

554:                                              ; preds = %533
  br label %574

555:                                              ; preds = %527
  %556 = load ptr, ptr %25, align 8, !tbaa !5
  %557 = load i32, ptr %556, align 4, !tbaa !9
  store i32 %557, ptr %47, align 4, !tbaa !9
  store i32 1, ptr %59, align 4, !tbaa !9
  br label %558

558:                                              ; preds = %570, %555
  %559 = load i32, ptr %59, align 4, !tbaa !9
  %560 = load i32, ptr %47, align 4, !tbaa !9
  %561 = icmp sle i32 %559, %560
  br i1 %561, label %562, label %573

562:                                              ; preds = %558
  %563 = load ptr, ptr %26, align 8, !tbaa !5
  %564 = load i32, ptr %59, align 4, !tbaa !9
  %565 = load i32, ptr %43, align 4, !tbaa !9
  %566 = mul nsw i32 %564, %565
  %567 = add nsw i32 %566, 1
  %568 = sext i32 %567 to i64
  %569 = getelementptr inbounds float, ptr %563, i64 %568
  call void @sscal_(ptr noundef %59, ptr noundef %62, ptr noundef %569, ptr noundef @c__1)
  br label %570

570:                                              ; preds = %562
  %571 = load i32, ptr %59, align 4, !tbaa !9
  %572 = add nsw i32 %571, 1
  store i32 %572, ptr %59, align 4, !tbaa !9
  br label %558, !llvm.loop !15

573:                                              ; preds = %558
  br label %574

574:                                              ; preds = %573, %554
  %575 = load ptr, ptr %32, align 8, !tbaa !5
  %576 = load float, ptr %575, align 4, !tbaa !11
  %577 = fcmp ogt float %576, 0.000000e+00
  br i1 %577, label %578, label %583

578:                                              ; preds = %574
  %579 = load ptr, ptr %32, align 8, !tbaa !5
  %580 = load float, ptr %579, align 4, !tbaa !11
  %581 = load float, ptr %62, align 4, !tbaa !11
  %582 = fmul float %580, %581
  store float %582, ptr %82, align 4, !tbaa !11
  br label %583

583:                                              ; preds = %578, %574
  %584 = load i32, ptr %80, align 4, !tbaa !9
  %585 = icmp ne i32 %584, 0
  br i1 %585, label %586, label %595

586:                                              ; preds = %583
  %587 = load ptr, ptr %28, align 8, !tbaa !5
  %588 = load float, ptr %587, align 4, !tbaa !11
  %589 = load float, ptr %62, align 4, !tbaa !11
  %590 = fmul float %588, %589
  store float %590, ptr %96, align 4, !tbaa !11
  %591 = load ptr, ptr %29, align 8, !tbaa !5
  %592 = load float, ptr %591, align 4, !tbaa !11
  %593 = load float, ptr %62, align 4, !tbaa !11
  %594 = fmul float %592, %593
  store float %594, ptr %97, align 4, !tbaa !11
  br label %595

595:                                              ; preds = %586, %583
  br label %596

596:                                              ; preds = %595, %524
  store i32 1, ptr %84, align 4, !tbaa !9
  %597 = load i32, ptr %84, align 4, !tbaa !9
  %598 = load ptr, ptr %25, align 8, !tbaa !5
  %599 = load i32, ptr %598, align 4, !tbaa !9
  %600 = add nsw i32 %597, %599
  store i32 %600, ptr %51, align 4, !tbaa !9
  %601 = load i32, ptr %51, align 4, !tbaa !9
  %602 = load ptr, ptr %25, align 8, !tbaa !5
  %603 = load i32, ptr %602, align 4, !tbaa !9
  %604 = add nsw i32 %601, %603
  store i32 %604, ptr %52, align 4, !tbaa !9
  %605 = load i32, ptr %52, align 4, !tbaa !9
  %606 = load ptr, ptr %25, align 8, !tbaa !5
  %607 = load i32, ptr %606, align 4, !tbaa !9
  %608 = add nsw i32 %605, %607
  store i32 %608, ptr %60, align 4, !tbaa !9
  %609 = load i32, ptr %60, align 4, !tbaa !9
  %610 = load ptr, ptr %25, align 8, !tbaa !5
  %611 = load i32, ptr %610, align 4, !tbaa !9
  %612 = add nsw i32 %609, %611
  store i32 %612, ptr %61, align 4, !tbaa !9
  %613 = load i32, ptr %61, align 4, !tbaa !9
  %614 = load ptr, ptr %25, align 8, !tbaa !5
  %615 = load i32, ptr %614, align 4, !tbaa !9
  %616 = add nsw i32 %613, %615
  store i32 %616, ptr %98, align 4, !tbaa !9
  %617 = load i32, ptr %98, align 4, !tbaa !9
  %618 = load i32, ptr %66, align 4, !tbaa !9
  %619 = add nsw i32 %617, %618
  store i32 %619, ptr %65, align 4, !tbaa !9
  %620 = load ptr, ptr %39, align 8, !tbaa !5
  %621 = load i32, ptr %620, align 4, !tbaa !9
  %622 = load i32, ptr %65, align 4, !tbaa !9
  %623 = sub nsw i32 %621, %622
  %624 = add nsw i32 %623, 1
  store i32 %624, ptr %91, align 4, !tbaa !9
  store i32 1, ptr %78, align 4, !tbaa !9
  %625 = load i32, ptr %78, align 4, !tbaa !9
  %626 = load ptr, ptr %25, align 8, !tbaa !5
  %627 = load i32, ptr %626, align 4, !tbaa !9
  %628 = add nsw i32 %625, %627
  store i32 %628, ptr %85, align 4, !tbaa !9
  %629 = load i32, ptr %85, align 4, !tbaa !9
  %630 = load ptr, ptr %25, align 8, !tbaa !5
  %631 = load i32, ptr %630, align 4, !tbaa !9
  %632 = add nsw i32 %629, %631
  store i32 %632, ptr %79, align 4, !tbaa !9
  %633 = load i32, ptr %79, align 4, !tbaa !9
  %634 = load ptr, ptr %25, align 8, !tbaa !5
  %635 = load i32, ptr %634, align 4, !tbaa !9
  %636 = add nsw i32 %633, %635
  store i32 %636, ptr %86, align 4, !tbaa !9
  %637 = load ptr, ptr %22, align 8, !tbaa !5
  %638 = load ptr, ptr %24, align 8, !tbaa !5
  %639 = load ptr, ptr %25, align 8, !tbaa !5
  %640 = load ptr, ptr %26, align 8, !tbaa !5
  %641 = load i32, ptr %44, align 4, !tbaa !9
  %642 = sext i32 %641 to i64
  %643 = getelementptr inbounds float, ptr %640, i64 %642
  %644 = load ptr, ptr %27, align 8, !tbaa !5
  %645 = load ptr, ptr %38, align 8, !tbaa !5
  %646 = load i32, ptr %51, align 4, !tbaa !9
  %647 = sext i32 %646 to i64
  %648 = getelementptr inbounds float, ptr %645, i64 %647
  %649 = load ptr, ptr %38, align 8, !tbaa !5
  %650 = load i32, ptr %52, align 4, !tbaa !9
  %651 = sext i32 %650 to i64
  %652 = getelementptr inbounds float, ptr %649, i64 %651
  %653 = load ptr, ptr %38, align 8, !tbaa !5
  %654 = load i32, ptr %84, align 4, !tbaa !9
  %655 = sext i32 %654 to i64
  %656 = getelementptr inbounds float, ptr %653, i64 %655
  %657 = load ptr, ptr %38, align 8, !tbaa !5
  %658 = load i32, ptr %98, align 4, !tbaa !9
  %659 = sext i32 %658 to i64
  %660 = getelementptr inbounds float, ptr %657, i64 %659
  %661 = load ptr, ptr %38, align 8, !tbaa !5
  %662 = load i32, ptr %65, align 4, !tbaa !9
  %663 = sext i32 %662 to i64
  %664 = getelementptr inbounds float, ptr %661, i64 %663
  call void @ssytrd_2stage_(ptr noundef %637, ptr noundef %638, ptr noundef %639, ptr noundef %643, ptr noundef %644, ptr noundef %648, ptr noundef %652, ptr noundef %656, ptr noundef %660, ptr noundef %66, ptr noundef %664, ptr noundef %91, ptr noundef %63)
  store i32 0, ptr %57, align 4, !tbaa !9
  %665 = load i32, ptr %75, align 4, !tbaa !9
  %666 = icmp ne i32 %665, 0
  br i1 %666, label %667, label %679

667:                                              ; preds = %596
  %668 = load ptr, ptr %30, align 8, !tbaa !5
  %669 = load i32, ptr %668, align 4, !tbaa !9
  %670 = icmp eq i32 %669, 1
  br i1 %670, label %671, label %678

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

677:                                              ; preds = %671
  store i32 1, ptr %57, align 4, !tbaa !9
  br label %678

678:                                              ; preds = %677, %671, %667
  br label %679

679:                                              ; preds = %678, %596
  %680 = load i32, ptr %74, align 4, !tbaa !9
  %681 = icmp ne i32 %680, 0
  br i1 %681, label %685, label %682

682:                                              ; preds = %679
  %683 = load i32, ptr %57, align 4, !tbaa !9
  %684 = icmp ne i32 %683, 0
  br i1 %684, label %685, label %830

685:                                              ; preds = %682, %679
  %686 = load i32, ptr %77, align 4, !tbaa !9
  %687 = icmp eq i32 %686, 1
  br i1 %687, label %688, label %830

688:                                              ; preds = %685
  %689 = load i32, ptr %70, align 4, !tbaa !9
  %690 = icmp ne i32 %689, 0
  br i1 %690, label %718, label %691

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

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

748:                                              ; preds = %718
  store i32 1, ptr %89, align 4, !tbaa !9
  br label %750

749:                                              ; preds = %718
  store i32 0, ptr %89, align 4, !tbaa !9
  br label %750

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

787:                                              ; preds = %750
  %788 = load ptr, ptr %42, align 8, !tbaa !5
  %789 = load i32, ptr %788, align 4, !tbaa !9
  %790 = icmp eq i32 %789, 0
  br i1 %790, label %791, label %819

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

819:                                              ; preds = %791, %787, %750
  br label %820

820:                                              ; preds = %819, %691
  %821 = load ptr, ptr %42, align 8, !tbaa !5
  %822 = load i32, ptr %821, align 4, !tbaa !9
  %823 = icmp eq i32 %822, 0
  br i1 %823, label %824, label %828

824:                                              ; preds = %820
  %825 = load ptr, ptr %25, align 8, !tbaa !5
  %826 = load i32, ptr %825, align 4, !tbaa !9
  %827 = load ptr, ptr %33, align 8, !tbaa !5
  store i32 %826, ptr %827, align 4, !tbaa !9
  br label %940

828:                                              ; preds = %820
  %829 = load ptr, ptr %42, align 8, !tbaa !5
  store i32 0, ptr %829, align 4, !tbaa !9
  br label %830

830:                                              ; preds = %828, %685, %682
  %831 = load i32, ptr %70, align 4, !tbaa !9
  %832 = icmp ne i32 %831, 0
  br i1 %832, label %833, label %835

833:                                              ; preds = %830
  %834 = getelementptr inbounds [1 x i8], ptr %64, i64 0, i64 0
  store i8 66, ptr %834, align 1, !tbaa !16
  br label %837

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

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

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

939:                                              ; preds = %873, %837
  br label %940

940:                                              ; preds = %939, %824
  %941 = load i32, ptr %76, align 4, !tbaa !9
  %942 = icmp eq i32 %941, 1
  br i1 %942, label %943, label %959

943:                                              ; preds = %940
  %944 = load ptr, ptr %42, align 8, !tbaa !5
  %945 = load i32, ptr %944, align 4, !tbaa !9
  %946 = icmp eq i32 %945, 0
  br i1 %946, label %947, label %950

947:                                              ; preds = %943
  %948 = load ptr, ptr %33, align 8, !tbaa !5
  %949 = load i32, ptr %948, align 4, !tbaa !9
  store i32 %949, ptr %54, align 4, !tbaa !9
  br label %954

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

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

959:                                              ; preds = %954, %940
  %960 = load i32, ptr %70, align 4, !tbaa !9
  %961 = icmp ne i32 %960, 0
  br i1 %961, label %962, label %1041

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

966:                                              ; preds = %1037, %962
  %967 = load i32, ptr %59, align 4, !tbaa !9
  %968 = load i32, ptr %47, align 4, !tbaa !9
  %969 = icmp sle i32 %967, %968
  br i1 %969, label %970, label %1040

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

980:                                              ; preds = %1000, %970
  %981 = load i32, ptr %73, align 4, !tbaa !9
  %982 = load i32, ptr %48, align 4, !tbaa !9
  %983 = icmp sle i32 %981, %982
  br i1 %983, label %984, label %1003

984:                                              ; preds = %980
  %985 = load ptr, ptr %34, align 8, !tbaa !5
  %986 = load i32, ptr %73, align 4, !tbaa !9
  %987 = sext i32 %986 to i64
  %988 = getelementptr inbounds float, ptr %985, i64 %987
  %989 = load float, ptr %988, align 4, !tbaa !11
  %990 = load float, ptr %99, align 4, !tbaa !11
  %991 = fcmp olt float %989, %990
  br i1 %991, label %992, label %999

992:                                              ; preds = %984
  %993 = load i32, ptr %73, align 4, !tbaa !9
  store i32 %993, ptr %58, align 4, !tbaa !9
  %994 = load ptr, ptr %34, align 8, !tbaa !5
  %995 = load i32, ptr %73, align 4, !tbaa !9
  %996 = sext i32 %995 to i64
  %997 = getelementptr inbounds float, ptr %994, i64 %996
  %998 = load float, ptr %997, align 4, !tbaa !11
  store float %998, ptr %99, align 4, !tbaa !11
  br label %999

999:                                              ; preds = %992, %984
  br label %1000

1000:                                             ; preds = %999
  %1001 = load i32, ptr %73, align 4, !tbaa !9
  %1002 = add nsw i32 %1001, 1
  store i32 %1002, ptr %73, align 4, !tbaa !9
  br label %980, !llvm.loop !17

1003:                                             ; preds = %980
  %1004 = load i32, ptr %58, align 4, !tbaa !9
  %1005 = icmp ne i32 %1004, 0
  br i1 %1005, label %1006, label %1036

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

1036:                                             ; preds = %1006, %1003
  br label %1037

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

1040:                                             ; preds = %966
  br label %1041

1041:                                             ; preds = %1040, %959
  %1042 = load i32, ptr %67, align 4, !tbaa !9
  %1043 = sitofp i32 %1042 to float
  %1044 = load ptr, ptr %38, align 8, !tbaa !5
  %1045 = getelementptr inbounds float, ptr %1044, i64 1
  store float %1043, ptr %1045, align 4, !tbaa !11
  %1046 = load i32, ptr %88, align 4, !tbaa !9
  %1047 = load ptr, ptr %40, align 8, !tbaa !5
  %1048 = getelementptr inbounds i32, ptr %1047, i64 1
  store i32 %1046, ptr %1048, align 4, !tbaa !9
  store i32 1, ptr %100, align 4
  br label %1049

1049:                                             ; preds = %1041, %453, %384, %377, %369
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #4
  ret void
}

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

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

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

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

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

declare float @slamch_(ptr noundef) #2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

@c__10 = external hidden global i32, align 4
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4
@c__3 = external hidden global i32, align 4
@c__4 = external hidden global i32, align 4
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [14 x i8], align 1
@c_n1 = external hidden global i32, align 4
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1

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

57:                                               ; preds = %21
  %58 = load i32, ptr %19, align 4, !tbaa !5
  %59 = icmp eq i32 %58, -1
  br label %60

60:                                               ; preds = %57, %21
  %61 = phi i1 [ true, %21 ], [ %59, %57 ]
  %62 = tail call i32 @ilaenv2stage_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.6, ptr noundef %0, ptr noundef %3, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1) #5
  store i32 %62, ptr %32, align 4, !tbaa !5
  %63 = call i32 @ilaenv2stage_(ptr noundef nonnull @c__2, ptr noundef nonnull @.str.6, ptr noundef %0, ptr noundef %3, ptr noundef nonnull %32, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1) #5
  store i32 %63, ptr %31, align 4, !tbaa !5
  %64 = call i32 @ilaenv2stage_(ptr noundef nonnull @c__3, ptr noundef nonnull @.str.6, ptr noundef %0, ptr noundef %3, ptr noundef nonnull %32, ptr noundef nonnull %31, ptr noundef nonnull @c_n1) #5
  store i32 %64, ptr %30, align 4, !tbaa !5
  %65 = call i32 @ilaenv2stage_(ptr noundef nonnull @c__4, ptr noundef nonnull @.str.6, ptr noundef %0, ptr noundef %3, ptr noundef nonnull %32, ptr noundef nonnull %31, ptr noundef nonnull @c_n1) #5
  %66 = load i32, ptr %3, align 4, !tbaa !5
  %67 = mul nsw i32 %66, 26
  %68 = mul nsw i32 %66, 5
  %69 = add i32 %68, %65
  %70 = add i32 %69, %64
  %71 = call i32 @llvm.smax.i32(i32 %67, i32 %70)
  store i32 1, ptr %22, align 4, !tbaa !5
  %72 = mul nsw i32 %66, 10
  store i32 %72, ptr %23, align 4, !tbaa !5
  %73 = icmp slt i32 %66, 1
  %74 = select i1 %73, i32 1, i32 %72
  store i32 0, ptr %20, align 4, !tbaa !5
  %75 = call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.1) #5
  %.not = icmp eq i32 %75, 0
  br i1 %.not, label %.thread431.sink.split, label %76

76:                                               ; preds = %60
  %77 = icmp ne i32 %52, 0
  %78 = icmp ne i32 %53, 0
  %or.cond = select i1 %77, i1 true, i1 %78
  %79 = icmp ne i32 %54, 0
  %or.cond3 = select i1 %or.cond, i1 true, i1 %79
  br i1 %or.cond3, label %80, label %.thread431.sink.split

80:                                               ; preds = %76
  %.not396 = icmp eq i32 %50, 0
  br i1 %.not396, label %81, label %83

81:                                               ; preds = %80
  %82 = call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.7) #5
  %.not397 = icmp eq i32 %82, 0
  br i1 %.not397, label %.thread431.sink.split, label %83

83:                                               ; preds = %81, %80
  %84 = load i32, ptr %3, align 4, !tbaa !5
  %85 = icmp slt i32 %84, 0
  br i1 %85, label %.thread431.sink.split, label %86

86:                                               ; preds = %83
  %87 = load i32, ptr %5, align 4, !tbaa !5
  %spec.select = call i32 @llvm.umax.i32(i32 %84, i32 1)
  %88 = icmp slt i32 %87, %spec.select
  br i1 %88, label %.thread431.sink.split, label %89

89:                                               ; preds = %86
  br i1 %78, label %90, label %95

90:                                               ; preds = %89
  %.not444 = icmp eq i32 %84, 0
  br i1 %.not444, label %104, label %91

91:                                               ; preds = %90
  %92 = load float, ptr %7, align 4, !tbaa !9
  %93 = load float, ptr %6, align 4, !tbaa !9
  %94 = fcmp ugt float %92, %93
  br i1 %94, label %104, label %.thread431.sink.split

95:                                               ; preds = %89
  br i1 %79, label %96, label %104

96:                                               ; preds = %95
  %97 = load i32, ptr %8, align 4, !tbaa !5
  %98 = icmp slt i32 %97, 1
  %99 = icmp ugt i32 %97, %spec.select
  %or.cond442 = or i1 %98, %99
  br i1 %or.cond442, label %.thread431.sink.split, label %100

100:                                              ; preds = %96
  %101 = load i32, ptr %9, align 4, !tbaa !5
  %. = call i32 @llvm.umin.i32(i32 %84, i32 %97)
  %102 = icmp slt i32 %101, %.
  %103 = icmp ugt i32 %101, %84
  %or.cond443 = or i1 %102, %103
  br i1 %or.cond443, label %.thread431.sink.split, label %104

104:                                              ; preds = %100, %91, %90, %95
  %.pr = load i32, ptr %20, align 4, !tbaa !5
  %105 = icmp eq i32 %.pr, 0
  br i1 %105, label %106, label %.thread431

106:                                              ; preds = %104
  %107 = load i32, ptr %14, align 4, !tbaa !5
  %108 = icmp slt i32 %107, 1
  br i1 %108, label %.thread431.sink.split, label %109

109:                                              ; preds = %106
  %.not399 = icmp ne i32 %51, 0
  %110 = icmp ult i32 %107, %84
  %or.cond477 = and i1 %.not399, %110
  br i1 %or.cond477, label %.thread431.sink.split, label %111

111:                                              ; preds = %109
  %112 = load i32, ptr %17, align 4, !tbaa !5
  %113 = icmp sge i32 %112, %71
  %or.cond5 = select i1 %113, i1 true, i1 %61
  br i1 %or.cond5, label %114, label %.thread431.sink.split

114:                                              ; preds = %111
  %115 = load i32, ptr %19, align 4, !tbaa !5
  %116 = icmp sge i32 %115, %74
  %or.cond7 = select i1 %116, i1 true, i1 %61
  br i1 %or.cond7, label %.thread428, label %.thread431.sink.split

.thread428:                                       ; preds = %114
  %117 = sitofp i32 %71 to float
  store float %117, ptr %16, align 4, !tbaa !9
  store i32 %74, ptr %18, align 4, !tbaa !5
  %.pr430.pr = load i32, ptr %20, align 4, !tbaa !5
  %.not400 = icmp eq i32 %.pr430.pr, 0
  br i1 %.not400, label %121, label %.thread431

.thread431.sink.split:                            ; preds = %114, %111, %106, %109, %100, %96, %91, %86, %83, %81, %76, %60
  %.sink = phi i32 [ -1, %60 ], [ -2, %76 ], [ -3, %81 ], [ -4, %83 ], [ -6, %86 ], [ -8, %91 ], [ -9, %96 ], [ -10, %100 ], [ -15, %109 ], [ -15, %106 ], [ -18, %111 ], [ -20, %114 ]
  store i32 %.sink, ptr %20, align 4, !tbaa !5
  br label %.thread431

.thread431:                                       ; preds = %.thread431.sink.split, %104, %.thread428
  %118 = phi i32 [ %.pr430.pr, %.thread428 ], [ %.pr, %104 ], [ %.sink, %.thread431.sink.split ]
  %119 = sub nsw i32 0, %118
  store i32 %119, ptr %22, align 4, !tbaa !5
  %120 = call i32 @xerbla_(ptr noundef nonnull @.str.8, ptr noundef nonnull %22, i32 noundef 13) #5
  br label %304

121:                                              ; preds = %.thread428
  br i1 %61, label %304, label %122

122:                                              ; preds = %121
  store i32 0, ptr %11, align 4, !tbaa !5
  %123 = load i32, ptr %3, align 4, !tbaa !5
  switch i32 %123, label %139 [
    i32 0, label %124
    i32 1, label %125
  ]

124:                                              ; preds = %122
  store float 1.000000e+00, ptr %16, align 4, !tbaa !9
  br label %304

125:                                              ; preds = %122
  store float 2.600000e+01, ptr %16, align 4, !tbaa !9
  %or.cond9 = select i1 %77, i1 true, i1 %79
  br i1 %or.cond9, label %126, label %128

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

128:                                              ; preds = %125
  %129 = load float, ptr %6, align 4, !tbaa !9
  %130 = load float, ptr %4, align 4, !tbaa !9
  %131 = fcmp olt float %129, %130
  br i1 %131, label %132, label %136

132:                                              ; preds = %128
  %133 = load float, ptr %7, align 4, !tbaa !9
  %134 = fcmp ult float %133, %130
  br i1 %134, label %136, label %135

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

.sink.split:                                      ; preds = %126, %135
  %.sink478 = phi float [ %130, %135 ], [ %127, %126 ]
  store float %.sink478, ptr %12, align 4, !tbaa !9
  br label %136

136:                                              ; preds = %.sink.split, %128, %132
  br i1 %.not399, label %137, label %304

137:                                              ; preds = %136
  store float 1.000000e+00, ptr %13, align 4, !tbaa !9
  store i32 1, ptr %15, align 4, !tbaa !5
  %138 = getelementptr inbounds i8, ptr %15, i64 4
  store i32 1, ptr %138, align 4, !tbaa !5
  br label %304

139:                                              ; preds = %122
  %140 = call float @slamch_(ptr noundef nonnull @.str.9) #5
  %141 = call float @slamch_(ptr noundef nonnull @.str.10) #5
  %142 = fdiv float %140, %141
  %143 = fdiv float 1.000000e+00, %142
  %sqrtf = call float @sqrtf(float noundef %142) #3
  %sqrtf401 = call float @sqrtf(float noundef %143) #3
  store float %sqrtf401, ptr %24, align 4, !tbaa !9
  %144 = fpext float %140 to double
  %145 = call double @sqrt(double noundef %144) #5
  %146 = call double @sqrt(double noundef %145) #5
  %147 = fdiv double 1.000000e+00, %146
  %148 = fptrunc double %147 to float
  %149 = fcmp ole float %sqrtf401, %148
  %150 = select i1 %149, float %sqrtf401, float %148
  %151 = load float, ptr %10, align 4, !tbaa !9
  store float %151, ptr %33, align 4, !tbaa !9
  %.not402 = icmp eq i32 %53, 0
  br i1 %.not402, label %155, label %152

152:                                              ; preds = %139
  %153 = load float, ptr %6, align 4, !tbaa !9
  store float %153, ptr %38, align 4, !tbaa !9
  %154 = load float, ptr %7, align 4, !tbaa !9
  store float %154, ptr %39, align 4, !tbaa !9
  br label %155

155:                                              ; preds = %152, %139
  %156 = call float @slansy_(ptr noundef nonnull @.str.11, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4, ptr noundef nonnull %5, ptr noundef nonnull %16) #5
  %157 = fcmp ogt float %156, 0.000000e+00
  %158 = fcmp olt float %156, %sqrtf
  %or.cond421 = select i1 %157, i1 %158, i1 false
  br i1 %or.cond421, label %161, label %159

159:                                              ; preds = %155
  %160 = fcmp ogt float %156, %150
  br i1 %160, label %161, label %192

161:                                              ; preds = %159, %155
  %.pn = phi float [ %sqrtf, %155 ], [ %150, %159 ]
  %storemerge445 = fdiv float %.pn, %156
  store float %storemerge445, ptr %27, align 4, !tbaa !9
  %162 = load i32, ptr %3, align 4, !tbaa !5
  store i32 %162, ptr %22, align 4, !tbaa !5
  br i1 %.not396, label %174, label %163

163:                                              ; preds = %161
  store i32 1, ptr %26, align 4, !tbaa !5
  %.not406449 = icmp slt i32 %162, 1
  br i1 %.not406449, label %.loopexit447, label %.lr.ph

.lr.ph:                                           ; preds = %163
  %164 = add i32 %40, 1
  br label %165

165:                                              ; preds = %.lr.ph, %165
  %storemerge405450 = phi i32 [ 1, %.lr.ph ], [ %172, %165 ]
  %166 = load i32, ptr %3, align 4, !tbaa !5
  %reass.sub = sub i32 %166, %storemerge405450
  %167 = add i32 %reass.sub, 1
  store i32 %167, ptr %23, align 4, !tbaa !5
  %168 = mul i32 %storemerge405450, %164
  %169 = sext i32 %168 to i64
  %170 = getelementptr inbounds float, ptr %42, i64 %169
  call void @sscal_(ptr noundef nonnull %23, ptr noundef nonnull %27, ptr noundef %170, ptr noundef nonnull @c__1) #5
  %171 = load i32, ptr %26, align 4, !tbaa !5
  %172 = add nsw i32 %171, 1
  store i32 %172, ptr %26, align 4, !tbaa !5
  %173 = load i32, ptr %22, align 4, !tbaa !5
  %.not406.not = icmp slt i32 %171, %173
  br i1 %.not406.not, label %165, label %.loopexit447, !llvm.loop !11

174:                                              ; preds = %161
  %invariant.gep = getelementptr i8, ptr %42, i64 4
  store i32 1, ptr %26, align 4, !tbaa !5
  %.not404451 = icmp slt i32 %162, 1
  br i1 %.not404451, label %.loopexit447, label %.lr.ph453

.lr.ph453:                                        ; preds = %174, %.lr.ph453
  %storemerge452 = phi i32 [ %178, %.lr.ph453 ], [ 1, %174 ]
  %175 = mul nsw i32 %storemerge452, %40
  %176 = sext i32 %175 to i64
  %gep = getelementptr float, ptr %invariant.gep, i64 %176
  call void @sscal_(ptr noundef nonnull %26, ptr noundef nonnull %27, ptr noundef %gep, ptr noundef nonnull @c__1) #5
  %177 = load i32, ptr %26, align 4, !tbaa !5
  %178 = add nsw i32 %177, 1
  store i32 %178, ptr %26, align 4, !tbaa !5
  %179 = load i32, ptr %22, align 4, !tbaa !5
  %.not404.not = icmp slt i32 %177, %179
  br i1 %.not404.not, label %.lr.ph453, label %.loopexit447, !llvm.loop !13

.loopexit447:                                     ; preds = %165, %.lr.ph453, %163, %174
  %180 = load float, ptr %10, align 4, !tbaa !9
  %181 = fcmp ogt float %180, 0.000000e+00
  br i1 %181, label %182, label %185

182:                                              ; preds = %.loopexit447
  %183 = load float, ptr %27, align 4, !tbaa !9
  %184 = fmul float %180, %183
  store float %184, ptr %33, align 4, !tbaa !9
  br label %185

185:                                              ; preds = %182, %.loopexit447
  br i1 %.not402, label %192, label %186

186:                                              ; preds = %185
  %187 = load float, ptr %6, align 4, !tbaa !9
  %188 = load float, ptr %27, align 4, !tbaa !9
  %189 = fmul float %187, %188
  store float %189, ptr %38, align 4, !tbaa !9
  %190 = load float, ptr %7, align 4, !tbaa !9
  %191 = fmul float %188, %190
  store float %191, ptr %39, align 4, !tbaa !9
  br label %192

192:                                              ; preds = %159, %185, %186
  %193 = phi i1 [ true, %185 ], [ true, %186 ], [ false, %159 ]
  %194 = load i32, ptr %3, align 4, !tbaa !5
  %195 = add nsw i32 %194, 1
  %196 = add nsw i32 %195, %194
  %197 = add nsw i32 %196, %194
  %198 = add nsw i32 %197, %194
  %199 = add nsw i32 %198, %194
  %200 = add nsw i32 %199, %64
  %201 = load i32, ptr %17, align 4, !tbaa !5
  %202 = add i32 %201, 1
  %203 = sub i32 %202, %200
  store i32 %203, ptr %36, align 4, !tbaa !5
  %204 = sext i32 %195 to i64
  %205 = getelementptr inbounds float, ptr %47, i64 %204
  %206 = sext i32 %196 to i64
  %207 = getelementptr inbounds float, ptr %47, i64 %206
  %208 = sext i32 %199 to i64
  %209 = getelementptr inbounds float, ptr %47, i64 %208
  %210 = sext i32 %200 to i64
  %211 = getelementptr inbounds float, ptr %47, i64 %210
  call void @ssytrd_2stage_(ptr noundef %0, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4, ptr noundef nonnull %5, ptr noundef nonnull %205, ptr noundef nonnull %207, ptr noundef nonnull %16, ptr noundef nonnull %209, ptr noundef nonnull %30, ptr noundef nonnull %211, ptr noundef nonnull %36, ptr noundef nonnull %28) #5
  %.not407 = icmp eq i32 %54, 0
  br i1 %.not407, label %219, label %212

212:                                              ; preds = %192
  %213 = load i32, ptr %8, align 4, !tbaa !5
  %214 = icmp eq i32 %213, 1
  br i1 %214, label %215, label %219

215:                                              ; preds = %212
  %216 = load i32, ptr %9, align 4, !tbaa !5
  %217 = load i32, ptr %3, align 4, !tbaa !5
  %218 = icmp eq i32 %216, %217
  br label %219

219:                                              ; preds = %215, %212, %192
  %220 = phi i1 [ false, %212 ], [ false, %192 ], [ %218, %215 ]
  %or.cond11 = or i1 %77, %220
  %221 = icmp eq i32 %49, 1
  %or.cond13 = select i1 %or.cond11, i1 %221, i1 false
  br i1 %or.cond13, label %222, label %250

222:                                              ; preds = %219
  br i1 %.not399, label %228, label %223

223:                                              ; preds = %222
  call void @scopy_(ptr noundef nonnull %3, ptr noundef nonnull %205, ptr noundef nonnull @c__1, ptr noundef %12, ptr noundef nonnull @c__1) #5
  %224 = load i32, ptr %3, align 4, !tbaa !5
  %225 = add nsw i32 %224, -1
  store i32 %225, ptr %22, align 4, !tbaa !5
  %226 = sext i32 %198 to i64
  %227 = getelementptr inbounds float, ptr %47, i64 %226
  call void @scopy_(ptr noundef nonnull %22, ptr noundef nonnull %207, ptr noundef nonnull @c__1, ptr noundef nonnull %227, ptr noundef nonnull @c__1) #5
  call void @ssterf_(ptr noundef nonnull %3, ptr noundef %12, ptr noundef nonnull %227, ptr noundef nonnull %20) #5
  br label %246

228:                                              ; preds = %222
  %229 = load i32, ptr %3, align 4, !tbaa !5
  %230 = add nsw i32 %229, -1
  store i32 %230, ptr %22, align 4, !tbaa !5
  %231 = sext i32 %198 to i64
  %232 = getelementptr inbounds float, ptr %47, i64 %231
  call void @scopy_(ptr noundef nonnull %22, ptr noundef nonnull %207, ptr noundef nonnull @c__1, ptr noundef nonnull %232, ptr noundef nonnull @c__1) #5
  %233 = sext i32 %197 to i64
  %234 = getelementptr inbounds float, ptr %47, i64 %233
  call void @scopy_(ptr noundef nonnull %3, ptr noundef nonnull %205, ptr noundef nonnull @c__1, ptr noundef nonnull %234, ptr noundef nonnull @c__1) #5
  %235 = load float, ptr %10, align 4, !tbaa !9
  %236 = load i32, ptr %3, align 4, !tbaa !5
  %237 = sitofp i32 %236 to float
  %238 = fmul float %237, 2.000000e+00
  %239 = fmul float %141, %238
  %240 = fcmp ole float %235, %239
  %.423 = zext i1 %240 to i32
  store i32 %.423, ptr %34, align 4, !tbaa !5
  call void @sstemr_(ptr noundef %0, ptr noundef nonnull @.str.4, ptr noundef nonnull %3, ptr noundef nonnull %234, ptr noundef nonnull %232, 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 %34, ptr noundef nonnull %211, ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20) #5
  %241 = load i32, ptr %20, align 4, !tbaa !5
  %242 = icmp eq i32 %241, 0
  br i1 %242, label %243, label %.thread437

243:                                              ; preds = %228
  %244 = load i32, ptr %17, align 4, !tbaa !5
  %reass.sub468 = sub i32 %244, %196
  %245 = add i32 %reass.sub468, 1
  store i32 %245, ptr %35, align 4, !tbaa !5
  call void @sormtr_(ptr noundef nonnull @.str.2, ptr noundef %2, ptr noundef nonnull @.str.1, ptr noundef nonnull %3, ptr noundef nonnull %11, ptr noundef %4, ptr noundef nonnull %5, ptr noundef nonnull %16, ptr noundef %13, ptr noundef nonnull %14, ptr noundef nonnull %207, ptr noundef nonnull %35, ptr noundef nonnull %28) #5
  br label %246

246:                                              ; preds = %243, %223
  %.pr436 = load i32, ptr %20, align 4, !tbaa !5
  %247 = icmp eq i32 %.pr436, 0
  br i1 %247, label %248, label %.thread437

248:                                              ; preds = %246
  %249 = load i32, ptr %3, align 4, !tbaa !5
  store i32 %249, ptr %11, align 4, !tbaa !5
  br label %258

.thread437:                                       ; preds = %228, %246
  store i32 0, ptr %20, align 4, !tbaa !5
  br label %250

250:                                              ; preds = %219, %.thread437
  %.424 = select i1 %.not399, i8 66, i8 69
  store i8 %.424, ptr %29, align 1, !tbaa !14
  %251 = getelementptr inbounds i32, ptr %48, i64 %204
  %252 = sext i32 %197 to i64
  %253 = getelementptr inbounds i32, ptr %48, i64 %252
  call void @sstebz_(ptr noundef %1, ptr noundef nonnull %29, ptr noundef nonnull %3, ptr noundef nonnull %38, ptr noundef nonnull %39, ptr noundef %8, ptr noundef %9, ptr noundef nonnull %33, ptr noundef nonnull %205, ptr noundef nonnull %207, ptr noundef nonnull %11, ptr noundef nonnull %37, ptr noundef %12, ptr noundef nonnull %18, ptr noundef nonnull %251, ptr noundef nonnull %211, ptr noundef nonnull %253, ptr noundef nonnull %20) #5
  br i1 %.not399, label %254, label %258

254:                                              ; preds = %250
  %255 = getelementptr inbounds i32, ptr %48, i64 %206
  call void @sstein_(ptr noundef nonnull %3, ptr noundef nonnull %205, ptr noundef nonnull %207, ptr noundef nonnull %11, ptr noundef %12, ptr noundef nonnull %18, ptr noundef nonnull %251, ptr noundef %13, ptr noundef nonnull %14, ptr noundef nonnull %211, ptr noundef nonnull %253, ptr noundef nonnull %255, ptr noundef nonnull %20) #5
  %256 = load i32, ptr %17, align 4, !tbaa !5
  %reass.sub469 = sub i32 %256, %196
  %257 = add i32 %reass.sub469, 1
  store i32 %257, ptr %35, align 4, !tbaa !5
  call void @sormtr_(ptr noundef nonnull @.str.2, ptr noundef %2, ptr noundef nonnull @.str.1, ptr noundef nonnull %3, ptr noundef nonnull %11, ptr noundef %4, ptr noundef nonnull %5, ptr noundef nonnull %16, ptr noundef %13, ptr noundef nonnull %14, ptr noundef nonnull %207, ptr noundef nonnull %35, ptr noundef nonnull %28) #5
  br label %258

258:                                              ; preds = %250, %254, %248
  br i1 %193, label %259, label %269

259:                                              ; preds = %258
  %260 = load i32, ptr %20, align 4, !tbaa !5
  %261 = icmp eq i32 %260, 0
  br i1 %261, label %262, label %264

262:                                              ; preds = %259
  %263 = load i32, ptr %11, align 4, !tbaa !5
  br label %266

264:                                              ; preds = %259
  %265 = add nsw i32 %260, -1
  br label %266

266:                                              ; preds = %264, %262
  %storemerge412 = phi i32 [ %265, %264 ], [ %263, %262 ]
  store i32 %storemerge412, ptr %25, align 4, !tbaa !5
  %267 = load float, ptr %27, align 4, !tbaa !9
  %268 = fdiv float 1.000000e+00, %267
  store float %268, ptr %24, align 4, !tbaa !9
  call void @sscal_(ptr noundef nonnull %25, ptr noundef nonnull %24, ptr noundef %12, ptr noundef nonnull @c__1) #5
  br label %269

269:                                              ; preds = %266, %258
  br i1 %.not399, label %270, label %.loopexit

270:                                              ; preds = %269
  %271 = load i32, ptr %11, align 4, !tbaa !5
  %272 = add nsw i32 %271, -1
  store i32 %272, ptr %22, align 4, !tbaa !5
  %invariant.gep460 = getelementptr i8, ptr %46, i64 4
  store i32 1, ptr %26, align 4, !tbaa !5
  %.not415464 = icmp slt i32 %271, 2
  br i1 %.not415464, label %.loopexit, label %.lr.ph467

.lr.ph467:                                        ; preds = %270, %._crit_edge.thread
  %273 = phi i32 [ %301, %._crit_edge.thread ], [ %272, %270 ]
  %storemerge414465 = phi i32 [ %303, %._crit_edge.thread ], [ 1, %270 ]
  %274 = sext i32 %storemerge414465 to i64
  %275 = getelementptr inbounds float, ptr %43, i64 %274
  %276 = load float, ptr %275, align 4, !tbaa !9
  %277 = load i32, ptr %11, align 4, !tbaa !5
  store i32 %277, ptr %23, align 4, !tbaa !5
  %.not416.not454 = icmp slt i32 %storemerge414465, %277
  br i1 %.not416.not454, label %.lr.ph458.preheader, label %._crit_edge.thread

.lr.ph458.preheader:                              ; preds = %.lr.ph467
  %wide.trip.count = sext i32 %277 to i64
  %278 = sub nsw i64 %wide.trip.count, %274
  %xtraiter = and i64 %278, 1
  %279 = add nsw i64 %wide.trip.count, -1
  %280 = icmp eq i64 %279, %274
  br i1 %280, label %._crit_edge.unr-lcssa, label %.lr.ph458.preheader.new

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

.lr.ph458:                                        ; preds = %.lr.ph458, %.lr.ph458.preheader.new
  %indvars.iv = phi i64 [ %274, %.lr.ph458.preheader.new ], [ %indvars.iv.next.1, %.lr.ph458 ]
  %.0457 = phi float [ %276, %.lr.ph458.preheader.new ], [ %.1.1, %.lr.ph458 ]
  %.0374456 = phi i32 [ 0, %.lr.ph458.preheader.new ], [ %.1375.1, %.lr.ph458 ]
  %niter = phi i64 [ 0, %.lr.ph458.preheader.new ], [ %niter.next.1, %.lr.ph458 ]
  %indvars.iv.next = add nsw i64 %indvars.iv, 1
  %281 = getelementptr float, ptr %12, i64 %indvars.iv
  %282 = load float, ptr %281, align 4, !tbaa !9
  %283 = fcmp olt float %282, %.0457
  %284 = trunc nsw i64 %indvars.iv.next to i32
  %.1375 = select i1 %283, i32 %284, i32 %.0374456
  %.1 = select i1 %283, float %282, float %.0457
  %indvars.iv.next.1 = add nsw i64 %indvars.iv, 2
  %285 = getelementptr float, ptr %12, i64 %indvars.iv.next
  %286 = load float, ptr %285, align 4, !tbaa !9
  %287 = fcmp olt float %286, %.1
  %288 = trunc nsw i64 %indvars.iv.next.1 to i32
  %.1375.1 = select i1 %287, i32 %288, i32 %.1375
  %.1.1 = select i1 %287, float %286, float %.1
  %niter.next.1 = add i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %._crit_edge.unr-lcssa, label %.lr.ph458, !llvm.loop !15

._crit_edge.unr-lcssa:                            ; preds = %.lr.ph458, %.lr.ph458.preheader
  %.1375.lcssa.ph = phi i32 [ poison, %.lr.ph458.preheader ], [ %.1375.1, %.lr.ph458 ]
  %.1.lcssa.ph = phi float [ poison, %.lr.ph458.preheader ], [ %.1.1, %.lr.ph458 ]
  %indvars.iv.unr = phi i64 [ %274, %.lr.ph458.preheader ], [ %indvars.iv.next.1, %.lr.ph458 ]
  %.0457.unr = phi float [ %276, %.lr.ph458.preheader ], [ %.1.1, %.lr.ph458 ]
  %.0374456.unr = phi i32 [ 0, %.lr.ph458.preheader ], [ %.1375.1, %.lr.ph458 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %._crit_edge, label %.lr.ph458.epil

.lr.ph458.epil:                                   ; preds = %._crit_edge.unr-lcssa
  %289 = getelementptr float, ptr %12, i64 %indvars.iv.unr
  %290 = load float, ptr %289, align 4, !tbaa !9
  %291 = fcmp olt float %290, %.0457.unr
  %292 = trunc i64 %indvars.iv.unr to i32
  %293 = add i32 %292, 1
  %.1375.epil = select i1 %291, i32 %293, i32 %.0374456.unr
  %.1.epil = select i1 %291, float %290, float %.0457.unr
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.unr-lcssa, %.lr.ph458.epil
  %.1375.lcssa = phi i32 [ %.1375.lcssa.ph, %._crit_edge.unr-lcssa ], [ %.1375.epil, %.lr.ph458.epil ]
  %.1.lcssa = phi float [ %.1.lcssa.ph, %._crit_edge.unr-lcssa ], [ %.1.epil, %.lr.ph458.epil ]
  %.not417 = icmp eq i32 %.1375.lcssa, 0
  br i1 %.not417, label %._crit_edge.thread, label %294

294:                                              ; preds = %._crit_edge
  %295 = sext i32 %.1375.lcssa to i64
  %296 = getelementptr inbounds float, ptr %43, i64 %295
  store float %276, ptr %296, align 4, !tbaa !9
  store float %.1.lcssa, ptr %275, align 4, !tbaa !9
  %297 = mul nsw i32 %.1375.lcssa, %44
  %298 = sext i32 %297 to i64
  %gep461 = getelementptr float, ptr %invariant.gep460, i64 %298
  %299 = mul nsw i32 %storemerge414465, %44
  %300 = sext i32 %299 to i64
  %gep463 = getelementptr float, ptr %invariant.gep460, i64 %300
  call void @sswap_(ptr noundef nonnull %3, ptr noundef %gep461, ptr noundef nonnull @c__1, ptr noundef %gep463, ptr noundef nonnull @c__1) #5
  %.pre = load i32, ptr %26, align 4, !tbaa !5
  %.pre472 = load i32, ptr %22, align 4, !tbaa !5
  br label %._crit_edge.thread

._crit_edge.thread:                               ; preds = %.lr.ph467, %._crit_edge, %294
  %301 = phi i32 [ %273, %._crit_edge ], [ %.pre472, %294 ], [ %273, %.lr.ph467 ]
  %302 = phi i32 [ %storemerge414465, %._crit_edge ], [ %.pre, %294 ], [ %storemerge414465, %.lr.ph467 ]
  %303 = add nsw i32 %302, 1
  store i32 %303, ptr %26, align 4, !tbaa !5
  %.not415.not = icmp slt i32 %302, %301
  br i1 %.not415.not, label %.lr.ph467, label %.loopexit, !llvm.loop !16

.loopexit:                                        ; preds = %._crit_edge.thread, %270, %269
  store float %117, ptr %16, align 4, !tbaa !9
  store i32 %74, ptr %18, align 4, !tbaa !5
  br label %304

304:                                              ; preds = %136, %137, %121, %.loopexit, %124, %.thread431
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #5
  ret void
}

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

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

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

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

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

declare float @slamch_(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

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

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

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

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

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

declare float @sqrtf(float) local_unnamed_addr

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

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

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

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

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


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