; LLVM IR from niuyishuai/PDCABB :: LAPACK_BLAS/LAPACK (sgelss)

; 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__6 = external hidden global i64, align 8
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@.str.2 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@c__0 = external hidden global i64, align 8
@.str.15 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b74 = external hidden global float, align 4
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b108 = external hidden global float, align 4

; Function Attrs: nounwind uwtable
define dso_local i32 @sgelss_(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) #0 {
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %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 i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca i64, align 8
  %31 = alloca i64, align 8
  %32 = alloca i64, align 8
  %33 = alloca i64, align 8
  %34 = alloca i64, align 8
  %35 = alloca i64, align 8
  %36 = alloca float, align 4
  %37 = alloca i64, align 8
  %38 = alloca i64, align 8
  %39 = alloca i64, align 8
  %40 = alloca i64, align 8
  %41 = alloca i64, align 8
  %42 = alloca float, align 4
  %43 = alloca float, align 4
  %44 = alloca float, align 4
  %45 = alloca float, align 4
  %46 = alloca i64, align 8
  %47 = alloca [1 x float], align 4
  %48 = alloca i64, align 8
  %49 = alloca i64, align 8
  %50 = alloca i64, align 8
  %51 = alloca float, align 4
  %52 = alloca i64, align 8
  %53 = alloca i64, align 8
  %54 = alloca i64, align 8
  %55 = alloca i64, align 8
  %56 = alloca i64, align 8
  %57 = alloca i64, align 8
  %58 = alloca i64, align 8
  %59 = alloca float, align 4
  %60 = alloca i64, align 8
  %61 = alloca i64, align 8
  %62 = alloca i64, align 8
  %63 = alloca float, align 4
  %64 = alloca i64, align 8
  %65 = alloca i32, align 4
  store ptr %0, ptr %15, align 8, !tbaa !5
  store ptr %1, ptr %16, align 8, !tbaa !5
  store ptr %2, ptr %17, align 8, !tbaa !5
  store ptr %3, ptr %18, align 8, !tbaa !5
  store ptr %4, ptr %19, align 8, !tbaa !5
  store ptr %5, ptr %20, align 8, !tbaa !5
  store ptr %6, ptr %21, align 8, !tbaa !5
  store ptr %7, ptr %22, align 8, !tbaa !5
  store ptr %8, ptr %23, align 8, !tbaa !5
  store ptr %9, ptr %24, align 8, !tbaa !5
  store ptr %10, ptr %25, align 8, !tbaa !5
  store ptr %11, ptr %26, align 8, !tbaa !5
  store ptr %12, ptr %27, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #3
  %66 = load ptr, ptr %19, align 8, !tbaa !5
  %67 = load i64, ptr %66, align 8, !tbaa !9
  store i64 %67, ptr %28, align 8, !tbaa !9
  %68 = load i64, ptr %28, align 8, !tbaa !9
  %69 = add nsw i64 1, %68
  store i64 %69, ptr %29, align 8, !tbaa !9
  %70 = load i64, ptr %29, align 8, !tbaa !9
  %71 = load ptr, ptr %18, align 8, !tbaa !5
  %72 = sub i64 0, %70
  %73 = getelementptr inbounds float, ptr %71, i64 %72
  store ptr %73, ptr %18, align 8, !tbaa !5
  %74 = load ptr, ptr %21, align 8, !tbaa !5
  %75 = load i64, ptr %74, align 8, !tbaa !9
  store i64 %75, ptr %30, align 8, !tbaa !9
  %76 = load i64, ptr %30, align 8, !tbaa !9
  %77 = add nsw i64 1, %76
  store i64 %77, ptr %31, align 8, !tbaa !9
  %78 = load i64, ptr %31, align 8, !tbaa !9
  %79 = load ptr, ptr %20, align 8, !tbaa !5
  %80 = sub i64 0, %78
  %81 = getelementptr inbounds float, ptr %79, i64 %80
  store ptr %81, ptr %20, align 8, !tbaa !5
  %82 = load ptr, ptr %22, align 8, !tbaa !5
  %83 = getelementptr inbounds float, ptr %82, i32 -1
  store ptr %83, ptr %22, align 8, !tbaa !5
  %84 = load ptr, ptr %25, align 8, !tbaa !5
  %85 = getelementptr inbounds float, ptr %84, i32 -1
  store ptr %85, ptr %25, align 8, !tbaa !5
  %86 = load ptr, ptr %27, align 8, !tbaa !5
  store i64 0, ptr %86, align 8, !tbaa !9
  %87 = load ptr, ptr %15, align 8, !tbaa !5
  %88 = load i64, ptr %87, align 8, !tbaa !9
  %89 = load ptr, ptr %16, align 8, !tbaa !5
  %90 = load i64, ptr %89, align 8, !tbaa !9
  %91 = icmp sle i64 %88, %90
  br i1 %91, label %92, label %95

92:                                               ; preds = %13
  %93 = load ptr, ptr %15, align 8, !tbaa !5
  %94 = load i64, ptr %93, align 8, !tbaa !9
  br label %98

95:                                               ; preds = %13
  %96 = load ptr, ptr %16, align 8, !tbaa !5
  %97 = load i64, ptr %96, align 8, !tbaa !9
  br label %98

98:                                               ; preds = %95, %92
  %99 = phi i64 [ %94, %92 ], [ %97, %95 ]
  store i64 %99, ptr %52, align 8, !tbaa !9
  %100 = load ptr, ptr %15, align 8, !tbaa !5
  %101 = load i64, ptr %100, align 8, !tbaa !9
  %102 = load ptr, ptr %16, align 8, !tbaa !5
  %103 = load i64, ptr %102, align 8, !tbaa !9
  %104 = icmp sge i64 %101, %103
  br i1 %104, label %105, label %108

105:                                              ; preds = %98
  %106 = load ptr, ptr %15, align 8, !tbaa !5
  %107 = load i64, ptr %106, align 8, !tbaa !9
  br label %111

108:                                              ; preds = %98
  %109 = load ptr, ptr %16, align 8, !tbaa !5
  %110 = load i64, ptr %109, align 8, !tbaa !9
  br label %111

111:                                              ; preds = %108, %105
  %112 = phi i64 [ %107, %105 ], [ %110, %108 ]
  store i64 %112, ptr %53, align 8, !tbaa !9
  %113 = load ptr, ptr %26, align 8, !tbaa !5
  %114 = load i64, ptr %113, align 8, !tbaa !9
  %115 = icmp eq i64 %114, -1
  %116 = zext i1 %115 to i32
  %117 = sext i32 %116 to i64
  store i64 %117, ptr %64, align 8, !tbaa !9
  %118 = load ptr, ptr %15, align 8, !tbaa !5
  %119 = load i64, ptr %118, align 8, !tbaa !9
  %120 = icmp slt i64 %119, 0
  br i1 %120, label %121, label %123

121:                                              ; preds = %111
  %122 = load ptr, ptr %27, align 8, !tbaa !5
  store i64 -1, ptr %122, align 8, !tbaa !9
  br label %167

123:                                              ; preds = %111
  %124 = load ptr, ptr %16, align 8, !tbaa !5
  %125 = load i64, ptr %124, align 8, !tbaa !9
  %126 = icmp slt i64 %125, 0
  br i1 %126, label %127, label %129

127:                                              ; preds = %123
  %128 = load ptr, ptr %27, align 8, !tbaa !5
  store i64 -2, ptr %128, align 8, !tbaa !9
  br label %166

129:                                              ; preds = %123
  %130 = load ptr, ptr %17, align 8, !tbaa !5
  %131 = load i64, ptr %130, align 8, !tbaa !9
  %132 = icmp slt i64 %131, 0
  br i1 %132, label %133, label %135

133:                                              ; preds = %129
  %134 = load ptr, ptr %27, align 8, !tbaa !5
  store i64 -3, ptr %134, align 8, !tbaa !9
  br label %165

135:                                              ; preds = %129
  %136 = load ptr, ptr %19, align 8, !tbaa !5
  %137 = load i64, ptr %136, align 8, !tbaa !9
  %138 = load ptr, ptr %15, align 8, !tbaa !5
  %139 = load i64, ptr %138, align 8, !tbaa !9
  %140 = icmp sge i64 1, %139
  br i1 %140, label %141, label %142

141:                                              ; preds = %135
  br label %145

142:                                              ; preds = %135
  %143 = load ptr, ptr %15, align 8, !tbaa !5
  %144 = load i64, ptr %143, align 8, !tbaa !9
  br label %145

145:                                              ; preds = %142, %141
  %146 = phi i64 [ 1, %141 ], [ %144, %142 ]
  %147 = icmp slt i64 %137, %146
  br i1 %147, label %148, label %150

148:                                              ; preds = %145
  %149 = load ptr, ptr %27, align 8, !tbaa !5
  store i64 -5, ptr %149, align 8, !tbaa !9
  br label %164

150:                                              ; preds = %145
  %151 = load ptr, ptr %21, align 8, !tbaa !5
  %152 = load i64, ptr %151, align 8, !tbaa !9
  %153 = load i64, ptr %53, align 8, !tbaa !9
  %154 = icmp sge i64 1, %153
  br i1 %154, label %155, label %156

155:                                              ; preds = %150
  br label %158

156:                                              ; preds = %150
  %157 = load i64, ptr %53, align 8, !tbaa !9
  br label %158

158:                                              ; preds = %156, %155
  %159 = phi i64 [ 1, %155 ], [ %157, %156 ]
  %160 = icmp slt i64 %152, %159
  br i1 %160, label %161, label %163

161:                                              ; preds = %158
  %162 = load ptr, ptr %27, align 8, !tbaa !5
  store i64 -7, ptr %162, align 8, !tbaa !9
  br label %163

163:                                              ; preds = %161, %158
  br label %164

164:                                              ; preds = %163, %148
  br label %165

165:                                              ; preds = %164, %133
  br label %166

166:                                              ; preds = %165, %127
  br label %167

167:                                              ; preds = %166, %121
  %168 = load ptr, ptr %27, align 8, !tbaa !5
  %169 = load i64, ptr %168, align 8, !tbaa !9
  %170 = icmp eq i64 %169, 0
  br i1 %170, label %171, label %717

171:                                              ; preds = %167
  store i64 1, ptr %61, align 8, !tbaa !9
  store i64 1, ptr %62, align 8, !tbaa !9
  %172 = load i64, ptr %52, align 8, !tbaa !9
  %173 = icmp sgt i64 %172, 0
  br i1 %173, label %174, label %702

174:                                              ; preds = %171
  %175 = load ptr, ptr %15, align 8, !tbaa !5
  %176 = load i64, ptr %175, align 8, !tbaa !9
  store i64 %176, ptr %41, align 8, !tbaa !9
  %177 = load ptr, ptr %15, align 8, !tbaa !5
  %178 = load ptr, ptr %16, align 8, !tbaa !5
  %179 = load ptr, ptr %17, align 8, !tbaa !5
  %180 = call i64 @ilaenv_(ptr noundef @c__6, ptr noundef @.str, ptr noundef @.str.1, ptr noundef %177, ptr noundef %178, ptr noundef %179, ptr noundef @c_n1)
  store i64 %180, ptr %56, align 8, !tbaa !9
  %181 = load ptr, ptr %15, align 8, !tbaa !5
  %182 = load i64, ptr %181, align 8, !tbaa !9
  %183 = load ptr, ptr %16, align 8, !tbaa !5
  %184 = load i64, ptr %183, align 8, !tbaa !9
  %185 = icmp sge i64 %182, %184
  br i1 %185, label %186, label %233

186:                                              ; preds = %174
  %187 = load ptr, ptr %15, align 8, !tbaa !5
  %188 = load i64, ptr %187, align 8, !tbaa !9
  %189 = load i64, ptr %56, align 8, !tbaa !9
  %190 = icmp sge i64 %188, %189
  br i1 %190, label %191, label %233

191:                                              ; preds = %186
  %192 = load ptr, ptr %16, align 8, !tbaa !5
  %193 = load i64, ptr %192, align 8, !tbaa !9
  store i64 %193, ptr %41, align 8, !tbaa !9
  %194 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %194, ptr %32, align 8, !tbaa !9
  %195 = load ptr, ptr %16, align 8, !tbaa !5
  %196 = load i64, ptr %195, align 8, !tbaa !9
  %197 = load ptr, ptr %16, align 8, !tbaa !5
  %198 = load i64, ptr %197, align 8, !tbaa !9
  %199 = load ptr, ptr %15, align 8, !tbaa !5
  %200 = load ptr, ptr %16, align 8, !tbaa !5
  %201 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.2, ptr noundef @.str.1, ptr noundef %199, ptr noundef %200, ptr noundef @c_n1, ptr noundef @c_n1)
  %202 = mul nsw i64 %198, %201
  %203 = add nsw i64 %196, %202
  store i64 %203, ptr %33, align 8, !tbaa !9
  %204 = load i64, ptr %32, align 8, !tbaa !9
  %205 = load i64, ptr %33, align 8, !tbaa !9
  %206 = icmp sge i64 %204, %205
  br i1 %206, label %207, label %209

207:                                              ; preds = %191
  %208 = load i64, ptr %32, align 8, !tbaa !9
  br label %211

209:                                              ; preds = %191
  %210 = load i64, ptr %33, align 8, !tbaa !9
  br label %211

211:                                              ; preds = %209, %207
  %212 = phi i64 [ %208, %207 ], [ %210, %209 ]
  store i64 %212, ptr %62, align 8, !tbaa !9
  %213 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %213, ptr %32, align 8, !tbaa !9
  %214 = load ptr, ptr %16, align 8, !tbaa !5
  %215 = load i64, ptr %214, align 8, !tbaa !9
  %216 = load ptr, ptr %17, align 8, !tbaa !5
  %217 = load i64, ptr %216, align 8, !tbaa !9
  %218 = load ptr, ptr %15, align 8, !tbaa !5
  %219 = load ptr, ptr %17, align 8, !tbaa !5
  %220 = load ptr, ptr %16, align 8, !tbaa !5
  %221 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.3, ptr noundef @.str.4, ptr noundef %218, ptr noundef %219, ptr noundef %220, ptr noundef @c_n1)
  %222 = mul nsw i64 %217, %221
  %223 = add nsw i64 %215, %222
  store i64 %223, ptr %33, align 8, !tbaa !9
  %224 = load i64, ptr %32, align 8, !tbaa !9
  %225 = load i64, ptr %33, align 8, !tbaa !9
  %226 = icmp sge i64 %224, %225
  br i1 %226, label %227, label %229

227:                                              ; preds = %211
  %228 = load i64, ptr %32, align 8, !tbaa !9
  br label %231

229:                                              ; preds = %211
  %230 = load i64, ptr %33, align 8, !tbaa !9
  br label %231

231:                                              ; preds = %229, %227
  %232 = phi i64 [ %228, %227 ], [ %230, %229 ]
  store i64 %232, ptr %62, align 8, !tbaa !9
  br label %233

233:                                              ; preds = %231, %186, %174
  %234 = load ptr, ptr %15, align 8, !tbaa !5
  %235 = load i64, ptr %234, align 8, !tbaa !9
  %236 = load ptr, ptr %16, align 8, !tbaa !5
  %237 = load i64, ptr %236, align 8, !tbaa !9
  %238 = icmp sge i64 %235, %237
  br i1 %238, label %239, label %377

239:                                              ; preds = %233
  store i64 1, ptr %32, align 8, !tbaa !9
  %240 = load ptr, ptr %16, align 8, !tbaa !5
  %241 = load i64, ptr %240, align 8, !tbaa !9
  %242 = mul nsw i64 %241, 5
  store i64 %242, ptr %33, align 8, !tbaa !9
  %243 = load i64, ptr %32, align 8, !tbaa !9
  %244 = load i64, ptr %33, align 8, !tbaa !9
  %245 = icmp sge i64 %243, %244
  br i1 %245, label %246, label %248

246:                                              ; preds = %239
  %247 = load i64, ptr %32, align 8, !tbaa !9
  br label %250

248:                                              ; preds = %239
  %249 = load i64, ptr %33, align 8, !tbaa !9
  br label %250

250:                                              ; preds = %248, %246
  %251 = phi i64 [ %247, %246 ], [ %249, %248 ]
  store i64 %251, ptr %58, align 8, !tbaa !9
  %252 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %252, ptr %32, align 8, !tbaa !9
  %253 = load ptr, ptr %16, align 8, !tbaa !5
  %254 = load i64, ptr %253, align 8, !tbaa !9
  %255 = mul nsw i64 %254, 3
  %256 = load i64, ptr %41, align 8, !tbaa !9
  %257 = load ptr, ptr %16, align 8, !tbaa !5
  %258 = load i64, ptr %257, align 8, !tbaa !9
  %259 = add nsw i64 %256, %258
  %260 = load ptr, ptr %16, align 8, !tbaa !5
  %261 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.5, ptr noundef @.str.1, ptr noundef %41, ptr noundef %260, ptr noundef @c_n1, ptr noundef @c_n1)
  %262 = mul nsw i64 %259, %261
  %263 = add nsw i64 %255, %262
  store i64 %263, ptr %33, align 8, !tbaa !9
  %264 = load i64, ptr %32, align 8, !tbaa !9
  %265 = load i64, ptr %33, align 8, !tbaa !9
  %266 = icmp sge i64 %264, %265
  br i1 %266, label %267, label %269

267:                                              ; preds = %250
  %268 = load i64, ptr %32, align 8, !tbaa !9
  br label %271

269:                                              ; preds = %250
  %270 = load i64, ptr %33, align 8, !tbaa !9
  br label %271

271:                                              ; preds = %269, %267
  %272 = phi i64 [ %268, %267 ], [ %270, %269 ]
  store i64 %272, ptr %62, align 8, !tbaa !9
  %273 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %273, ptr %32, align 8, !tbaa !9
  %274 = load ptr, ptr %16, align 8, !tbaa !5
  %275 = load i64, ptr %274, align 8, !tbaa !9
  %276 = mul nsw i64 %275, 3
  %277 = load ptr, ptr %17, align 8, !tbaa !5
  %278 = load i64, ptr %277, align 8, !tbaa !9
  %279 = load ptr, ptr %17, align 8, !tbaa !5
  %280 = load ptr, ptr %16, align 8, !tbaa !5
  %281 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.6, ptr noundef @.str.7, ptr noundef %41, ptr noundef %279, ptr noundef %280, ptr noundef @c_n1)
  %282 = mul nsw i64 %278, %281
  %283 = add nsw i64 %276, %282
  store i64 %283, ptr %33, align 8, !tbaa !9
  %284 = load i64, ptr %32, align 8, !tbaa !9
  %285 = load i64, ptr %33, align 8, !tbaa !9
  %286 = icmp sge i64 %284, %285
  br i1 %286, label %287, label %289

287:                                              ; preds = %271
  %288 = load i64, ptr %32, align 8, !tbaa !9
  br label %291

289:                                              ; preds = %271
  %290 = load i64, ptr %33, align 8, !tbaa !9
  br label %291

291:                                              ; preds = %289, %287
  %292 = phi i64 [ %288, %287 ], [ %290, %289 ]
  store i64 %292, ptr %62, align 8, !tbaa !9
  %293 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %293, ptr %32, align 8, !tbaa !9
  %294 = load ptr, ptr %16, align 8, !tbaa !5
  %295 = load i64, ptr %294, align 8, !tbaa !9
  %296 = mul nsw i64 %295, 3
  %297 = load ptr, ptr %16, align 8, !tbaa !5
  %298 = load i64, ptr %297, align 8, !tbaa !9
  %299 = sub nsw i64 %298, 1
  %300 = load ptr, ptr %16, align 8, !tbaa !5
  %301 = load ptr, ptr %16, align 8, !tbaa !5
  %302 = load ptr, ptr %16, align 8, !tbaa !5
  %303 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.8, ptr noundef @.str.9, ptr noundef %300, ptr noundef %301, ptr noundef %302, ptr noundef @c_n1)
  %304 = mul nsw i64 %299, %303
  %305 = add nsw i64 %296, %304
  store i64 %305, ptr %33, align 8, !tbaa !9
  %306 = load i64, ptr %32, align 8, !tbaa !9
  %307 = load i64, ptr %33, align 8, !tbaa !9
  %308 = icmp sge i64 %306, %307
  br i1 %308, label %309, label %311

309:                                              ; preds = %291
  %310 = load i64, ptr %32, align 8, !tbaa !9
  br label %313

311:                                              ; preds = %291
  %312 = load i64, ptr %33, align 8, !tbaa !9
  br label %313

313:                                              ; preds = %311, %309
  %314 = phi i64 [ %310, %309 ], [ %312, %311 ]
  store i64 %314, ptr %62, align 8, !tbaa !9
  %315 = load i64, ptr %62, align 8, !tbaa !9
  %316 = load i64, ptr %58, align 8, !tbaa !9
  %317 = icmp sge i64 %315, %316
  br i1 %317, label %318, label %320

318:                                              ; preds = %313
  %319 = load i64, ptr %62, align 8, !tbaa !9
  br label %322

320:                                              ; preds = %313
  %321 = load i64, ptr %58, align 8, !tbaa !9
  br label %322

322:                                              ; preds = %320, %318
  %323 = phi i64 [ %319, %318 ], [ %321, %320 ]
  store i64 %323, ptr %62, align 8, !tbaa !9
  %324 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %324, ptr %32, align 8, !tbaa !9
  %325 = load ptr, ptr %16, align 8, !tbaa !5
  %326 = load i64, ptr %325, align 8, !tbaa !9
  %327 = load ptr, ptr %17, align 8, !tbaa !5
  %328 = load i64, ptr %327, align 8, !tbaa !9
  %329 = mul nsw i64 %326, %328
  store i64 %329, ptr %33, align 8, !tbaa !9
  %330 = load i64, ptr %32, align 8, !tbaa !9
  %331 = load i64, ptr %33, align 8, !tbaa !9
  %332 = icmp sge i64 %330, %331
  br i1 %332, label %333, label %335

333:                                              ; preds = %322
  %334 = load i64, ptr %32, align 8, !tbaa !9
  br label %337

335:                                              ; preds = %322
  %336 = load i64, ptr %33, align 8, !tbaa !9
  br label %337

337:                                              ; preds = %335, %333
  %338 = phi i64 [ %334, %333 ], [ %336, %335 ]
  store i64 %338, ptr %62, align 8, !tbaa !9
  %339 = load ptr, ptr %16, align 8, !tbaa !5
  %340 = load i64, ptr %339, align 8, !tbaa !9
  %341 = mul nsw i64 %340, 3
  %342 = load i64, ptr %41, align 8, !tbaa !9
  %343 = add nsw i64 %341, %342
  store i64 %343, ptr %32, align 8, !tbaa !9
  %344 = load ptr, ptr %16, align 8, !tbaa !5
  %345 = load i64, ptr %344, align 8, !tbaa !9
  %346 = mul nsw i64 %345, 3
  %347 = load ptr, ptr %17, align 8, !tbaa !5
  %348 = load i64, ptr %347, align 8, !tbaa !9
  %349 = add nsw i64 %346, %348
  store i64 %349, ptr %33, align 8, !tbaa !9
  %350 = load i64, ptr %32, align 8, !tbaa !9
  %351 = load i64, ptr %33, align 8, !tbaa !9
  %352 = icmp sge i64 %350, %351
  br i1 %352, label %353, label %355

353:                                              ; preds = %337
  %354 = load i64, ptr %32, align 8, !tbaa !9
  br label %357

355:                                              ; preds = %337
  %356 = load i64, ptr %33, align 8, !tbaa !9
  br label %357

357:                                              ; preds = %355, %353
  %358 = phi i64 [ %354, %353 ], [ %356, %355 ]
  store i64 %358, ptr %32, align 8, !tbaa !9
  %359 = load i64, ptr %32, align 8, !tbaa !9
  %360 = load i64, ptr %58, align 8, !tbaa !9
  %361 = icmp sge i64 %359, %360
  br i1 %361, label %362, label %364

362:                                              ; preds = %357
  %363 = load i64, ptr %32, align 8, !tbaa !9
  br label %366

364:                                              ; preds = %357
  %365 = load i64, ptr %58, align 8, !tbaa !9
  br label %366

366:                                              ; preds = %364, %362
  %367 = phi i64 [ %363, %362 ], [ %365, %364 ]
  store i64 %367, ptr %61, align 8, !tbaa !9
  %368 = load i64, ptr %61, align 8, !tbaa !9
  %369 = load i64, ptr %62, align 8, !tbaa !9
  %370 = icmp sge i64 %368, %369
  br i1 %370, label %371, label %373

371:                                              ; preds = %366
  %372 = load i64, ptr %61, align 8, !tbaa !9
  br label %375

373:                                              ; preds = %366
  %374 = load i64, ptr %62, align 8, !tbaa !9
  br label %375

375:                                              ; preds = %373, %371
  %376 = phi i64 [ %372, %371 ], [ %374, %373 ]
  store i64 %376, ptr %62, align 8, !tbaa !9
  br label %377

377:                                              ; preds = %375, %233
  %378 = load ptr, ptr %16, align 8, !tbaa !5
  %379 = load i64, ptr %378, align 8, !tbaa !9
  %380 = load ptr, ptr %15, align 8, !tbaa !5
  %381 = load i64, ptr %380, align 8, !tbaa !9
  %382 = icmp sgt i64 %379, %381
  br i1 %382, label %383, label %692

383:                                              ; preds = %377
  store i64 1, ptr %32, align 8, !tbaa !9
  %384 = load ptr, ptr %15, align 8, !tbaa !5
  %385 = load i64, ptr %384, align 8, !tbaa !9
  %386 = mul nsw i64 %385, 5
  store i64 %386, ptr %33, align 8, !tbaa !9
  %387 = load i64, ptr %32, align 8, !tbaa !9
  %388 = load i64, ptr %33, align 8, !tbaa !9
  %389 = icmp sge i64 %387, %388
  br i1 %389, label %390, label %392

390:                                              ; preds = %383
  %391 = load i64, ptr %32, align 8, !tbaa !9
  br label %394

392:                                              ; preds = %383
  %393 = load i64, ptr %33, align 8, !tbaa !9
  br label %394

394:                                              ; preds = %392, %390
  %395 = phi i64 [ %391, %390 ], [ %393, %392 ]
  store i64 %395, ptr %58, align 8, !tbaa !9
  %396 = load ptr, ptr %15, align 8, !tbaa !5
  %397 = load i64, ptr %396, align 8, !tbaa !9
  %398 = mul nsw i64 %397, 3
  %399 = load ptr, ptr %17, align 8, !tbaa !5
  %400 = load i64, ptr %399, align 8, !tbaa !9
  %401 = add nsw i64 %398, %400
  store i64 %401, ptr %32, align 8, !tbaa !9
  %402 = load ptr, ptr %15, align 8, !tbaa !5
  %403 = load i64, ptr %402, align 8, !tbaa !9
  %404 = mul nsw i64 %403, 3
  %405 = load ptr, ptr %16, align 8, !tbaa !5
  %406 = load i64, ptr %405, align 8, !tbaa !9
  %407 = add nsw i64 %404, %406
  store i64 %407, ptr %33, align 8, !tbaa !9
  %408 = load i64, ptr %32, align 8, !tbaa !9
  %409 = load i64, ptr %33, align 8, !tbaa !9
  %410 = icmp sge i64 %408, %409
  br i1 %410, label %411, label %413

411:                                              ; preds = %394
  %412 = load i64, ptr %32, align 8, !tbaa !9
  br label %415

413:                                              ; preds = %394
  %414 = load i64, ptr %33, align 8, !tbaa !9
  br label %415

415:                                              ; preds = %413, %411
  %416 = phi i64 [ %412, %411 ], [ %414, %413 ]
  store i64 %416, ptr %32, align 8, !tbaa !9
  %417 = load i64, ptr %32, align 8, !tbaa !9
  %418 = load i64, ptr %58, align 8, !tbaa !9
  %419 = icmp sge i64 %417, %418
  br i1 %419, label %420, label %422

420:                                              ; preds = %415
  %421 = load i64, ptr %32, align 8, !tbaa !9
  br label %424

422:                                              ; preds = %415
  %423 = load i64, ptr %58, align 8, !tbaa !9
  br label %424

424:                                              ; preds = %422, %420
  %425 = phi i64 [ %421, %420 ], [ %423, %422 ]
  store i64 %425, ptr %61, align 8, !tbaa !9
  %426 = load ptr, ptr %16, align 8, !tbaa !5
  %427 = load i64, ptr %426, align 8, !tbaa !9
  %428 = load i64, ptr %56, align 8, !tbaa !9
  %429 = icmp sge i64 %427, %428
  br i1 %429, label %430, label %611

430:                                              ; preds = %424
  %431 = load ptr, ptr %15, align 8, !tbaa !5
  %432 = load i64, ptr %431, align 8, !tbaa !9
  %433 = load ptr, ptr %15, align 8, !tbaa !5
  %434 = load i64, ptr %433, align 8, !tbaa !9
  %435 = load ptr, ptr %15, align 8, !tbaa !5
  %436 = load ptr, ptr %16, align 8, !tbaa !5
  %437 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.10, ptr noundef @.str.1, ptr noundef %435, ptr noundef %436, ptr noundef @c_n1, ptr noundef @c_n1)
  %438 = mul nsw i64 %434, %437
  %439 = add nsw i64 %432, %438
  store i64 %439, ptr %62, align 8, !tbaa !9
  %440 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %440, ptr %32, align 8, !tbaa !9
  %441 = load ptr, ptr %15, align 8, !tbaa !5
  %442 = load i64, ptr %441, align 8, !tbaa !9
  %443 = load ptr, ptr %15, align 8, !tbaa !5
  %444 = load i64, ptr %443, align 8, !tbaa !9
  %445 = mul nsw i64 %442, %444
  %446 = load ptr, ptr %15, align 8, !tbaa !5
  %447 = load i64, ptr %446, align 8, !tbaa !9
  %448 = shl i64 %447, 2
  %449 = add nsw i64 %445, %448
  %450 = load ptr, ptr %15, align 8, !tbaa !5
  %451 = load i64, ptr %450, align 8, !tbaa !9
  %452 = shl i64 %451, 1
  %453 = load ptr, ptr %15, align 8, !tbaa !5
  %454 = load ptr, ptr %15, align 8, !tbaa !5
  %455 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.5, ptr noundef @.str.1, ptr noundef %453, ptr noundef %454, ptr noundef @c_n1, ptr noundef @c_n1)
  %456 = mul nsw i64 %452, %455
  %457 = add nsw i64 %449, %456
  store i64 %457, ptr %33, align 8, !tbaa !9
  %458 = load i64, ptr %32, align 8, !tbaa !9
  %459 = load i64, ptr %33, align 8, !tbaa !9
  %460 = icmp sge i64 %458, %459
  br i1 %460, label %461, label %463

461:                                              ; preds = %430
  %462 = load i64, ptr %32, align 8, !tbaa !9
  br label %465

463:                                              ; preds = %430
  %464 = load i64, ptr %33, align 8, !tbaa !9
  br label %465

465:                                              ; preds = %463, %461
  %466 = phi i64 [ %462, %461 ], [ %464, %463 ]
  store i64 %466, ptr %62, align 8, !tbaa !9
  %467 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %467, ptr %32, align 8, !tbaa !9
  %468 = load ptr, ptr %15, align 8, !tbaa !5
  %469 = load i64, ptr %468, align 8, !tbaa !9
  %470 = load ptr, ptr %15, align 8, !tbaa !5
  %471 = load i64, ptr %470, align 8, !tbaa !9
  %472 = mul nsw i64 %469, %471
  %473 = load ptr, ptr %15, align 8, !tbaa !5
  %474 = load i64, ptr %473, align 8, !tbaa !9
  %475 = shl i64 %474, 2
  %476 = add nsw i64 %472, %475
  %477 = load ptr, ptr %17, align 8, !tbaa !5
  %478 = load i64, ptr %477, align 8, !tbaa !9
  %479 = load ptr, ptr %15, align 8, !tbaa !5
  %480 = load ptr, ptr %17, align 8, !tbaa !5
  %481 = load ptr, ptr %15, align 8, !tbaa !5
  %482 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.6, ptr noundef @.str.7, ptr noundef %479, ptr noundef %480, ptr noundef %481, ptr noundef @c_n1)
  %483 = mul nsw i64 %478, %482
  %484 = add nsw i64 %476, %483
  store i64 %484, ptr %33, align 8, !tbaa !9
  %485 = load i64, ptr %32, align 8, !tbaa !9
  %486 = load i64, ptr %33, align 8, !tbaa !9
  %487 = icmp sge i64 %485, %486
  br i1 %487, label %488, label %490

488:                                              ; preds = %465
  %489 = load i64, ptr %32, align 8, !tbaa !9
  br label %492

490:                                              ; preds = %465
  %491 = load i64, ptr %33, align 8, !tbaa !9
  br label %492

492:                                              ; preds = %490, %488
  %493 = phi i64 [ %489, %488 ], [ %491, %490 ]
  store i64 %493, ptr %62, align 8, !tbaa !9
  %494 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %494, ptr %32, align 8, !tbaa !9
  %495 = load ptr, ptr %15, align 8, !tbaa !5
  %496 = load i64, ptr %495, align 8, !tbaa !9
  %497 = load ptr, ptr %15, align 8, !tbaa !5
  %498 = load i64, ptr %497, align 8, !tbaa !9
  %499 = mul nsw i64 %496, %498
  %500 = load ptr, ptr %15, align 8, !tbaa !5
  %501 = load i64, ptr %500, align 8, !tbaa !9
  %502 = shl i64 %501, 2
  %503 = add nsw i64 %499, %502
  %504 = load ptr, ptr %15, align 8, !tbaa !5
  %505 = load i64, ptr %504, align 8, !tbaa !9
  %506 = sub nsw i64 %505, 1
  %507 = load ptr, ptr %15, align 8, !tbaa !5
  %508 = load ptr, ptr %15, align 8, !tbaa !5
  %509 = load ptr, ptr %15, align 8, !tbaa !5
  %510 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.8, ptr noundef @.str.9, ptr noundef %507, ptr noundef %508, ptr noundef %509, ptr noundef @c_n1)
  %511 = mul nsw i64 %506, %510
  %512 = add nsw i64 %503, %511
  store i64 %512, ptr %33, align 8, !tbaa !9
  %513 = load i64, ptr %32, align 8, !tbaa !9
  %514 = load i64, ptr %33, align 8, !tbaa !9
  %515 = icmp sge i64 %513, %514
  br i1 %515, label %516, label %518

516:                                              ; preds = %492
  %517 = load i64, ptr %32, align 8, !tbaa !9
  br label %520

518:                                              ; preds = %492
  %519 = load i64, ptr %33, align 8, !tbaa !9
  br label %520

520:                                              ; preds = %518, %516
  %521 = phi i64 [ %517, %516 ], [ %519, %518 ]
  store i64 %521, ptr %62, align 8, !tbaa !9
  %522 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %522, ptr %32, align 8, !tbaa !9
  %523 = load ptr, ptr %15, align 8, !tbaa !5
  %524 = load i64, ptr %523, align 8, !tbaa !9
  %525 = load ptr, ptr %15, align 8, !tbaa !5
  %526 = load i64, ptr %525, align 8, !tbaa !9
  %527 = mul nsw i64 %524, %526
  %528 = load ptr, ptr %15, align 8, !tbaa !5
  %529 = load i64, ptr %528, align 8, !tbaa !9
  %530 = add nsw i64 %527, %529
  %531 = load i64, ptr %58, align 8, !tbaa !9
  %532 = add nsw i64 %530, %531
  store i64 %532, ptr %33, align 8, !tbaa !9
  %533 = load i64, ptr %32, align 8, !tbaa !9
  %534 = load i64, ptr %33, align 8, !tbaa !9
  %535 = icmp sge i64 %533, %534
  br i1 %535, label %536, label %538

536:                                              ; preds = %520
  %537 = load i64, ptr %32, align 8, !tbaa !9
  br label %540

538:                                              ; preds = %520
  %539 = load i64, ptr %33, align 8, !tbaa !9
  br label %540

540:                                              ; preds = %538, %536
  %541 = phi i64 [ %537, %536 ], [ %539, %538 ]
  store i64 %541, ptr %62, align 8, !tbaa !9
  %542 = load ptr, ptr %17, align 8, !tbaa !5
  %543 = load i64, ptr %542, align 8, !tbaa !9
  %544 = icmp sgt i64 %543, 1
  br i1 %544, label %545, label %570

545:                                              ; preds = %540
  %546 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %546, ptr %32, align 8, !tbaa !9
  %547 = load ptr, ptr %15, align 8, !tbaa !5
  %548 = load i64, ptr %547, align 8, !tbaa !9
  %549 = load ptr, ptr %15, align 8, !tbaa !5
  %550 = load i64, ptr %549, align 8, !tbaa !9
  %551 = mul nsw i64 %548, %550
  %552 = load ptr, ptr %15, align 8, !tbaa !5
  %553 = load i64, ptr %552, align 8, !tbaa !9
  %554 = add nsw i64 %551, %553
  %555 = load ptr, ptr %15, align 8, !tbaa !5
  %556 = load i64, ptr %555, align 8, !tbaa !9
  %557 = load ptr, ptr %17, align 8, !tbaa !5
  %558 = load i64, ptr %557, align 8, !tbaa !9
  %559 = mul nsw i64 %556, %558
  %560 = add nsw i64 %554, %559
  store i64 %560, ptr %33, align 8, !tbaa !9
  %561 = load i64, ptr %32, align 8, !tbaa !9
  %562 = load i64, ptr %33, align 8, !tbaa !9
  %563 = icmp sge i64 %561, %562
  br i1 %563, label %564, label %566

564:                                              ; preds = %545
  %565 = load i64, ptr %32, align 8, !tbaa !9
  br label %568

566:                                              ; preds = %545
  %567 = load i64, ptr %33, align 8, !tbaa !9
  br label %568

568:                                              ; preds = %566, %564
  %569 = phi i64 [ %565, %564 ], [ %567, %566 ]
  store i64 %569, ptr %62, align 8, !tbaa !9
  br label %590

570:                                              ; preds = %540
  %571 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %571, ptr %32, align 8, !tbaa !9
  %572 = load ptr, ptr %15, align 8, !tbaa !5
  %573 = load i64, ptr %572, align 8, !tbaa !9
  %574 = load ptr, ptr %15, align 8, !tbaa !5
  %575 = load i64, ptr %574, align 8, !tbaa !9
  %576 = mul nsw i64 %573, %575
  %577 = load ptr, ptr %15, align 8, !tbaa !5
  %578 = load i64, ptr %577, align 8, !tbaa !9
  %579 = shl i64 %578, 1
  %580 = add nsw i64 %576, %579
  store i64 %580, ptr %33, align 8, !tbaa !9
  %581 = load i64, ptr %32, align 8, !tbaa !9
  %582 = load i64, ptr %33, align 8, !tbaa !9
  %583 = icmp sge i64 %581, %582
  br i1 %583, label %584, label %586

584:                                              ; preds = %570
  %585 = load i64, ptr %32, align 8, !tbaa !9
  br label %588

586:                                              ; preds = %570
  %587 = load i64, ptr %33, align 8, !tbaa !9
  br label %588

588:                                              ; preds = %586, %584
  %589 = phi i64 [ %585, %584 ], [ %587, %586 ]
  store i64 %589, ptr %62, align 8, !tbaa !9
  br label %590

590:                                              ; preds = %588, %568
  %591 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %591, ptr %32, align 8, !tbaa !9
  %592 = load ptr, ptr %15, align 8, !tbaa !5
  %593 = load i64, ptr %592, align 8, !tbaa !9
  %594 = load ptr, ptr %17, align 8, !tbaa !5
  %595 = load i64, ptr %594, align 8, !tbaa !9
  %596 = load ptr, ptr %16, align 8, !tbaa !5
  %597 = load ptr, ptr %17, align 8, !tbaa !5
  %598 = load ptr, ptr %15, align 8, !tbaa !5
  %599 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.11, ptr noundef @.str.4, ptr noundef %596, ptr noundef %597, ptr noundef %598, ptr noundef @c_n1)
  %600 = mul nsw i64 %595, %599
  %601 = add nsw i64 %593, %600
  store i64 %601, ptr %33, align 8, !tbaa !9
  %602 = load i64, ptr %32, align 8, !tbaa !9
  %603 = load i64, ptr %33, align 8, !tbaa !9
  %604 = icmp sge i64 %602, %603
  br i1 %604, label %605, label %607

605:                                              ; preds = %590
  %606 = load i64, ptr %32, align 8, !tbaa !9
  br label %609

607:                                              ; preds = %590
  %608 = load i64, ptr %33, align 8, !tbaa !9
  br label %609

609:                                              ; preds = %607, %605
  %610 = phi i64 [ %606, %605 ], [ %608, %607 ]
  store i64 %610, ptr %62, align 8, !tbaa !9
  br label %691

611:                                              ; preds = %424
  %612 = load ptr, ptr %15, align 8, !tbaa !5
  %613 = load i64, ptr %612, align 8, !tbaa !9
  %614 = mul nsw i64 %613, 3
  %615 = load ptr, ptr %16, align 8, !tbaa !5
  %616 = load i64, ptr %615, align 8, !tbaa !9
  %617 = load ptr, ptr %15, align 8, !tbaa !5
  %618 = load i64, ptr %617, align 8, !tbaa !9
  %619 = add nsw i64 %616, %618
  %620 = load ptr, ptr %15, align 8, !tbaa !5
  %621 = load ptr, ptr %16, align 8, !tbaa !5
  %622 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.5, ptr noundef @.str.1, ptr noundef %620, ptr noundef %621, ptr noundef @c_n1, ptr noundef @c_n1)
  %623 = mul nsw i64 %619, %622
  %624 = add nsw i64 %614, %623
  store i64 %624, ptr %62, align 8, !tbaa !9
  %625 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %625, ptr %32, align 8, !tbaa !9
  %626 = load ptr, ptr %15, align 8, !tbaa !5
  %627 = load i64, ptr %626, align 8, !tbaa !9
  %628 = mul nsw i64 %627, 3
  %629 = load ptr, ptr %17, align 8, !tbaa !5
  %630 = load i64, ptr %629, align 8, !tbaa !9
  %631 = load ptr, ptr %15, align 8, !tbaa !5
  %632 = load ptr, ptr %17, align 8, !tbaa !5
  %633 = load ptr, ptr %15, align 8, !tbaa !5
  %634 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.6, ptr noundef @.str.7, ptr noundef %631, ptr noundef %632, ptr noundef %633, ptr noundef @c_n1)
  %635 = mul nsw i64 %630, %634
  %636 = add nsw i64 %628, %635
  store i64 %636, ptr %33, align 8, !tbaa !9
  %637 = load i64, ptr %32, align 8, !tbaa !9
  %638 = load i64, ptr %33, align 8, !tbaa !9
  %639 = icmp sge i64 %637, %638
  br i1 %639, label %640, label %642

640:                                              ; preds = %611
  %641 = load i64, ptr %32, align 8, !tbaa !9
  br label %644

642:                                              ; preds = %611
  %643 = load i64, ptr %33, align 8, !tbaa !9
  br label %644

644:                                              ; preds = %642, %640
  %645 = phi i64 [ %641, %640 ], [ %643, %642 ]
  store i64 %645, ptr %62, align 8, !tbaa !9
  %646 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %646, ptr %32, align 8, !tbaa !9
  %647 = load ptr, ptr %15, align 8, !tbaa !5
  %648 = load i64, ptr %647, align 8, !tbaa !9
  %649 = mul nsw i64 %648, 3
  %650 = load ptr, ptr %15, align 8, !tbaa !5
  %651 = load i64, ptr %650, align 8, !tbaa !9
  %652 = load ptr, ptr %15, align 8, !tbaa !5
  %653 = load ptr, ptr %16, align 8, !tbaa !5
  %654 = load ptr, ptr %15, align 8, !tbaa !5
  %655 = call i64 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.8, ptr noundef @.str.9, ptr noundef %652, ptr noundef %653, ptr noundef %654, ptr noundef @c_n1)
  %656 = mul nsw i64 %651, %655
  %657 = add nsw i64 %649, %656
  store i64 %657, ptr %33, align 8, !tbaa !9
  %658 = load i64, ptr %32, align 8, !tbaa !9
  %659 = load i64, ptr %33, align 8, !tbaa !9
  %660 = icmp sge i64 %658, %659
  br i1 %660, label %661, label %663

661:                                              ; preds = %644
  %662 = load i64, ptr %32, align 8, !tbaa !9
  br label %665

663:                                              ; preds = %644
  %664 = load i64, ptr %33, align 8, !tbaa !9
  br label %665

665:                                              ; preds = %663, %661
  %666 = phi i64 [ %662, %661 ], [ %664, %663 ]
  store i64 %666, ptr %62, align 8, !tbaa !9
  %667 = load i64, ptr %62, align 8, !tbaa !9
  %668 = load i64, ptr %58, align 8, !tbaa !9
  %669 = icmp sge i64 %667, %668
  br i1 %669, label %670, label %672

670:                                              ; preds = %665
  %671 = load i64, ptr %62, align 8, !tbaa !9
  br label %674

672:                                              ; preds = %665
  %673 = load i64, ptr %58, align 8, !tbaa !9
  br label %674

674:                                              ; preds = %672, %670
  %675 = phi i64 [ %671, %670 ], [ %673, %672 ]
  store i64 %675, ptr %62, align 8, !tbaa !9
  %676 = load i64, ptr %62, align 8, !tbaa !9
  store i64 %676, ptr %32, align 8, !tbaa !9
  %677 = load ptr, ptr %16, align 8, !tbaa !5
  %678 = load i64, ptr %677, align 8, !tbaa !9
  %679 = load ptr, ptr %17, align 8, !tbaa !5
  %680 = load i64, ptr %679, align 8, !tbaa !9
  %681 = mul nsw i64 %678, %680
  store i64 %681, ptr %33, align 8, !tbaa !9
  %682 = load i64, ptr %32, align 8, !tbaa !9
  %683 = load i64, ptr %33, align 8, !tbaa !9
  %684 = icmp sge i64 %682, %683
  br i1 %684, label %685, label %687

685:                                              ; preds = %674
  %686 = load i64, ptr %32, align 8, !tbaa !9
  br label %689

687:                                              ; preds = %674
  %688 = load i64, ptr %33, align 8, !tbaa !9
  br label %689

689:                                              ; preds = %687, %685
  %690 = phi i64 [ %686, %685 ], [ %688, %687 ]
  store i64 %690, ptr %62, align 8, !tbaa !9
  br label %691

691:                                              ; preds = %689, %609
  br label %692

692:                                              ; preds = %691, %377
  %693 = load i64, ptr %61, align 8, !tbaa !9
  %694 = load i64, ptr %62, align 8, !tbaa !9
  %695 = icmp sge i64 %693, %694
  br i1 %695, label %696, label %698

696:                                              ; preds = %692
  %697 = load i64, ptr %61, align 8, !tbaa !9
  br label %700

698:                                              ; preds = %692
  %699 = load i64, ptr %62, align 8, !tbaa !9
  br label %700

700:                                              ; preds = %698, %696
  %701 = phi i64 [ %697, %696 ], [ %699, %698 ]
  store i64 %701, ptr %62, align 8, !tbaa !9
  br label %702

702:                                              ; preds = %700, %171
  %703 = load i64, ptr %62, align 8, !tbaa !9
  %704 = sitofp i64 %703 to float
  %705 = load ptr, ptr %25, align 8, !tbaa !5
  %706 = getelementptr inbounds float, ptr %705, i64 1
  store float %704, ptr %706, align 4, !tbaa !11
  %707 = load ptr, ptr %26, align 8, !tbaa !5
  %708 = load i64, ptr %707, align 8, !tbaa !9
  %709 = load i64, ptr %61, align 8, !tbaa !9
  %710 = icmp slt i64 %708, %709
  br i1 %710, label %711, label %716

711:                                              ; preds = %702
  %712 = load i64, ptr %64, align 8, !tbaa !9
  %713 = icmp ne i64 %712, 0
  br i1 %713, label %716, label %714

714:                                              ; preds = %711
  %715 = load ptr, ptr %27, align 8, !tbaa !5
  store i64 -12, ptr %715, align 8, !tbaa !9
  br label %716

716:                                              ; preds = %714, %711, %702
  br label %717

717:                                              ; preds = %716, %167
  %718 = load ptr, ptr %27, align 8, !tbaa !5
  %719 = load i64, ptr %718, align 8, !tbaa !9
  %720 = icmp ne i64 %719, 0
  br i1 %720, label %721, label %726

721:                                              ; preds = %717
  %722 = load ptr, ptr %27, align 8, !tbaa !5
  %723 = load i64, ptr %722, align 8, !tbaa !9
  %724 = sub nsw i64 0, %723
  store i64 %724, ptr %32, align 8, !tbaa !9
  %725 = call i32 @xerbla_(ptr noundef @.str, ptr noundef %32)
  store i32 0, ptr %14, align 4
  store i32 1, ptr %65, align 4
  br label %2252

726:                                              ; preds = %717
  %727 = load i64, ptr %64, align 8, !tbaa !9
  %728 = icmp ne i64 %727, 0
  br i1 %728, label %729, label %730

729:                                              ; preds = %726
  store i32 0, ptr %14, align 4
  store i32 1, ptr %65, align 4
  br label %2252

730:                                              ; preds = %726
  br label %731

731:                                              ; preds = %730
  %732 = load ptr, ptr %15, align 8, !tbaa !5
  %733 = load i64, ptr %732, align 8, !tbaa !9
  %734 = icmp eq i64 %733, 0
  br i1 %734, label %739, label %735

735:                                              ; preds = %731
  %736 = load ptr, ptr %16, align 8, !tbaa !5
  %737 = load i64, ptr %736, align 8, !tbaa !9
  %738 = icmp eq i64 %737, 0
  br i1 %738, label %739, label %741

739:                                              ; preds = %735, %731
  %740 = load ptr, ptr %24, align 8, !tbaa !5
  store i64 0, ptr %740, align 8, !tbaa !9
  store i32 0, ptr %14, align 4
  store i32 1, ptr %65, align 4
  br label %2252

741:                                              ; preds = %735
  %742 = call double @slamch_(ptr noundef @.str.9)
  %743 = fptrunc double %742 to float
  store float %743, ptr %42, align 4, !tbaa !11
  %744 = call double @slamch_(ptr noundef @.str.12)
  %745 = fptrunc double %744 to float
  store float %745, ptr %51, align 4, !tbaa !11
  %746 = load float, ptr %51, align 4, !tbaa !11
  %747 = load float, ptr %42, align 4, !tbaa !11
  %748 = fdiv float %746, %747
  store float %748, ptr %63, align 4, !tbaa !11
  %749 = load float, ptr %63, align 4, !tbaa !11
  %750 = fdiv float 1.000000e+00, %749
  store float %750, ptr %59, align 4, !tbaa !11
  %751 = call i32 @slabad_(ptr noundef %63, ptr noundef %59)
  %752 = load ptr, ptr %15, align 8, !tbaa !5
  %753 = load ptr, ptr %16, align 8, !tbaa !5
  %754 = load ptr, ptr %18, align 8, !tbaa !5
  %755 = load i64, ptr %29, align 8, !tbaa !9
  %756 = getelementptr inbounds float, ptr %754, i64 %755
  %757 = load ptr, ptr %19, align 8, !tbaa !5
  %758 = load ptr, ptr %25, align 8, !tbaa !5
  %759 = getelementptr inbounds float, ptr %758, i64 1
  %760 = call double @slange_(ptr noundef @.str.13, ptr noundef %752, ptr noundef %753, ptr noundef %756, ptr noundef %757, ptr noundef %759)
  %761 = fptrunc double %760 to float
  store float %761, ptr %44, align 4, !tbaa !11
  store i64 0, ptr %48, align 8, !tbaa !9
  %762 = load float, ptr %44, align 4, !tbaa !11
  %763 = fcmp ogt float %762, 0.000000e+00
  br i1 %763, label %764, label %777

764:                                              ; preds = %741
  %765 = load float, ptr %44, align 4, !tbaa !11
  %766 = load float, ptr %63, align 4, !tbaa !11
  %767 = fcmp olt float %765, %766
  br i1 %767, label %768, label %777

768:                                              ; preds = %764
  %769 = load ptr, ptr %15, align 8, !tbaa !5
  %770 = load ptr, ptr %16, align 8, !tbaa !5
  %771 = load ptr, ptr %18, align 8, !tbaa !5
  %772 = load i64, ptr %29, align 8, !tbaa !9
  %773 = getelementptr inbounds float, ptr %771, i64 %772
  %774 = load ptr, ptr %19, align 8, !tbaa !5
  %775 = load ptr, ptr %27, align 8, !tbaa !5
  %776 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %44, ptr noundef %63, ptr noundef %769, ptr noundef %770, ptr noundef %773, ptr noundef %774, ptr noundef %775)
  store i64 1, ptr %48, align 8, !tbaa !9
  br label %819

777:                                              ; preds = %764, %741
  %778 = load float, ptr %44, align 4, !tbaa !11
  %779 = load float, ptr %59, align 4, !tbaa !11
  %780 = fcmp ogt float %778, %779
  br i1 %780, label %781, label %790

781:                                              ; preds = %777
  %782 = load ptr, ptr %15, align 8, !tbaa !5
  %783 = load ptr, ptr %16, align 8, !tbaa !5
  %784 = load ptr, ptr %18, align 8, !tbaa !5
  %785 = load i64, ptr %29, align 8, !tbaa !9
  %786 = getelementptr inbounds float, ptr %784, i64 %785
  %787 = load ptr, ptr %19, align 8, !tbaa !5
  %788 = load ptr, ptr %27, align 8, !tbaa !5
  %789 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %44, ptr noundef %59, ptr noundef %782, ptr noundef %783, ptr noundef %786, ptr noundef %787, ptr noundef %788)
  store i64 2, ptr %48, align 8, !tbaa !9
  br label %818

790:                                              ; preds = %777
  %791 = load float, ptr %44, align 4, !tbaa !11
  %792 = fcmp oeq float %791, 0.000000e+00
  br i1 %792, label %793, label %817

793:                                              ; preds = %790
  %794 = load ptr, ptr %15, align 8, !tbaa !5
  %795 = load i64, ptr %794, align 8, !tbaa !9
  %796 = load ptr, ptr %16, align 8, !tbaa !5
  %797 = load i64, ptr %796, align 8, !tbaa !9
  %798 = icmp sge i64 %795, %797
  br i1 %798, label %799, label %802

799:                                              ; preds = %793
  %800 = load ptr, ptr %15, align 8, !tbaa !5
  %801 = load i64, ptr %800, align 8, !tbaa !9
  br label %805

802:                                              ; preds = %793
  %803 = load ptr, ptr %16, align 8, !tbaa !5
  %804 = load i64, ptr %803, align 8, !tbaa !9
  br label %805

805:                                              ; preds = %802, %799
  %806 = phi i64 [ %801, %799 ], [ %804, %802 ]
  store i64 %806, ptr %32, align 8, !tbaa !9
  %807 = load ptr, ptr %17, align 8, !tbaa !5
  %808 = load ptr, ptr %20, align 8, !tbaa !5
  %809 = load i64, ptr %31, align 8, !tbaa !9
  %810 = getelementptr inbounds float, ptr %808, i64 %809
  %811 = load ptr, ptr %21, align 8, !tbaa !5
  %812 = call i32 @slaset_(ptr noundef @.str.15, ptr noundef %32, ptr noundef %807, ptr noundef @c_b74, ptr noundef @c_b74, ptr noundef %810, ptr noundef %811)
  %813 = load ptr, ptr %22, align 8, !tbaa !5
  %814 = getelementptr inbounds float, ptr %813, i64 1
  %815 = call i32 @slaset_(ptr noundef @.str.15, ptr noundef %52, ptr noundef @c__1, ptr noundef @c_b74, ptr noundef @c_b74, ptr noundef %814, ptr noundef @c__1)
  %816 = load ptr, ptr %24, align 8, !tbaa !5
  store i64 0, ptr %816, align 8, !tbaa !9
  br label %2247

817:                                              ; preds = %790
  br label %818

818:                                              ; preds = %817, %781
  br label %819

819:                                              ; preds = %818, %768
  %820 = load ptr, ptr %15, align 8, !tbaa !5
  %821 = load ptr, ptr %17, align 8, !tbaa !5
  %822 = load ptr, ptr %20, align 8, !tbaa !5
  %823 = load i64, ptr %31, align 8, !tbaa !9
  %824 = getelementptr inbounds float, ptr %822, i64 %823
  %825 = load ptr, ptr %21, align 8, !tbaa !5
  %826 = load ptr, ptr %25, align 8, !tbaa !5
  %827 = getelementptr inbounds float, ptr %826, i64 1
  %828 = call double @slange_(ptr noundef @.str.13, ptr noundef %820, ptr noundef %821, ptr noundef %824, ptr noundef %825, ptr noundef %827)
  %829 = fptrunc double %828 to float
  store float %829, ptr %45, align 4, !tbaa !11
  store i64 0, ptr %49, align 8, !tbaa !9
  %830 = load float, ptr %45, align 4, !tbaa !11
  %831 = fcmp ogt float %830, 0.000000e+00
  br i1 %831, label %832, label %845

832:                                              ; preds = %819
  %833 = load float, ptr %45, align 4, !tbaa !11
  %834 = load float, ptr %63, align 4, !tbaa !11
  %835 = fcmp olt float %833, %834
  br i1 %835, label %836, label %845

836:                                              ; preds = %832
  %837 = load ptr, ptr %15, align 8, !tbaa !5
  %838 = load ptr, ptr %17, align 8, !tbaa !5
  %839 = load ptr, ptr %20, align 8, !tbaa !5
  %840 = load i64, ptr %31, align 8, !tbaa !9
  %841 = getelementptr inbounds float, ptr %839, i64 %840
  %842 = load ptr, ptr %21, align 8, !tbaa !5
  %843 = load ptr, ptr %27, align 8, !tbaa !5
  %844 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %45, ptr noundef %63, ptr noundef %837, ptr noundef %838, ptr noundef %841, ptr noundef %842, ptr noundef %843)
  store i64 1, ptr %49, align 8, !tbaa !9
  br label %859

845:                                              ; preds = %832, %819
  %846 = load float, ptr %45, align 4, !tbaa !11
  %847 = load float, ptr %59, align 4, !tbaa !11
  %848 = fcmp ogt float %846, %847
  br i1 %848, label %849, label %858

849:                                              ; preds = %845
  %850 = load ptr, ptr %15, align 8, !tbaa !5
  %851 = load ptr, ptr %17, align 8, !tbaa !5
  %852 = load ptr, ptr %20, align 8, !tbaa !5
  %853 = load i64, ptr %31, align 8, !tbaa !9
  %854 = getelementptr inbounds float, ptr %852, i64 %853
  %855 = load ptr, ptr %21, align 8, !tbaa !5
  %856 = load ptr, ptr %27, align 8, !tbaa !5
  %857 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %45, ptr noundef %59, ptr noundef %850, ptr noundef %851, ptr noundef %854, ptr noundef %855, ptr noundef %856)
  store i64 2, ptr %49, align 8, !tbaa !9
  br label %858

858:                                              ; preds = %849, %845
  br label %859

859:                                              ; preds = %858, %836
  %860 = load ptr, ptr %15, align 8, !tbaa !5
  %861 = load i64, ptr %860, align 8, !tbaa !9
  %862 = load ptr, ptr %16, align 8, !tbaa !5
  %863 = load i64, ptr %862, align 8, !tbaa !9
  %864 = icmp sge i64 %861, %863
  br i1 %864, label %865, label %1271

865:                                              ; preds = %859
  %866 = load ptr, ptr %15, align 8, !tbaa !5
  %867 = load i64, ptr %866, align 8, !tbaa !9
  store i64 %867, ptr %41, align 8, !tbaa !9
  %868 = load ptr, ptr %15, align 8, !tbaa !5
  %869 = load i64, ptr %868, align 8, !tbaa !9
  %870 = load i64, ptr %56, align 8, !tbaa !9
  %871 = icmp sge i64 %869, %870
  br i1 %871, label %872, label %939

872:                                              ; preds = %865
  %873 = load ptr, ptr %16, align 8, !tbaa !5
  %874 = load i64, ptr %873, align 8, !tbaa !9
  store i64 %874, ptr %41, align 8, !tbaa !9
  store i64 1, ptr %46, align 8, !tbaa !9
  %875 = load i64, ptr %46, align 8, !tbaa !9
  %876 = load ptr, ptr %16, align 8, !tbaa !5
  %877 = load i64, ptr %876, align 8, !tbaa !9
  %878 = add nsw i64 %875, %877
  store i64 %878, ptr %57, align 8, !tbaa !9
  %879 = load ptr, ptr %26, align 8, !tbaa !5
  %880 = load i64, ptr %879, align 8, !tbaa !9
  %881 = load i64, ptr %57, align 8, !tbaa !9
  %882 = sub nsw i64 %880, %881
  %883 = add nsw i64 %882, 1
  store i64 %883, ptr %32, align 8, !tbaa !9
  %884 = load ptr, ptr %15, align 8, !tbaa !5
  %885 = load ptr, ptr %16, align 8, !tbaa !5
  %886 = load ptr, ptr %18, align 8, !tbaa !5
  %887 = load i64, ptr %29, align 8, !tbaa !9
  %888 = getelementptr inbounds float, ptr %886, i64 %887
  %889 = load ptr, ptr %19, align 8, !tbaa !5
  %890 = load ptr, ptr %25, align 8, !tbaa !5
  %891 = load i64, ptr %46, align 8, !tbaa !9
  %892 = getelementptr inbounds float, ptr %890, i64 %891
  %893 = load ptr, ptr %25, align 8, !tbaa !5
  %894 = load i64, ptr %57, align 8, !tbaa !9
  %895 = getelementptr inbounds float, ptr %893, i64 %894
  %896 = load ptr, ptr %27, align 8, !tbaa !5
  %897 = call i32 @sgeqrf_(ptr noundef %884, ptr noundef %885, ptr noundef %888, ptr noundef %889, ptr noundef %892, ptr noundef %895, ptr noundef %32, ptr noundef %896)
  %898 = load ptr, ptr %26, align 8, !tbaa !5
  %899 = load i64, ptr %898, align 8, !tbaa !9
  %900 = load i64, ptr %57, align 8, !tbaa !9
  %901 = sub nsw i64 %899, %900
  %902 = add nsw i64 %901, 1
  store i64 %902, ptr %32, align 8, !tbaa !9
  %903 = load ptr, ptr %15, align 8, !tbaa !5
  %904 = load ptr, ptr %17, align 8, !tbaa !5
  %905 = load ptr, ptr %16, align 8, !tbaa !5
  %906 = load ptr, ptr %18, align 8, !tbaa !5
  %907 = load i64, ptr %29, align 8, !tbaa !9
  %908 = getelementptr inbounds float, ptr %906, i64 %907
  %909 = load ptr, ptr %19, align 8, !tbaa !5
  %910 = load ptr, ptr %25, align 8, !tbaa !5
  %911 = load i64, ptr %46, align 8, !tbaa !9
  %912 = getelementptr inbounds float, ptr %910, i64 %911
  %913 = load ptr, ptr %20, align 8, !tbaa !5
  %914 = load i64, ptr %31, align 8, !tbaa !9
  %915 = getelementptr inbounds float, ptr %913, i64 %914
  %916 = load ptr, ptr %21, align 8, !tbaa !5
  %917 = load ptr, ptr %25, align 8, !tbaa !5
  %918 = load i64, ptr %57, align 8, !tbaa !9
  %919 = getelementptr inbounds float, ptr %917, i64 %918
  %920 = load ptr, ptr %27, align 8, !tbaa !5
  %921 = call i32 @sormqr_(ptr noundef @.str.16, ptr noundef @.str.17, ptr noundef %903, ptr noundef %904, ptr noundef %905, ptr noundef %908, ptr noundef %909, ptr noundef %912, ptr noundef %915, ptr noundef %916, ptr noundef %919, ptr noundef %32, ptr noundef %920)
  %922 = load ptr, ptr %16, align 8, !tbaa !5
  %923 = load i64, ptr %922, align 8, !tbaa !9
  %924 = icmp sgt i64 %923, 1
  br i1 %924, label %925, label %938

925:                                              ; preds = %872
  %926 = load ptr, ptr %16, align 8, !tbaa !5
  %927 = load i64, ptr %926, align 8, !tbaa !9
  %928 = sub nsw i64 %927, 1
  store i64 %928, ptr %32, align 8, !tbaa !9
  %929 = load ptr, ptr %16, align 8, !tbaa !5
  %930 = load i64, ptr %929, align 8, !tbaa !9
  %931 = sub nsw i64 %930, 1
  store i64 %931, ptr %33, align 8, !tbaa !9
  %932 = load ptr, ptr %18, align 8, !tbaa !5
  %933 = load i64, ptr %28, align 8, !tbaa !9
  %934 = add nsw i64 %933, 2
  %935 = getelementptr inbounds float, ptr %932, i64 %934
  %936 = load ptr, ptr %19, align 8, !tbaa !5
  %937 = call i32 @slaset_(ptr noundef @.str.16, ptr noundef %32, ptr noundef %33, ptr noundef @c_b74, ptr noundef @c_b74, ptr noundef %935, ptr noundef %936)
  br label %938

938:                                              ; preds = %925, %872
  br label %939

939:                                              ; preds = %938, %865
  store i64 1, ptr %39, align 8, !tbaa !9
  %940 = load i64, ptr %39, align 8, !tbaa !9
  %941 = load ptr, ptr %16, align 8, !tbaa !5
  %942 = load i64, ptr %941, align 8, !tbaa !9
  %943 = add nsw i64 %940, %942
  store i64 %943, ptr %55, align 8, !tbaa !9
  %944 = load i64, ptr %55, align 8, !tbaa !9
  %945 = load ptr, ptr %16, align 8, !tbaa !5
  %946 = load i64, ptr %945, align 8, !tbaa !9
  %947 = add nsw i64 %944, %946
  store i64 %947, ptr %54, align 8, !tbaa !9
  %948 = load i64, ptr %54, align 8, !tbaa !9
  %949 = load ptr, ptr %16, align 8, !tbaa !5
  %950 = load i64, ptr %949, align 8, !tbaa !9
  %951 = add nsw i64 %948, %950
  store i64 %951, ptr %57, align 8, !tbaa !9
  %952 = load ptr, ptr %26, align 8, !tbaa !5
  %953 = load i64, ptr %952, align 8, !tbaa !9
  %954 = load i64, ptr %57, align 8, !tbaa !9
  %955 = sub nsw i64 %953, %954
  %956 = add nsw i64 %955, 1
  store i64 %956, ptr %32, align 8, !tbaa !9
  %957 = load ptr, ptr %16, align 8, !tbaa !5
  %958 = load ptr, ptr %18, align 8, !tbaa !5
  %959 = load i64, ptr %29, align 8, !tbaa !9
  %960 = getelementptr inbounds float, ptr %958, i64 %959
  %961 = load ptr, ptr %19, align 8, !tbaa !5
  %962 = load ptr, ptr %22, align 8, !tbaa !5
  %963 = getelementptr inbounds float, ptr %962, i64 1
  %964 = load ptr, ptr %25, align 8, !tbaa !5
  %965 = load i64, ptr %39, align 8, !tbaa !9
  %966 = getelementptr inbounds float, ptr %964, i64 %965
  %967 = load ptr, ptr %25, align 8, !tbaa !5
  %968 = load i64, ptr %55, align 8, !tbaa !9
  %969 = getelementptr inbounds float, ptr %967, i64 %968
  %970 = load ptr, ptr %25, align 8, !tbaa !5
  %971 = load i64, ptr %54, align 8, !tbaa !9
  %972 = getelementptr inbounds float, ptr %970, i64 %971
  %973 = load ptr, ptr %25, align 8, !tbaa !5
  %974 = load i64, ptr %57, align 8, !tbaa !9
  %975 = getelementptr inbounds float, ptr %973, i64 %974
  %976 = load ptr, ptr %27, align 8, !tbaa !5
  %977 = call i32 @sgebrd_(ptr noundef %41, ptr noundef %957, ptr noundef %960, ptr noundef %961, ptr noundef %963, ptr noundef %966, ptr noundef %969, ptr noundef %972, ptr noundef %975, ptr noundef %32, ptr noundef %976)
  %978 = load ptr, ptr %26, align 8, !tbaa !5
  %979 = load i64, ptr %978, align 8, !tbaa !9
  %980 = load i64, ptr %57, align 8, !tbaa !9
  %981 = sub nsw i64 %979, %980
  %982 = add nsw i64 %981, 1
  store i64 %982, ptr %32, align 8, !tbaa !9
  %983 = load ptr, ptr %17, align 8, !tbaa !5
  %984 = load ptr, ptr %16, align 8, !tbaa !5
  %985 = load ptr, ptr %18, align 8, !tbaa !5
  %986 = load i64, ptr %29, align 8, !tbaa !9
  %987 = getelementptr inbounds float, ptr %985, i64 %986
  %988 = load ptr, ptr %19, align 8, !tbaa !5
  %989 = load ptr, ptr %25, align 8, !tbaa !5
  %990 = load i64, ptr %55, align 8, !tbaa !9
  %991 = getelementptr inbounds float, ptr %989, i64 %990
  %992 = load ptr, ptr %20, align 8, !tbaa !5
  %993 = load i64, ptr %31, align 8, !tbaa !9
  %994 = getelementptr inbounds float, ptr %992, i64 %993
  %995 = load ptr, ptr %21, align 8, !tbaa !5
  %996 = load ptr, ptr %25, align 8, !tbaa !5
  %997 = load i64, ptr %57, align 8, !tbaa !9
  %998 = getelementptr inbounds float, ptr %996, i64 %997
  %999 = load ptr, ptr %27, align 8, !tbaa !5
  %1000 = call i32 @sormbr_(ptr noundef @.str.18, ptr noundef @.str.16, ptr noundef @.str.17, ptr noundef %41, ptr noundef %983, ptr noundef %984, ptr noundef %987, ptr noundef %988, ptr noundef %991, ptr noundef %994, ptr noundef %995, ptr noundef %998, ptr noundef %32, ptr noundef %999)
  %1001 = load ptr, ptr %26, align 8, !tbaa !5
  %1002 = load i64, ptr %1001, align 8, !tbaa !9
  %1003 = load i64, ptr %57, align 8, !tbaa !9
  %1004 = sub nsw i64 %1002, %1003
  %1005 = add nsw i64 %1004, 1
  store i64 %1005, ptr %32, align 8, !tbaa !9
  %1006 = load ptr, ptr %16, align 8, !tbaa !5
  %1007 = load ptr, ptr %16, align 8, !tbaa !5
  %1008 = load ptr, ptr %16, align 8, !tbaa !5
  %1009 = load ptr, ptr %18, align 8, !tbaa !5
  %1010 = load i64, ptr %29, align 8, !tbaa !9
  %1011 = getelementptr inbounds float, ptr %1009, i64 %1010
  %1012 = load ptr, ptr %19, align 8, !tbaa !5
  %1013 = load ptr, ptr %25, align 8, !tbaa !5
  %1014 = load i64, ptr %54, align 8, !tbaa !9
  %1015 = getelementptr inbounds float, ptr %1013, i64 %1014
  %1016 = load ptr, ptr %25, align 8, !tbaa !5
  %1017 = load i64, ptr %57, align 8, !tbaa !9
  %1018 = getelementptr inbounds float, ptr %1016, i64 %1017
  %1019 = load ptr, ptr %27, align 8, !tbaa !5
  %1020 = call i32 @sorgbr_(ptr noundef @.str.9, ptr noundef %1006, ptr noundef %1007, ptr noundef %1008, ptr noundef %1011, ptr noundef %1012, ptr noundef %1015, ptr noundef %1018, ptr noundef %32, ptr noundef %1019)
  %1021 = load i64, ptr %39, align 8, !tbaa !9
  %1022 = load ptr, ptr %16, align 8, !tbaa !5
  %1023 = load i64, ptr %1022, align 8, !tbaa !9
  %1024 = add nsw i64 %1021, %1023
  store i64 %1024, ptr %57, align 8, !tbaa !9
  %1025 = load ptr, ptr %16, align 8, !tbaa !5
  %1026 = load ptr, ptr %16, align 8, !tbaa !5
  %1027 = load ptr, ptr %17, align 8, !tbaa !5
  %1028 = load ptr, ptr %22, align 8, !tbaa !5
  %1029 = getelementptr inbounds float, ptr %1028, i64 1
  %1030 = load ptr, ptr %25, align 8, !tbaa !5
  %1031 = load i64, ptr %39, align 8, !tbaa !9
  %1032 = getelementptr inbounds float, ptr %1030, i64 %1031
  %1033 = load ptr, ptr %18, align 8, !tbaa !5
  %1034 = load i64, ptr %29, align 8, !tbaa !9
  %1035 = getelementptr inbounds float, ptr %1033, i64 %1034
  %1036 = load ptr, ptr %19, align 8, !tbaa !5
  %1037 = getelementptr inbounds [1 x float], ptr %47, i64 0, i64 0
  %1038 = load ptr, ptr %20, align 8, !tbaa !5
  %1039 = load i64, ptr %31, align 8, !tbaa !9
  %1040 = getelementptr inbounds float, ptr %1038, i64 %1039
  %1041 = load ptr, ptr %21, align 8, !tbaa !5
  %1042 = load ptr, ptr %25, align 8, !tbaa !5
  %1043 = load i64, ptr %57, align 8, !tbaa !9
  %1044 = getelementptr inbounds float, ptr %1042, i64 %1043
  %1045 = load ptr, ptr %27, align 8, !tbaa !5
  %1046 = call i32 @sbdsqr_(ptr noundef @.str.19, ptr noundef %1025, ptr noundef %1026, ptr noundef @c__0, ptr noundef %1027, ptr noundef %1029, ptr noundef %1032, ptr noundef %1035, ptr noundef %1036, ptr noundef %1037, ptr noundef @c__1, ptr noundef %1040, ptr noundef %1041, ptr noundef %1044, ptr noundef %1045)
  %1047 = load ptr, ptr %27, align 8, !tbaa !5
  %1048 = load i64, ptr %1047, align 8, !tbaa !9
  %1049 = icmp ne i64 %1048, 0
  br i1 %1049, label %1050, label %1051

1050:                                             ; preds = %939
  br label %2247

1051:                                             ; preds = %939
  %1052 = load ptr, ptr %23, align 8, !tbaa !5
  %1053 = load float, ptr %1052, align 4, !tbaa !11
  %1054 = load ptr, ptr %22, align 8, !tbaa !5
  %1055 = getelementptr inbounds float, ptr %1054, i64 1
  %1056 = load float, ptr %1055, align 4, !tbaa !11
  %1057 = fmul float %1053, %1056
  store float %1057, ptr %36, align 4, !tbaa !11
  %1058 = load float, ptr %36, align 4, !tbaa !11
  %1059 = load float, ptr %51, align 4, !tbaa !11
  %1060 = fcmp oge float %1058, %1059
  br i1 %1060, label %1061, label %1063

1061:                                             ; preds = %1051
  %1062 = load float, ptr %36, align 4, !tbaa !11
  br label %1065

1063:                                             ; preds = %1051
  %1064 = load float, ptr %51, align 4, !tbaa !11
  br label %1065

1065:                                             ; preds = %1063, %1061
  %1066 = phi float [ %1062, %1061 ], [ %1064, %1063 ]
  %1067 = fpext float %1066 to double
  %1068 = fptrunc double %1067 to float
  store float %1068, ptr %43, align 4, !tbaa !11
  %1069 = load ptr, ptr %23, align 8, !tbaa !5
  %1070 = load float, ptr %1069, align 4, !tbaa !11
  %1071 = fcmp olt float %1070, 0.000000e+00
  br i1 %1071, label %1072, label %1089

1072:                                             ; preds = %1065
  %1073 = load float, ptr %42, align 4, !tbaa !11
  %1074 = load ptr, ptr %22, align 8, !tbaa !5
  %1075 = getelementptr inbounds float, ptr %1074, i64 1
  %1076 = load float, ptr %1075, align 4, !tbaa !11
  %1077 = fmul float %1073, %1076
  store float %1077, ptr %36, align 4, !tbaa !11
  %1078 = load float, ptr %36, align 4, !tbaa !11
  %1079 = load float, ptr %51, align 4, !tbaa !11
  %1080 = fcmp oge float %1078, %1079
  br i1 %1080, label %1081, label %1083

1081:                                             ; preds = %1072
  %1082 = load float, ptr %36, align 4, !tbaa !11
  br label %1085

1083:                                             ; preds = %1072
  %1084 = load float, ptr %51, align 4, !tbaa !11
  br label %1085

1085:                                             ; preds = %1083, %1081
  %1086 = phi float [ %1082, %1081 ], [ %1084, %1083 ]
  %1087 = fpext float %1086 to double
  %1088 = fptrunc double %1087 to float
  store float %1088, ptr %43, align 4, !tbaa !11
  br label %1089

1089:                                             ; preds = %1085, %1065
  %1090 = load ptr, ptr %24, align 8, !tbaa !5
  store i64 0, ptr %1090, align 8, !tbaa !9
  %1091 = load ptr, ptr %16, align 8, !tbaa !5
  %1092 = load i64, ptr %1091, align 8, !tbaa !9
  store i64 %1092, ptr %32, align 8, !tbaa !9
  store i64 1, ptr %37, align 8, !tbaa !9
  br label %1093

1093:                                             ; preds = %1129, %1089
  %1094 = load i64, ptr %37, align 8, !tbaa !9
  %1095 = load i64, ptr %32, align 8, !tbaa !9
  %1096 = icmp sle i64 %1094, %1095
  br i1 %1096, label %1097, label %1132

1097:                                             ; preds = %1093
  %1098 = load ptr, ptr %22, align 8, !tbaa !5
  %1099 = load i64, ptr %37, align 8, !tbaa !9
  %1100 = getelementptr inbounds float, ptr %1098, i64 %1099
  %1101 = load float, ptr %1100, align 4, !tbaa !11
  %1102 = load float, ptr %43, align 4, !tbaa !11
  %1103 = fcmp ogt float %1101, %1102
  br i1 %1103, label %1104, label %1119

1104:                                             ; preds = %1097
  %1105 = load ptr, ptr %17, align 8, !tbaa !5
  %1106 = load ptr, ptr %22, align 8, !tbaa !5
  %1107 = load i64, ptr %37, align 8, !tbaa !9
  %1108 = getelementptr inbounds float, ptr %1106, i64 %1107
  %1109 = load ptr, ptr %20, align 8, !tbaa !5
  %1110 = load i64, ptr %37, align 8, !tbaa !9
  %1111 = load i64, ptr %30, align 8, !tbaa !9
  %1112 = add nsw i64 %1110, %1111
  %1113 = getelementptr inbounds float, ptr %1109, i64 %1112
  %1114 = load ptr, ptr %21, align 8, !tbaa !5
  %1115 = call i32 @srscl_(ptr noundef %1105, ptr noundef %1108, ptr noundef %1113, ptr noundef %1114)
  %1116 = load ptr, ptr %24, align 8, !tbaa !5
  %1117 = load i64, ptr %1116, align 8, !tbaa !9
  %1118 = add nsw i64 %1117, 1
  store i64 %1118, ptr %1116, align 8, !tbaa !9
  br label %1128

1119:                                             ; preds = %1097
  %1120 = load ptr, ptr %17, align 8, !tbaa !5
  %1121 = load ptr, ptr %20, align 8, !tbaa !5
  %1122 = load i64, ptr %37, align 8, !tbaa !9
  %1123 = load i64, ptr %30, align 8, !tbaa !9
  %1124 = add nsw i64 %1122, %1123
  %1125 = getelementptr inbounds float, ptr %1121, i64 %1124
  %1126 = load ptr, ptr %21, align 8, !tbaa !5
  %1127 = call i32 @slaset_(ptr noundef @.str.15, ptr noundef @c__1, ptr noundef %1120, ptr noundef @c_b74, ptr noundef @c_b74, ptr noundef %1125, ptr noundef %1126)
  br label %1128

1128:                                             ; preds = %1119, %1104
  br label %1129

1129:                                             ; preds = %1128
  %1130 = load i64, ptr %37, align 8, !tbaa !9
  %1131 = add nsw i64 %1130, 1
  store i64 %1131, ptr %37, align 8, !tbaa !9
  br label %1093, !llvm.loop !13

1132:                                             ; preds = %1093
  %1133 = load ptr, ptr %26, align 8, !tbaa !5
  %1134 = load i64, ptr %1133, align 8, !tbaa !9
  %1135 = load ptr, ptr %21, align 8, !tbaa !5
  %1136 = load i64, ptr %1135, align 8, !tbaa !9
  %1137 = load ptr, ptr %17, align 8, !tbaa !5
  %1138 = load i64, ptr %1137, align 8, !tbaa !9
  %1139 = mul nsw i64 %1136, %1138
  %1140 = icmp sge i64 %1134, %1139
  br i1 %1140, label %1141, label %1171

1141:                                             ; preds = %1132
  %1142 = load ptr, ptr %17, align 8, !tbaa !5
  %1143 = load i64, ptr %1142, align 8, !tbaa !9
  %1144 = icmp sgt i64 %1143, 1
  br i1 %1144, label %1145, label %1171

1145:                                             ; preds = %1141
  %1146 = load ptr, ptr %16, align 8, !tbaa !5
  %1147 = load ptr, ptr %17, align 8, !tbaa !5
  %1148 = load ptr, ptr %16, align 8, !tbaa !5
  %1149 = load ptr, ptr %18, align 8, !tbaa !5
  %1150 = load i64, ptr %29, align 8, !tbaa !9
  %1151 = getelementptr inbounds float, ptr %1149, i64 %1150
  %1152 = load ptr, ptr %19, align 8, !tbaa !5
  %1153 = load ptr, ptr %20, align 8, !tbaa !5
  %1154 = load i64, ptr %31, align 8, !tbaa !9
  %1155 = getelementptr inbounds float, ptr %1153, i64 %1154
  %1156 = load ptr, ptr %21, align 8, !tbaa !5
  %1157 = load ptr, ptr %25, align 8, !tbaa !5
  %1158 = getelementptr inbounds float, ptr %1157, i64 1
  %1159 = load ptr, ptr %21, align 8, !tbaa !5
  %1160 = call i32 @f2c_sgemm(ptr noundef @.str.17, ptr noundef @.str.20, ptr noundef %1146, ptr noundef %1147, ptr noundef %1148, ptr noundef @c_b108, ptr noundef %1151, ptr noundef %1152, ptr noundef %1155, ptr noundef %1156, ptr noundef @c_b74, ptr noundef %1158, ptr noundef %1159)
  %1161 = load ptr, ptr %16, align 8, !tbaa !5
  %1162 = load ptr, ptr %17, align 8, !tbaa !5
  %1163 = load ptr, ptr %25, align 8, !tbaa !5
  %1164 = getelementptr inbounds float, ptr %1163, i64 1
  %1165 = load ptr, ptr %21, align 8, !tbaa !5
  %1166 = load ptr, ptr %20, align 8, !tbaa !5
  %1167 = load i64, ptr %31, align 8, !tbaa !9
  %1168 = getelementptr inbounds float, ptr %1166, i64 %1167
  %1169 = load ptr, ptr %21, align 8, !tbaa !5
  %1170 = call i32 @slacpy_(ptr noundef @.str.14, ptr noundef %1161, ptr noundef %1162, ptr noundef %1164, ptr noundef %1165, ptr noundef %1168, ptr noundef %1169)
  br label %1270

1171:                                             ; preds = %1141, %1132
  %1172 = load ptr, ptr %17, align 8, !tbaa !5
  %1173 = load i64, ptr %1172, align 8, !tbaa !9
  %1174 = icmp sgt i64 %1173, 1
  br i1 %1174, label %1175, label %1249

1175:                                             ; preds = %1171
  %1176 = load ptr, ptr %26, align 8, !tbaa !5
  %1177 = load i64, ptr %1176, align 8, !tbaa !9
  %1178 = load ptr, ptr %16, align 8, !tbaa !5
  %1179 = load i64, ptr %1178, align 8, !tbaa !9
  %1180 = sdiv i64 %1177, %1179
  store i64 %1180, ptr %50, align 8, !tbaa !9
  %1181 = load ptr, ptr %17, align 8, !tbaa !5
  %1182 = load i64, ptr %1181, align 8, !tbaa !9
  store i64 %1182, ptr %32, align 8, !tbaa !9
  %1183 = load i64, ptr %50, align 8, !tbaa !9
  store i64 %1183, ptr %33, align 8, !tbaa !9
  store i64 1, ptr %37, align 8, !tbaa !9
  br label %1184

1184:                                             ; preds = %1244, %1175
  %1185 = load i64, ptr %33, align 8, !tbaa !9
  %1186 = icmp slt i64 %1185, 0
  br i1 %1186, label %1187, label %1192

1187:                                             ; preds = %1184
  %1188 = load i64, ptr %37, align 8, !tbaa !9
  %1189 = load i64, ptr %32, align 8, !tbaa !9
  %1190 = icmp sge i64 %1188, %1189
  %1191 = zext i1 %1190 to i32
  br label %1197

1192:                                             ; preds = %1184
  %1193 = load i64, ptr %37, align 8, !tbaa !9
  %1194 = load i64, ptr %32, align 8, !tbaa !9
  %1195 = icmp sle i64 %1193, %1194
  %1196 = zext i1 %1195 to i32
  br label %1197

1197:                                             ; preds = %1192, %1187
  %1198 = phi i32 [ %1191, %1187 ], [ %1196, %1192 ]
  %1199 = icmp ne i32 %1198, 0
  br i1 %1199, label %1200, label %1248

1200:                                             ; preds = %1197
  %1201 = load ptr, ptr %17, align 8, !tbaa !5
  %1202 = load i64, ptr %1201, align 8, !tbaa !9
  %1203 = load i64, ptr %37, align 8, !tbaa !9
  %1204 = sub nsw i64 %1202, %1203
  %1205 = add nsw i64 %1204, 1
  store i64 %1205, ptr %34, align 8, !tbaa !9
  %1206 = load i64, ptr %34, align 8, !tbaa !9
  %1207 = load i64, ptr %50, align 8, !tbaa !9
  %1208 = icmp sle i64 %1206, %1207
  br i1 %1208, label %1209, label %1211

1209:                                             ; preds = %1200
  %1210 = load i64, ptr %34, align 8, !tbaa !9
  br label %1213

1211:                                             ; preds = %1200
  %1212 = load i64, ptr %50, align 8, !tbaa !9
  br label %1213

1213:                                             ; preds = %1211, %1209
  %1214 = phi i64 [ %1210, %1209 ], [ %1212, %1211 ]
  store i64 %1214, ptr %38, align 8, !tbaa !9
  %1215 = load ptr, ptr %16, align 8, !tbaa !5
  %1216 = load ptr, ptr %16, align 8, !tbaa !5
  %1217 = load ptr, ptr %18, align 8, !tbaa !5
  %1218 = load i64, ptr %29, align 8, !tbaa !9
  %1219 = getelementptr inbounds float, ptr %1217, i64 %1218
  %1220 = load ptr, ptr %19, align 8, !tbaa !5
  %1221 = load ptr, ptr %20, align 8, !tbaa !5
  %1222 = load i64, ptr %37, align 8, !tbaa !9
  %1223 = load i64, ptr %30, align 8, !tbaa !9
  %1224 = mul nsw i64 %1222, %1223
  %1225 = add nsw i64 %1224, 1
  %1226 = getelementptr inbounds float, ptr %1221, i64 %1225
  %1227 = load ptr, ptr %21, align 8, !tbaa !5
  %1228 = load ptr, ptr %25, align 8, !tbaa !5
  %1229 = getelementptr inbounds float, ptr %1228, i64 1
  %1230 = load ptr, ptr %16, align 8, !tbaa !5
  %1231 = call i32 @f2c_sgemm(ptr noundef @.str.17, ptr noundef @.str.20, ptr noundef %1215, ptr noundef %38, ptr noundef %1216, ptr noundef @c_b108, ptr noundef %1219, ptr noundef %1220, ptr noundef %1226, ptr noundef %1227, ptr noundef @c_b74, ptr noundef %1229, ptr noundef %1230)
  %1232 = load ptr, ptr %16, align 8, !tbaa !5
  %1233 = load ptr, ptr %25, align 8, !tbaa !5
  %1234 = getelementptr inbounds float, ptr %1233, i64 1
  %1235 = load ptr, ptr %16, align 8, !tbaa !5
  %1236 = load ptr, ptr %20, align 8, !tbaa !5
  %1237 = load i64, ptr %37, align 8, !tbaa !9
  %1238 = load i64, ptr %30, align 8, !tbaa !9
  %1239 = mul nsw i64 %1237, %1238
  %1240 = add nsw i64 %1239, 1
  %1241 = getelementptr inbounds float, ptr %1236, i64 %1240
  %1242 = load ptr, ptr %21, align 8, !tbaa !5
  %1243 = call i32 @slacpy_(ptr noundef @.str.14, ptr noundef %1232, ptr noundef %38, ptr noundef %1234, ptr noundef %1235, ptr noundef %1241, ptr noundef %1242)
  br label %1244

1244:                                             ; preds = %1213
  %1245 = load i64, ptr %33, align 8, !tbaa !9
  %1246 = load i64, ptr %37, align 8, !tbaa !9
  %1247 = add nsw i64 %1246, %1245
  store i64 %1247, ptr %37, align 8, !tbaa !9
  br label %1184, !llvm.loop !15

1248:                                             ; preds = %1197
  br label %1269

1249:                                             ; preds = %1171
  %1250 = load ptr, ptr %16, align 8, !tbaa !5
  %1251 = load ptr, ptr %16, align 8, !tbaa !5
  %1252 = load ptr, ptr %18, align 8, !tbaa !5
  %1253 = load i64, ptr %29, align 8, !tbaa !9
  %1254 = getelementptr inbounds float, ptr %1252, i64 %1253
  %1255 = load ptr, ptr %19, align 8, !tbaa !5
  %1256 = load ptr, ptr %20, align 8, !tbaa !5
  %1257 = load i64, ptr %31, align 8, !tbaa !9
  %1258 = getelementptr inbounds float, ptr %1256, i64 %1257
  %1259 = load ptr, ptr %25, align 8, !tbaa !5
  %1260 = getelementptr inbounds float, ptr %1259, i64 1
  %1261 = call i32 @f2c_sgemv(ptr noundef @.str.17, ptr noundef %1250, ptr noundef %1251, ptr noundef @c_b108, ptr noundef %1254, ptr noundef %1255, ptr noundef %1258, ptr noundef @c__1, ptr noundef @c_b74, ptr noundef %1260, ptr noundef @c__1)
  %1262 = load ptr, ptr %16, align 8, !tbaa !5
  %1263 = load ptr, ptr %25, align 8, !tbaa !5
  %1264 = getelementptr inbounds float, ptr %1263, i64 1
  %1265 = load ptr, ptr %20, align 8, !tbaa !5
  %1266 = load i64, ptr %31, align 8, !tbaa !9
  %1267 = getelementptr inbounds float, ptr %1265, i64 %1266
  %1268 = call i32 @f2c_scopy(ptr noundef %1262, ptr noundef %1264, ptr noundef @c__1, ptr noundef %1267, ptr noundef @c__1)
  br label %1269

1269:                                             ; preds = %1249, %1248
  br label %1270

1270:                                             ; preds = %1269, %1145
  br label %2188

1271:                                             ; preds = %859
  %1272 = load ptr, ptr %15, align 8, !tbaa !5
  %1273 = load i64, ptr %1272, align 8, !tbaa !9
  store i64 %1273, ptr %33, align 8, !tbaa !9
  %1274 = load ptr, ptr %15, align 8, !tbaa !5
  %1275 = load i64, ptr %1274, align 8, !tbaa !9
  %1276 = shl i64 %1275, 1
  %1277 = sub nsw i64 %1276, 4
  store i64 %1277, ptr %32, align 8, !tbaa !9
  %1278 = load i64, ptr %33, align 8, !tbaa !9
  %1279 = load i64, ptr %32, align 8, !tbaa !9
  %1280 = icmp sge i64 %1278, %1279
  br i1 %1280, label %1281, label %1283

1281:                                             ; preds = %1271
  %1282 = load i64, ptr %33, align 8, !tbaa !9
  br label %1285

1283:                                             ; preds = %1271
  %1284 = load i64, ptr %32, align 8, !tbaa !9
  br label %1285

1285:                                             ; preds = %1283, %1281
  %1286 = phi i64 [ %1282, %1281 ], [ %1284, %1283 ]
  store i64 %1286, ptr %33, align 8, !tbaa !9
  %1287 = load i64, ptr %33, align 8, !tbaa !9
  %1288 = load ptr, ptr %17, align 8, !tbaa !5
  %1289 = load i64, ptr %1288, align 8, !tbaa !9
  %1290 = icmp sge i64 %1287, %1289
  br i1 %1290, label %1291, label %1293

1291:                                             ; preds = %1285
  %1292 = load i64, ptr %33, align 8, !tbaa !9
  br label %1296

1293:                                             ; preds = %1285
  %1294 = load ptr, ptr %17, align 8, !tbaa !5
  %1295 = load i64, ptr %1294, align 8, !tbaa !9
  br label %1296

1296:                                             ; preds = %1293, %1291
  %1297 = phi i64 [ %1292, %1291 ], [ %1295, %1293 ]
  store i64 %1297, ptr %33, align 8, !tbaa !9
  %1298 = load ptr, ptr %16, align 8, !tbaa !5
  %1299 = load i64, ptr %1298, align 8, !tbaa !9
  %1300 = load ptr, ptr %15, align 8, !tbaa !5
  %1301 = load i64, ptr %1300, align 8, !tbaa !9
  %1302 = mul nsw i64 %1301, 3
  %1303 = sub nsw i64 %1299, %1302
  store i64 %1303, ptr %32, align 8, !tbaa !9
  %1304 = load ptr, ptr %16, align 8, !tbaa !5
  %1305 = load i64, ptr %1304, align 8, !tbaa !9
  %1306 = load i64, ptr %56, align 8, !tbaa !9
  %1307 = icmp sge i64 %1305, %1306
  br i1 %1307, label %1308, label %1853

1308:                                             ; preds = %1296
  %1309 = load ptr, ptr %26, align 8, !tbaa !5
  %1310 = load i64, ptr %1309, align 8, !tbaa !9
  %1311 = load ptr, ptr %15, align 8, !tbaa !5
  %1312 = load i64, ptr %1311, align 8, !tbaa !9
  %1313 = shl i64 %1312, 2
  %1314 = load ptr, ptr %15, align 8, !tbaa !5
  %1315 = load i64, ptr %1314, align 8, !tbaa !9
  %1316 = load ptr, ptr %15, align 8, !tbaa !5
  %1317 = load i64, ptr %1316, align 8, !tbaa !9
  %1318 = mul nsw i64 %1315, %1317
  %1319 = add nsw i64 %1313, %1318
  %1320 = load i64, ptr %33, align 8, !tbaa !9
  %1321 = load i64, ptr %32, align 8, !tbaa !9
  %1322 = icmp sge i64 %1320, %1321
  br i1 %1322, label %1323, label %1325

1323:                                             ; preds = %1308
  %1324 = load i64, ptr %33, align 8, !tbaa !9
  br label %1327

1325:                                             ; preds = %1308
  %1326 = load i64, ptr %32, align 8, !tbaa !9
  br label %1327

1327:                                             ; preds = %1325, %1323
  %1328 = phi i64 [ %1324, %1323 ], [ %1326, %1325 ]
  %1329 = add nsw i64 %1319, %1328
  %1330 = icmp sge i64 %1310, %1329
  br i1 %1330, label %1331, label %1853

1331:                                             ; preds = %1327
  %1332 = load ptr, ptr %15, align 8, !tbaa !5
  %1333 = load i64, ptr %1332, align 8, !tbaa !9
  store i64 %1333, ptr %60, align 8, !tbaa !9
  %1334 = load ptr, ptr %15, align 8, !tbaa !5
  %1335 = load i64, ptr %1334, align 8, !tbaa !9
  store i64 %1335, ptr %34, align 8, !tbaa !9
  %1336 = load ptr, ptr %15, align 8, !tbaa !5
  %1337 = load i64, ptr %1336, align 8, !tbaa !9
  %1338 = shl i64 %1337, 1
  %1339 = sub nsw i64 %1338, 4
  store i64 %1339, ptr %35, align 8, !tbaa !9
  %1340 = load i64, ptr %34, align 8, !tbaa !9
  %1341 = load i64, ptr %35, align 8, !tbaa !9
  %1342 = icmp sge i64 %1340, %1341
  br i1 %1342, label %1343, label %1345

1343:                                             ; preds = %1331
  %1344 = load i64, ptr %34, align 8, !tbaa !9
  br label %1347

1345:                                             ; preds = %1331
  %1346 = load i64, ptr %35, align 8, !tbaa !9
  br label %1347

1347:                                             ; preds = %1345, %1343
  %1348 = phi i64 [ %1344, %1343 ], [ %1346, %1345 ]
  store i64 %1348, ptr %34, align 8, !tbaa !9
  %1349 = load i64, ptr %34, align 8, !tbaa !9
  %1350 = load ptr, ptr %17, align 8, !tbaa !5
  %1351 = load i64, ptr %1350, align 8, !tbaa !9
  %1352 = icmp sge i64 %1349, %1351
  br i1 %1352, label %1353, label %1355

1353:                                             ; preds = %1347
  %1354 = load i64, ptr %34, align 8, !tbaa !9
  br label %1358

1355:                                             ; preds = %1347
  %1356 = load ptr, ptr %17, align 8, !tbaa !5
  %1357 = load i64, ptr %1356, align 8, !tbaa !9
  br label %1358

1358:                                             ; preds = %1355, %1353
  %1359 = phi i64 [ %1354, %1353 ], [ %1357, %1355 ]
  store i64 %1359, ptr %34, align 8, !tbaa !9
  %1360 = load ptr, ptr %16, align 8, !tbaa !5
  %1361 = load i64, ptr %1360, align 8, !tbaa !9
  %1362 = load ptr, ptr %15, align 8, !tbaa !5
  %1363 = load i64, ptr %1362, align 8, !tbaa !9
  %1364 = mul nsw i64 %1363, 3
  %1365 = sub nsw i64 %1361, %1364
  store i64 %1365, ptr %35, align 8, !tbaa !9
  %1366 = load ptr, ptr %15, align 8, !tbaa !5
  %1367 = load i64, ptr %1366, align 8, !tbaa !9
  %1368 = shl i64 %1367, 2
  %1369 = load ptr, ptr %15, align 8, !tbaa !5
  %1370 = load i64, ptr %1369, align 8, !tbaa !9
  %1371 = load ptr, ptr %19, align 8, !tbaa !5
  %1372 = load i64, ptr %1371, align 8, !tbaa !9
  %1373 = mul nsw i64 %1370, %1372
  %1374 = add nsw i64 %1368, %1373
  %1375 = load i64, ptr %34, align 8, !tbaa !9
  %1376 = load i64, ptr %35, align 8, !tbaa !9
  %1377 = icmp sge i64 %1375, %1376
  br i1 %1377, label %1378, label %1380

1378:                                             ; preds = %1358
  %1379 = load i64, ptr %34, align 8, !tbaa !9
  br label %1382

1380:                                             ; preds = %1358
  %1381 = load i64, ptr %35, align 8, !tbaa !9
  br label %1382

1382:                                             ; preds = %1380, %1378
  %1383 = phi i64 [ %1379, %1378 ], [ %1381, %1380 ]
  %1384 = add nsw i64 %1374, %1383
  store i64 %1384, ptr %33, align 8, !tbaa !9
  %1385 = load ptr, ptr %15, align 8, !tbaa !5
  %1386 = load i64, ptr %1385, align 8, !tbaa !9
  %1387 = load ptr, ptr %19, align 8, !tbaa !5
  %1388 = load i64, ptr %1387, align 8, !tbaa !9
  %1389 = mul nsw i64 %1386, %1388
  %1390 = load ptr, ptr %15, align 8, !tbaa !5
  %1391 = load i64, ptr %1390, align 8, !tbaa !9
  %1392 = add nsw i64 %1389, %1391
  %1393 = load ptr, ptr %15, align 8, !tbaa !5
  %1394 = load i64, ptr %1393, align 8, !tbaa !9
  %1395 = load ptr, ptr %17, align 8, !tbaa !5
  %1396 = load i64, ptr %1395, align 8, !tbaa !9
  %1397 = mul nsw i64 %1394, %1396
  %1398 = add nsw i64 %1392, %1397
  store i64 %1398, ptr %32, align 8, !tbaa !9
  %1399 = load ptr, ptr %26, align 8, !tbaa !5
  %1400 = load i64, ptr %1399, align 8, !tbaa !9
  %1401 = load i64, ptr %33, align 8, !tbaa !9
  %1402 = load i64, ptr %32, align 8, !tbaa !9
  %1403 = icmp sge i64 %1401, %1402
  br i1 %1403, label %1404, label %1406

1404:                                             ; preds = %1382
  %1405 = load i64, ptr %33, align 8, !tbaa !9
  br label %1408

1406:                                             ; preds = %1382
  %1407 = load i64, ptr %32, align 8, !tbaa !9
  br label %1408

1408:                                             ; preds = %1406, %1404
  %1409 = phi i64 [ %1405, %1404 ], [ %1407, %1406 ]
  %1410 = icmp sge i64 %1400, %1409
  br i1 %1410, label %1411, label %1414

1411:                                             ; preds = %1408
  %1412 = load ptr, ptr %19, align 8, !tbaa !5
  %1413 = load i64, ptr %1412, align 8, !tbaa !9
  store i64 %1413, ptr %60, align 8, !tbaa !9
  br label %1414

1414:                                             ; preds = %1411, %1408
  store i64 1, ptr %46, align 8, !tbaa !9
  %1415 = load ptr, ptr %15, align 8, !tbaa !5
  %1416 = load i64, ptr %1415, align 8, !tbaa !9
  %1417 = add nsw i64 %1416, 1
  store i64 %1417, ptr %57, align 8, !tbaa !9
  %1418 = load ptr, ptr %26, align 8, !tbaa !5
  %1419 = load i64, ptr %1418, align 8, !tbaa !9
  %1420 = load i64, ptr %57, align 8, !tbaa !9
  %1421 = sub nsw i64 %1419, %1420
  %1422 = add nsw i64 %1421, 1
  store i64 %1422, ptr %33, align 8, !tbaa !9
  %1423 = load ptr, ptr %15, align 8, !tbaa !5
  %1424 = load ptr, ptr %16, align 8, !tbaa !5
  %1425 = load ptr, ptr %18, align 8, !tbaa !5
  %1426 = load i64, ptr %29, align 8, !tbaa !9
  %1427 = getelementptr inbounds float, ptr %1425, i64 %1426
  %1428 = load ptr, ptr %19, align 8, !tbaa !5
  %1429 = load ptr, ptr %25, align 8, !tbaa !5
  %1430 = load i64, ptr %46, align 8, !tbaa !9
  %1431 = getelementptr inbounds float, ptr %1429, i64 %1430
  %1432 = load ptr, ptr %25, align 8, !tbaa !5
  %1433 = load i64, ptr %57, align 8, !tbaa !9
  %1434 = getelementptr inbounds float, ptr %1432, i64 %1433
  %1435 = load ptr, ptr %27, align 8, !tbaa !5
  %1436 = call i32 @sgelqf_(ptr noundef %1423, ptr noundef %1424, ptr noundef %1427, ptr noundef %1428, ptr noundef %1431, ptr noundef %1434, ptr noundef %33, ptr noundef %1435)
  %1437 = load i64, ptr %57, align 8, !tbaa !9
  store i64 %1437, ptr %40, align 8, !tbaa !9
  %1438 = load ptr, ptr %15, align 8, !tbaa !5
  %1439 = load ptr, ptr %15, align 8, !tbaa !5
  %1440 = load ptr, ptr %18, align 8, !tbaa !5
  %1441 = load i64, ptr %29, align 8, !tbaa !9
  %1442 = getelementptr inbounds float, ptr %1440, i64 %1441
  %1443 = load ptr, ptr %19, align 8, !tbaa !5
  %1444 = load ptr, ptr %25, align 8, !tbaa !5
  %1445 = load i64, ptr %40, align 8, !tbaa !9
  %1446 = getelementptr inbounds float, ptr %1444, i64 %1445
  %1447 = call i32 @slacpy_(ptr noundef @.str.16, ptr noundef %1438, ptr noundef %1439, ptr noundef %1442, ptr noundef %1443, ptr noundef %1446, ptr noundef %60)
  %1448 = load ptr, ptr %15, align 8, !tbaa !5
  %1449 = load i64, ptr %1448, align 8, !tbaa !9
  %1450 = sub nsw i64 %1449, 1
  store i64 %1450, ptr %33, align 8, !tbaa !9
  %1451 = load ptr, ptr %15, align 8, !tbaa !5
  %1452 = load i64, ptr %1451, align 8, !tbaa !9
  %1453 = sub nsw i64 %1452, 1
  store i64 %1453, ptr %32, align 8, !tbaa !9
  %1454 = load ptr, ptr %25, align 8, !tbaa !5
  %1455 = load i64, ptr %40, align 8, !tbaa !9
  %1456 = load i64, ptr %60, align 8, !tbaa !9
  %1457 = add nsw i64 %1455, %1456
  %1458 = getelementptr inbounds float, ptr %1454, i64 %1457
  %1459 = call i32 @slaset_(ptr noundef @.str.19, ptr noundef %33, ptr noundef %32, ptr noundef @c_b74, ptr noundef @c_b74, ptr noundef %1458, ptr noundef %60)
  %1460 = load i64, ptr %40, align 8, !tbaa !9
  %1461 = load i64, ptr %60, align 8, !tbaa !9
  %1462 = load ptr, ptr %15, align 8, !tbaa !5
  %1463 = load i64, ptr %1462, align 8, !tbaa !9
  %1464 = mul nsw i64 %1461, %1463
  %1465 = add nsw i64 %1460, %1464
  store i64 %1465, ptr %39, align 8, !tbaa !9
  %1466 = load i64, ptr %39, align 8, !tbaa !9
  %1467 = load ptr, ptr %15, align 8, !tbaa !5
  %1468 = load i64, ptr %1467, align 8, !tbaa !9
  %1469 = add nsw i64 %1466, %1468
  store i64 %1469, ptr %55, align 8, !tbaa !9
  %1470 = load i64, ptr %55, align 8, !tbaa !9
  %1471 = load ptr, ptr %15, align 8, !tbaa !5
  %1472 = load i64, ptr %1471, align 8, !tbaa !9
  %1473 = add nsw i64 %1470, %1472
  store i64 %1473, ptr %54, align 8, !tbaa !9
  %1474 = load i64, ptr %54, align 8, !tbaa !9
  %1475 = load ptr, ptr %15, align 8, !tbaa !5
  %1476 = load i64, ptr %1475, align 8, !tbaa !9
  %1477 = add nsw i64 %1474, %1476
  store i64 %1477, ptr %57, align 8, !tbaa !9
  %1478 = load ptr, ptr %26, align 8, !tbaa !5
  %1479 = load i64, ptr %1478, align 8, !tbaa !9
  %1480 = load i64, ptr %57, align 8, !tbaa !9
  %1481 = sub nsw i64 %1479, %1480
  %1482 = add nsw i64 %1481, 1
  store i64 %1482, ptr %33, align 8, !tbaa !9
  %1483 = load ptr, ptr %15, align 8, !tbaa !5
  %1484 = load ptr, ptr %15, align 8, !tbaa !5
  %1485 = load ptr, ptr %25, align 8, !tbaa !5
  %1486 = load i64, ptr %40, align 8, !tbaa !9
  %1487 = getelementptr inbounds float, ptr %1485, i64 %1486
  %1488 = load ptr, ptr %22, align 8, !tbaa !5
  %1489 = getelementptr inbounds float, ptr %1488, i64 1
  %1490 = load ptr, ptr %25, align 8, !tbaa !5
  %1491 = load i64, ptr %39, align 8, !tbaa !9
  %1492 = getelementptr inbounds float, ptr %1490, i64 %1491
  %1493 = load ptr, ptr %25, align 8, !tbaa !5
  %1494 = load i64, ptr %55, align 8, !tbaa !9
  %1495 = getelementptr inbounds float, ptr %1493, i64 %1494
  %1496 = load ptr, ptr %25, align 8, !tbaa !5
  %1497 = load i64, ptr %54, align 8, !tbaa !9
  %1498 = getelementptr inbounds float, ptr %1496, i64 %1497
  %1499 = load ptr, ptr %25, align 8, !tbaa !5
  %1500 = load i64, ptr %57, align 8, !tbaa !9
  %1501 = getelementptr inbounds float, ptr %1499, i64 %1500
  %1502 = load ptr, ptr %27, align 8, !tbaa !5
  %1503 = call i32 @sgebrd_(ptr noundef %1483, ptr noundef %1484, ptr noundef %1487, ptr noundef %60, ptr noundef %1489, ptr noundef %1492, ptr noundef %1495, ptr noundef %1498, ptr noundef %1501, ptr noundef %33, ptr noundef %1502)
  %1504 = load ptr, ptr %26, align 8, !tbaa !5
  %1505 = load i64, ptr %1504, align 8, !tbaa !9
  %1506 = load i64, ptr %57, align 8, !tbaa !9
  %1507 = sub nsw i64 %1505, %1506
  %1508 = add nsw i64 %1507, 1
  store i64 %1508, ptr %33, align 8, !tbaa !9
  %1509 = load ptr, ptr %15, align 8, !tbaa !5
  %1510 = load ptr, ptr %17, align 8, !tbaa !5
  %1511 = load ptr, ptr %15, align 8, !tbaa !5
  %1512 = load ptr, ptr %25, align 8, !tbaa !5
  %1513 = load i64, ptr %40, align 8, !tbaa !9
  %1514 = getelementptr inbounds float, ptr %1512, i64 %1513
  %1515 = load ptr, ptr %25, align 8, !tbaa !5
  %1516 = load i64, ptr %55, align 8, !tbaa !9
  %1517 = getelementptr inbounds float, ptr %1515, i64 %1516
  %1518 = load ptr, ptr %20, align 8, !tbaa !5
  %1519 = load i64, ptr %31, align 8, !tbaa !9
  %1520 = getelementptr inbounds float, ptr %1518, i64 %1519
  %1521 = load ptr, ptr %21, align 8, !tbaa !5
  %1522 = load ptr, ptr %25, align 8, !tbaa !5
  %1523 = load i64, ptr %57, align 8, !tbaa !9
  %1524 = getelementptr inbounds float, ptr %1522, i64 %1523
  %1525 = load ptr, ptr %27, align 8, !tbaa !5
  %1526 = call i32 @sormbr_(ptr noundef @.str.18, ptr noundef @.str.16, ptr noundef @.str.17, ptr noundef %1509, ptr noundef %1510, ptr noundef %1511, ptr noundef %1514, ptr noundef %60, ptr noundef %1517, ptr noundef %1520, ptr noundef %1521, ptr noundef %1524, ptr noundef %33, ptr noundef %1525)
  %1527 = load ptr, ptr %26, align 8, !tbaa !5
  %1528 = load i64, ptr %1527, align 8, !tbaa !9
  %1529 = load i64, ptr %57, align 8, !tbaa !9
  %1530 = sub nsw i64 %1528, %1529
  %1531 = add nsw i64 %1530, 1
  store i64 %1531, ptr %33, align 8, !tbaa !9
  %1532 = load ptr, ptr %15, align 8, !tbaa !5
  %1533 = load ptr, ptr %15, align 8, !tbaa !5
  %1534 = load ptr, ptr %15, align 8, !tbaa !5
  %1535 = load ptr, ptr %25, align 8, !tbaa !5
  %1536 = load i64, ptr %40, align 8, !tbaa !9
  %1537 = getelementptr inbounds float, ptr %1535, i64 %1536
  %1538 = load ptr, ptr %25, align 8, !tbaa !5
  %1539 = load i64, ptr %54, align 8, !tbaa !9
  %1540 = getelementptr inbounds float, ptr %1538, i64 %1539
  %1541 = load ptr, ptr %25, align 8, !tbaa !5
  %1542 = load i64, ptr %57, align 8, !tbaa !9
  %1543 = getelementptr inbounds float, ptr %1541, i64 %1542
  %1544 = load ptr, ptr %27, align 8, !tbaa !5
  %1545 = call i32 @sorgbr_(ptr noundef @.str.9, ptr noundef %1532, ptr noundef %1533, ptr noundef %1534, ptr noundef %1537, ptr noundef %60, ptr noundef %1540, ptr noundef %1543, ptr noundef %33, ptr noundef %1544)
  %1546 = load i64, ptr %39, align 8, !tbaa !9
  %1547 = load ptr, ptr %15, align 8, !tbaa !5
  %1548 = load i64, ptr %1547, align 8, !tbaa !9
  %1549 = add nsw i64 %1546, %1548
  store i64 %1549, ptr %57, align 8, !tbaa !9
  %1550 = load ptr, ptr %15, align 8, !tbaa !5
  %1551 = load ptr, ptr %15, align 8, !tbaa !5
  %1552 = load ptr, ptr %17, align 8, !tbaa !5
  %1553 = load ptr, ptr %22, align 8, !tbaa !5
  %1554 = getelementptr inbounds float, ptr %1553, i64 1
  %1555 = load ptr, ptr %25, align 8, !tbaa !5
  %1556 = load i64, ptr %39, align 8, !tbaa !9
  %1557 = getelementptr inbounds float, ptr %1555, i64 %1556
  %1558 = load ptr, ptr %25, align 8, !tbaa !5
  %1559 = load i64, ptr %40, align 8, !tbaa !9
  %1560 = getelementptr inbounds float, ptr %1558, i64 %1559
  %1561 = load ptr, ptr %18, align 8, !tbaa !5
  %1562 = load i64, ptr %29, align 8, !tbaa !9
  %1563 = getelementptr inbounds float, ptr %1561, i64 %1562
  %1564 = load ptr, ptr %19, align 8, !tbaa !5
  %1565 = load ptr, ptr %20, align 8, !tbaa !5
  %1566 = load i64, ptr %31, align 8, !tbaa !9
  %1567 = getelementptr inbounds float, ptr %1565, i64 %1566
  %1568 = load ptr, ptr %21, align 8, !tbaa !5
  %1569 = load ptr, ptr %25, align 8, !tbaa !5
  %1570 = load i64, ptr %57, align 8, !tbaa !9
  %1571 = getelementptr inbounds float, ptr %1569, i64 %1570
  %1572 = load ptr, ptr %27, align 8, !tbaa !5
  %1573 = call i32 @sbdsqr_(ptr noundef @.str.19, ptr noundef %1550, ptr noundef %1551, ptr noundef @c__0, ptr noundef %1552, ptr noundef %1554, ptr noundef %1557, ptr noundef %1560, ptr noundef %60, ptr noundef %1563, ptr noundef %1564, ptr noundef %1567, ptr noundef %1568, ptr noundef %1571, ptr noundef %1572)
  %1574 = load ptr, ptr %27, align 8, !tbaa !5
  %1575 = load i64, ptr %1574, align 8, !tbaa !9
  %1576 = icmp ne i64 %1575, 0
  br i1 %1576, label %1577, label %1578

1577:                                             ; preds = %1414
  br label %2247

1578:                                             ; preds = %1414
  %1579 = load ptr, ptr %23, align 8, !tbaa !5
  %1580 = load float, ptr %1579, align 4, !tbaa !11
  %1581 = load ptr, ptr %22, align 8, !tbaa !5
  %1582 = getelementptr inbounds float, ptr %1581, i64 1
  %1583 = load float, ptr %1582, align 4, !tbaa !11
  %1584 = fmul float %1580, %1583
  store float %1584, ptr %36, align 4, !tbaa !11
  %1585 = load float, ptr %36, align 4, !tbaa !11
  %1586 = load float, ptr %51, align 4, !tbaa !11
  %1587 = fcmp oge float %1585, %1586
  br i1 %1587, label %1588, label %1590

1588:                                             ; preds = %1578
  %1589 = load float, ptr %36, align 4, !tbaa !11
  br label %1592

1590:                                             ; preds = %1578
  %1591 = load float, ptr %51, align 4, !tbaa !11
  br label %1592

1592:                                             ; preds = %1590, %1588
  %1593 = phi float [ %1589, %1588 ], [ %1591, %1590 ]
  %1594 = fpext float %1593 to double
  %1595 = fptrunc double %1594 to float
  store float %1595, ptr %43, align 4, !tbaa !11
  %1596 = load ptr, ptr %23, align 8, !tbaa !5
  %1597 = load float, ptr %1596, align 4, !tbaa !11
  %1598 = fcmp olt float %1597, 0.000000e+00
  br i1 %1598, label %1599, label %1616

1599:                                             ; preds = %1592
  %1600 = load float, ptr %42, align 4, !tbaa !11
  %1601 = load ptr, ptr %22, align 8, !tbaa !5
  %1602 = getelementptr inbounds float, ptr %1601, i64 1
  %1603 = load float, ptr %1602, align 4, !tbaa !11
  %1604 = fmul float %1600, %1603
  store float %1604, ptr %36, align 4, !tbaa !11
  %1605 = load float, ptr %36, align 4, !tbaa !11
  %1606 = load float, ptr %51, align 4, !tbaa !11
  %1607 = fcmp oge float %1605, %1606
  br i1 %1607, label %1608, label %1610

1608:                                             ; preds = %1599
  %1609 = load float, ptr %36, align 4, !tbaa !11
  br label %1612

1610:                                             ; preds = %1599
  %1611 = load float, ptr %51, align 4, !tbaa !11
  br label %1612

1612:                                             ; preds = %1610, %1608
  %1613 = phi float [ %1609, %1608 ], [ %1611, %1610 ]
  %1614 = fpext float %1613 to double
  %1615 = fptrunc double %1614 to float
  store float %1615, ptr %43, align 4, !tbaa !11
  br label %1616

1616:                                             ; preds = %1612, %1592
  %1617 = load ptr, ptr %24, align 8, !tbaa !5
  store i64 0, ptr %1617, align 8, !tbaa !9
  %1618 = load ptr, ptr %15, align 8, !tbaa !5
  %1619 = load i64, ptr %1618, align 8, !tbaa !9
  store i64 %1619, ptr %33, align 8, !tbaa !9
  store i64 1, ptr %37, align 8, !tbaa !9
  br label %1620

1620:                                             ; preds = %1656, %1616
  %1621 = load i64, ptr %37, align 8, !tbaa !9
  %1622 = load i64, ptr %33, align 8, !tbaa !9
  %1623 = icmp sle i64 %1621, %1622
  br i1 %1623, label %1624, label %1659

1624:                                             ; preds = %1620
  %1625 = load ptr, ptr %22, align 8, !tbaa !5
  %1626 = load i64, ptr %37, align 8, !tbaa !9
  %1627 = getelementptr inbounds float, ptr %1625, i64 %1626
  %1628 = load float, ptr %1627, align 4, !tbaa !11
  %1629 = load float, ptr %43, align 4, !tbaa !11
  %1630 = fcmp ogt float %1628, %1629
  br i1 %1630, label %1631, label %1646

1631:                                             ; preds = %1624
  %1632 = load ptr, ptr %17, align 8, !tbaa !5
  %1633 = load ptr, ptr %22, align 8, !tbaa !5
  %1634 = load i64, ptr %37, align 8, !tbaa !9
  %1635 = getelementptr inbounds float, ptr %1633, i64 %1634
  %1636 = load ptr, ptr %20, align 8, !tbaa !5
  %1637 = load i64, ptr %37, align 8, !tbaa !9
  %1638 = load i64, ptr %30, align 8, !tbaa !9
  %1639 = add nsw i64 %1637, %1638
  %1640 = getelementptr inbounds float, ptr %1636, i64 %1639
  %1641 = load ptr, ptr %21, align 8, !tbaa !5
  %1642 = call i32 @srscl_(ptr noundef %1632, ptr noundef %1635, ptr noundef %1640, ptr noundef %1641)
  %1643 = load ptr, ptr %24, align 8, !tbaa !5
  %1644 = load i64, ptr %1643, align 8, !tbaa !9
  %1645 = add nsw i64 %1644, 1
  store i64 %1645, ptr %1643, align 8, !tbaa !9
  br label %1655

1646:                                             ; preds = %1624
  %1647 = load ptr, ptr %17, align 8, !tbaa !5
  %1648 = load ptr, ptr %20, align 8, !tbaa !5
  %1649 = load i64, ptr %37, align 8, !tbaa !9
  %1650 = load i64, ptr %30, align 8, !tbaa !9
  %1651 = add nsw i64 %1649, %1650
  %1652 = getelementptr inbounds float, ptr %1648, i64 %1651
  %1653 = load ptr, ptr %21, align 8, !tbaa !5
  %1654 = call i32 @slaset_(ptr noundef @.str.15, ptr noundef @c__1, ptr noundef %1647, ptr noundef @c_b74, ptr noundef @c_b74, ptr noundef %1652, ptr noundef %1653)
  br label %1655

1655:                                             ; preds = %1646, %1631
  br label %1656

1656:                                             ; preds = %1655
  %1657 = load i64, ptr %37, align 8, !tbaa !9
  %1658 = add nsw i64 %1657, 1
  store i64 %1658, ptr %37, align 8, !tbaa !9
  br label %1620, !llvm.loop !16

1659:                                             ; preds = %1620
  %1660 = load i64, ptr %39, align 8, !tbaa !9
  store i64 %1660, ptr %57, align 8, !tbaa !9
  %1661 = load ptr, ptr %26, align 8, !tbaa !5
  %1662 = load i64, ptr %1661, align 8, !tbaa !9
  %1663 = load ptr, ptr %21, align 8, !tbaa !5
  %1664 = load i64, ptr %1663, align 8, !tbaa !9
  %1665 = load ptr, ptr %17, align 8, !tbaa !5
  %1666 = load i64, ptr %1665, align 8, !tbaa !9
  %1667 = mul nsw i64 %1664, %1666
  %1668 = load i64, ptr %57, align 8, !tbaa !9
  %1669 = add nsw i64 %1667, %1668
  %1670 = sub nsw i64 %1669, 1
  %1671 = icmp sge i64 %1662, %1670
  br i1 %1671, label %1672, label %1703

1672:                                             ; preds = %1659
  %1673 = load ptr, ptr %17, align 8, !tbaa !5
  %1674 = load i64, ptr %1673, align 8, !tbaa !9
  %1675 = icmp sgt i64 %1674, 1
  br i1 %1675, label %1676, label %1703

1676:                                             ; preds = %1672
  %1677 = load ptr, ptr %15, align 8, !tbaa !5
  %1678 = load ptr, ptr %17, align 8, !tbaa !5
  %1679 = load ptr, ptr %15, align 8, !tbaa !5
  %1680 = load ptr, ptr %25, align 8, !tbaa !5
  %1681 = load i64, ptr %40, align 8, !tbaa !9
  %1682 = getelementptr inbounds float, ptr %1680, i64 %1681
  %1683 = load ptr, ptr %20, align 8, !tbaa !5
  %1684 = load i64, ptr %31, align 8, !tbaa !9
  %1685 = getelementptr inbounds float, ptr %1683, i64 %1684
  %1686 = load ptr, ptr %21, align 8, !tbaa !5
  %1687 = load ptr, ptr %25, align 8, !tbaa !5
  %1688 = load i64, ptr %57, align 8, !tbaa !9
  %1689 = getelementptr inbounds float, ptr %1687, i64 %1688
  %1690 = load ptr, ptr %21, align 8, !tbaa !5
  %1691 = call i32 @f2c_sgemm(ptr noundef @.str.17, ptr noundef @.str.20, ptr noundef %1677, ptr noundef %1678, ptr noundef %1679, ptr noundef @c_b108, ptr noundef %1682, ptr noundef %60, ptr noundef %1685, ptr noundef %1686, ptr noundef @c_b74, ptr noundef %1689, ptr noundef %1690)
  %1692 = load ptr, ptr %15, align 8, !tbaa !5
  %1693 = load ptr, ptr %17, align 8, !tbaa !5
  %1694 = load ptr, ptr %25, align 8, !tbaa !5
  %1695 = load i64, ptr %57, align 8, !tbaa !9
  %1696 = getelementptr inbounds float, ptr %1694, i64 %1695
  %1697 = load ptr, ptr %21, align 8, !tbaa !5
  %1698 = load ptr, ptr %20, align 8, !tbaa !5
  %1699 = load i64, ptr %31, align 8, !tbaa !9
  %1700 = getelementptr inbounds float, ptr %1698, i64 %1699
  %1701 = load ptr, ptr %21, align 8, !tbaa !5
  %1702 = call i32 @slacpy_(ptr noundef @.str.14, ptr noundef %1692, ptr noundef %1693, ptr noundef %1696, ptr noundef %1697, ptr noundef %1700, ptr noundef %1701)
  br label %1809

1703:                                             ; preds = %1672, %1659
  %1704 = load ptr, ptr %17, align 8, !tbaa !5
  %1705 = load i64, ptr %1704, align 8, !tbaa !9
  %1706 = icmp sgt i64 %1705, 1
  br i1 %1706, label %1707, label %1785

1707:                                             ; preds = %1703
  %1708 = load ptr, ptr %26, align 8, !tbaa !5
  %1709 = load i64, ptr %1708, align 8, !tbaa !9
  %1710 = load i64, ptr %57, align 8, !tbaa !9
  %1711 = sub nsw i64 %1709, %1710
  %1712 = add nsw i64 %1711, 1
  %1713 = load ptr, ptr %15, align 8, !tbaa !5
  %1714 = load i64, ptr %1713, align 8, !tbaa !9
  %1715 = sdiv i64 %1712, %1714
  store i64 %1715, ptr %50, align 8, !tbaa !9
  %1716 = load ptr, ptr %17, align 8, !tbaa !5
  %1717 = load i64, ptr %1716, align 8, !tbaa !9
  store i64 %1717, ptr %33, align 8, !tbaa !9
  %1718 = load i64, ptr %50, align 8, !tbaa !9
  store i64 %1718, ptr %32, align 8, !tbaa !9
  store i64 1, ptr %37, align 8, !tbaa !9
  br label %1719

1719:                                             ; preds = %1780, %1707
  %1720 = load i64, ptr %32, align 8, !tbaa !9
  %1721 = icmp slt i64 %1720, 0
  br i1 %1721, label %1722, label %1727

1722:                                             ; preds = %1719
  %1723 = load i64, ptr %37, align 8, !tbaa !9
  %1724 = load i64, ptr %33, align 8, !tbaa !9
  %1725 = icmp sge i64 %1723, %1724
  %1726 = zext i1 %1725 to i32
  br label %1732

1727:                                             ; preds = %1719
  %1728 = load i64, ptr %37, align 8, !tbaa !9
  %1729 = load i64, ptr %33, align 8, !tbaa !9
  %1730 = icmp sle i64 %1728, %1729
  %1731 = zext i1 %1730 to i32
  br label %1732

1732:                                             ; preds = %1727, %1722
  %1733 = phi i32 [ %1726, %1722 ], [ %1731, %1727 ]
  %1734 = icmp ne i32 %1733, 0
  br i1 %1734, label %1735, label %1784

1735:                                             ; preds = %1732
  %1736 = load ptr, ptr %17, align 8, !tbaa !5
  %1737 = load i64, ptr %1736, align 8, !tbaa !9
  %1738 = load i64, ptr %37, align 8, !tbaa !9
  %1739 = sub nsw i64 %1737, %1738
  %1740 = add nsw i64 %1739, 1
  store i64 %1740, ptr %34, align 8, !tbaa !9
  %1741 = load i64, ptr %34, align 8, !tbaa !9
  %1742 = load i64, ptr %50, align 8, !tbaa !9
  %1743 = icmp sle i64 %1741, %1742
  br i1 %1743, label %1744, label %1746

1744:                                             ; preds = %1735
  %1745 = load i64, ptr %34, align 8, !tbaa !9
  br label %1748

1746:                                             ; preds = %1735
  %1747 = load i64, ptr %50, align 8, !tbaa !9
  br label %1748

1748:                                             ; preds = %1746, %1744
  %1749 = phi i64 [ %1745, %1744 ], [ %1747, %1746 ]
  store i64 %1749, ptr %38, align 8, !tbaa !9
  %1750 = load ptr, ptr %15, align 8, !tbaa !5
  %1751 = load ptr, ptr %15, align 8, !tbaa !5
  %1752 = load ptr, ptr %25, align 8, !tbaa !5
  %1753 = load i64, ptr %40, align 8, !tbaa !9
  %1754 = getelementptr inbounds float, ptr %1752, i64 %1753
  %1755 = load ptr, ptr %20, align 8, !tbaa !5
  %1756 = load i64, ptr %37, align 8, !tbaa !9
  %1757 = load i64, ptr %30, align 8, !tbaa !9
  %1758 = mul nsw i64 %1756, %1757
  %1759 = add nsw i64 %1758, 1
  %1760 = getelementptr inbounds float, ptr %1755, i64 %1759
  %1761 = load ptr, ptr %21, align 8, !tbaa !5
  %1762 = load ptr, ptr %25, align 8, !tbaa !5
  %1763 = load i64, ptr %57, align 8, !tbaa !9
  %1764 = getelementptr inbounds float, ptr %1762, i64 %1763
  %1765 = load ptr, ptr %15, align 8, !tbaa !5
  %1766 = call i32 @f2c_sgemm(ptr noundef @.str.17, ptr noundef @.str.20, ptr noundef %1750, ptr noundef %38, ptr noundef %1751, ptr noundef @c_b108, ptr noundef %1754, ptr noundef %60, ptr noundef %1760, ptr noundef %1761, ptr noundef @c_b74, ptr noundef %1764, ptr noundef %1765)
  %1767 = load ptr, ptr %15, align 8, !tbaa !5
  %1768 = load ptr, ptr %25, align 8, !tbaa !5
  %1769 = load i64, ptr %57, align 8, !tbaa !9
  %1770 = getelementptr inbounds float, ptr %1768, i64 %1769
  %1771 = load ptr, ptr %15, align 8, !tbaa !5
  %1772 = load ptr, ptr %20, align 8, !tbaa !5
  %1773 = load i64, ptr %37, align 8, !tbaa !9
  %1774 = load i64, ptr %30, align 8, !tbaa !9
  %1775 = mul nsw i64 %1773, %1774
  %1776 = add nsw i64 %1775, 1
  %1777 = getelementptr inbounds float, ptr %1772, i64 %1776
  %1778 = load ptr, ptr %21, align 8, !tbaa !5
  %1779 = call i32 @slacpy_(ptr noundef @.str.14, ptr noundef %1767, ptr noundef %38, ptr noundef %1770, ptr noundef %1771, ptr noundef %1777, ptr noundef %1778)
  br label %1780

1780:                                             ; preds = %1748
  %1781 = load i64, ptr %32, align 8, !tbaa !9
  %1782 = load i64, ptr %37, align 8, !tbaa !9
  %1783 = add nsw i64 %1782, %1781
  store i64 %1783, ptr %37, align 8, !tbaa !9
  br label %1719, !llvm.loop !17

1784:                                             ; preds = %1732
  br label %1808

1785:                                             ; preds = %1703
  %1786 = load ptr, ptr %15, align 8, !tbaa !5
  %1787 = load ptr, ptr %15, align 8, !tbaa !5
  %1788 = load ptr, ptr %25, align 8, !tbaa !5
  %1789 = load i64, ptr %40, align 8, !tbaa !9
  %1790 = getelementptr inbounds float, ptr %1788, i64 %1789
  %1791 = load ptr, ptr %20, align 8, !tbaa !5
  %1792 = load i64, ptr %30, align 8, !tbaa !9
  %1793 = add nsw i64 %1792, 1
  %1794 = getelementptr inbounds float, ptr %1791, i64 %1793
  %1795 = load ptr, ptr %25, align 8, !tbaa !5
  %1796 = load i64, ptr %57, align 8, !tbaa !9
  %1797 = getelementptr inbounds float, ptr %1795, i64 %1796
  %1798 = call i32 @f2c_sgemv(ptr noundef @.str.17, ptr noundef %1786, ptr noundef %1787, ptr noundef @c_b108, ptr noundef %1790, ptr noundef %60, ptr noundef %1794, ptr noundef @c__1, ptr noundef @c_b74, ptr noundef %1797, ptr noundef @c__1)
  %1799 = load ptr, ptr %15, align 8, !tbaa !5
  %1800 = load ptr, ptr %25, align 8, !tbaa !5
  %1801 = load i64, ptr %57, align 8, !tbaa !9
  %1802 = getelementptr inbounds float, ptr %1800, i64 %1801
  %1803 = load ptr, ptr %20, align 8, !tbaa !5
  %1804 = load i64, ptr %30, align 8, !tbaa !9
  %1805 = add nsw i64 %1804, 1
  %1806 = getelementptr inbounds float, ptr %1803, i64 %1805
  %1807 = call i32 @f2c_scopy(ptr noundef %1799, ptr noundef %1802, ptr noundef @c__1, ptr noundef %1806, ptr noundef @c__1)
  br label %1808

1808:                                             ; preds = %1785, %1784
  br label %1809

1809:                                             ; preds = %1808, %1676
  %1810 = load ptr, ptr %16, align 8, !tbaa !5
  %1811 = load i64, ptr %1810, align 8, !tbaa !9
  %1812 = load ptr, ptr %15, align 8, !tbaa !5
  %1813 = load i64, ptr %1812, align 8, !tbaa !9
  %1814 = sub nsw i64 %1811, %1813
  store i64 %1814, ptr %32, align 8, !tbaa !9
  %1815 = load ptr, ptr %17, align 8, !tbaa !5
  %1816 = load ptr, ptr %20, align 8, !tbaa !5
  %1817 = load ptr, ptr %15, align 8, !tbaa !5
  %1818 = load i64, ptr %1817, align 8, !tbaa !9
  %1819 = add nsw i64 %1818, 1
  %1820 = load i64, ptr %30, align 8, !tbaa !9
  %1821 = add nsw i64 %1819, %1820
  %1822 = getelementptr inbounds float, ptr %1816, i64 %1821
  %1823 = load ptr, ptr %21, align 8, !tbaa !5
  %1824 = call i32 @slaset_(ptr noundef @.str.15, ptr noundef %32, ptr noundef %1815, ptr noundef @c_b74, ptr noundef @c_b74, ptr noundef %1822, ptr noundef %1823)
  %1825 = load i64, ptr %46, align 8, !tbaa !9
  %1826 = load ptr, ptr %15, align 8, !tbaa !5
  %1827 = load i64, ptr %1826, align 8, !tbaa !9
  %1828 = add nsw i64 %1825, %1827
  store i64 %1828, ptr %57, align 8, !tbaa !9
  %1829 = load ptr, ptr %26, align 8, !tbaa !5
  %1830 = load i64, ptr %1829, align 8, !tbaa !9
  %1831 = load i64, ptr %57, align 8, !tbaa !9
  %1832 = sub nsw i64 %1830, %1831
  %1833 = add nsw i64 %1832, 1
  store i64 %1833, ptr %32, align 8, !tbaa !9
  %1834 = load ptr, ptr %16, align 8, !tbaa !5
  %1835 = load ptr, ptr %17, align 8, !tbaa !5
  %1836 = load ptr, ptr %15, align 8, !tbaa !5
  %1837 = load ptr, ptr %18, align 8, !tbaa !5
  %1838 = load i64, ptr %29, align 8, !tbaa !9
  %1839 = getelementptr inbounds float, ptr %1837, i64 %1838
  %1840 = load ptr, ptr %19, align 8, !tbaa !5
  %1841 = load ptr, ptr %25, align 8, !tbaa !5
  %1842 = load i64, ptr %46, align 8, !tbaa !9
  %1843 = getelementptr inbounds float, ptr %1841, i64 %1842
  %1844 = load ptr, ptr %20, align 8, !tbaa !5
  %1845 = load i64, ptr %31, align 8, !tbaa !9
  %1846 = getelementptr inbounds float, ptr %1844, i64 %1845
  %1847 = load ptr, ptr %21, align 8, !tbaa !5
  %1848 = load ptr, ptr %25, align 8, !tbaa !5
  %1849 = load i64, ptr %57, align 8, !tbaa !9
  %1850 = getelementptr inbounds float, ptr %1848, i64 %1849
  %1851 = load ptr, ptr %27, align 8, !tbaa !5
  %1852 = call i32 @sormlq_(ptr noundef @.str.16, ptr noundef @.str.17, ptr noundef %1834, ptr noundef %1835, ptr noundef %1836, ptr noundef %1839, ptr noundef %1840, ptr noundef %1843, ptr noundef %1846, ptr noundef %1847, ptr noundef %1850, ptr noundef %32, ptr noundef %1851)
  br label %2187

1853:                                             ; preds = %1327, %1296
  store i64 1, ptr %39, align 8, !tbaa !9
  %1854 = load i64, ptr %39, align 8, !tbaa !9
  %1855 = load ptr, ptr %15, align 8, !tbaa !5
  %1856 = load i64, ptr %1855, align 8, !tbaa !9
  %1857 = add nsw i64 %1854, %1856
  store i64 %1857, ptr %55, align 8, !tbaa !9
  %1858 = load i64, ptr %55, align 8, !tbaa !9
  %1859 = load ptr, ptr %15, align 8, !tbaa !5
  %1860 = load i64, ptr %1859, align 8, !tbaa !9
  %1861 = add nsw i64 %1858, %1860
  store i64 %1861, ptr %54, align 8, !tbaa !9
  %1862 = load i64, ptr %54, align 8, !tbaa !9
  %1863 = load ptr, ptr %15, align 8, !tbaa !5
  %1864 = load i64, ptr %1863, align 8, !tbaa !9
  %1865 = add nsw i64 %1862, %1864
  store i64 %1865, ptr %57, align 8, !tbaa !9
  %1866 = load ptr, ptr %26, align 8, !tbaa !5
  %1867 = load i64, ptr %1866, align 8, !tbaa !9
  %1868 = load i64, ptr %57, align 8, !tbaa !9
  %1869 = sub nsw i64 %1867, %1868
  %1870 = add nsw i64 %1869, 1
  store i64 %1870, ptr %32, align 8, !tbaa !9
  %1871 = load ptr, ptr %15, align 8, !tbaa !5
  %1872 = load ptr, ptr %16, align 8, !tbaa !5
  %1873 = load ptr, ptr %18, align 8, !tbaa !5
  %1874 = load i64, ptr %29, align 8, !tbaa !9
  %1875 = getelementptr inbounds float, ptr %1873, i64 %1874
  %1876 = load ptr, ptr %19, align 8, !tbaa !5
  %1877 = load ptr, ptr %22, align 8, !tbaa !5
  %1878 = getelementptr inbounds float, ptr %1877, i64 1
  %1879 = load ptr, ptr %25, align 8, !tbaa !5
  %1880 = load i64, ptr %39, align 8, !tbaa !9
  %1881 = getelementptr inbounds float, ptr %1879, i64 %1880
  %1882 = load ptr, ptr %25, align 8, !tbaa !5
  %1883 = load i64, ptr %55, align 8, !tbaa !9
  %1884 = getelementptr inbounds float, ptr %1882, i64 %1883
  %1885 = load ptr, ptr %25, align 8, !tbaa !5
  %1886 = load i64, ptr %54, align 8, !tbaa !9
  %1887 = getelementptr inbounds float, ptr %1885, i64 %1886
  %1888 = load ptr, ptr %25, align 8, !tbaa !5
  %1889 = load i64, ptr %57, align 8, !tbaa !9
  %1890 = getelementptr inbounds float, ptr %1888, i64 %1889
  %1891 = load ptr, ptr %27, align 8, !tbaa !5
  %1892 = call i32 @sgebrd_(ptr noundef %1871, ptr noundef %1872, ptr noundef %1875, ptr noundef %1876, ptr noundef %1878, ptr noundef %1881, ptr noundef %1884, ptr noundef %1887, ptr noundef %1890, ptr noundef %32, ptr noundef %1891)
  %1893 = load ptr, ptr %26, align 8, !tbaa !5
  %1894 = load i64, ptr %1893, align 8, !tbaa !9
  %1895 = load i64, ptr %57, align 8, !tbaa !9
  %1896 = sub nsw i64 %1894, %1895
  %1897 = add nsw i64 %1896, 1
  store i64 %1897, ptr %32, align 8, !tbaa !9
  %1898 = load ptr, ptr %15, align 8, !tbaa !5
  %1899 = load ptr, ptr %17, align 8, !tbaa !5
  %1900 = load ptr, ptr %16, align 8, !tbaa !5
  %1901 = load ptr, ptr %18, align 8, !tbaa !5
  %1902 = load i64, ptr %29, align 8, !tbaa !9
  %1903 = getelementptr inbounds float, ptr %1901, i64 %1902
  %1904 = load ptr, ptr %19, align 8, !tbaa !5
  %1905 = load ptr, ptr %25, align 8, !tbaa !5
  %1906 = load i64, ptr %55, align 8, !tbaa !9
  %1907 = getelementptr inbounds float, ptr %1905, i64 %1906
  %1908 = load ptr, ptr %20, align 8, !tbaa !5
  %1909 = load i64, ptr %31, align 8, !tbaa !9
  %1910 = getelementptr inbounds float, ptr %1908, i64 %1909
  %1911 = load ptr, ptr %21, align 8, !tbaa !5
  %1912 = load ptr, ptr %25, align 8, !tbaa !5
  %1913 = load i64, ptr %57, align 8, !tbaa !9
  %1914 = getelementptr inbounds float, ptr %1912, i64 %1913
  %1915 = load ptr, ptr %27, align 8, !tbaa !5
  %1916 = call i32 @sormbr_(ptr noundef @.str.18, ptr noundef @.str.16, ptr noundef @.str.17, ptr noundef %1898, ptr noundef %1899, ptr noundef %1900, ptr noundef %1903, ptr noundef %1904, ptr noundef %1907, ptr noundef %1910, ptr noundef %1911, ptr noundef %1914, ptr noundef %32, ptr noundef %1915)
  %1917 = load ptr, ptr %26, align 8, !tbaa !5
  %1918 = load i64, ptr %1917, align 8, !tbaa !9
  %1919 = load i64, ptr %57, align 8, !tbaa !9
  %1920 = sub nsw i64 %1918, %1919
  %1921 = add nsw i64 %1920, 1
  store i64 %1921, ptr %32, align 8, !tbaa !9
  %1922 = load ptr, ptr %15, align 8, !tbaa !5
  %1923 = load ptr, ptr %16, align 8, !tbaa !5
  %1924 = load ptr, ptr %15, align 8, !tbaa !5
  %1925 = load ptr, ptr %18, align 8, !tbaa !5
  %1926 = load i64, ptr %29, align 8, !tbaa !9
  %1927 = getelementptr inbounds float, ptr %1925, i64 %1926
  %1928 = load ptr, ptr %19, align 8, !tbaa !5
  %1929 = load ptr, ptr %25, align 8, !tbaa !5
  %1930 = load i64, ptr %54, align 8, !tbaa !9
  %1931 = getelementptr inbounds float, ptr %1929, i64 %1930
  %1932 = load ptr, ptr %25, align 8, !tbaa !5
  %1933 = load i64, ptr %57, align 8, !tbaa !9
  %1934 = getelementptr inbounds float, ptr %1932, i64 %1933
  %1935 = load ptr, ptr %27, align 8, !tbaa !5
  %1936 = call i32 @sorgbr_(ptr noundef @.str.9, ptr noundef %1922, ptr noundef %1923, ptr noundef %1924, ptr noundef %1927, ptr noundef %1928, ptr noundef %1931, ptr noundef %1934, ptr noundef %32, ptr noundef %1935)
  %1937 = load i64, ptr %39, align 8, !tbaa !9
  %1938 = load ptr, ptr %15, align 8, !tbaa !5
  %1939 = load i64, ptr %1938, align 8, !tbaa !9
  %1940 = add nsw i64 %1937, %1939
  store i64 %1940, ptr %57, align 8, !tbaa !9
  %1941 = load ptr, ptr %15, align 8, !tbaa !5
  %1942 = load ptr, ptr %16, align 8, !tbaa !5
  %1943 = load ptr, ptr %17, align 8, !tbaa !5
  %1944 = load ptr, ptr %22, align 8, !tbaa !5
  %1945 = getelementptr inbounds float, ptr %1944, i64 1
  %1946 = load ptr, ptr %25, align 8, !tbaa !5
  %1947 = load i64, ptr %39, align 8, !tbaa !9
  %1948 = getelementptr inbounds float, ptr %1946, i64 %1947
  %1949 = load ptr, ptr %18, align 8, !tbaa !5
  %1950 = load i64, ptr %29, align 8, !tbaa !9
  %1951 = getelementptr inbounds float, ptr %1949, i64 %1950
  %1952 = load ptr, ptr %19, align 8, !tbaa !5
  %1953 = getelementptr inbounds [1 x float], ptr %47, i64 0, i64 0
  %1954 = load ptr, ptr %20, align 8, !tbaa !5
  %1955 = load i64, ptr %31, align 8, !tbaa !9
  %1956 = getelementptr inbounds float, ptr %1954, i64 %1955
  %1957 = load ptr, ptr %21, align 8, !tbaa !5
  %1958 = load ptr, ptr %25, align 8, !tbaa !5
  %1959 = load i64, ptr %57, align 8, !tbaa !9
  %1960 = getelementptr inbounds float, ptr %1958, i64 %1959
  %1961 = load ptr, ptr %27, align 8, !tbaa !5
  %1962 = call i32 @sbdsqr_(ptr noundef @.str.16, ptr noundef %1941, ptr noundef %1942, ptr noundef @c__0, ptr noundef %1943, ptr noundef %1945, ptr noundef %1948, ptr noundef %1951, ptr noundef %1952, ptr noundef %1953, ptr noundef @c__1, ptr noundef %1956, ptr noundef %1957, ptr noundef %1960, ptr noundef %1961)
  %1963 = load ptr, ptr %27, align 8, !tbaa !5
  %1964 = load i64, ptr %1963, align 8, !tbaa !9
  %1965 = icmp ne i64 %1964, 0
  br i1 %1965, label %1966, label %1967

1966:                                             ; preds = %1853
  br label %2247

1967:                                             ; preds = %1853
  %1968 = load ptr, ptr %23, align 8, !tbaa !5
  %1969 = load float, ptr %1968, align 4, !tbaa !11
  %1970 = load ptr, ptr %22, align 8, !tbaa !5
  %1971 = getelementptr inbounds float, ptr %1970, i64 1
  %1972 = load float, ptr %1971, align 4, !tbaa !11
  %1973 = fmul float %1969, %1972
  store float %1973, ptr %36, align 4, !tbaa !11
  %1974 = load float, ptr %36, align 4, !tbaa !11
  %1975 = load float, ptr %51, align 4, !tbaa !11
  %1976 = fcmp oge float %1974, %1975
  br i1 %1976, label %1977, label %1979

1977:                                             ; preds = %1967
  %1978 = load float, ptr %36, align 4, !tbaa !11
  br label %1981

1979:                                             ; preds = %1967
  %1980 = load float, ptr %51, align 4, !tbaa !11
  br label %1981

1981:                                             ; preds = %1979, %1977
  %1982 = phi float [ %1978, %1977 ], [ %1980, %1979 ]
  %1983 = fpext float %1982 to double
  %1984 = fptrunc double %1983 to float
  store float %1984, ptr %43, align 4, !tbaa !11
  %1985 = load ptr, ptr %23, align 8, !tbaa !5
  %1986 = load float, ptr %1985, align 4, !tbaa !11
  %1987 = fcmp olt float %1986, 0.000000e+00
  br i1 %1987, label %1988, label %2005

1988:                                             ; preds = %1981
  %1989 = load float, ptr %42, align 4, !tbaa !11
  %1990 = load ptr, ptr %22, align 8, !tbaa !5
  %1991 = getelementptr inbounds float, ptr %1990, i64 1
  %1992 = load float, ptr %1991, align 4, !tbaa !11
  %1993 = fmul float %1989, %1992
  store float %1993, ptr %36, align 4, !tbaa !11
  %1994 = load float, ptr %36, align 4, !tbaa !11
  %1995 = load float, ptr %51, align 4, !tbaa !11
  %1996 = fcmp oge float %1994, %1995
  br i1 %1996, label %1997, label %1999

1997:                                             ; preds = %1988
  %1998 = load float, ptr %36, align 4, !tbaa !11
  br label %2001

1999:                                             ; preds = %1988
  %2000 = load float, ptr %51, align 4, !tbaa !11
  br label %2001

2001:                                             ; preds = %1999, %1997
  %2002 = phi float [ %1998, %1997 ], [ %2000, %1999 ]
  %2003 = fpext float %2002 to double
  %2004 = fptrunc double %2003 to float
  store float %2004, ptr %43, align 4, !tbaa !11
  br label %2005

2005:                                             ; preds = %2001, %1981
  %2006 = load ptr, ptr %24, align 8, !tbaa !5
  store i64 0, ptr %2006, align 8, !tbaa !9
  %2007 = load ptr, ptr %15, align 8, !tbaa !5
  %2008 = load i64, ptr %2007, align 8, !tbaa !9
  store i64 %2008, ptr %32, align 8, !tbaa !9
  store i64 1, ptr %37, align 8, !tbaa !9
  br label %2009

2009:                                             ; preds = %2045, %2005
  %2010 = load i64, ptr %37, align 8, !tbaa !9
  %2011 = load i64, ptr %32, align 8, !tbaa !9
  %2012 = icmp sle i64 %2010, %2011
  br i1 %2012, label %2013, label %2048

2013:                                             ; preds = %2009
  %2014 = load ptr, ptr %22, align 8, !tbaa !5
  %2015 = load i64, ptr %37, align 8, !tbaa !9
  %2016 = getelementptr inbounds float, ptr %2014, i64 %2015
  %2017 = load float, ptr %2016, align 4, !tbaa !11
  %2018 = load float, ptr %43, align 4, !tbaa !11
  %2019 = fcmp ogt float %2017, %2018
  br i1 %2019, label %2020, label %2035

2020:                                             ; preds = %2013
  %2021 = load ptr, ptr %17, align 8, !tbaa !5
  %2022 = load ptr, ptr %22, align 8, !tbaa !5
  %2023 = load i64, ptr %37, align 8, !tbaa !9
  %2024 = getelementptr inbounds float, ptr %2022, i64 %2023
  %2025 = load ptr, ptr %20, align 8, !tbaa !5
  %2026 = load i64, ptr %37, align 8, !tbaa !9
  %2027 = load i64, ptr %30, align 8, !tbaa !9
  %2028 = add nsw i64 %2026, %2027
  %2029 = getelementptr inbounds float, ptr %2025, i64 %2028
  %2030 = load ptr, ptr %21, align 8, !tbaa !5
  %2031 = call i32 @srscl_(ptr noundef %2021, ptr noundef %2024, ptr noundef %2029, ptr noundef %2030)
  %2032 = load ptr, ptr %24, align 8, !tbaa !5
  %2033 = load i64, ptr %2032, align 8, !tbaa !9
  %2034 = add nsw i64 %2033, 1
  store i64 %2034, ptr %2032, align 8, !tbaa !9
  br label %2044

2035:                                             ; preds = %2013
  %2036 = load ptr, ptr %17, align 8, !tbaa !5
  %2037 = load ptr, ptr %20, align 8, !tbaa !5
  %2038 = load i64, ptr %37, align 8, !tbaa !9
  %2039 = load i64, ptr %30, align 8, !tbaa !9
  %2040 = add nsw i64 %2038, %2039
  %2041 = getelementptr inbounds float, ptr %2037, i64 %2040
  %2042 = load ptr, ptr %21, align 8, !tbaa !5
  %2043 = call i32 @slaset_(ptr noundef @.str.15, ptr noundef @c__1, ptr noundef %2036, ptr noundef @c_b74, ptr noundef @c_b74, ptr noundef %2041, ptr noundef %2042)
  br label %2044

2044:                                             ; preds = %2035, %2020
  br label %2045

2045:                                             ; preds = %2044
  %2046 = load i64, ptr %37, align 8, !tbaa !9
  %2047 = add nsw i64 %2046, 1
  store i64 %2047, ptr %37, align 8, !tbaa !9
  br label %2009, !llvm.loop !18

2048:                                             ; preds = %2009
  %2049 = load ptr, ptr %26, align 8, !tbaa !5
  %2050 = load i64, ptr %2049, align 8, !tbaa !9
  %2051 = load ptr, ptr %21, align 8, !tbaa !5
  %2052 = load i64, ptr %2051, align 8, !tbaa !9
  %2053 = load ptr, ptr %17, align 8, !tbaa !5
  %2054 = load i64, ptr %2053, align 8, !tbaa !9
  %2055 = mul nsw i64 %2052, %2054
  %2056 = icmp sge i64 %2050, %2055
  br i1 %2056, label %2057, label %2087

2057:                                             ; preds = %2048
  %2058 = load ptr, ptr %17, align 8, !tbaa !5
  %2059 = load i64, ptr %2058, align 8, !tbaa !9
  %2060 = icmp sgt i64 %2059, 1
  br i1 %2060, label %2061, label %2087

2061:                                             ; preds = %2057
  %2062 = load ptr, ptr %16, align 8, !tbaa !5
  %2063 = load ptr, ptr %17, align 8, !tbaa !5
  %2064 = load ptr, ptr %15, align 8, !tbaa !5
  %2065 = load ptr, ptr %18, align 8, !tbaa !5
  %2066 = load i64, ptr %29, align 8, !tbaa !9
  %2067 = getelementptr inbounds float, ptr %2065, i64 %2066
  %2068 = load ptr, ptr %19, align 8, !tbaa !5
  %2069 = load ptr, ptr %20, align 8, !tbaa !5
  %2070 = load i64, ptr %31, align 8, !tbaa !9
  %2071 = getelementptr inbounds float, ptr %2069, i64 %2070
  %2072 = load ptr, ptr %21, align 8, !tbaa !5
  %2073 = load ptr, ptr %25, align 8, !tbaa !5
  %2074 = getelementptr inbounds float, ptr %2073, i64 1
  %2075 = load ptr, ptr %21, align 8, !tbaa !5
  %2076 = call i32 @f2c_sgemm(ptr noundef @.str.17, ptr noundef @.str.20, ptr noundef %2062, ptr noundef %2063, ptr noundef %2064, ptr noundef @c_b108, ptr noundef %2067, ptr noundef %2068, ptr noundef %2071, ptr noundef %2072, ptr noundef @c_b74, ptr noundef %2074, ptr noundef %2075)
  %2077 = load ptr, ptr %16, align 8, !tbaa !5
  %2078 = load ptr, ptr %17, align 8, !tbaa !5
  %2079 = load ptr, ptr %25, align 8, !tbaa !5
  %2080 = getelementptr inbounds float, ptr %2079, i64 1
  %2081 = load ptr, ptr %21, align 8, !tbaa !5
  %2082 = load ptr, ptr %20, align 8, !tbaa !5
  %2083 = load i64, ptr %31, align 8, !tbaa !9
  %2084 = getelementptr inbounds float, ptr %2082, i64 %2083
  %2085 = load ptr, ptr %21, align 8, !tbaa !5
  %2086 = call i32 @slacpy_(ptr noundef @.str.15, ptr noundef %2077, ptr noundef %2078, ptr noundef %2080, ptr noundef %2081, ptr noundef %2084, ptr noundef %2085)
  br label %2186

2087:                                             ; preds = %2057, %2048
  %2088 = load ptr, ptr %17, align 8, !tbaa !5
  %2089 = load i64, ptr %2088, align 8, !tbaa !9
  %2090 = icmp sgt i64 %2089, 1
  br i1 %2090, label %2091, label %2165

2091:                                             ; preds = %2087
  %2092 = load ptr, ptr %26, align 8, !tbaa !5
  %2093 = load i64, ptr %2092, align 8, !tbaa !9
  %2094 = load ptr, ptr %16, align 8, !tbaa !5
  %2095 = load i64, ptr %2094, align 8, !tbaa !9
  %2096 = sdiv i64 %2093, %2095
  store i64 %2096, ptr %50, align 8, !tbaa !9
  %2097 = load ptr, ptr %17, align 8, !tbaa !5
  %2098 = load i64, ptr %2097, align 8, !tbaa !9
  store i64 %2098, ptr %32, align 8, !tbaa !9
  %2099 = load i64, ptr %50, align 8, !tbaa !9
  store i64 %2099, ptr %33, align 8, !tbaa !9
  store i64 1, ptr %37, align 8, !tbaa !9
  br label %2100

2100:                                             ; preds = %2160, %2091
  %2101 = load i64, ptr %33, align 8, !tbaa !9
  %2102 = icmp slt i64 %2101, 0
  br i1 %2102, label %2103, label %2108

2103:                                             ; preds = %2100
  %2104 = load i64, ptr %37, align 8, !tbaa !9
  %2105 = load i64, ptr %32, align 8, !tbaa !9
  %2106 = icmp sge i64 %2104, %2105
  %2107 = zext i1 %2106 to i32
  br label %2113

2108:                                             ; preds = %2100
  %2109 = load i64, ptr %37, align 8, !tbaa !9
  %2110 = load i64, ptr %32, align 8, !tbaa !9
  %2111 = icmp sle i64 %2109, %2110
  %2112 = zext i1 %2111 to i32
  br label %2113

2113:                                             ; preds = %2108, %2103
  %2114 = phi i32 [ %2107, %2103 ], [ %2112, %2108 ]
  %2115 = icmp ne i32 %2114, 0
  br i1 %2115, label %2116, label %2164

2116:                                             ; preds = %2113
  %2117 = load ptr, ptr %17, align 8, !tbaa !5
  %2118 = load i64, ptr %2117, align 8, !tbaa !9
  %2119 = load i64, ptr %37, align 8, !tbaa !9
  %2120 = sub nsw i64 %2118, %2119
  %2121 = add nsw i64 %2120, 1
  store i64 %2121, ptr %34, align 8, !tbaa !9
  %2122 = load i64, ptr %34, align 8, !tbaa !9
  %2123 = load i64, ptr %50, align 8, !tbaa !9
  %2124 = icmp sle i64 %2122, %2123
  br i1 %2124, label %2125, label %2127

2125:                                             ; preds = %2116
  %2126 = load i64, ptr %34, align 8, !tbaa !9
  br label %2129

2127:                                             ; preds = %2116
  %2128 = load i64, ptr %50, align 8, !tbaa !9
  br label %2129

2129:                                             ; preds = %2127, %2125
  %2130 = phi i64 [ %2126, %2125 ], [ %2128, %2127 ]
  store i64 %2130, ptr %38, align 8, !tbaa !9
  %2131 = load ptr, ptr %16, align 8, !tbaa !5
  %2132 = load ptr, ptr %15, align 8, !tbaa !5
  %2133 = load ptr, ptr %18, align 8, !tbaa !5
  %2134 = load i64, ptr %29, align 8, !tbaa !9
  %2135 = getelementptr inbounds float, ptr %2133, i64 %2134
  %2136 = load ptr, ptr %19, align 8, !tbaa !5
  %2137 = load ptr, ptr %20, align 8, !tbaa !5
  %2138 = load i64, ptr %37, align 8, !tbaa !9
  %2139 = load i64, ptr %30, align 8, !tbaa !9
  %2140 = mul nsw i64 %2138, %2139
  %2141 = add nsw i64 %2140, 1
  %2142 = getelementptr inbounds float, ptr %2137, i64 %2141
  %2143 = load ptr, ptr %21, align 8, !tbaa !5
  %2144 = load ptr, ptr %25, align 8, !tbaa !5
  %2145 = getelementptr inbounds float, ptr %2144, i64 1
  %2146 = load ptr, ptr %16, align 8, !tbaa !5
  %2147 = call i32 @f2c_sgemm(ptr noundef @.str.17, ptr noundef @.str.20, ptr noundef %2131, ptr noundef %38, ptr noundef %2132, ptr noundef @c_b108, ptr noundef %2135, ptr noundef %2136, ptr noundef %2142, ptr noundef %2143, ptr noundef @c_b74, ptr noundef %2145, ptr noundef %2146)
  %2148 = load ptr, ptr %16, align 8, !tbaa !5
  %2149 = load ptr, ptr %25, align 8, !tbaa !5
  %2150 = getelementptr inbounds float, ptr %2149, i64 1
  %2151 = load ptr, ptr %16, align 8, !tbaa !5
  %2152 = load ptr, ptr %20, align 8, !tbaa !5
  %2153 = load i64, ptr %37, align 8, !tbaa !9
  %2154 = load i64, ptr %30, align 8, !tbaa !9
  %2155 = mul nsw i64 %2153, %2154
  %2156 = add nsw i64 %2155, 1
  %2157 = getelementptr inbounds float, ptr %2152, i64 %2156
  %2158 = load ptr, ptr %21, align 8, !tbaa !5
  %2159 = call i32 @slacpy_(ptr noundef @.str.15, ptr noundef %2148, ptr noundef %38, ptr noundef %2150, ptr noundef %2151, ptr noundef %2157, ptr noundef %2158)
  br label %2160

2160:                                             ; preds = %2129
  %2161 = load i64, ptr %33, align 8, !tbaa !9
  %2162 = load i64, ptr %37, align 8, !tbaa !9
  %2163 = add nsw i64 %2162, %2161
  store i64 %2163, ptr %37, align 8, !tbaa !9
  br label %2100, !llvm.loop !19

2164:                                             ; preds = %2113
  br label %2185

2165:                                             ; preds = %2087
  %2166 = load ptr, ptr %15, align 8, !tbaa !5
  %2167 = load ptr, ptr %16, align 8, !tbaa !5
  %2168 = load ptr, ptr %18, align 8, !tbaa !5
  %2169 = load i64, ptr %29, align 8, !tbaa !9
  %2170 = getelementptr inbounds float, ptr %2168, i64 %2169
  %2171 = load ptr, ptr %19, align 8, !tbaa !5
  %2172 = load ptr, ptr %20, align 8, !tbaa !5
  %2173 = load i64, ptr %31, align 8, !tbaa !9
  %2174 = getelementptr inbounds float, ptr %2172, i64 %2173
  %2175 = load ptr, ptr %25, align 8, !tbaa !5
  %2176 = getelementptr inbounds float, ptr %2175, i64 1
  %2177 = call i32 @f2c_sgemv(ptr noundef @.str.17, ptr noundef %2166, ptr noundef %2167, ptr noundef @c_b108, ptr noundef %2170, ptr noundef %2171, ptr noundef %2174, ptr noundef @c__1, ptr noundef @c_b74, ptr noundef %2176, ptr noundef @c__1)
  %2178 = load ptr, ptr %16, align 8, !tbaa !5
  %2179 = load ptr, ptr %25, align 8, !tbaa !5
  %2180 = getelementptr inbounds float, ptr %2179, i64 1
  %2181 = load ptr, ptr %20, align 8, !tbaa !5
  %2182 = load i64, ptr %31, align 8, !tbaa !9
  %2183 = getelementptr inbounds float, ptr %2181, i64 %2182
  %2184 = call i32 @f2c_scopy(ptr noundef %2178, ptr noundef %2180, ptr noundef @c__1, ptr noundef %2183, ptr noundef @c__1)
  br label %2185

2185:                                             ; preds = %2165, %2164
  br label %2186

2186:                                             ; preds = %2185, %2061
  br label %2187

2187:                                             ; preds = %2186, %1809
  br label %2188

2188:                                             ; preds = %2187, %1270
  %2189 = load i64, ptr %48, align 8, !tbaa !9
  %2190 = icmp eq i64 %2189, 1
  br i1 %2190, label %2191, label %2204

2191:                                             ; preds = %2188
  %2192 = load ptr, ptr %16, align 8, !tbaa !5
  %2193 = load ptr, ptr %17, align 8, !tbaa !5
  %2194 = load ptr, ptr %20, align 8, !tbaa !5
  %2195 = load i64, ptr %31, align 8, !tbaa !9
  %2196 = getelementptr inbounds float, ptr %2194, i64 %2195
  %2197 = load ptr, ptr %21, align 8, !tbaa !5
  %2198 = load ptr, ptr %27, align 8, !tbaa !5
  %2199 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %44, ptr noundef %63, ptr noundef %2192, ptr noundef %2193, ptr noundef %2196, ptr noundef %2197, ptr noundef %2198)
  %2200 = load ptr, ptr %22, align 8, !tbaa !5
  %2201 = getelementptr inbounds float, ptr %2200, i64 1
  %2202 = load ptr, ptr %27, align 8, !tbaa !5
  %2203 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %63, ptr noundef %44, ptr noundef %52, ptr noundef @c__1, ptr noundef %2201, ptr noundef %52, ptr noundef %2202)
  br label %2221

2204:                                             ; preds = %2188
  %2205 = load i64, ptr %48, align 8, !tbaa !9
  %2206 = icmp eq i64 %2205, 2
  br i1 %2206, label %2207, label %2220

2207:                                             ; preds = %2204
  %2208 = load ptr, ptr %16, align 8, !tbaa !5
  %2209 = load ptr, ptr %17, align 8, !tbaa !5
  %2210 = load ptr, ptr %20, align 8, !tbaa !5
  %2211 = load i64, ptr %31, align 8, !tbaa !9
  %2212 = getelementptr inbounds float, ptr %2210, i64 %2211
  %2213 = load ptr, ptr %21, align 8, !tbaa !5
  %2214 = load ptr, ptr %27, align 8, !tbaa !5
  %2215 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %44, ptr noundef %59, ptr noundef %2208, ptr noundef %2209, ptr noundef %2212, ptr noundef %2213, ptr noundef %2214)
  %2216 = load ptr, ptr %22, align 8, !tbaa !5
  %2217 = getelementptr inbounds float, ptr %2216, i64 1
  %2218 = load ptr, ptr %27, align 8, !tbaa !5
  %2219 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %59, ptr noundef %44, ptr noundef %52, ptr noundef @c__1, ptr noundef %2217, ptr noundef %52, ptr noundef %2218)
  br label %2220

2220:                                             ; preds = %2207, %2204
  br label %2221

2221:                                             ; preds = %2220, %2191
  %2222 = load i64, ptr %49, align 8, !tbaa !9
  %2223 = icmp eq i64 %2222, 1
  br i1 %2223, label %2224, label %2233

2224:                                             ; preds = %2221
  %2225 = load ptr, ptr %16, align 8, !tbaa !5
  %2226 = load ptr, ptr %17, align 8, !tbaa !5
  %2227 = load ptr, ptr %20, align 8, !tbaa !5
  %2228 = load i64, ptr %31, align 8, !tbaa !9
  %2229 = getelementptr inbounds float, ptr %2227, i64 %2228
  %2230 = load ptr, ptr %21, align 8, !tbaa !5
  %2231 = load ptr, ptr %27, align 8, !tbaa !5
  %2232 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %63, ptr noundef %45, ptr noundef %2225, ptr noundef %2226, ptr noundef %2229, ptr noundef %2230, ptr noundef %2231)
  br label %2246

2233:                                             ; preds = %2221
  %2234 = load i64, ptr %49, align 8, !tbaa !9
  %2235 = icmp eq i64 %2234, 2
  br i1 %2235, label %2236, label %2245

2236:                                             ; preds = %2233
  %2237 = load ptr, ptr %16, align 8, !tbaa !5
  %2238 = load ptr, ptr %17, align 8, !tbaa !5
  %2239 = load ptr, ptr %20, align 8, !tbaa !5
  %2240 = load i64, ptr %31, align 8, !tbaa !9
  %2241 = getelementptr inbounds float, ptr %2239, i64 %2240
  %2242 = load ptr, ptr %21, align 8, !tbaa !5
  %2243 = load ptr, ptr %27, align 8, !tbaa !5
  %2244 = call i32 @slascl_(ptr noundef @.str.14, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %59, ptr noundef %45, ptr noundef %2237, ptr noundef %2238, ptr noundef %2241, ptr noundef %2242, ptr noundef %2243)
  br label %2245

2245:                                             ; preds = %2236, %2233
  br label %2246

2246:                                             ; preds = %2245, %2224
  br label %2247

2247:                                             ; preds = %2246, %1966, %1577, %1050, %805
  %2248 = load i64, ptr %62, align 8, !tbaa !9
  %2249 = sitofp i64 %2248 to float
  %2250 = load ptr, ptr %25, align 8, !tbaa !5
  %2251 = getelementptr inbounds float, ptr %2250, i64 1
  store float %2249, ptr %2251, align 4, !tbaa !11
  store i32 0, ptr %14, align 4
  store i32 1, ptr %65, align 4
  br label %2252

2252:                                             ; preds = %2247, %739, %729, %721
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #3
  %2253 = load i32, ptr %14, align 4
  ret i32 %2253
}

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

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

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

declare double @slamch_(ptr noundef) #2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: 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 }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"float", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !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__6 = external hidden global i64, align 8
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@.str.2 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@c__0 = external hidden global i64, align 8
@.str.15 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b74 = external hidden global float, align 4
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b108 = external hidden global float, align 4

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @sgelss_(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 nocapture noundef readonly %8, ptr nocapture noundef %9, ptr noundef %10, ptr nocapture noundef readonly %11, ptr noundef %12) local_unnamed_addr #0 {
  %14 = alloca i64, align 8
  %15 = alloca i64, align 8
  %16 = alloca i64, align 8
  %17 = alloca i64, align 8
  %18 = alloca float, align 4
  %19 = alloca float, align 4
  %20 = alloca [1 x float], align 4
  %21 = alloca i64, align 8
  %22 = alloca float, align 4
  %23 = alloca i64, align 8
  %24 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #4
  %25 = load i64, ptr %6, align 8, !tbaa !5
  %26 = xor i64 %25, -1
  %27 = getelementptr inbounds float, ptr %5, i64 %26
  %28 = getelementptr inbounds i8, ptr %7, i64 -4
  %29 = getelementptr inbounds i8, ptr %10, i64 -4
  store i64 0, ptr %12, align 8, !tbaa !5
  %30 = load i64, ptr %0, align 8, !tbaa !5
  %31 = load i64, ptr %1, align 8, !tbaa !5
  %. = tail call i64 @llvm.smin.i64(i64 %30, i64 %31)
  store i64 %., ptr %21, align 8, !tbaa !5
  %32 = tail call i64 @llvm.smax.i64(i64 %30, i64 %31)
  %33 = load i64, ptr %11, align 8, !tbaa !5
  %34 = icmp eq i64 %33, -1
  %35 = icmp slt i64 %30, 0
  br i1 %35, label %.thread1031.sink.split, label %36

36:                                               ; preds = %13
  %37 = icmp slt i64 %31, 0
  br i1 %37, label %.thread1031.sink.split, label %38

38:                                               ; preds = %36
  %39 = load i64, ptr %2, align 8, !tbaa !5
  %40 = icmp slt i64 %39, 0
  br i1 %40, label %.thread1031.sink.split, label %41

41:                                               ; preds = %38
  %42 = load i64, ptr %4, align 8, !tbaa !5
  %spec.select = tail call i64 @llvm.umax.i64(i64 %30, i64 1)
  %43 = icmp slt i64 %42, %spec.select
  br i1 %43, label %.thread1031.sink.split, label %44

44:                                               ; preds = %41
  %45 = load i64, ptr %6, align 8, !tbaa !5
  %46 = tail call i64 @llvm.smax.i64(i64 %32, i64 1)
  %47 = icmp slt i64 %45, %46
  br i1 %47, label %.thread1031.sink.split, label %48

48:                                               ; preds = %44
  %49 = icmp sgt i64 %., 0
  br i1 %49, label %50, label %192

50:                                               ; preds = %48
  store i64 %30, ptr %17, align 8, !tbaa !5
  %51 = tail call i64 @ilaenv_(ptr noundef nonnull @c__6, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull @c_n1) #4
  %52 = load i64, ptr %0, align 8, !tbaa !5
  %53 = load i64, ptr %1, align 8, !tbaa !5
  %.not956 = icmp slt i64 %52, %53
  %.not957 = icmp slt i64 %52, %51
  %or.cond1015 = select i1 %.not956, i1 true, i1 %.not957
  br i1 %or.cond1015, label %65, label %54

54:                                               ; preds = %50
  store i64 %53, ptr %17, align 8, !tbaa !5
  %55 = tail call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.1, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1) #4
  %56 = add i64 %55, 1
  %57 = mul i64 %56, %53
  %58 = tail call i64 @llvm.smax.i64(i64 %57, i64 1)
  store i64 %58, ptr %14, align 8, !tbaa !5
  %59 = load i64, ptr %1, align 8, !tbaa !5
  %60 = load i64, ptr %2, align 8, !tbaa !5
  %61 = tail call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.4, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef nonnull @c_n1) #4
  %62 = mul nsw i64 %61, %60
  %63 = add nsw i64 %62, %59
  store i64 %63, ptr %15, align 8, !tbaa !5
  %64 = tail call i64 @llvm.smax.i64(i64 %58, i64 %63)
  %.pre = load i64, ptr %0, align 8, !tbaa !5
  %.pre1097 = load i64, ptr %1, align 8, !tbaa !5
  br label %65

65:                                               ; preds = %54, %50
  %66 = phi i64 [ %53, %54 ], [ %30, %50 ]
  %67 = phi i64 [ %.pre1097, %54 ], [ %53, %50 ]
  %68 = phi i64 [ %.pre, %54 ], [ %52, %50 ]
  %.0915 = phi i64 [ %64, %54 ], [ 1, %50 ]
  %.not960 = icmp slt i64 %68, %67
  br i1 %.not960, label %108, label %69

69:                                               ; preds = %65
  %70 = mul nsw i64 %67, 5
  store i64 %70, ptr %15, align 8, !tbaa !5
  %71 = icmp slt i64 %67, 1
  %72 = select i1 %71, i64 1, i64 %70
  store i64 %.0915, ptr %14, align 8, !tbaa !5
  %73 = mul nsw i64 %67, 3
  %74 = add nsw i64 %66, %67
  %75 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.1, ptr noundef nonnull %17, ptr noundef nonnull %1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1) #4
  %76 = mul nsw i64 %74, %75
  %77 = add nsw i64 %76, %73
  store i64 %77, ptr %15, align 8, !tbaa !5
  %78 = load i64, ptr %14, align 8
  %79 = call i64 @llvm.smax.i64(i64 %78, i64 %77)
  store i64 %79, ptr %14, align 8, !tbaa !5
  %80 = load i64, ptr %1, align 8, !tbaa !5
  %81 = mul nsw i64 %80, 3
  %82 = load i64, ptr %2, align 8, !tbaa !5
  %83 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.7, ptr noundef nonnull %17, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef nonnull @c_n1) #4
  %84 = mul nsw i64 %83, %82
  %85 = add nsw i64 %84, %81
  store i64 %85, ptr %15, align 8, !tbaa !5
  %86 = load i64, ptr %14, align 8
  %87 = call i64 @llvm.smax.i64(i64 %86, i64 %85)
  store i64 %87, ptr %14, align 8, !tbaa !5
  %88 = load i64, ptr %1, align 8, !tbaa !5
  %89 = mul nsw i64 %88, 3
  %90 = add nsw i64 %88, -1
  %91 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef nonnull @c_n1) #4
  %92 = mul nsw i64 %90, %91
  %93 = add nsw i64 %92, %89
  %94 = load i64, ptr %14, align 8
  %95 = call i64 @llvm.smax.i64(i64 %94, i64 %93)
  %96 = call i64 @llvm.smax.i64(i64 %95, i64 %72)
  %97 = load i64, ptr %1, align 8, !tbaa !5
  %98 = load i64, ptr %2, align 8, !tbaa !5
  %99 = mul nsw i64 %98, %97
  %100 = call i64 @llvm.smax.i64(i64 %96, i64 %99)
  %101 = mul nsw i64 %97, 3
  %102 = load i64, ptr %17, align 8, !tbaa !5
  %103 = add nsw i64 %102, %101
  %104 = add nsw i64 %101, %98
  store i64 %104, ptr %15, align 8, !tbaa !5
  %105 = call i64 @llvm.smax.i64(i64 %103, i64 %104)
  store i64 %105, ptr %14, align 8, !tbaa !5
  %106 = call i64 @llvm.smax.i64(i64 %105, i64 %72)
  %107 = call i64 @llvm.smax.i64(i64 %106, i64 %100)
  %.pre1098 = load i64, ptr %0, align 8, !tbaa !5
  br label %108

108:                                              ; preds = %69, %65
  %109 = phi i64 [ %.pre1098, %69 ], [ %68, %65 ]
  %110 = phi i64 [ %97, %69 ], [ %67, %65 ]
  %.0916 = phi i64 [ %106, %69 ], [ 1, %65 ]
  %.1 = phi i64 [ %107, %69 ], [ %.0915, %65 ]
  %111 = icmp sgt i64 %110, %109
  br i1 %111, label %112, label %190

112:                                              ; preds = %108
  %113 = mul nsw i64 %109, 5
  %114 = icmp slt i64 %109, 1
  %115 = select i1 %114, i64 1, i64 %113
  %116 = mul nsw i64 %109, 3
  %117 = load i64, ptr %2, align 8, !tbaa !5
  %118 = add nsw i64 %117, %116
  %119 = add nsw i64 %116, %110
  store i64 %119, ptr %15, align 8, !tbaa !5
  %120 = call i64 @llvm.smax.i64(i64 %118, i64 %119)
  store i64 %120, ptr %14, align 8, !tbaa !5
  %121 = call i64 @llvm.smax.i64(i64 %120, i64 %115)
  %.not971 = icmp slt i64 %110, %51
  br i1 %.not971, label %166, label %122

122:                                              ; preds = %112
  %123 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1) #4
  %124 = add i64 %123, 1
  %125 = mul i64 %124, %109
  store i64 %125, ptr %14, align 8, !tbaa !5
  %126 = load i64, ptr %0, align 8, !tbaa !5
  %127 = add i64 %126, 4
  %128 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.1, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1) #4
  %129 = shl i64 %128, 1
  %reass.add = add i64 %127, %129
  %reass.mul = mul i64 %reass.add, %126
  store i64 %reass.mul, ptr %15, align 8, !tbaa !5
  %130 = load i64, ptr %14, align 8
  %131 = call i64 @llvm.smax.i64(i64 %130, i64 %reass.mul)
  store i64 %131, ptr %14, align 8, !tbaa !5
  %132 = load i64, ptr %0, align 8, !tbaa !5
  %133 = add i64 %132, 4
  %134 = mul i64 %133, %132
  %135 = load i64, ptr %2, align 8, !tbaa !5
  %136 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.7, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef nonnull @c_n1) #4
  %137 = mul nsw i64 %136, %135
  %138 = add nsw i64 %137, %134
  store i64 %138, ptr %15, align 8, !tbaa !5
  %139 = load i64, ptr %14, align 8
  %140 = call i64 @llvm.smax.i64(i64 %139, i64 %138)
  store i64 %140, ptr %14, align 8, !tbaa !5
  %141 = load i64, ptr %0, align 8, !tbaa !5
  %142 = add i64 %141, 4
  %143 = mul i64 %142, %141
  %144 = add nsw i64 %141, -1
  %145 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull @c_n1) #4
  %146 = mul nsw i64 %144, %145
  %147 = add nsw i64 %143, %146
  %148 = load i64, ptr %14, align 8
  %149 = call i64 @llvm.smax.i64(i64 %148, i64 %147)
  %150 = load i64, ptr %0, align 8, !tbaa !5
  %151 = add i64 %150, 1
  %152 = mul i64 %151, %150
  %153 = add nsw i64 %152, %115
  %154 = call i64 @llvm.smax.i64(i64 %149, i64 %153)
  %155 = load i64, ptr %2, align 8, !tbaa !5
  %156 = icmp sgt i64 %155, 1
  %157 = add i64 %150, 2
  %158 = add i64 %155, %151
  %.sink1104 = select i1 %156, i64 %158, i64 %157
  %159 = mul i64 %.sink1104, %150
  %160 = call i64 @llvm.smax.i64(i64 %154, i64 %159)
  store i64 %159, ptr %15, align 8
  store i64 %160, ptr %14, align 8, !tbaa !5
  %161 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.4, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef nonnull @c_n1) #4
  %162 = mul nsw i64 %161, %155
  %163 = add nsw i64 %162, %150
  store i64 %163, ptr %15, align 8, !tbaa !5
  %164 = load i64, ptr %14, align 8
  %165 = call i64 @llvm.smax.i64(i64 %164, i64 %163)
  br label %190

166:                                              ; preds = %112
  %167 = add nsw i64 %109, %110
  %168 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.1, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1) #4
  %169 = mul nsw i64 %168, %167
  %170 = add nsw i64 %169, %116
  store i64 %170, ptr %14, align 8, !tbaa !5
  %171 = load i64, ptr %0, align 8, !tbaa !5
  %172 = mul nsw i64 %171, 3
  %173 = load i64, ptr %2, align 8, !tbaa !5
  %174 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.7, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef nonnull @c_n1) #4
  %175 = mul nsw i64 %174, %173
  %176 = add nsw i64 %175, %172
  store i64 %176, ptr %15, align 8, !tbaa !5
  %177 = load i64, ptr %14, align 8
  %178 = call i64 @llvm.smax.i64(i64 %177, i64 %176)
  store i64 %178, ptr %14, align 8, !tbaa !5
  %179 = load i64, ptr %0, align 8, !tbaa !5
  %180 = call i64 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %0, ptr noundef nonnull @c_n1) #4
  %181 = add i64 %180, 3
  %182 = mul i64 %181, %179
  %183 = load i64, ptr %14, align 8
  %184 = call i64 @llvm.smax.i64(i64 %183, i64 %182)
  %185 = call i64 @llvm.smax.i64(i64 %184, i64 %115)
  store i64 %185, ptr %14, align 8, !tbaa !5
  %186 = load i64, ptr %1, align 8, !tbaa !5
  %187 = load i64, ptr %2, align 8, !tbaa !5
  %188 = mul nsw i64 %187, %186
  store i64 %188, ptr %15, align 8, !tbaa !5
  %189 = call i64 @llvm.smax.i64(i64 %185, i64 %188)
  br label %190

190:                                              ; preds = %122, %166, %108
  %.1917 = phi i64 [ %121, %122 ], [ %121, %166 ], [ %.0916, %108 ]
  %.3 = phi i64 [ %165, %122 ], [ %189, %166 ], [ %.1, %108 ]
  %191 = call i64 @llvm.smax.i64(i64 %.1917, i64 %.3)
  %.pre1099 = load i64, ptr %11, align 8, !tbaa !5
  br label %192

192:                                              ; preds = %190, %48
  %193 = phi i64 [ %.pre1099, %190 ], [ %33, %48 ]
  %.0919 = phi i64 [ %51, %190 ], [ undef, %48 ]
  %.2918 = phi i64 [ %.1917, %190 ], [ 1, %48 ]
  %.4 = phi i64 [ %191, %190 ], [ 1, %48 ]
  %194 = sitofp i64 %.4 to float
  store float %194, ptr %10, align 4, !tbaa !9
  %195 = icmp sge i64 %193, %.2918
  %or.cond = select i1 %195, i1 true, i1 %34
  br i1 %or.cond, label %.thread, label %.thread1031.sink.split

.thread:                                          ; preds = %192
  %.pr1027.pr = load i64, ptr %12, align 8, !tbaa !5
  %.not984 = icmp eq i64 %.pr1027.pr, 0
  br i1 %.not984, label %199, label %.thread1031

.thread1031.sink.split:                           ; preds = %192, %44, %41, %38, %36, %13
  %.sink = phi i64 [ -1, %13 ], [ -2, %36 ], [ -3, %38 ], [ -5, %41 ], [ -7, %44 ], [ -12, %192 ]
  store i64 %.sink, ptr %12, align 8, !tbaa !5
  br label %.thread1031

.thread1031:                                      ; preds = %.thread1031.sink.split, %.thread
  %196 = phi i64 [ %.pr1027.pr, %.thread ], [ %.sink, %.thread1031.sink.split ]
  %197 = sub nsw i64 0, %196
  store i64 %197, ptr %14, align 8, !tbaa !5
  %198 = call i32 @xerbla_(ptr noundef nonnull @.str, ptr noundef nonnull %14) #4
  br label %539

199:                                              ; preds = %.thread
  br i1 %34, label %539, label %200

200:                                              ; preds = %199
  %201 = load i64, ptr %0, align 8, !tbaa !5
  %202 = icmp eq i64 %201, 0
  br i1 %202, label %206, label %203

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

206:                                              ; preds = %203, %200
  store i64 0, ptr %9, align 8, !tbaa !5
  br label %539

207:                                              ; preds = %203
  %208 = call double @slamch_(ptr noundef nonnull @.str.9) #4
  %209 = fptrunc double %208 to float
  %210 = call double @slamch_(ptr noundef nonnull @.str.12) #4
  %211 = fptrunc double %210 to float
  %212 = fdiv float %211, %209
  store float %212, ptr %24, align 4, !tbaa !9
  %213 = fdiv float 1.000000e+00, %212
  store float %213, ptr %22, align 4, !tbaa !9
  %214 = call i32 @slabad_(ptr noundef nonnull %24, ptr noundef nonnull %22) #4
  %215 = call double @slange_(ptr noundef nonnull @.str.13, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %10) #4
  %216 = fptrunc double %215 to float
  store float %216, ptr %18, align 4, !tbaa !9
  %217 = fcmp ogt float %216, 0.000000e+00
  %218 = load float, ptr %24, align 4
  %219 = fcmp ogt float %218, %216
  %or.cond1017 = select i1 %217, i1 %219, i1 false
  br i1 %or.cond1017, label %.sink.split, label %220

220:                                              ; preds = %207
  %221 = load float, ptr %22, align 4, !tbaa !9
  %222 = fcmp olt float %221, %216
  br i1 %222, label %.sink.split, label %223

223:                                              ; preds = %220
  %224 = fcmp oeq float %216, 0.000000e+00
  br i1 %224, label %225, label %231

225:                                              ; preds = %223
  %226 = load i64, ptr %0, align 8, !tbaa !5
  %227 = load i64, ptr %1, align 8, !tbaa !5
  %.1018 = call i64 @llvm.smax.i64(i64 %226, i64 %227)
  store i64 %.1018, ptr %14, align 8, !tbaa !5
  %228 = call i32 @slaset_(ptr noundef nonnull @.str.15, ptr noundef nonnull %14, ptr noundef nonnull %2, ptr noundef nonnull @c_b74, ptr noundef nonnull @c_b74, ptr noundef %5, ptr noundef nonnull %6) #4
  %229 = call i32 @slaset_(ptr noundef nonnull @.str.15, ptr noundef nonnull %21, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b74, ptr noundef nonnull @c_b74, ptr noundef %7, ptr noundef nonnull @c__1) #4
  store i64 0, ptr %9, align 8, !tbaa !5
  br label %538

.sink.split:                                      ; preds = %220, %207
  %.sink1106 = phi ptr [ %24, %207 ], [ %22, %220 ]
  %.ph1105 = xor i1 %or.cond1017, true
  %230 = call i32 @slascl_(ptr noundef nonnull @.str.14, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %18, ptr noundef nonnull %.sink1106, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %12) #4
  br label %231

231:                                              ; preds = %.sink.split, %223
  %232 = phi i1 [ false, %223 ], [ %.ph1105, %.sink.split ]
  %233 = call double @slange_(ptr noundef nonnull @.str.13, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %10) #4
  %234 = fptrunc double %233 to float
  store float %234, ptr %19, align 4, !tbaa !9
  %235 = fcmp ule float %234, 0.000000e+00
  %236 = load float, ptr %24, align 4
  %237 = fcmp ule float %236, %234
  %or.cond1020.not = select i1 %235, i1 true, i1 %237
  br i1 %or.cond1020.not, label %238, label %.sink.split1107

238:                                              ; preds = %231
  %239 = load float, ptr %22, align 4, !tbaa !9
  %240 = fcmp olt float %239, %234
  br i1 %240, label %.sink.split1107, label %242

.sink.split1107:                                  ; preds = %238, %231
  %.sink1109 = phi ptr [ %24, %231 ], [ %22, %238 ]
  %241 = call i32 @slascl_(ptr noundef nonnull @.str.14, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %19, ptr noundef nonnull %.sink1109, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %12) #4
  br label %242

242:                                              ; preds = %.sink.split1107, %238
  %243 = phi i1 [ false, %238 ], [ %or.cond1020.not, %.sink.split1107 ]
  %244 = load i64, ptr %0, align 8, !tbaa !5
  %245 = load i64, ptr %1, align 8, !tbaa !5
  %.not986 = icmp slt i64 %244, %245
  br i1 %.not986, label %335, label %246

246:                                              ; preds = %242
  store i64 %244, ptr %17, align 8, !tbaa !5
  %.not1008 = icmp slt i64 %244, %.0919
  br i1 %.not1008, label %261, label %247

247:                                              ; preds = %246
  store i64 %245, ptr %17, align 8, !tbaa !5
  %248 = load i64, ptr %11, align 8, !tbaa !5
  %249 = sub i64 %248, %245
  store i64 %249, ptr %14, align 8, !tbaa !5
  %250 = getelementptr float, ptr %10, i64 %245
  %251 = call i32 @sgeqrf_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef %250, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %252 = load i64, ptr %11, align 8, !tbaa !5
  %253 = sub i64 %252, %245
  store i64 %253, ptr %14, align 8, !tbaa !5
  %254 = call i32 @sormqr_(ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %250, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %255 = load i64, ptr %1, align 8, !tbaa !5
  %256 = icmp sgt i64 %255, 1
  br i1 %256, label %257, label %261

257:                                              ; preds = %247
  %258 = add nsw i64 %255, -1
  store i64 %258, ptr %14, align 8, !tbaa !5
  store i64 %258, ptr %15, align 8, !tbaa !5
  %259 = getelementptr inbounds i8, ptr %3, i64 4
  %260 = call i32 @slaset_(ptr noundef nonnull @.str.16, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull @c_b74, ptr noundef nonnull @c_b74, ptr noundef nonnull %259, ptr noundef nonnull %4) #4
  %.pre1100 = load i64, ptr %1, align 8, !tbaa !5
  br label %261

261:                                              ; preds = %247, %257, %246
  %262 = phi i64 [ %255, %247 ], [ %.pre1100, %257 ], [ %245, %246 ]
  %reass.add1009 = shl i64 %262, 1
  %263 = or disjoint i64 %reass.add1009, 1
  %264 = add nsw i64 %263, %262
  %265 = load i64, ptr %11, align 8, !tbaa !5
  %266 = add i64 %265, 1
  %267 = sub i64 %266, %264
  store i64 %267, ptr %14, align 8, !tbaa !5
  %268 = getelementptr float, ptr %10, i64 %262
  %269 = getelementptr float, ptr %10, i64 %reass.add1009
  %270 = getelementptr inbounds float, ptr %29, i64 %264
  %271 = call i32 @sgebrd_(ptr noundef nonnull %17, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %7, ptr noundef nonnull %10, ptr noundef %268, ptr noundef %269, ptr noundef nonnull %270, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %272 = load i64, ptr %11, align 8, !tbaa !5
  %reass.sub = sub i64 %272, %264
  %273 = add i64 %reass.sub, 1
  store i64 %273, ptr %14, align 8, !tbaa !5
  %274 = call i32 @sormbr_(ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, ptr noundef nonnull %17, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %268, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %270, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %275 = load i64, ptr %11, align 8, !tbaa !5
  %reass.sub1087 = sub i64 %275, %264
  %276 = add i64 %reass.sub1087, 1
  store i64 %276, ptr %14, align 8, !tbaa !5
  %277 = call i32 @sorgbr_(ptr noundef nonnull @.str.9, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %269, ptr noundef nonnull %270, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %278 = load i64, ptr %1, align 8, !tbaa !5
  %279 = getelementptr float, ptr %10, i64 %278
  %280 = call i32 @sbdsqr_(ptr noundef nonnull @.str.19, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef nonnull @c__0, ptr noundef nonnull %2, ptr noundef %7, ptr noundef nonnull %10, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %20, ptr noundef nonnull @c__1, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %279, ptr noundef nonnull %12) #4
  %281 = load i64, ptr %12, align 8, !tbaa !5
  %.not1010 = icmp eq i64 %281, 0
  br i1 %.not1010, label %282, label %538

282:                                              ; preds = %261
  %283 = load float, ptr %8, align 4, !tbaa !9
  %284 = load float, ptr %7, align 4, !tbaa !9
  %285 = fmul float %283, %284
  %286 = fcmp oge float %285, %211
  %287 = select i1 %286, float %285, float %211
  %288 = fcmp olt float %283, 0.000000e+00
  br i1 %288, label %289, label %293

289:                                              ; preds = %282
  %290 = fmul float %284, %209
  %291 = fcmp oge float %290, %211
  %292 = select i1 %291, float %290, float %211
  br label %293

293:                                              ; preds = %289, %282
  %.0923 = phi float [ %292, %289 ], [ %287, %282 ]
  store i64 0, ptr %9, align 8, !tbaa !5
  %294 = load i64, ptr %1, align 8, !tbaa !5
  store i64 %294, ptr %14, align 8, !tbaa !5
  %invariant.gep = getelementptr i8, ptr %5, i64 -4
  %.not10111049 = icmp slt i64 %294, 1
  br i1 %.not10111049, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %293, %304
  %.09261050 = phi i64 [ %305, %304 ], [ 1, %293 ]
  %295 = getelementptr inbounds float, ptr %28, i64 %.09261050
  %296 = load float, ptr %295, align 4, !tbaa !9
  %297 = fcmp ogt float %296, %.0923
  %gep1048 = getelementptr float, ptr %invariant.gep, i64 %.09261050
  br i1 %297, label %298, label %302

298:                                              ; preds = %.lr.ph
  %299 = call i32 @srscl_(ptr noundef nonnull %2, ptr noundef nonnull %295, ptr noundef %gep1048, ptr noundef nonnull %6) #4
  %300 = load i64, ptr %9, align 8, !tbaa !5
  %301 = add nsw i64 %300, 1
  store i64 %301, ptr %9, align 8, !tbaa !5
  br label %304

302:                                              ; preds = %.lr.ph
  %303 = call i32 @slaset_(ptr noundef nonnull @.str.15, ptr noundef nonnull @c__1, ptr noundef nonnull %2, ptr noundef nonnull @c_b74, ptr noundef nonnull @c_b74, ptr noundef %gep1048, ptr noundef nonnull %6) #4
  br label %304

304:                                              ; preds = %298, %302
  %305 = add nuw nsw i64 %.09261050, 1
  %306 = load i64, ptr %14, align 8, !tbaa !5
  %.not1011.not = icmp slt i64 %.09261050, %306
  br i1 %.not1011.not, label %.lr.ph, label %._crit_edge, !llvm.loop !11

._crit_edge:                                      ; preds = %304, %293
  %307 = load i64, ptr %11, align 8, !tbaa !5
  %308 = load i64, ptr %6, align 8, !tbaa !5
  %309 = load i64, ptr %2, align 8, !tbaa !5
  %310 = mul nsw i64 %309, %308
  %.not1012 = icmp sge i64 %307, %310
  %311 = icmp sgt i64 %309, 1
  %or.cond1021 = and i1 %311, %.not1012
  br i1 %or.cond1021, label %312, label %315

312:                                              ; preds = %._crit_edge
  %313 = call i32 @f2c_sgemm(ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.20, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef nonnull @c_b108, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull @c_b74, ptr noundef %10, ptr noundef nonnull %6) #4
  %314 = call i32 @slacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef %10, ptr noundef nonnull %6, ptr noundef %5, ptr noundef nonnull %6) #4
  br label %.loopexit

315:                                              ; preds = %._crit_edge
  br i1 %311, label %316, label %332

316:                                              ; preds = %315
  %317 = load i64, ptr %1, align 8, !tbaa !5
  %318 = sdiv i64 %307, %317
  store i64 %309, ptr %14, align 8, !tbaa !5
  store i64 %318, ptr %15, align 8, !tbaa !5
  %invariant.gep1051 = getelementptr i8, ptr %27, i64 4
  %319 = icmp sgt i64 %318, -1
  br i1 %319, label %.lr.ph1056, label %.loopexit

.lr.ph1056:                                       ; preds = %316, %.lr.ph1056
  %.19271054 = phi i64 [ %327, %.lr.ph1056 ], [ 1, %316 ]
  %320 = load i64, ptr %2, align 8, !tbaa !5
  %reass.sub1088 = sub i64 %320, %.19271054
  %321 = add i64 %reass.sub1088, 1
  %322 = call i64 @llvm.smin.i64(i64 %321, i64 %318)
  store i64 %322, ptr %16, align 8, !tbaa !5
  %323 = mul nsw i64 %.19271054, %25
  %gep1052 = getelementptr float, ptr %invariant.gep1051, i64 %323
  %324 = call i32 @f2c_sgemm(ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.20, ptr noundef nonnull %1, ptr noundef nonnull %16, ptr noundef nonnull %1, ptr noundef nonnull @c_b108, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %gep1052, ptr noundef nonnull %6, ptr noundef nonnull @c_b74, ptr noundef %10, ptr noundef nonnull %1) #4
  %325 = call i32 @slacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %1, ptr noundef nonnull %16, ptr noundef %10, ptr noundef nonnull %1, ptr noundef %gep1052, ptr noundef nonnull %6) #4
  %326 = load i64, ptr %15, align 8, !tbaa !5
  %327 = add nsw i64 %326, %.19271054
  %328 = icmp slt i64 %326, 0
  %329 = load i64, ptr %14, align 8
  %330 = icmp sge i64 %327, %329
  %331 = icmp sle i64 %327, %329
  %.in1013 = select i1 %328, i1 %330, i1 %331
  br i1 %.in1013, label %.lr.ph1056, label %.loopexit, !llvm.loop !13

332:                                              ; preds = %315
  %333 = call i32 @f2c_sgemv(ptr noundef nonnull @.str.17, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef nonnull @c_b108, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b74, ptr noundef %10, ptr noundef nonnull @c__1) #4
  %334 = call i32 @f2c_scopy(ptr noundef nonnull %1, ptr noundef %10, ptr noundef nonnull @c__1, ptr noundef %5, ptr noundef nonnull @c__1) #4
  br label %.loopexit

335:                                              ; preds = %242
  %336 = shl i64 %244, 1
  %337 = add nsw i64 %336, -4
  %338 = call i64 @llvm.smax.i64(i64 %244, i64 %337)
  %339 = load i64, ptr %2, align 8, !tbaa !5
  %.1022 = call i64 @llvm.smax.i64(i64 %338, i64 %339)
  store i64 %.1022, ptr %15, align 8, !tbaa !5
  %.not989 = icmp slt i64 %245, %.0919
  %.pre1101 = load i64, ptr %11, align 8, !tbaa !5
  br i1 %.not989, label %459, label %340

340:                                              ; preds = %335
  %.neg = mul i64 %244, -3
  %341 = add i64 %.neg, %245
  %342 = add i64 %244, 4
  %343 = mul i64 %342, %244
  %344 = call i64 @llvm.smax.i64(i64 %.1022, i64 %341)
  %345 = add nsw i64 %344, %343
  %.not991 = icmp slt i64 %.pre1101, %345
  br i1 %.not991, label %459, label %346

346:                                              ; preds = %340
  store i64 %244, ptr %23, align 8, !tbaa !5
  %347 = load i64, ptr %4, align 8, !tbaa !5
  %348 = add i64 %347, 4
  %349 = mul i64 %348, %244
  %350 = add nsw i64 %349, %344
  %351 = add i64 %339, 1
  %352 = add i64 %351, %347
  %353 = mul i64 %352, %244
  store i64 %353, ptr %14, align 8, !tbaa !5
  %354 = call i64 @llvm.smax.i64(i64 %350, i64 %353)
  %.not1001 = icmp slt i64 %.pre1101, %354
  br i1 %.not1001, label %356, label %355

355:                                              ; preds = %346
  store i64 %347, ptr %23, align 8, !tbaa !5
  br label %356

356:                                              ; preds = %355, %346
  %357 = add nsw i64 %244, 1
  %358 = sub i64 %.pre1101, %244
  store i64 %358, ptr %15, align 8, !tbaa !5
  %359 = getelementptr float, ptr %10, i64 %244
  %360 = call i32 @sgelqf_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef %359, ptr noundef nonnull %15, ptr noundef nonnull %12) #4
  %361 = call i32 @slacpy_(ptr noundef nonnull @.str.16, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %359, ptr noundef nonnull %23) #4
  %362 = load i64, ptr %0, align 8, !tbaa !5
  %363 = add nsw i64 %362, -1
  store i64 %363, ptr %15, align 8, !tbaa !5
  store i64 %363, ptr %14, align 8, !tbaa !5
  %364 = load i64, ptr %23, align 8, !tbaa !5
  %365 = getelementptr float, ptr %359, i64 %364
  %366 = call i32 @slaset_(ptr noundef nonnull @.str.19, ptr noundef nonnull %15, ptr noundef nonnull %14, ptr noundef nonnull @c_b74, ptr noundef nonnull @c_b74, ptr noundef %365, ptr noundef nonnull %23) #4
  %367 = load i64, ptr %23, align 8, !tbaa !5
  %368 = load i64, ptr %0, align 8, !tbaa !5
  %369 = mul nsw i64 %368, %367
  %370 = add nsw i64 %369, %357
  %371 = add nsw i64 %370, %368
  %372 = add nsw i64 %371, %368
  %373 = add nsw i64 %372, %368
  %374 = load i64, ptr %11, align 8, !tbaa !5
  %375 = add i64 %374, 1
  %376 = sub i64 %375, %373
  store i64 %376, ptr %15, align 8, !tbaa !5
  %377 = getelementptr inbounds float, ptr %29, i64 %370
  %378 = getelementptr inbounds float, ptr %29, i64 %371
  %379 = getelementptr inbounds float, ptr %29, i64 %372
  %380 = getelementptr inbounds float, ptr %29, i64 %373
  %381 = call i32 @sgebrd_(ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef %359, ptr noundef nonnull %23, ptr noundef %7, ptr noundef nonnull %377, ptr noundef nonnull %378, ptr noundef nonnull %379, ptr noundef nonnull %380, ptr noundef nonnull %15, ptr noundef nonnull %12) #4
  %382 = load i64, ptr %11, align 8, !tbaa !5
  %383 = add i64 %382, 1
  %384 = sub i64 %383, %373
  store i64 %384, ptr %15, align 8, !tbaa !5
  %385 = call i32 @sormbr_(ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef %359, ptr noundef nonnull %23, ptr noundef nonnull %378, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %380, ptr noundef nonnull %15, ptr noundef nonnull %12) #4
  %386 = load i64, ptr %11, align 8, !tbaa !5
  %reass.sub1089 = sub i64 %386, %373
  %387 = add i64 %reass.sub1089, 1
  store i64 %387, ptr %15, align 8, !tbaa !5
  %388 = call i32 @sorgbr_(ptr noundef nonnull @.str.9, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef %359, ptr noundef nonnull %23, ptr noundef nonnull %379, ptr noundef nonnull %380, ptr noundef nonnull %15, ptr noundef nonnull %12) #4
  %389 = load i64, ptr %0, align 8, !tbaa !5
  %390 = getelementptr float, ptr %377, i64 %389
  %391 = call i32 @sbdsqr_(ptr noundef nonnull @.str.19, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull @c__0, ptr noundef nonnull %2, ptr noundef %7, ptr noundef nonnull %377, ptr noundef %359, ptr noundef nonnull %23, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %390, ptr noundef nonnull %12) #4
  %392 = load i64, ptr %12, align 8, !tbaa !5
  %.not1002 = icmp eq i64 %392, 0
  br i1 %.not1002, label %393, label %538

393:                                              ; preds = %356
  %394 = load float, ptr %8, align 4, !tbaa !9
  %395 = load float, ptr %7, align 4, !tbaa !9
  %396 = fmul float %394, %395
  %397 = fcmp oge float %396, %211
  %398 = select i1 %397, float %396, float %211
  %399 = fcmp olt float %394, 0.000000e+00
  br i1 %399, label %400, label %404

400:                                              ; preds = %393
  %401 = fmul float %395, %209
  %402 = fcmp oge float %401, %211
  %403 = select i1 %402, float %401, float %211
  br label %404

404:                                              ; preds = %400, %393
  %.1924 = phi float [ %403, %400 ], [ %398, %393 ]
  store i64 0, ptr %9, align 8, !tbaa !5
  %405 = load i64, ptr %0, align 8, !tbaa !5
  store i64 %405, ptr %15, align 8, !tbaa !5
  %invariant.gep1057 = getelementptr i8, ptr %5, i64 -4
  %.not10031061 = icmp slt i64 %405, 1
  br i1 %.not10031061, label %._crit_edge1065, label %.lr.ph1064

.lr.ph1064:                                       ; preds = %404, %415
  %.29281062 = phi i64 [ %416, %415 ], [ 1, %404 ]
  %406 = getelementptr inbounds float, ptr %28, i64 %.29281062
  %407 = load float, ptr %406, align 4, !tbaa !9
  %408 = fcmp ogt float %407, %.1924
  %gep1060 = getelementptr float, ptr %invariant.gep1057, i64 %.29281062
  br i1 %408, label %409, label %413

409:                                              ; preds = %.lr.ph1064
  %410 = call i32 @srscl_(ptr noundef nonnull %2, ptr noundef nonnull %406, ptr noundef %gep1060, ptr noundef nonnull %6) #4
  %411 = load i64, ptr %9, align 8, !tbaa !5
  %412 = add nsw i64 %411, 1
  store i64 %412, ptr %9, align 8, !tbaa !5
  br label %415

413:                                              ; preds = %.lr.ph1064
  %414 = call i32 @slaset_(ptr noundef nonnull @.str.15, ptr noundef nonnull @c__1, ptr noundef nonnull %2, ptr noundef nonnull @c_b74, ptr noundef nonnull @c_b74, ptr noundef %gep1060, ptr noundef nonnull %6) #4
  br label %415

415:                                              ; preds = %409, %413
  %416 = add nuw nsw i64 %.29281062, 1
  %417 = load i64, ptr %15, align 8, !tbaa !5
  %.not1003.not = icmp slt i64 %.29281062, %417
  br i1 %.not1003.not, label %.lr.ph1064, label %._crit_edge1065, !llvm.loop !14

._crit_edge1065:                                  ; preds = %415, %404
  %418 = load i64, ptr %11, align 8, !tbaa !5
  %419 = load i64, ptr %6, align 8, !tbaa !5
  %420 = load i64, ptr %2, align 8, !tbaa !5
  %421 = mul nsw i64 %420, %419
  %422 = add i64 %369, %244
  %423 = add i64 %422, %421
  %.not1004 = icmp sge i64 %418, %423
  %424 = icmp sgt i64 %420, 1
  %or.cond1024 = and i1 %424, %.not1004
  br i1 %or.cond1024, label %425, label %428

425:                                              ; preds = %._crit_edge1065
  %426 = call i32 @f2c_sgemm(ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.20, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef nonnull @c_b108, ptr noundef %359, ptr noundef nonnull %23, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull @c_b74, ptr noundef nonnull %377, ptr noundef nonnull %6) #4
  %427 = call i32 @slacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %377, ptr noundef nonnull %6, ptr noundef %5, ptr noundef nonnull %6) #4
  br label %.loopexit1045

428:                                              ; preds = %._crit_edge1065
  br i1 %424, label %429, label %446

429:                                              ; preds = %428
  %reass.sub1090 = sub i64 %418, %370
  %430 = add i64 %reass.sub1090, 1
  %431 = load i64, ptr %0, align 8, !tbaa !5
  %432 = sdiv i64 %430, %431
  store i64 %420, ptr %15, align 8, !tbaa !5
  store i64 %432, ptr %14, align 8, !tbaa !5
  %invariant.gep1066 = getelementptr i8, ptr %27, i64 4
  %433 = icmp sgt i64 %432, -1
  br i1 %433, label %.lr.ph1071, label %.loopexit1045

.lr.ph1071:                                       ; preds = %429, %.lr.ph1071
  %.39291069 = phi i64 [ %441, %.lr.ph1071 ], [ 1, %429 ]
  %434 = load i64, ptr %2, align 8, !tbaa !5
  %reass.sub1091 = sub i64 %434, %.39291069
  %435 = add i64 %reass.sub1091, 1
  %436 = call i64 @llvm.smin.i64(i64 %435, i64 %432)
  store i64 %436, ptr %16, align 8, !tbaa !5
  %437 = mul nsw i64 %.39291069, %25
  %gep1067 = getelementptr float, ptr %invariant.gep1066, i64 %437
  %438 = call i32 @f2c_sgemm(ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.20, ptr noundef nonnull %0, ptr noundef nonnull %16, ptr noundef nonnull %0, ptr noundef nonnull @c_b108, ptr noundef %359, ptr noundef nonnull %23, ptr noundef %gep1067, ptr noundef nonnull %6, ptr noundef nonnull @c_b74, ptr noundef nonnull %377, ptr noundef nonnull %0) #4
  %439 = call i32 @slacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %0, ptr noundef nonnull %16, ptr noundef nonnull %377, ptr noundef nonnull %0, ptr noundef %gep1067, ptr noundef nonnull %6) #4
  %440 = load i64, ptr %14, align 8, !tbaa !5
  %441 = add nsw i64 %440, %.39291069
  %442 = icmp slt i64 %440, 0
  %443 = load i64, ptr %15, align 8
  %444 = icmp sge i64 %441, %443
  %445 = icmp sle i64 %441, %443
  %.in1005 = select i1 %442, i1 %444, i1 %445
  br i1 %.in1005, label %.lr.ph1071, label %.loopexit1045, !llvm.loop !15

446:                                              ; preds = %428
  %447 = call i32 @f2c_sgemv(ptr noundef nonnull @.str.17, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull @c_b108, ptr noundef %359, ptr noundef nonnull %23, ptr noundef %5, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b74, ptr noundef nonnull %377, ptr noundef nonnull @c__1) #4
  %448 = call i32 @f2c_scopy(ptr noundef nonnull %0, ptr noundef nonnull %377, ptr noundef nonnull @c__1, ptr noundef %5, ptr noundef nonnull @c__1) #4
  br label %.loopexit1045

.loopexit1045:                                    ; preds = %.lr.ph1071, %429, %446, %425
  %449 = load i64, ptr %1, align 8, !tbaa !5
  %450 = load i64, ptr %0, align 8, !tbaa !5
  %451 = sub nsw i64 %449, %450
  store i64 %451, ptr %14, align 8, !tbaa !5
  %452 = getelementptr inbounds float, ptr %5, i64 %450
  %453 = call i32 @slaset_(ptr noundef nonnull @.str.15, ptr noundef nonnull %14, ptr noundef nonnull %2, ptr noundef nonnull @c_b74, ptr noundef nonnull @c_b74, ptr noundef %452, ptr noundef nonnull %6) #4
  %454 = load i64, ptr %0, align 8, !tbaa !5
  %455 = load i64, ptr %11, align 8, !tbaa !5
  %456 = sub i64 %455, %454
  store i64 %456, ptr %14, align 8, !tbaa !5
  %457 = getelementptr float, ptr %10, i64 %454
  %458 = call i32 @sormlq_(ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %10, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %457, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  br label %.loopexit

459:                                              ; preds = %340, %335
  %460 = or disjoint i64 %336, 1
  %461 = add nsw i64 %460, %244
  %reass.sub1092 = sub i64 %.pre1101, %461
  %462 = add i64 %reass.sub1092, 1
  store i64 %462, ptr %14, align 8, !tbaa !5
  %463 = getelementptr float, ptr %10, i64 %244
  %464 = getelementptr float, ptr %10, i64 %336
  %465 = getelementptr inbounds float, ptr %29, i64 %461
  %466 = call i32 @sgebrd_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %7, ptr noundef nonnull %10, ptr noundef %463, ptr noundef %464, ptr noundef nonnull %465, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %467 = load i64, ptr %11, align 8, !tbaa !5
  %reass.sub1093 = sub i64 %467, %461
  %468 = add i64 %reass.sub1093, 1
  store i64 %468, ptr %14, align 8, !tbaa !5
  %469 = call i32 @sormbr_(ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %463, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %465, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %470 = load i64, ptr %11, align 8, !tbaa !5
  %reass.sub1094 = sub i64 %470, %461
  %471 = add i64 %reass.sub1094, 1
  store i64 %471, ptr %14, align 8, !tbaa !5
  %472 = call i32 @sorgbr_(ptr noundef nonnull @.str.9, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %464, ptr noundef nonnull %465, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %473 = load i64, ptr %0, align 8, !tbaa !5
  %474 = getelementptr float, ptr %10, i64 %473
  %475 = call i32 @sbdsqr_(ptr noundef nonnull @.str.16, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull @c__0, ptr noundef nonnull %2, ptr noundef %7, ptr noundef nonnull %10, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %20, ptr noundef nonnull @c__1, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %474, ptr noundef nonnull %12) #4
  %476 = load i64, ptr %12, align 8, !tbaa !5
  %.not992 = icmp eq i64 %476, 0
  br i1 %.not992, label %477, label %538

477:                                              ; preds = %459
  %478 = load float, ptr %8, align 4, !tbaa !9
  %479 = load float, ptr %7, align 4, !tbaa !9
  %480 = fmul float %478, %479
  %481 = fcmp oge float %480, %211
  %482 = select i1 %481, float %480, float %211
  %483 = fcmp olt float %478, 0.000000e+00
  br i1 %483, label %484, label %488

484:                                              ; preds = %477
  %485 = fmul float %479, %209
  %486 = fcmp oge float %485, %211
  %487 = select i1 %486, float %485, float %211
  br label %488

488:                                              ; preds = %484, %477
  %.2925 = phi float [ %487, %484 ], [ %482, %477 ]
  store i64 0, ptr %9, align 8, !tbaa !5
  %489 = load i64, ptr %0, align 8, !tbaa !5
  store i64 %489, ptr %14, align 8, !tbaa !5
  %invariant.gep1072 = getelementptr i8, ptr %5, i64 -4
  %.not9931076 = icmp slt i64 %489, 1
  br i1 %.not9931076, label %._crit_edge1080, label %.lr.ph1079

.lr.ph1079:                                       ; preds = %488, %499
  %.49301077 = phi i64 [ %500, %499 ], [ 1, %488 ]
  %490 = getelementptr inbounds float, ptr %28, i64 %.49301077
  %491 = load float, ptr %490, align 4, !tbaa !9
  %492 = fcmp ogt float %491, %.2925
  %gep1075 = getelementptr float, ptr %invariant.gep1072, i64 %.49301077
  br i1 %492, label %493, label %497

493:                                              ; preds = %.lr.ph1079
  %494 = call i32 @srscl_(ptr noundef nonnull %2, ptr noundef nonnull %490, ptr noundef %gep1075, ptr noundef nonnull %6) #4
  %495 = load i64, ptr %9, align 8, !tbaa !5
  %496 = add nsw i64 %495, 1
  store i64 %496, ptr %9, align 8, !tbaa !5
  br label %499

497:                                              ; preds = %.lr.ph1079
  %498 = call i32 @slaset_(ptr noundef nonnull @.str.15, ptr noundef nonnull @c__1, ptr noundef nonnull %2, ptr noundef nonnull @c_b74, ptr noundef nonnull @c_b74, ptr noundef %gep1075, ptr noundef nonnull %6) #4
  br label %499

499:                                              ; preds = %493, %497
  %500 = add nuw nsw i64 %.49301077, 1
  %501 = load i64, ptr %14, align 8, !tbaa !5
  %.not993.not = icmp slt i64 %.49301077, %501
  br i1 %.not993.not, label %.lr.ph1079, label %._crit_edge1080, !llvm.loop !16

._crit_edge1080:                                  ; preds = %499, %488
  %502 = load i64, ptr %11, align 8, !tbaa !5
  %503 = load i64, ptr %6, align 8, !tbaa !5
  %504 = load i64, ptr %2, align 8, !tbaa !5
  %505 = mul nsw i64 %504, %503
  %.not994 = icmp sge i64 %502, %505
  %506 = icmp sgt i64 %504, 1
  %or.cond1025 = and i1 %506, %.not994
  br i1 %or.cond1025, label %507, label %510

507:                                              ; preds = %._crit_edge1080
  %508 = call i32 @f2c_sgemm(ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.20, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef nonnull @c_b108, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull @c_b74, ptr noundef %10, ptr noundef nonnull %6) #4
  %509 = call i32 @slacpy_(ptr noundef nonnull @.str.15, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef %10, ptr noundef nonnull %6, ptr noundef %5, ptr noundef nonnull %6) #4
  br label %.loopexit

510:                                              ; preds = %._crit_edge1080
  br i1 %506, label %511, label %527

511:                                              ; preds = %510
  %512 = load i64, ptr %1, align 8, !tbaa !5
  %513 = sdiv i64 %502, %512
  store i64 %504, ptr %14, align 8, !tbaa !5
  store i64 %513, ptr %15, align 8, !tbaa !5
  %invariant.gep1081 = getelementptr i8, ptr %27, i64 4
  %514 = icmp sgt i64 %513, -1
  br i1 %514, label %.lr.ph1086, label %.loopexit

.lr.ph1086:                                       ; preds = %511, %.lr.ph1086
  %.59311084 = phi i64 [ %522, %.lr.ph1086 ], [ 1, %511 ]
  %515 = load i64, ptr %2, align 8, !tbaa !5
  %reass.sub1095 = sub i64 %515, %.59311084
  %516 = add i64 %reass.sub1095, 1
  %517 = call i64 @llvm.smin.i64(i64 %516, i64 %513)
  store i64 %517, ptr %16, align 8, !tbaa !5
  %518 = mul nsw i64 %.59311084, %25
  %gep1082 = getelementptr float, ptr %invariant.gep1081, i64 %518
  %519 = call i32 @f2c_sgemm(ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.20, ptr noundef nonnull %1, ptr noundef nonnull %16, ptr noundef nonnull %0, ptr noundef nonnull @c_b108, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %gep1082, ptr noundef nonnull %6, ptr noundef nonnull @c_b74, ptr noundef %10, ptr noundef nonnull %1) #4
  %520 = call i32 @slacpy_(ptr noundef nonnull @.str.15, ptr noundef nonnull %1, ptr noundef nonnull %16, ptr noundef %10, ptr noundef nonnull %1, ptr noundef %gep1082, ptr noundef nonnull %6) #4
  %521 = load i64, ptr %15, align 8, !tbaa !5
  %522 = add nsw i64 %521, %.59311084
  %523 = icmp slt i64 %521, 0
  %524 = load i64, ptr %14, align 8
  %525 = icmp sge i64 %522, %524
  %526 = icmp sle i64 %522, %524
  %.in = select i1 %523, i1 %525, i1 %526
  br i1 %.in, label %.lr.ph1086, label %.loopexit, !llvm.loop !17

527:                                              ; preds = %510
  %528 = call i32 @f2c_sgemv(ptr noundef nonnull @.str.17, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull @c_b108, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b74, ptr noundef %10, ptr noundef nonnull @c__1) #4
  %529 = call i32 @f2c_scopy(ptr noundef nonnull %1, ptr noundef %10, ptr noundef nonnull @c__1, ptr noundef %5, ptr noundef nonnull @c__1) #4
  br label %.loopexit

.loopexit:                                        ; preds = %.lr.ph1056, %.lr.ph1086, %316, %511, %.loopexit1045, %527, %507, %312, %332
  %brmerge = or i1 %or.cond1017, %232
  br i1 %brmerge, label %.sink.split1110, label %532

.sink.split1110:                                  ; preds = %.loopexit
  %.mux = select i1 %or.cond1017, ptr %24, ptr %22
  %530 = call i32 @slascl_(ptr noundef nonnull @.str.14, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %18, ptr noundef nonnull %.mux, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %12) #4
  %531 = call i32 @slascl_(ptr noundef nonnull @.str.14, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %.mux, ptr noundef nonnull %18, ptr noundef nonnull %21, ptr noundef nonnull @c__1, ptr noundef %7, ptr noundef nonnull %21, ptr noundef nonnull %12) #4
  br label %532

532:                                              ; preds = %.loopexit, %.sink.split1110
  br i1 %or.cond1020.not, label %535, label %533

533:                                              ; preds = %532
  %534 = call i32 @slascl_(ptr noundef nonnull @.str.14, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %24, ptr noundef nonnull %19, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %12) #4
  br label %538

535:                                              ; preds = %532
  br i1 %243, label %536, label %538

536:                                              ; preds = %535
  %537 = call i32 @slascl_(ptr noundef nonnull @.str.14, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %22, ptr noundef nonnull %19, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %12) #4
  br label %538

538:                                              ; preds = %533, %536, %535, %459, %356, %261, %225
  store float %194, ptr %10, align 4, !tbaa !9
  br label %539

539:                                              ; preds = %199, %538, %206, %.thread1031
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #4
  ret i32 0
}

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

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

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

declare double @slamch_(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare i32 @sormlq_(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

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

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

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

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

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

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

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


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