; LLVM IR from OpenMathLib/OpenBLAS :: lapack-netlib/SRC (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 i32, align 4
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@c__0 = external hidden global i32, align 4
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b50 = external hidden global float, align 4
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b83 = external hidden global float, align 4

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

101:                                              ; preds = %13
  %102 = load ptr, ptr %14, align 8, !tbaa !5
  %103 = load i32, ptr %102, align 4, !tbaa !9
  br label %107

104:                                              ; preds = %13
  %105 = load ptr, ptr %15, align 8, !tbaa !5
  %106 = load i32, ptr %105, align 4, !tbaa !9
  br label %107

107:                                              ; preds = %104, %101
  %108 = phi i32 [ %103, %101 ], [ %106, %104 ]
  store i32 %108, ptr %50, align 4, !tbaa !9
  %109 = load ptr, ptr %14, align 8, !tbaa !5
  %110 = load i32, ptr %109, align 4, !tbaa !9
  %111 = load ptr, ptr %15, align 8, !tbaa !5
  %112 = load i32, ptr %111, align 4, !tbaa !9
  %113 = icmp sge i32 %110, %112
  br i1 %113, label %114, label %117

114:                                              ; preds = %107
  %115 = load ptr, ptr %14, align 8, !tbaa !5
  %116 = load i32, ptr %115, align 4, !tbaa !9
  br label %120

117:                                              ; preds = %107
  %118 = load ptr, ptr %15, align 8, !tbaa !5
  %119 = load i32, ptr %118, align 4, !tbaa !9
  br label %120

120:                                              ; preds = %117, %114
  %121 = phi i32 [ %116, %114 ], [ %119, %117 ]
  store i32 %121, ptr %51, align 4, !tbaa !9
  %122 = load ptr, ptr %25, align 8, !tbaa !5
  %123 = load i32, ptr %122, align 4, !tbaa !9
  %124 = icmp eq i32 %123, -1
  %125 = zext i1 %124 to i32
  store i32 %125, ptr %66, align 4, !tbaa !9
  %126 = load ptr, ptr %14, align 8, !tbaa !5
  %127 = load i32, ptr %126, align 4, !tbaa !9
  %128 = icmp slt i32 %127, 0
  br i1 %128, label %129, label %131

129:                                              ; preds = %120
  %130 = load ptr, ptr %26, align 8, !tbaa !5
  store i32 -1, ptr %130, align 4, !tbaa !9
  br label %175

131:                                              ; preds = %120
  %132 = load ptr, ptr %15, align 8, !tbaa !5
  %133 = load i32, ptr %132, align 4, !tbaa !9
  %134 = icmp slt i32 %133, 0
  br i1 %134, label %135, label %137

135:                                              ; preds = %131
  %136 = load ptr, ptr %26, align 8, !tbaa !5
  store i32 -2, ptr %136, align 4, !tbaa !9
  br label %174

137:                                              ; preds = %131
  %138 = load ptr, ptr %16, align 8, !tbaa !5
  %139 = load i32, ptr %138, align 4, !tbaa !9
  %140 = icmp slt i32 %139, 0
  br i1 %140, label %141, label %143

141:                                              ; preds = %137
  %142 = load ptr, ptr %26, align 8, !tbaa !5
  store i32 -3, ptr %142, align 4, !tbaa !9
  br label %173

143:                                              ; preds = %137
  %144 = load ptr, ptr %18, align 8, !tbaa !5
  %145 = load i32, ptr %144, align 4, !tbaa !9
  %146 = load ptr, ptr %14, align 8, !tbaa !5
  %147 = load i32, ptr %146, align 4, !tbaa !9
  %148 = icmp sge i32 1, %147
  br i1 %148, label %149, label %150

149:                                              ; preds = %143
  br label %153

150:                                              ; preds = %143
  %151 = load ptr, ptr %14, align 8, !tbaa !5
  %152 = load i32, ptr %151, align 4, !tbaa !9
  br label %153

153:                                              ; preds = %150, %149
  %154 = phi i32 [ 1, %149 ], [ %152, %150 ]
  %155 = icmp slt i32 %145, %154
  br i1 %155, label %156, label %158

156:                                              ; preds = %153
  %157 = load ptr, ptr %26, align 8, !tbaa !5
  store i32 -5, ptr %157, align 4, !tbaa !9
  br label %172

158:                                              ; preds = %153
  %159 = load ptr, ptr %20, align 8, !tbaa !5
  %160 = load i32, ptr %159, align 4, !tbaa !9
  %161 = load i32, ptr %51, align 4, !tbaa !9
  %162 = icmp sge i32 1, %161
  br i1 %162, label %163, label %164

163:                                              ; preds = %158
  br label %166

164:                                              ; preds = %158
  %165 = load i32, ptr %51, align 4, !tbaa !9
  br label %166

166:                                              ; preds = %164, %163
  %167 = phi i32 [ 1, %163 ], [ %165, %164 ]
  %168 = icmp slt i32 %160, %167
  br i1 %168, label %169, label %171

169:                                              ; preds = %166
  %170 = load ptr, ptr %26, align 8, !tbaa !5
  store i32 -7, ptr %170, align 4, !tbaa !9
  br label %171

171:                                              ; preds = %169, %166
  br label %172

172:                                              ; preds = %171, %156
  br label %173

173:                                              ; preds = %172, %141
  br label %174

174:                                              ; preds = %173, %135
  br label %175

175:                                              ; preds = %174, %129
  %176 = load ptr, ptr %26, align 8, !tbaa !5
  %177 = load i32, ptr %176, align 4, !tbaa !9
  %178 = icmp eq i32 %177, 0
  br i1 %178, label %179, label %850

179:                                              ; preds = %175
  store i32 1, ptr %63, align 4, !tbaa !9
  store i32 1, ptr %64, align 4, !tbaa !9
  %180 = load i32, ptr %50, align 4, !tbaa !9
  %181 = icmp sgt i32 %180, 0
  br i1 %181, label %182, label %835

182:                                              ; preds = %179
  %183 = load ptr, ptr %14, align 8, !tbaa !5
  %184 = load i32, ptr %183, align 4, !tbaa !9
  store i32 %184, ptr %59, align 4, !tbaa !9
  %185 = load ptr, ptr %14, align 8, !tbaa !5
  %186 = load ptr, ptr %15, align 8, !tbaa !5
  %187 = load ptr, ptr %16, align 8, !tbaa !5
  %188 = call i32 @ilaenv_(ptr noundef @c__6, ptr noundef @.str, ptr noundef @.str.1, ptr noundef %185, ptr noundef %186, ptr noundef %187, ptr noundef @c_n1, i32 noundef 6, i32 noundef 1)
  store i32 %188, ptr %54, align 4, !tbaa !9
  %189 = load ptr, ptr %14, align 8, !tbaa !5
  %190 = load i32, ptr %189, align 4, !tbaa !9
  %191 = load ptr, ptr %15, align 8, !tbaa !5
  %192 = load i32, ptr %191, align 4, !tbaa !9
  %193 = icmp sge i32 %190, %192
  br i1 %193, label %194, label %262

194:                                              ; preds = %182
  %195 = load ptr, ptr %14, align 8, !tbaa !5
  %196 = load i32, ptr %195, align 4, !tbaa !9
  %197 = load i32, ptr %54, align 4, !tbaa !9
  %198 = icmp sge i32 %196, %197
  br i1 %198, label %199, label %262

199:                                              ; preds = %194
  %200 = load ptr, ptr %14, align 8, !tbaa !5
  %201 = load ptr, ptr %15, align 8, !tbaa !5
  %202 = load ptr, ptr %17, align 8, !tbaa !5
  %203 = load i32, ptr %28, align 4, !tbaa !9
  %204 = sext i32 %203 to i64
  %205 = getelementptr inbounds float, ptr %202, i64 %204
  %206 = load ptr, ptr %18, align 8, !tbaa !5
  %207 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %208 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %209 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sgeqrf_(ptr noundef %200, ptr noundef %201, ptr noundef %205, ptr noundef %206, ptr noundef %207, ptr noundef %208, ptr noundef @c_n1, ptr noundef %209)
  %210 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %211 = load float, ptr %210, align 4, !tbaa !11
  %212 = fptosi float %211 to i32
  store i32 %212, ptr %40, align 4, !tbaa !9
  %213 = load ptr, ptr %14, align 8, !tbaa !5
  %214 = load ptr, ptr %16, align 8, !tbaa !5
  %215 = load ptr, ptr %15, align 8, !tbaa !5
  %216 = load ptr, ptr %17, align 8, !tbaa !5
  %217 = load i32, ptr %28, align 4, !tbaa !9
  %218 = sext i32 %217 to i64
  %219 = getelementptr inbounds float, ptr %216, i64 %218
  %220 = load ptr, ptr %18, align 8, !tbaa !5
  %221 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %222 = load ptr, ptr %19, align 8, !tbaa !5
  %223 = load i32, ptr %30, align 4, !tbaa !9
  %224 = sext i32 %223 to i64
  %225 = getelementptr inbounds float, ptr %222, i64 %224
  %226 = load ptr, ptr %20, align 8, !tbaa !5
  %227 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %228 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormqr_(ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %213, ptr noundef %214, ptr noundef %215, ptr noundef %219, ptr noundef %220, ptr noundef %221, ptr noundef %225, ptr noundef %226, ptr noundef %227, ptr noundef @c_n1, ptr noundef %228)
  %229 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %230 = load float, ptr %229, align 4, !tbaa !11
  %231 = fptosi float %230 to i32
  store i32 %231, ptr %47, align 4, !tbaa !9
  %232 = load ptr, ptr %15, align 8, !tbaa !5
  %233 = load i32, ptr %232, align 4, !tbaa !9
  store i32 %233, ptr %59, align 4, !tbaa !9
  %234 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %234, ptr %31, align 4, !tbaa !9
  %235 = load ptr, ptr %15, align 8, !tbaa !5
  %236 = load i32, ptr %235, align 4, !tbaa !9
  %237 = load i32, ptr %40, align 4, !tbaa !9
  %238 = add nsw i32 %236, %237
  store i32 %238, ptr %32, align 4, !tbaa !9
  %239 = load i32, ptr %31, align 4, !tbaa !9
  %240 = load i32, ptr %32, align 4, !tbaa !9
  %241 = icmp sge i32 %239, %240
  br i1 %241, label %242, label %244

242:                                              ; preds = %199
  %243 = load i32, ptr %31, align 4, !tbaa !9
  br label %246

244:                                              ; preds = %199
  %245 = load i32, ptr %32, align 4, !tbaa !9
  br label %246

246:                                              ; preds = %244, %242
  %247 = phi i32 [ %243, %242 ], [ %245, %244 ]
  store i32 %247, ptr %64, align 4, !tbaa !9
  %248 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %248, ptr %31, align 4, !tbaa !9
  %249 = load ptr, ptr %15, align 8, !tbaa !5
  %250 = load i32, ptr %249, align 4, !tbaa !9
  %251 = load i32, ptr %47, align 4, !tbaa !9
  %252 = add nsw i32 %250, %251
  store i32 %252, ptr %32, align 4, !tbaa !9
  %253 = load i32, ptr %31, align 4, !tbaa !9
  %254 = load i32, ptr %32, align 4, !tbaa !9
  %255 = icmp sge i32 %253, %254
  br i1 %255, label %256, label %258

256:                                              ; preds = %246
  %257 = load i32, ptr %31, align 4, !tbaa !9
  br label %260

258:                                              ; preds = %246
  %259 = load i32, ptr %32, align 4, !tbaa !9
  br label %260

260:                                              ; preds = %258, %256
  %261 = phi i32 [ %257, %256 ], [ %259, %258 ]
  store i32 %261, ptr %64, align 4, !tbaa !9
  br label %262

262:                                              ; preds = %260, %194, %182
  %263 = load ptr, ptr %14, align 8, !tbaa !5
  %264 = load i32, ptr %263, align 4, !tbaa !9
  %265 = load ptr, ptr %15, align 8, !tbaa !5
  %266 = load i32, ptr %265, align 4, !tbaa !9
  %267 = icmp sge i32 %264, %266
  br i1 %267, label %268, label %436

268:                                              ; preds = %262
  store i32 1, ptr %31, align 4, !tbaa !9
  %269 = load ptr, ptr %15, align 8, !tbaa !5
  %270 = load i32, ptr %269, align 4, !tbaa !9
  %271 = mul nsw i32 %270, 5
  store i32 %271, ptr %32, align 4, !tbaa !9
  %272 = load i32, ptr %31, align 4, !tbaa !9
  %273 = load i32, ptr %32, align 4, !tbaa !9
  %274 = icmp sge i32 %272, %273
  br i1 %274, label %275, label %277

275:                                              ; preds = %268
  %276 = load i32, ptr %31, align 4, !tbaa !9
  br label %279

277:                                              ; preds = %268
  %278 = load i32, ptr %32, align 4, !tbaa !9
  br label %279

279:                                              ; preds = %277, %275
  %280 = phi i32 [ %276, %275 ], [ %278, %277 ]
  store i32 %280, ptr %60, align 4, !tbaa !9
  %281 = load ptr, ptr %15, align 8, !tbaa !5
  %282 = load ptr, ptr %17, align 8, !tbaa !5
  %283 = load i32, ptr %28, align 4, !tbaa !9
  %284 = sext i32 %283 to i64
  %285 = getelementptr inbounds float, ptr %282, i64 %284
  %286 = load ptr, ptr %18, align 8, !tbaa !5
  %287 = load ptr, ptr %21, align 8, !tbaa !5
  %288 = getelementptr inbounds float, ptr %287, i64 1
  %289 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %290 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %291 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %292 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %293 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sgebrd_(ptr noundef %59, ptr noundef %281, ptr noundef %285, ptr noundef %286, ptr noundef %288, ptr noundef %289, ptr noundef %290, ptr noundef %291, ptr noundef %292, ptr noundef @c_n1, ptr noundef %293)
  %294 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %295 = load float, ptr %294, align 4, !tbaa !11
  %296 = fptosi float %295 to i32
  store i32 %296, ptr %39, align 4, !tbaa !9
  %297 = load ptr, ptr %16, align 8, !tbaa !5
  %298 = load ptr, ptr %15, align 8, !tbaa !5
  %299 = load ptr, ptr %17, align 8, !tbaa !5
  %300 = load i32, ptr %28, align 4, !tbaa !9
  %301 = sext i32 %300 to i64
  %302 = getelementptr inbounds float, ptr %299, i64 %301
  %303 = load ptr, ptr %18, align 8, !tbaa !5
  %304 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %305 = load ptr, ptr %19, align 8, !tbaa !5
  %306 = load i32, ptr %30, align 4, !tbaa !9
  %307 = sext i32 %306 to i64
  %308 = getelementptr inbounds float, ptr %305, i64 %307
  %309 = load ptr, ptr %20, align 8, !tbaa !5
  %310 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %311 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormbr_(ptr noundef @.str.4, ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %59, ptr noundef %297, ptr noundef %298, ptr noundef %302, ptr noundef %303, ptr noundef %304, ptr noundef %308, ptr noundef %309, ptr noundef %310, ptr noundef @c_n1, ptr noundef %311)
  %312 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %313 = load float, ptr %312, align 4, !tbaa !11
  %314 = fptosi float %313 to i32
  store i32 %314, ptr %43, align 4, !tbaa !9
  %315 = load ptr, ptr %15, align 8, !tbaa !5
  %316 = load ptr, ptr %15, align 8, !tbaa !5
  %317 = load ptr, ptr %15, align 8, !tbaa !5
  %318 = load ptr, ptr %17, align 8, !tbaa !5
  %319 = load i32, ptr %28, align 4, !tbaa !9
  %320 = sext i32 %319 to i64
  %321 = getelementptr inbounds float, ptr %318, i64 %320
  %322 = load ptr, ptr %18, align 8, !tbaa !5
  %323 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %324 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %325 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sorgbr_(ptr noundef @.str.5, ptr noundef %315, ptr noundef %316, ptr noundef %317, ptr noundef %321, ptr noundef %322, ptr noundef %323, ptr noundef %324, ptr noundef @c_n1, ptr noundef %325)
  %326 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %327 = load float, ptr %326, align 4, !tbaa !11
  %328 = fptosi float %327 to i32
  store i32 %328, ptr %42, align 4, !tbaa !9
  %329 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %329, ptr %31, align 4, !tbaa !9
  %330 = load ptr, ptr %15, align 8, !tbaa !5
  %331 = load i32, ptr %330, align 4, !tbaa !9
  %332 = mul nsw i32 %331, 3
  %333 = load i32, ptr %39, align 4, !tbaa !9
  %334 = add nsw i32 %332, %333
  store i32 %334, ptr %32, align 4, !tbaa !9
  %335 = load i32, ptr %31, align 4, !tbaa !9
  %336 = load i32, ptr %32, align 4, !tbaa !9
  %337 = icmp sge i32 %335, %336
  br i1 %337, label %338, label %340

338:                                              ; preds = %279
  %339 = load i32, ptr %31, align 4, !tbaa !9
  br label %342

340:                                              ; preds = %279
  %341 = load i32, ptr %32, align 4, !tbaa !9
  br label %342

342:                                              ; preds = %340, %338
  %343 = phi i32 [ %339, %338 ], [ %341, %340 ]
  store i32 %343, ptr %64, align 4, !tbaa !9
  %344 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %344, ptr %31, align 4, !tbaa !9
  %345 = load ptr, ptr %15, align 8, !tbaa !5
  %346 = load i32, ptr %345, align 4, !tbaa !9
  %347 = mul nsw i32 %346, 3
  %348 = load i32, ptr %43, align 4, !tbaa !9
  %349 = add nsw i32 %347, %348
  store i32 %349, ptr %32, align 4, !tbaa !9
  %350 = load i32, ptr %31, align 4, !tbaa !9
  %351 = load i32, ptr %32, align 4, !tbaa !9
  %352 = icmp sge i32 %350, %351
  br i1 %352, label %353, label %355

353:                                              ; preds = %342
  %354 = load i32, ptr %31, align 4, !tbaa !9
  br label %357

355:                                              ; preds = %342
  %356 = load i32, ptr %32, align 4, !tbaa !9
  br label %357

357:                                              ; preds = %355, %353
  %358 = phi i32 [ %354, %353 ], [ %356, %355 ]
  store i32 %358, ptr %64, align 4, !tbaa !9
  %359 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %359, ptr %31, align 4, !tbaa !9
  %360 = load ptr, ptr %15, align 8, !tbaa !5
  %361 = load i32, ptr %360, align 4, !tbaa !9
  %362 = mul nsw i32 %361, 3
  %363 = load i32, ptr %42, align 4, !tbaa !9
  %364 = add nsw i32 %362, %363
  store i32 %364, ptr %32, align 4, !tbaa !9
  %365 = load i32, ptr %31, align 4, !tbaa !9
  %366 = load i32, ptr %32, align 4, !tbaa !9
  %367 = icmp sge i32 %365, %366
  br i1 %367, label %368, label %370

368:                                              ; preds = %357
  %369 = load i32, ptr %31, align 4, !tbaa !9
  br label %372

370:                                              ; preds = %357
  %371 = load i32, ptr %32, align 4, !tbaa !9
  br label %372

372:                                              ; preds = %370, %368
  %373 = phi i32 [ %369, %368 ], [ %371, %370 ]
  store i32 %373, ptr %64, align 4, !tbaa !9
  %374 = load i32, ptr %64, align 4, !tbaa !9
  %375 = load i32, ptr %60, align 4, !tbaa !9
  %376 = icmp sge i32 %374, %375
  br i1 %376, label %377, label %379

377:                                              ; preds = %372
  %378 = load i32, ptr %64, align 4, !tbaa !9
  br label %381

379:                                              ; preds = %372
  %380 = load i32, ptr %60, align 4, !tbaa !9
  br label %381

381:                                              ; preds = %379, %377
  %382 = phi i32 [ %378, %377 ], [ %380, %379 ]
  store i32 %382, ptr %64, align 4, !tbaa !9
  %383 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %383, ptr %31, align 4, !tbaa !9
  %384 = load ptr, ptr %15, align 8, !tbaa !5
  %385 = load i32, ptr %384, align 4, !tbaa !9
  %386 = load ptr, ptr %16, align 8, !tbaa !5
  %387 = load i32, ptr %386, align 4, !tbaa !9
  %388 = mul nsw i32 %385, %387
  store i32 %388, ptr %32, align 4, !tbaa !9
  %389 = load i32, ptr %31, align 4, !tbaa !9
  %390 = load i32, ptr %32, align 4, !tbaa !9
  %391 = icmp sge i32 %389, %390
  br i1 %391, label %392, label %394

392:                                              ; preds = %381
  %393 = load i32, ptr %31, align 4, !tbaa !9
  br label %396

394:                                              ; preds = %381
  %395 = load i32, ptr %32, align 4, !tbaa !9
  br label %396

396:                                              ; preds = %394, %392
  %397 = phi i32 [ %393, %392 ], [ %395, %394 ]
  store i32 %397, ptr %64, align 4, !tbaa !9
  %398 = load ptr, ptr %15, align 8, !tbaa !5
  %399 = load i32, ptr %398, align 4, !tbaa !9
  %400 = mul nsw i32 %399, 3
  %401 = load i32, ptr %59, align 4, !tbaa !9
  %402 = add nsw i32 %400, %401
  store i32 %402, ptr %31, align 4, !tbaa !9
  %403 = load ptr, ptr %15, align 8, !tbaa !5
  %404 = load i32, ptr %403, align 4, !tbaa !9
  %405 = mul nsw i32 %404, 3
  %406 = load ptr, ptr %16, align 8, !tbaa !5
  %407 = load i32, ptr %406, align 4, !tbaa !9
  %408 = add nsw i32 %405, %407
  store i32 %408, ptr %32, align 4, !tbaa !9
  %409 = load i32, ptr %31, align 4, !tbaa !9
  %410 = load i32, ptr %32, align 4, !tbaa !9
  %411 = icmp sge i32 %409, %410
  br i1 %411, label %412, label %414

412:                                              ; preds = %396
  %413 = load i32, ptr %31, align 4, !tbaa !9
  br label %416

414:                                              ; preds = %396
  %415 = load i32, ptr %32, align 4, !tbaa !9
  br label %416

416:                                              ; preds = %414, %412
  %417 = phi i32 [ %413, %412 ], [ %415, %414 ]
  store i32 %417, ptr %31, align 4, !tbaa !9
  %418 = load i32, ptr %31, align 4, !tbaa !9
  %419 = load i32, ptr %60, align 4, !tbaa !9
  %420 = icmp sge i32 %418, %419
  br i1 %420, label %421, label %423

421:                                              ; preds = %416
  %422 = load i32, ptr %31, align 4, !tbaa !9
  br label %425

423:                                              ; preds = %416
  %424 = load i32, ptr %60, align 4, !tbaa !9
  br label %425

425:                                              ; preds = %423, %421
  %426 = phi i32 [ %422, %421 ], [ %424, %423 ]
  store i32 %426, ptr %63, align 4, !tbaa !9
  %427 = load i32, ptr %63, align 4, !tbaa !9
  %428 = load i32, ptr %64, align 4, !tbaa !9
  %429 = icmp sge i32 %427, %428
  br i1 %429, label %430, label %432

430:                                              ; preds = %425
  %431 = load i32, ptr %63, align 4, !tbaa !9
  br label %434

432:                                              ; preds = %425
  %433 = load i32, ptr %64, align 4, !tbaa !9
  br label %434

434:                                              ; preds = %432, %430
  %435 = phi i32 [ %431, %430 ], [ %433, %432 ]
  store i32 %435, ptr %64, align 4, !tbaa !9
  br label %436

436:                                              ; preds = %434, %262
  %437 = load ptr, ptr %15, align 8, !tbaa !5
  %438 = load i32, ptr %437, align 4, !tbaa !9
  %439 = load ptr, ptr %14, align 8, !tbaa !5
  %440 = load i32, ptr %439, align 4, !tbaa !9
  %441 = icmp sgt i32 %438, %440
  br i1 %441, label %442, label %825

442:                                              ; preds = %436
  store i32 1, ptr %31, align 4, !tbaa !9
  %443 = load ptr, ptr %14, align 8, !tbaa !5
  %444 = load i32, ptr %443, align 4, !tbaa !9
  %445 = mul nsw i32 %444, 5
  store i32 %445, ptr %32, align 4, !tbaa !9
  %446 = load i32, ptr %31, align 4, !tbaa !9
  %447 = load i32, ptr %32, align 4, !tbaa !9
  %448 = icmp sge i32 %446, %447
  br i1 %448, label %449, label %451

449:                                              ; preds = %442
  %450 = load i32, ptr %31, align 4, !tbaa !9
  br label %453

451:                                              ; preds = %442
  %452 = load i32, ptr %32, align 4, !tbaa !9
  br label %453

453:                                              ; preds = %451, %449
  %454 = phi i32 [ %450, %449 ], [ %452, %451 ]
  store i32 %454, ptr %60, align 4, !tbaa !9
  %455 = load ptr, ptr %14, align 8, !tbaa !5
  %456 = load i32, ptr %455, align 4, !tbaa !9
  %457 = mul nsw i32 %456, 3
  %458 = load ptr, ptr %16, align 8, !tbaa !5
  %459 = load i32, ptr %458, align 4, !tbaa !9
  %460 = add nsw i32 %457, %459
  store i32 %460, ptr %31, align 4, !tbaa !9
  %461 = load ptr, ptr %14, align 8, !tbaa !5
  %462 = load i32, ptr %461, align 4, !tbaa !9
  %463 = mul nsw i32 %462, 3
  %464 = load ptr, ptr %15, align 8, !tbaa !5
  %465 = load i32, ptr %464, align 4, !tbaa !9
  %466 = add nsw i32 %463, %465
  store i32 %466, ptr %32, align 4, !tbaa !9
  %467 = load i32, ptr %31, align 4, !tbaa !9
  %468 = load i32, ptr %32, align 4, !tbaa !9
  %469 = icmp sge i32 %467, %468
  br i1 %469, label %470, label %472

470:                                              ; preds = %453
  %471 = load i32, ptr %31, align 4, !tbaa !9
  br label %474

472:                                              ; preds = %453
  %473 = load i32, ptr %32, align 4, !tbaa !9
  br label %474

474:                                              ; preds = %472, %470
  %475 = phi i32 [ %471, %470 ], [ %473, %472 ]
  store i32 %475, ptr %31, align 4, !tbaa !9
  %476 = load i32, ptr %31, align 4, !tbaa !9
  %477 = load i32, ptr %60, align 4, !tbaa !9
  %478 = icmp sge i32 %476, %477
  br i1 %478, label %479, label %481

479:                                              ; preds = %474
  %480 = load i32, ptr %31, align 4, !tbaa !9
  br label %483

481:                                              ; preds = %474
  %482 = load i32, ptr %60, align 4, !tbaa !9
  br label %483

483:                                              ; preds = %481, %479
  %484 = phi i32 [ %480, %479 ], [ %482, %481 ]
  store i32 %484, ptr %63, align 4, !tbaa !9
  %485 = load ptr, ptr %15, align 8, !tbaa !5
  %486 = load i32, ptr %485, align 4, !tbaa !9
  %487 = load i32, ptr %54, align 4, !tbaa !9
  %488 = icmp sge i32 %486, %487
  br i1 %488, label %489, label %714

489:                                              ; preds = %483
  %490 = load ptr, ptr %14, align 8, !tbaa !5
  %491 = load ptr, ptr %14, align 8, !tbaa !5
  %492 = load ptr, ptr %17, align 8, !tbaa !5
  %493 = load i32, ptr %28, align 4, !tbaa !9
  %494 = sext i32 %493 to i64
  %495 = getelementptr inbounds float, ptr %492, i64 %494
  %496 = load ptr, ptr %18, align 8, !tbaa !5
  %497 = load ptr, ptr %21, align 8, !tbaa !5
  %498 = getelementptr inbounds float, ptr %497, i64 1
  %499 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %500 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %501 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %502 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %503 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sgebrd_(ptr noundef %490, ptr noundef %491, ptr noundef %495, ptr noundef %496, ptr noundef %498, ptr noundef %499, ptr noundef %500, ptr noundef %501, ptr noundef %502, ptr noundef @c_n1, ptr noundef %503)
  %504 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %505 = load float, ptr %504, align 4, !tbaa !11
  %506 = fptosi float %505 to i32
  store i32 %506, ptr %39, align 4, !tbaa !9
  %507 = load ptr, ptr %14, align 8, !tbaa !5
  %508 = load ptr, ptr %16, align 8, !tbaa !5
  %509 = load ptr, ptr %15, align 8, !tbaa !5
  %510 = load ptr, ptr %17, align 8, !tbaa !5
  %511 = load i32, ptr %28, align 4, !tbaa !9
  %512 = sext i32 %511 to i64
  %513 = getelementptr inbounds float, ptr %510, i64 %512
  %514 = load ptr, ptr %18, align 8, !tbaa !5
  %515 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %516 = load ptr, ptr %19, align 8, !tbaa !5
  %517 = load i32, ptr %30, align 4, !tbaa !9
  %518 = sext i32 %517 to i64
  %519 = getelementptr inbounds float, ptr %516, i64 %518
  %520 = load ptr, ptr %20, align 8, !tbaa !5
  %521 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %522 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormbr_(ptr noundef @.str.4, ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %507, ptr noundef %508, ptr noundef %509, ptr noundef %513, ptr noundef %514, ptr noundef %515, ptr noundef %519, ptr noundef %520, ptr noundef %521, ptr noundef @c_n1, ptr noundef %522)
  %523 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %524 = load float, ptr %523, align 4, !tbaa !11
  %525 = fptosi float %524 to i32
  store i32 %525, ptr %43, align 4, !tbaa !9
  %526 = load ptr, ptr %14, align 8, !tbaa !5
  %527 = load ptr, ptr %14, align 8, !tbaa !5
  %528 = load ptr, ptr %14, align 8, !tbaa !5
  %529 = load ptr, ptr %17, align 8, !tbaa !5
  %530 = load i32, ptr %28, align 4, !tbaa !9
  %531 = sext i32 %530 to i64
  %532 = getelementptr inbounds float, ptr %529, i64 %531
  %533 = load ptr, ptr %18, align 8, !tbaa !5
  %534 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %535 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %536 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sorgbr_(ptr noundef @.str.5, ptr noundef %526, ptr noundef %527, ptr noundef %528, ptr noundef %532, ptr noundef %533, ptr noundef %534, ptr noundef %535, ptr noundef @c_n1, ptr noundef %536)
  %537 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %538 = load float, ptr %537, align 4, !tbaa !11
  %539 = fptosi float %538 to i32
  store i32 %539, ptr %42, align 4, !tbaa !9
  %540 = load ptr, ptr %15, align 8, !tbaa !5
  %541 = load ptr, ptr %16, align 8, !tbaa !5
  %542 = load ptr, ptr %14, align 8, !tbaa !5
  %543 = load ptr, ptr %17, align 8, !tbaa !5
  %544 = load i32, ptr %28, align 4, !tbaa !9
  %545 = sext i32 %544 to i64
  %546 = getelementptr inbounds float, ptr %543, i64 %545
  %547 = load ptr, ptr %18, align 8, !tbaa !5
  %548 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %549 = load ptr, ptr %19, align 8, !tbaa !5
  %550 = load i32, ptr %30, align 4, !tbaa !9
  %551 = sext i32 %550 to i64
  %552 = getelementptr inbounds float, ptr %549, i64 %551
  %553 = load ptr, ptr %20, align 8, !tbaa !5
  %554 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %555 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormlq_(ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %540, ptr noundef %541, ptr noundef %542, ptr noundef %546, ptr noundef %547, ptr noundef %548, ptr noundef %552, ptr noundef %553, ptr noundef %554, ptr noundef @c_n1, ptr noundef %555)
  %556 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %557 = load float, ptr %556, align 4, !tbaa !11
  %558 = fptosi float %557 to i32
  store i32 %558, ptr %44, align 4, !tbaa !9
  %559 = load ptr, ptr %14, align 8, !tbaa !5
  %560 = load i32, ptr %559, align 4, !tbaa !9
  %561 = load ptr, ptr %14, align 8, !tbaa !5
  %562 = load i32, ptr %561, align 4, !tbaa !9
  %563 = load ptr, ptr %14, align 8, !tbaa !5
  %564 = load ptr, ptr %15, align 8, !tbaa !5
  %565 = call i32 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.6, ptr noundef @.str.1, ptr noundef %563, ptr noundef %564, ptr noundef @c_n1, ptr noundef @c_n1, i32 noundef 6, i32 noundef 1)
  %566 = mul nsw i32 %562, %565
  %567 = add nsw i32 %560, %566
  store i32 %567, ptr %64, align 4, !tbaa !9
  %568 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %568, ptr %31, align 4, !tbaa !9
  %569 = load ptr, ptr %14, align 8, !tbaa !5
  %570 = load i32, ptr %569, align 4, !tbaa !9
  %571 = load ptr, ptr %14, align 8, !tbaa !5
  %572 = load i32, ptr %571, align 4, !tbaa !9
  %573 = mul nsw i32 %570, %572
  %574 = load ptr, ptr %14, align 8, !tbaa !5
  %575 = load i32, ptr %574, align 4, !tbaa !9
  %576 = shl i32 %575, 2
  %577 = add nsw i32 %573, %576
  %578 = load i32, ptr %39, align 4, !tbaa !9
  %579 = add nsw i32 %577, %578
  store i32 %579, ptr %32, align 4, !tbaa !9
  %580 = load i32, ptr %31, align 4, !tbaa !9
  %581 = load i32, ptr %32, align 4, !tbaa !9
  %582 = icmp sge i32 %580, %581
  br i1 %582, label %583, label %585

583:                                              ; preds = %489
  %584 = load i32, ptr %31, align 4, !tbaa !9
  br label %587

585:                                              ; preds = %489
  %586 = load i32, ptr %32, align 4, !tbaa !9
  br label %587

587:                                              ; preds = %585, %583
  %588 = phi i32 [ %584, %583 ], [ %586, %585 ]
  store i32 %588, ptr %64, align 4, !tbaa !9
  %589 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %589, ptr %31, align 4, !tbaa !9
  %590 = load ptr, ptr %14, align 8, !tbaa !5
  %591 = load i32, ptr %590, align 4, !tbaa !9
  %592 = load ptr, ptr %14, align 8, !tbaa !5
  %593 = load i32, ptr %592, align 4, !tbaa !9
  %594 = mul nsw i32 %591, %593
  %595 = load ptr, ptr %14, align 8, !tbaa !5
  %596 = load i32, ptr %595, align 4, !tbaa !9
  %597 = shl i32 %596, 2
  %598 = add nsw i32 %594, %597
  %599 = load i32, ptr %43, align 4, !tbaa !9
  %600 = add nsw i32 %598, %599
  store i32 %600, ptr %32, align 4, !tbaa !9
  %601 = load i32, ptr %31, align 4, !tbaa !9
  %602 = load i32, ptr %32, align 4, !tbaa !9
  %603 = icmp sge i32 %601, %602
  br i1 %603, label %604, label %606

604:                                              ; preds = %587
  %605 = load i32, ptr %31, align 4, !tbaa !9
  br label %608

606:                                              ; preds = %587
  %607 = load i32, ptr %32, align 4, !tbaa !9
  br label %608

608:                                              ; preds = %606, %604
  %609 = phi i32 [ %605, %604 ], [ %607, %606 ]
  store i32 %609, ptr %64, align 4, !tbaa !9
  %610 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %610, ptr %31, align 4, !tbaa !9
  %611 = load ptr, ptr %14, align 8, !tbaa !5
  %612 = load i32, ptr %611, align 4, !tbaa !9
  %613 = load ptr, ptr %14, align 8, !tbaa !5
  %614 = load i32, ptr %613, align 4, !tbaa !9
  %615 = mul nsw i32 %612, %614
  %616 = load ptr, ptr %14, align 8, !tbaa !5
  %617 = load i32, ptr %616, align 4, !tbaa !9
  %618 = shl i32 %617, 2
  %619 = add nsw i32 %615, %618
  %620 = load i32, ptr %42, align 4, !tbaa !9
  %621 = add nsw i32 %619, %620
  store i32 %621, ptr %32, align 4, !tbaa !9
  %622 = load i32, ptr %31, align 4, !tbaa !9
  %623 = load i32, ptr %32, align 4, !tbaa !9
  %624 = icmp sge i32 %622, %623
  br i1 %624, label %625, label %627

625:                                              ; preds = %608
  %626 = load i32, ptr %31, align 4, !tbaa !9
  br label %629

627:                                              ; preds = %608
  %628 = load i32, ptr %32, align 4, !tbaa !9
  br label %629

629:                                              ; preds = %627, %625
  %630 = phi i32 [ %626, %625 ], [ %628, %627 ]
  store i32 %630, ptr %64, align 4, !tbaa !9
  %631 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %631, ptr %31, align 4, !tbaa !9
  %632 = load ptr, ptr %14, align 8, !tbaa !5
  %633 = load i32, ptr %632, align 4, !tbaa !9
  %634 = load ptr, ptr %14, align 8, !tbaa !5
  %635 = load i32, ptr %634, align 4, !tbaa !9
  %636 = mul nsw i32 %633, %635
  %637 = load ptr, ptr %14, align 8, !tbaa !5
  %638 = load i32, ptr %637, align 4, !tbaa !9
  %639 = add nsw i32 %636, %638
  %640 = load i32, ptr %60, align 4, !tbaa !9
  %641 = add nsw i32 %639, %640
  store i32 %641, ptr %32, align 4, !tbaa !9
  %642 = load i32, ptr %31, align 4, !tbaa !9
  %643 = load i32, ptr %32, align 4, !tbaa !9
  %644 = icmp sge i32 %642, %643
  br i1 %644, label %645, label %647

645:                                              ; preds = %629
  %646 = load i32, ptr %31, align 4, !tbaa !9
  br label %649

647:                                              ; preds = %629
  %648 = load i32, ptr %32, align 4, !tbaa !9
  br label %649

649:                                              ; preds = %647, %645
  %650 = phi i32 [ %646, %645 ], [ %648, %647 ]
  store i32 %650, ptr %64, align 4, !tbaa !9
  %651 = load ptr, ptr %16, align 8, !tbaa !5
  %652 = load i32, ptr %651, align 4, !tbaa !9
  %653 = icmp sgt i32 %652, 1
  br i1 %653, label %654, label %679

654:                                              ; preds = %649
  %655 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %655, ptr %31, align 4, !tbaa !9
  %656 = load ptr, ptr %14, align 8, !tbaa !5
  %657 = load i32, ptr %656, align 4, !tbaa !9
  %658 = load ptr, ptr %14, align 8, !tbaa !5
  %659 = load i32, ptr %658, align 4, !tbaa !9
  %660 = mul nsw i32 %657, %659
  %661 = load ptr, ptr %14, align 8, !tbaa !5
  %662 = load i32, ptr %661, align 4, !tbaa !9
  %663 = add nsw i32 %660, %662
  %664 = load ptr, ptr %14, align 8, !tbaa !5
  %665 = load i32, ptr %664, align 4, !tbaa !9
  %666 = load ptr, ptr %16, align 8, !tbaa !5
  %667 = load i32, ptr %666, align 4, !tbaa !9
  %668 = mul nsw i32 %665, %667
  %669 = add nsw i32 %663, %668
  store i32 %669, ptr %32, align 4, !tbaa !9
  %670 = load i32, ptr %31, align 4, !tbaa !9
  %671 = load i32, ptr %32, align 4, !tbaa !9
  %672 = icmp sge i32 %670, %671
  br i1 %672, label %673, label %675

673:                                              ; preds = %654
  %674 = load i32, ptr %31, align 4, !tbaa !9
  br label %677

675:                                              ; preds = %654
  %676 = load i32, ptr %32, align 4, !tbaa !9
  br label %677

677:                                              ; preds = %675, %673
  %678 = phi i32 [ %674, %673 ], [ %676, %675 ]
  store i32 %678, ptr %64, align 4, !tbaa !9
  br label %699

679:                                              ; preds = %649
  %680 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %680, ptr %31, align 4, !tbaa !9
  %681 = load ptr, ptr %14, align 8, !tbaa !5
  %682 = load i32, ptr %681, align 4, !tbaa !9
  %683 = load ptr, ptr %14, align 8, !tbaa !5
  %684 = load i32, ptr %683, align 4, !tbaa !9
  %685 = mul nsw i32 %682, %684
  %686 = load ptr, ptr %14, align 8, !tbaa !5
  %687 = load i32, ptr %686, align 4, !tbaa !9
  %688 = shl i32 %687, 1
  %689 = add nsw i32 %685, %688
  store i32 %689, ptr %32, align 4, !tbaa !9
  %690 = load i32, ptr %31, align 4, !tbaa !9
  %691 = load i32, ptr %32, align 4, !tbaa !9
  %692 = icmp sge i32 %690, %691
  br i1 %692, label %693, label %695

693:                                              ; preds = %679
  %694 = load i32, ptr %31, align 4, !tbaa !9
  br label %697

695:                                              ; preds = %679
  %696 = load i32, ptr %32, align 4, !tbaa !9
  br label %697

697:                                              ; preds = %695, %693
  %698 = phi i32 [ %694, %693 ], [ %696, %695 ]
  store i32 %698, ptr %64, align 4, !tbaa !9
  br label %699

699:                                              ; preds = %697, %677
  %700 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %700, ptr %31, align 4, !tbaa !9
  %701 = load ptr, ptr %14, align 8, !tbaa !5
  %702 = load i32, ptr %701, align 4, !tbaa !9
  %703 = load i32, ptr %44, align 4, !tbaa !9
  %704 = add nsw i32 %702, %703
  store i32 %704, ptr %32, align 4, !tbaa !9
  %705 = load i32, ptr %31, align 4, !tbaa !9
  %706 = load i32, ptr %32, align 4, !tbaa !9
  %707 = icmp sge i32 %705, %706
  br i1 %707, label %708, label %710

708:                                              ; preds = %699
  %709 = load i32, ptr %31, align 4, !tbaa !9
  br label %712

710:                                              ; preds = %699
  %711 = load i32, ptr %32, align 4, !tbaa !9
  br label %712

712:                                              ; preds = %710, %708
  %713 = phi i32 [ %709, %708 ], [ %711, %710 ]
  store i32 %713, ptr %64, align 4, !tbaa !9
  br label %824

714:                                              ; preds = %483
  %715 = load ptr, ptr %14, align 8, !tbaa !5
  %716 = load ptr, ptr %15, align 8, !tbaa !5
  %717 = load ptr, ptr %17, align 8, !tbaa !5
  %718 = load i32, ptr %28, align 4, !tbaa !9
  %719 = sext i32 %718 to i64
  %720 = getelementptr inbounds float, ptr %717, i64 %719
  %721 = load ptr, ptr %18, align 8, !tbaa !5
  %722 = load ptr, ptr %21, align 8, !tbaa !5
  %723 = getelementptr inbounds float, ptr %722, i64 1
  %724 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %725 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %726 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %727 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %728 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sgebrd_(ptr noundef %715, ptr noundef %716, ptr noundef %720, ptr noundef %721, ptr noundef %723, ptr noundef %724, ptr noundef %725, ptr noundef %726, ptr noundef %727, ptr noundef @c_n1, ptr noundef %728)
  %729 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %730 = load float, ptr %729, align 4, !tbaa !11
  %731 = fptosi float %730 to i32
  store i32 %731, ptr %39, align 4, !tbaa !9
  %732 = load ptr, ptr %14, align 8, !tbaa !5
  %733 = load ptr, ptr %16, align 8, !tbaa !5
  %734 = load ptr, ptr %14, align 8, !tbaa !5
  %735 = load ptr, ptr %17, align 8, !tbaa !5
  %736 = load i32, ptr %28, align 4, !tbaa !9
  %737 = sext i32 %736 to i64
  %738 = getelementptr inbounds float, ptr %735, i64 %737
  %739 = load ptr, ptr %18, align 8, !tbaa !5
  %740 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %741 = load ptr, ptr %19, align 8, !tbaa !5
  %742 = load i32, ptr %30, align 4, !tbaa !9
  %743 = sext i32 %742 to i64
  %744 = getelementptr inbounds float, ptr %741, i64 %743
  %745 = load ptr, ptr %20, align 8, !tbaa !5
  %746 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %747 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormbr_(ptr noundef @.str.4, ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %732, ptr noundef %733, ptr noundef %734, ptr noundef %738, ptr noundef %739, ptr noundef %740, ptr noundef %744, ptr noundef %745, ptr noundef %746, ptr noundef @c_n1, ptr noundef %747)
  %748 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %749 = load float, ptr %748, align 4, !tbaa !11
  %750 = fptosi float %749 to i32
  store i32 %750, ptr %43, align 4, !tbaa !9
  %751 = load ptr, ptr %14, align 8, !tbaa !5
  %752 = load ptr, ptr %15, align 8, !tbaa !5
  %753 = load ptr, ptr %14, align 8, !tbaa !5
  %754 = load ptr, ptr %17, align 8, !tbaa !5
  %755 = load i32, ptr %28, align 4, !tbaa !9
  %756 = sext i32 %755 to i64
  %757 = getelementptr inbounds float, ptr %754, i64 %756
  %758 = load ptr, ptr %18, align 8, !tbaa !5
  %759 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %760 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %761 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sorgbr_(ptr noundef @.str.5, ptr noundef %751, ptr noundef %752, ptr noundef %753, ptr noundef %757, ptr noundef %758, ptr noundef %759, ptr noundef %760, ptr noundef @c_n1, ptr noundef %761)
  %762 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %763 = load float, ptr %762, align 4, !tbaa !11
  %764 = fptosi float %763 to i32
  store i32 %764, ptr %42, align 4, !tbaa !9
  %765 = load ptr, ptr %14, align 8, !tbaa !5
  %766 = load i32, ptr %765, align 4, !tbaa !9
  %767 = mul nsw i32 %766, 3
  %768 = load i32, ptr %39, align 4, !tbaa !9
  %769 = add nsw i32 %767, %768
  store i32 %769, ptr %64, align 4, !tbaa !9
  %770 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %770, ptr %31, align 4, !tbaa !9
  %771 = load ptr, ptr %14, align 8, !tbaa !5
  %772 = load i32, ptr %771, align 4, !tbaa !9
  %773 = mul nsw i32 %772, 3
  %774 = load i32, ptr %43, align 4, !tbaa !9
  %775 = add nsw i32 %773, %774
  store i32 %775, ptr %32, align 4, !tbaa !9
  %776 = load i32, ptr %31, align 4, !tbaa !9
  %777 = load i32, ptr %32, align 4, !tbaa !9
  %778 = icmp sge i32 %776, %777
  br i1 %778, label %779, label %781

779:                                              ; preds = %714
  %780 = load i32, ptr %31, align 4, !tbaa !9
  br label %783

781:                                              ; preds = %714
  %782 = load i32, ptr %32, align 4, !tbaa !9
  br label %783

783:                                              ; preds = %781, %779
  %784 = phi i32 [ %780, %779 ], [ %782, %781 ]
  store i32 %784, ptr %64, align 4, !tbaa !9
  %785 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %785, ptr %31, align 4, !tbaa !9
  %786 = load ptr, ptr %14, align 8, !tbaa !5
  %787 = load i32, ptr %786, align 4, !tbaa !9
  %788 = mul nsw i32 %787, 3
  %789 = load i32, ptr %42, align 4, !tbaa !9
  %790 = add nsw i32 %788, %789
  store i32 %790, ptr %32, align 4, !tbaa !9
  %791 = load i32, ptr %31, align 4, !tbaa !9
  %792 = load i32, ptr %32, align 4, !tbaa !9
  %793 = icmp sge i32 %791, %792
  br i1 %793, label %794, label %796

794:                                              ; preds = %783
  %795 = load i32, ptr %31, align 4, !tbaa !9
  br label %798

796:                                              ; preds = %783
  %797 = load i32, ptr %32, align 4, !tbaa !9
  br label %798

798:                                              ; preds = %796, %794
  %799 = phi i32 [ %795, %794 ], [ %797, %796 ]
  store i32 %799, ptr %64, align 4, !tbaa !9
  %800 = load i32, ptr %64, align 4, !tbaa !9
  %801 = load i32, ptr %60, align 4, !tbaa !9
  %802 = icmp sge i32 %800, %801
  br i1 %802, label %803, label %805

803:                                              ; preds = %798
  %804 = load i32, ptr %64, align 4, !tbaa !9
  br label %807

805:                                              ; preds = %798
  %806 = load i32, ptr %60, align 4, !tbaa !9
  br label %807

807:                                              ; preds = %805, %803
  %808 = phi i32 [ %804, %803 ], [ %806, %805 ]
  store i32 %808, ptr %64, align 4, !tbaa !9
  %809 = load i32, ptr %64, align 4, !tbaa !9
  store i32 %809, ptr %31, align 4, !tbaa !9
  %810 = load ptr, ptr %15, align 8, !tbaa !5
  %811 = load i32, ptr %810, align 4, !tbaa !9
  %812 = load ptr, ptr %16, align 8, !tbaa !5
  %813 = load i32, ptr %812, align 4, !tbaa !9
  %814 = mul nsw i32 %811, %813
  store i32 %814, ptr %32, align 4, !tbaa !9
  %815 = load i32, ptr %31, align 4, !tbaa !9
  %816 = load i32, ptr %32, align 4, !tbaa !9
  %817 = icmp sge i32 %815, %816
  br i1 %817, label %818, label %820

818:                                              ; preds = %807
  %819 = load i32, ptr %31, align 4, !tbaa !9
  br label %822

820:                                              ; preds = %807
  %821 = load i32, ptr %32, align 4, !tbaa !9
  br label %822

822:                                              ; preds = %820, %818
  %823 = phi i32 [ %819, %818 ], [ %821, %820 ]
  store i32 %823, ptr %64, align 4, !tbaa !9
  br label %824

824:                                              ; preds = %822, %712
  br label %825

825:                                              ; preds = %824, %436
  %826 = load i32, ptr %63, align 4, !tbaa !9
  %827 = load i32, ptr %64, align 4, !tbaa !9
  %828 = icmp sge i32 %826, %827
  br i1 %828, label %829, label %831

829:                                              ; preds = %825
  %830 = load i32, ptr %63, align 4, !tbaa !9
  br label %833

831:                                              ; preds = %825
  %832 = load i32, ptr %64, align 4, !tbaa !9
  br label %833

833:                                              ; preds = %831, %829
  %834 = phi i32 [ %830, %829 ], [ %832, %831 ]
  store i32 %834, ptr %64, align 4, !tbaa !9
  br label %835

835:                                              ; preds = %833, %179
  %836 = load i32, ptr %64, align 4, !tbaa !9
  %837 = sitofp i32 %836 to float
  %838 = load ptr, ptr %24, align 8, !tbaa !5
  %839 = getelementptr inbounds float, ptr %838, i64 1
  store float %837, ptr %839, align 4, !tbaa !11
  %840 = load ptr, ptr %25, align 8, !tbaa !5
  %841 = load i32, ptr %840, align 4, !tbaa !9
  %842 = load i32, ptr %63, align 4, !tbaa !9
  %843 = icmp slt i32 %841, %842
  br i1 %843, label %844, label %849

844:                                              ; preds = %835
  %845 = load i32, ptr %66, align 4, !tbaa !9
  %846 = icmp ne i32 %845, 0
  br i1 %846, label %849, label %847

847:                                              ; preds = %844
  %848 = load ptr, ptr %26, align 8, !tbaa !5
  store i32 -12, ptr %848, align 4, !tbaa !9
  br label %849

849:                                              ; preds = %847, %844, %835
  br label %850

850:                                              ; preds = %849, %175
  %851 = load ptr, ptr %26, align 8, !tbaa !5
  %852 = load i32, ptr %851, align 4, !tbaa !9
  %853 = icmp ne i32 %852, 0
  br i1 %853, label %854, label %859

854:                                              ; preds = %850
  %855 = load ptr, ptr %26, align 8, !tbaa !5
  %856 = load i32, ptr %855, align 4, !tbaa !9
  %857 = sub nsw i32 0, %856
  store i32 %857, ptr %31, align 4, !tbaa !9
  %858 = call i32 @xerbla_(ptr noundef @.str, ptr noundef %31, i32 noundef 6)
  store i32 1, ptr %70, align 4
  br label %2436

859:                                              ; preds = %850
  %860 = load i32, ptr %66, align 4, !tbaa !9
  %861 = icmp ne i32 %860, 0
  br i1 %861, label %862, label %863

862:                                              ; preds = %859
  store i32 1, ptr %70, align 4
  br label %2436

863:                                              ; preds = %859
  br label %864

864:                                              ; preds = %863
  %865 = load ptr, ptr %14, align 8, !tbaa !5
  %866 = load i32, ptr %865, align 4, !tbaa !9
  %867 = icmp eq i32 %866, 0
  br i1 %867, label %872, label %868

868:                                              ; preds = %864
  %869 = load ptr, ptr %15, align 8, !tbaa !5
  %870 = load i32, ptr %869, align 4, !tbaa !9
  %871 = icmp eq i32 %870, 0
  br i1 %871, label %872, label %874

872:                                              ; preds = %868, %864
  %873 = load ptr, ptr %23, align 8, !tbaa !5
  store i32 0, ptr %873, align 4, !tbaa !9
  store i32 1, ptr %70, align 4
  br label %2436

874:                                              ; preds = %868
  %875 = call float @slamch_(ptr noundef @.str.5)
  store float %875, ptr %68, align 4, !tbaa !11
  %876 = call float @slamch_(ptr noundef @.str.7)
  store float %876, ptr %49, align 4, !tbaa !11
  %877 = load float, ptr %49, align 4, !tbaa !11
  %878 = load float, ptr %68, align 4, !tbaa !11
  %879 = fdiv float %877, %878
  store float %879, ptr %65, align 4, !tbaa !11
  %880 = load float, ptr %65, align 4, !tbaa !11
  %881 = fdiv float 1.000000e+00, %880
  store float %881, ptr %61, align 4, !tbaa !11
  call void @slabad_(ptr noundef %65, ptr noundef %61)
  %882 = load ptr, ptr %14, align 8, !tbaa !5
  %883 = load ptr, ptr %15, align 8, !tbaa !5
  %884 = load ptr, ptr %17, align 8, !tbaa !5
  %885 = load i32, ptr %28, align 4, !tbaa !9
  %886 = sext i32 %885 to i64
  %887 = getelementptr inbounds float, ptr %884, i64 %886
  %888 = load ptr, ptr %18, align 8, !tbaa !5
  %889 = load ptr, ptr %24, align 8, !tbaa !5
  %890 = getelementptr inbounds float, ptr %889, i64 1
  %891 = call float @slange_(ptr noundef @.str.8, ptr noundef %882, ptr noundef %883, ptr noundef %887, ptr noundef %888, ptr noundef %890)
  store float %891, ptr %36, align 4, !tbaa !11
  store i32 0, ptr %45, align 4, !tbaa !9
  %892 = load float, ptr %36, align 4, !tbaa !11
  %893 = fcmp ogt float %892, 0.000000e+00
  br i1 %893, label %894, label %907

894:                                              ; preds = %874
  %895 = load float, ptr %36, align 4, !tbaa !11
  %896 = load float, ptr %65, align 4, !tbaa !11
  %897 = fcmp olt float %895, %896
  br i1 %897, label %898, label %907

898:                                              ; preds = %894
  %899 = load ptr, ptr %14, align 8, !tbaa !5
  %900 = load ptr, ptr %15, align 8, !tbaa !5
  %901 = load ptr, ptr %17, align 8, !tbaa !5
  %902 = load i32, ptr %28, align 4, !tbaa !9
  %903 = sext i32 %902 to i64
  %904 = getelementptr inbounds float, ptr %901, i64 %903
  %905 = load ptr, ptr %18, align 8, !tbaa !5
  %906 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %36, ptr noundef %65, ptr noundef %899, ptr noundef %900, ptr noundef %904, ptr noundef %905, ptr noundef %906)
  store i32 1, ptr %45, align 4, !tbaa !9
  br label %948

907:                                              ; preds = %894, %874
  %908 = load float, ptr %36, align 4, !tbaa !11
  %909 = load float, ptr %61, align 4, !tbaa !11
  %910 = fcmp ogt float %908, %909
  br i1 %910, label %911, label %920

911:                                              ; preds = %907
  %912 = load ptr, ptr %14, align 8, !tbaa !5
  %913 = load ptr, ptr %15, align 8, !tbaa !5
  %914 = load ptr, ptr %17, align 8, !tbaa !5
  %915 = load i32, ptr %28, align 4, !tbaa !9
  %916 = sext i32 %915 to i64
  %917 = getelementptr inbounds float, ptr %914, i64 %916
  %918 = load ptr, ptr %18, align 8, !tbaa !5
  %919 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %36, ptr noundef %61, ptr noundef %912, ptr noundef %913, ptr noundef %917, ptr noundef %918, ptr noundef %919)
  store i32 2, ptr %45, align 4, !tbaa !9
  br label %947

920:                                              ; preds = %907
  %921 = load float, ptr %36, align 4, !tbaa !11
  %922 = fcmp oeq float %921, 0.000000e+00
  br i1 %922, label %923, label %946

923:                                              ; preds = %920
  %924 = load ptr, ptr %14, align 8, !tbaa !5
  %925 = load i32, ptr %924, align 4, !tbaa !9
  %926 = load ptr, ptr %15, align 8, !tbaa !5
  %927 = load i32, ptr %926, align 4, !tbaa !9
  %928 = icmp sge i32 %925, %927
  br i1 %928, label %929, label %932

929:                                              ; preds = %923
  %930 = load ptr, ptr %14, align 8, !tbaa !5
  %931 = load i32, ptr %930, align 4, !tbaa !9
  br label %935

932:                                              ; preds = %923
  %933 = load ptr, ptr %15, align 8, !tbaa !5
  %934 = load i32, ptr %933, align 4, !tbaa !9
  br label %935

935:                                              ; preds = %932, %929
  %936 = phi i32 [ %931, %929 ], [ %934, %932 ]
  store i32 %936, ptr %31, align 4, !tbaa !9
  %937 = load ptr, ptr %16, align 8, !tbaa !5
  %938 = load ptr, ptr %19, align 8, !tbaa !5
  %939 = load i32, ptr %30, align 4, !tbaa !9
  %940 = sext i32 %939 to i64
  %941 = getelementptr inbounds float, ptr %938, i64 %940
  %942 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slaset_(ptr noundef @.str.10, ptr noundef %31, ptr noundef %937, ptr noundef @c_b50, ptr noundef @c_b50, ptr noundef %941, ptr noundef %942)
  %943 = load ptr, ptr %21, align 8, !tbaa !5
  %944 = getelementptr inbounds float, ptr %943, i64 1
  call void @slaset_(ptr noundef @.str.10, ptr noundef %50, ptr noundef @c__1, ptr noundef @c_b50, ptr noundef @c_b50, ptr noundef %944, ptr noundef %50)
  %945 = load ptr, ptr %23, align 8, !tbaa !5
  store i32 0, ptr %945, align 4, !tbaa !9
  br label %2431

946:                                              ; preds = %920
  br label %947

947:                                              ; preds = %946, %911
  br label %948

948:                                              ; preds = %947, %898
  %949 = load ptr, ptr %14, align 8, !tbaa !5
  %950 = load ptr, ptr %16, align 8, !tbaa !5
  %951 = load ptr, ptr %19, align 8, !tbaa !5
  %952 = load i32, ptr %30, align 4, !tbaa !9
  %953 = sext i32 %952 to i64
  %954 = getelementptr inbounds float, ptr %951, i64 %953
  %955 = load ptr, ptr %20, align 8, !tbaa !5
  %956 = load ptr, ptr %24, align 8, !tbaa !5
  %957 = getelementptr inbounds float, ptr %956, i64 1
  %958 = call float @slange_(ptr noundef @.str.8, ptr noundef %949, ptr noundef %950, ptr noundef %954, ptr noundef %955, ptr noundef %957)
  store float %958, ptr %37, align 4, !tbaa !11
  store i32 0, ptr %46, align 4, !tbaa !9
  %959 = load float, ptr %37, align 4, !tbaa !11
  %960 = fcmp ogt float %959, 0.000000e+00
  br i1 %960, label %961, label %974

961:                                              ; preds = %948
  %962 = load float, ptr %37, align 4, !tbaa !11
  %963 = load float, ptr %65, align 4, !tbaa !11
  %964 = fcmp olt float %962, %963
  br i1 %964, label %965, label %974

965:                                              ; preds = %961
  %966 = load ptr, ptr %14, align 8, !tbaa !5
  %967 = load ptr, ptr %16, align 8, !tbaa !5
  %968 = load ptr, ptr %19, align 8, !tbaa !5
  %969 = load i32, ptr %30, align 4, !tbaa !9
  %970 = sext i32 %969 to i64
  %971 = getelementptr inbounds float, ptr %968, i64 %970
  %972 = load ptr, ptr %20, align 8, !tbaa !5
  %973 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %37, ptr noundef %65, ptr noundef %966, ptr noundef %967, ptr noundef %971, ptr noundef %972, ptr noundef %973)
  store i32 1, ptr %46, align 4, !tbaa !9
  br label %988

974:                                              ; preds = %961, %948
  %975 = load float, ptr %37, align 4, !tbaa !11
  %976 = load float, ptr %61, align 4, !tbaa !11
  %977 = fcmp ogt float %975, %976
  br i1 %977, label %978, label %987

978:                                              ; preds = %974
  %979 = load ptr, ptr %14, align 8, !tbaa !5
  %980 = load ptr, ptr %16, align 8, !tbaa !5
  %981 = load ptr, ptr %19, align 8, !tbaa !5
  %982 = load i32, ptr %30, align 4, !tbaa !9
  %983 = sext i32 %982 to i64
  %984 = getelementptr inbounds float, ptr %981, i64 %983
  %985 = load ptr, ptr %20, align 8, !tbaa !5
  %986 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %37, ptr noundef %61, ptr noundef %979, ptr noundef %980, ptr noundef %984, ptr noundef %985, ptr noundef %986)
  store i32 2, ptr %46, align 4, !tbaa !9
  br label %987

987:                                              ; preds = %978, %974
  br label %988

988:                                              ; preds = %987, %965
  %989 = load ptr, ptr %14, align 8, !tbaa !5
  %990 = load i32, ptr %989, align 4, !tbaa !9
  %991 = load ptr, ptr %15, align 8, !tbaa !5
  %992 = load i32, ptr %991, align 4, !tbaa !9
  %993 = icmp sge i32 %990, %992
  br i1 %993, label %994, label %1418

994:                                              ; preds = %988
  %995 = load ptr, ptr %14, align 8, !tbaa !5
  %996 = load i32, ptr %995, align 4, !tbaa !9
  store i32 %996, ptr %59, align 4, !tbaa !9
  %997 = load ptr, ptr %14, align 8, !tbaa !5
  %998 = load i32, ptr %997, align 4, !tbaa !9
  %999 = load i32, ptr %54, align 4, !tbaa !9
  %1000 = icmp sge i32 %998, %999
  br i1 %1000, label %1001, label %1073

1001:                                             ; preds = %994
  %1002 = load ptr, ptr %15, align 8, !tbaa !5
  %1003 = load i32, ptr %1002, align 4, !tbaa !9
  store i32 %1003, ptr %59, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %1004 = load i32, ptr %38, align 4, !tbaa !9
  %1005 = load ptr, ptr %15, align 8, !tbaa !5
  %1006 = load i32, ptr %1005, align 4, !tbaa !9
  %1007 = add nsw i32 %1004, %1006
  store i32 %1007, ptr %55, align 4, !tbaa !9
  %1008 = load ptr, ptr %25, align 8, !tbaa !5
  %1009 = load i32, ptr %1008, align 4, !tbaa !9
  %1010 = load i32, ptr %55, align 4, !tbaa !9
  %1011 = sub nsw i32 %1009, %1010
  %1012 = add nsw i32 %1011, 1
  store i32 %1012, ptr %31, align 4, !tbaa !9
  %1013 = load ptr, ptr %14, align 8, !tbaa !5
  %1014 = load ptr, ptr %15, align 8, !tbaa !5
  %1015 = load ptr, ptr %17, align 8, !tbaa !5
  %1016 = load i32, ptr %28, align 4, !tbaa !9
  %1017 = sext i32 %1016 to i64
  %1018 = getelementptr inbounds float, ptr %1015, i64 %1017
  %1019 = load ptr, ptr %18, align 8, !tbaa !5
  %1020 = load ptr, ptr %24, align 8, !tbaa !5
  %1021 = load i32, ptr %38, align 4, !tbaa !9
  %1022 = sext i32 %1021 to i64
  %1023 = getelementptr inbounds float, ptr %1020, i64 %1022
  %1024 = load ptr, ptr %24, align 8, !tbaa !5
  %1025 = load i32, ptr %55, align 4, !tbaa !9
  %1026 = sext i32 %1025 to i64
  %1027 = getelementptr inbounds float, ptr %1024, i64 %1026
  %1028 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sgeqrf_(ptr noundef %1013, ptr noundef %1014, ptr noundef %1018, ptr noundef %1019, ptr noundef %1023, ptr noundef %1027, ptr noundef %31, ptr noundef %1028)
  %1029 = load ptr, ptr %25, align 8, !tbaa !5
  %1030 = load i32, ptr %1029, align 4, !tbaa !9
  %1031 = load i32, ptr %55, align 4, !tbaa !9
  %1032 = sub nsw i32 %1030, %1031
  %1033 = add nsw i32 %1032, 1
  store i32 %1033, ptr %31, align 4, !tbaa !9
  %1034 = load ptr, ptr %14, align 8, !tbaa !5
  %1035 = load ptr, ptr %16, align 8, !tbaa !5
  %1036 = load ptr, ptr %15, align 8, !tbaa !5
  %1037 = load ptr, ptr %17, align 8, !tbaa !5
  %1038 = load i32, ptr %28, align 4, !tbaa !9
  %1039 = sext i32 %1038 to i64
  %1040 = getelementptr inbounds float, ptr %1037, i64 %1039
  %1041 = load ptr, ptr %18, align 8, !tbaa !5
  %1042 = load ptr, ptr %24, align 8, !tbaa !5
  %1043 = load i32, ptr %38, align 4, !tbaa !9
  %1044 = sext i32 %1043 to i64
  %1045 = getelementptr inbounds float, ptr %1042, i64 %1044
  %1046 = load ptr, ptr %19, align 8, !tbaa !5
  %1047 = load i32, ptr %30, align 4, !tbaa !9
  %1048 = sext i32 %1047 to i64
  %1049 = getelementptr inbounds float, ptr %1046, i64 %1048
  %1050 = load ptr, ptr %20, align 8, !tbaa !5
  %1051 = load ptr, ptr %24, align 8, !tbaa !5
  %1052 = load i32, ptr %55, align 4, !tbaa !9
  %1053 = sext i32 %1052 to i64
  %1054 = getelementptr inbounds float, ptr %1051, i64 %1053
  %1055 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormqr_(ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %1034, ptr noundef %1035, ptr noundef %1036, ptr noundef %1040, ptr noundef %1041, ptr noundef %1045, ptr noundef %1049, ptr noundef %1050, ptr noundef %1054, ptr noundef %31, ptr noundef %1055)
  %1056 = load ptr, ptr %15, align 8, !tbaa !5
  %1057 = load i32, ptr %1056, align 4, !tbaa !9
  %1058 = icmp sgt i32 %1057, 1
  br i1 %1058, label %1059, label %1072

1059:                                             ; preds = %1001
  %1060 = load ptr, ptr %15, align 8, !tbaa !5
  %1061 = load i32, ptr %1060, align 4, !tbaa !9
  %1062 = sub nsw i32 %1061, 1
  store i32 %1062, ptr %31, align 4, !tbaa !9
  %1063 = load ptr, ptr %15, align 8, !tbaa !5
  %1064 = load i32, ptr %1063, align 4, !tbaa !9
  %1065 = sub nsw i32 %1064, 1
  store i32 %1065, ptr %32, align 4, !tbaa !9
  %1066 = load ptr, ptr %17, align 8, !tbaa !5
  %1067 = load i32, ptr %27, align 4, !tbaa !9
  %1068 = add nsw i32 %1067, 2
  %1069 = sext i32 %1068 to i64
  %1070 = getelementptr inbounds float, ptr %1066, i64 %1069
  %1071 = load ptr, ptr %18, align 8, !tbaa !5
  call void @slaset_(ptr noundef @.str.2, ptr noundef %31, ptr noundef %32, ptr noundef @c_b50, ptr noundef @c_b50, ptr noundef %1070, ptr noundef %1071)
  br label %1072

1072:                                             ; preds = %1059, %1001
  br label %1073

1073:                                             ; preds = %1072, %994
  store i32 1, ptr %57, align 4, !tbaa !9
  %1074 = load i32, ptr %57, align 4, !tbaa !9
  %1075 = load ptr, ptr %15, align 8, !tbaa !5
  %1076 = load i32, ptr %1075, align 4, !tbaa !9
  %1077 = add nsw i32 %1074, %1076
  store i32 %1077, ptr %53, align 4, !tbaa !9
  %1078 = load i32, ptr %53, align 4, !tbaa !9
  %1079 = load ptr, ptr %15, align 8, !tbaa !5
  %1080 = load i32, ptr %1079, align 4, !tbaa !9
  %1081 = add nsw i32 %1078, %1080
  store i32 %1081, ptr %52, align 4, !tbaa !9
  %1082 = load i32, ptr %52, align 4, !tbaa !9
  %1083 = load ptr, ptr %15, align 8, !tbaa !5
  %1084 = load i32, ptr %1083, align 4, !tbaa !9
  %1085 = add nsw i32 %1082, %1084
  store i32 %1085, ptr %55, align 4, !tbaa !9
  %1086 = load ptr, ptr %25, align 8, !tbaa !5
  %1087 = load i32, ptr %1086, align 4, !tbaa !9
  %1088 = load i32, ptr %55, align 4, !tbaa !9
  %1089 = sub nsw i32 %1087, %1088
  %1090 = add nsw i32 %1089, 1
  store i32 %1090, ptr %31, align 4, !tbaa !9
  %1091 = load ptr, ptr %15, align 8, !tbaa !5
  %1092 = load ptr, ptr %17, align 8, !tbaa !5
  %1093 = load i32, ptr %28, align 4, !tbaa !9
  %1094 = sext i32 %1093 to i64
  %1095 = getelementptr inbounds float, ptr %1092, i64 %1094
  %1096 = load ptr, ptr %18, align 8, !tbaa !5
  %1097 = load ptr, ptr %21, align 8, !tbaa !5
  %1098 = getelementptr inbounds float, ptr %1097, i64 1
  %1099 = load ptr, ptr %24, align 8, !tbaa !5
  %1100 = load i32, ptr %57, align 4, !tbaa !9
  %1101 = sext i32 %1100 to i64
  %1102 = getelementptr inbounds float, ptr %1099, i64 %1101
  %1103 = load ptr, ptr %24, align 8, !tbaa !5
  %1104 = load i32, ptr %53, align 4, !tbaa !9
  %1105 = sext i32 %1104 to i64
  %1106 = getelementptr inbounds float, ptr %1103, i64 %1105
  %1107 = load ptr, ptr %24, align 8, !tbaa !5
  %1108 = load i32, ptr %52, align 4, !tbaa !9
  %1109 = sext i32 %1108 to i64
  %1110 = getelementptr inbounds float, ptr %1107, i64 %1109
  %1111 = load ptr, ptr %24, align 8, !tbaa !5
  %1112 = load i32, ptr %55, align 4, !tbaa !9
  %1113 = sext i32 %1112 to i64
  %1114 = getelementptr inbounds float, ptr %1111, i64 %1113
  %1115 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sgebrd_(ptr noundef %59, ptr noundef %1091, ptr noundef %1095, ptr noundef %1096, ptr noundef %1098, ptr noundef %1102, ptr noundef %1106, ptr noundef %1110, ptr noundef %1114, ptr noundef %31, ptr noundef %1115)
  %1116 = load ptr, ptr %25, align 8, !tbaa !5
  %1117 = load i32, ptr %1116, align 4, !tbaa !9
  %1118 = load i32, ptr %55, align 4, !tbaa !9
  %1119 = sub nsw i32 %1117, %1118
  %1120 = add nsw i32 %1119, 1
  store i32 %1120, ptr %31, align 4, !tbaa !9
  %1121 = load ptr, ptr %16, align 8, !tbaa !5
  %1122 = load ptr, ptr %15, align 8, !tbaa !5
  %1123 = load ptr, ptr %17, align 8, !tbaa !5
  %1124 = load i32, ptr %28, align 4, !tbaa !9
  %1125 = sext i32 %1124 to i64
  %1126 = getelementptr inbounds float, ptr %1123, i64 %1125
  %1127 = load ptr, ptr %18, align 8, !tbaa !5
  %1128 = load ptr, ptr %24, align 8, !tbaa !5
  %1129 = load i32, ptr %53, align 4, !tbaa !9
  %1130 = sext i32 %1129 to i64
  %1131 = getelementptr inbounds float, ptr %1128, i64 %1130
  %1132 = load ptr, ptr %19, align 8, !tbaa !5
  %1133 = load i32, ptr %30, align 4, !tbaa !9
  %1134 = sext i32 %1133 to i64
  %1135 = getelementptr inbounds float, ptr %1132, i64 %1134
  %1136 = load ptr, ptr %20, align 8, !tbaa !5
  %1137 = load ptr, ptr %24, align 8, !tbaa !5
  %1138 = load i32, ptr %55, align 4, !tbaa !9
  %1139 = sext i32 %1138 to i64
  %1140 = getelementptr inbounds float, ptr %1137, i64 %1139
  %1141 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormbr_(ptr noundef @.str.4, ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %59, ptr noundef %1121, ptr noundef %1122, ptr noundef %1126, ptr noundef %1127, ptr noundef %1131, ptr noundef %1135, ptr noundef %1136, ptr noundef %1140, ptr noundef %31, ptr noundef %1141)
  %1142 = load ptr, ptr %25, align 8, !tbaa !5
  %1143 = load i32, ptr %1142, align 4, !tbaa !9
  %1144 = load i32, ptr %55, align 4, !tbaa !9
  %1145 = sub nsw i32 %1143, %1144
  %1146 = add nsw i32 %1145, 1
  store i32 %1146, ptr %31, align 4, !tbaa !9
  %1147 = load ptr, ptr %15, align 8, !tbaa !5
  %1148 = load ptr, ptr %15, align 8, !tbaa !5
  %1149 = load ptr, ptr %15, align 8, !tbaa !5
  %1150 = load ptr, ptr %17, align 8, !tbaa !5
  %1151 = load i32, ptr %28, align 4, !tbaa !9
  %1152 = sext i32 %1151 to i64
  %1153 = getelementptr inbounds float, ptr %1150, i64 %1152
  %1154 = load ptr, ptr %18, align 8, !tbaa !5
  %1155 = load ptr, ptr %24, align 8, !tbaa !5
  %1156 = load i32, ptr %52, align 4, !tbaa !9
  %1157 = sext i32 %1156 to i64
  %1158 = getelementptr inbounds float, ptr %1155, i64 %1157
  %1159 = load ptr, ptr %24, align 8, !tbaa !5
  %1160 = load i32, ptr %55, align 4, !tbaa !9
  %1161 = sext i32 %1160 to i64
  %1162 = getelementptr inbounds float, ptr %1159, i64 %1161
  %1163 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sorgbr_(ptr noundef @.str.5, ptr noundef %1147, ptr noundef %1148, ptr noundef %1149, ptr noundef %1153, ptr noundef %1154, ptr noundef %1158, ptr noundef %1162, ptr noundef %31, ptr noundef %1163)
  %1164 = load i32, ptr %57, align 4, !tbaa !9
  %1165 = load ptr, ptr %15, align 8, !tbaa !5
  %1166 = load i32, ptr %1165, align 4, !tbaa !9
  %1167 = add nsw i32 %1164, %1166
  store i32 %1167, ptr %55, align 4, !tbaa !9
  %1168 = load ptr, ptr %15, align 8, !tbaa !5
  %1169 = load ptr, ptr %15, align 8, !tbaa !5
  %1170 = load ptr, ptr %16, align 8, !tbaa !5
  %1171 = load ptr, ptr %21, align 8, !tbaa !5
  %1172 = getelementptr inbounds float, ptr %1171, i64 1
  %1173 = load ptr, ptr %24, align 8, !tbaa !5
  %1174 = load i32, ptr %57, align 4, !tbaa !9
  %1175 = sext i32 %1174 to i64
  %1176 = getelementptr inbounds float, ptr %1173, i64 %1175
  %1177 = load ptr, ptr %17, align 8, !tbaa !5
  %1178 = load i32, ptr %28, align 4, !tbaa !9
  %1179 = sext i32 %1178 to i64
  %1180 = getelementptr inbounds float, ptr %1177, i64 %1179
  %1181 = load ptr, ptr %18, align 8, !tbaa !5
  %1182 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %1183 = load ptr, ptr %19, align 8, !tbaa !5
  %1184 = load i32, ptr %30, align 4, !tbaa !9
  %1185 = sext i32 %1184 to i64
  %1186 = getelementptr inbounds float, ptr %1183, i64 %1185
  %1187 = load ptr, ptr %20, align 8, !tbaa !5
  %1188 = load ptr, ptr %24, align 8, !tbaa !5
  %1189 = load i32, ptr %55, align 4, !tbaa !9
  %1190 = sext i32 %1189 to i64
  %1191 = getelementptr inbounds float, ptr %1188, i64 %1190
  %1192 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sbdsqr_(ptr noundef @.str.11, ptr noundef %1168, ptr noundef %1169, ptr noundef @c__0, ptr noundef %1170, ptr noundef %1172, ptr noundef %1176, ptr noundef %1180, ptr noundef %1181, ptr noundef %1182, ptr noundef @c__1, ptr noundef %1186, ptr noundef %1187, ptr noundef %1191, ptr noundef %1192)
  %1193 = load ptr, ptr %26, align 8, !tbaa !5
  %1194 = load i32, ptr %1193, align 4, !tbaa !9
  %1195 = icmp ne i32 %1194, 0
  br i1 %1195, label %1196, label %1197

1196:                                             ; preds = %1073
  br label %2431

1197:                                             ; preds = %1073
  %1198 = load ptr, ptr %22, align 8, !tbaa !5
  %1199 = load float, ptr %1198, align 4, !tbaa !11
  %1200 = load ptr, ptr %21, align 8, !tbaa !5
  %1201 = getelementptr inbounds float, ptr %1200, i64 1
  %1202 = load float, ptr %1201, align 4, !tbaa !11
  %1203 = fmul float %1199, %1202
  store float %1203, ptr %35, align 4, !tbaa !11
  %1204 = load float, ptr %35, align 4, !tbaa !11
  %1205 = load float, ptr %49, align 4, !tbaa !11
  %1206 = fcmp oge float %1204, %1205
  br i1 %1206, label %1207, label %1209

1207:                                             ; preds = %1197
  %1208 = load float, ptr %35, align 4, !tbaa !11
  br label %1211

1209:                                             ; preds = %1197
  %1210 = load float, ptr %49, align 4, !tbaa !11
  br label %1211

1211:                                             ; preds = %1209, %1207
  %1212 = phi float [ %1208, %1207 ], [ %1210, %1209 ]
  store float %1212, ptr %69, align 4, !tbaa !11
  %1213 = load ptr, ptr %22, align 8, !tbaa !5
  %1214 = load float, ptr %1213, align 4, !tbaa !11
  %1215 = fcmp olt float %1214, 0.000000e+00
  br i1 %1215, label %1216, label %1231

1216:                                             ; preds = %1211
  %1217 = load float, ptr %68, align 4, !tbaa !11
  %1218 = load ptr, ptr %21, align 8, !tbaa !5
  %1219 = getelementptr inbounds float, ptr %1218, i64 1
  %1220 = load float, ptr %1219, align 4, !tbaa !11
  %1221 = fmul float %1217, %1220
  store float %1221, ptr %35, align 4, !tbaa !11
  %1222 = load float, ptr %35, align 4, !tbaa !11
  %1223 = load float, ptr %49, align 4, !tbaa !11
  %1224 = fcmp oge float %1222, %1223
  br i1 %1224, label %1225, label %1227

1225:                                             ; preds = %1216
  %1226 = load float, ptr %35, align 4, !tbaa !11
  br label %1229

1227:                                             ; preds = %1216
  %1228 = load float, ptr %49, align 4, !tbaa !11
  br label %1229

1229:                                             ; preds = %1227, %1225
  %1230 = phi float [ %1226, %1225 ], [ %1228, %1227 ]
  store float %1230, ptr %69, align 4, !tbaa !11
  br label %1231

1231:                                             ; preds = %1229, %1211
  %1232 = load ptr, ptr %23, align 8, !tbaa !5
  store i32 0, ptr %1232, align 4, !tbaa !9
  %1233 = load ptr, ptr %15, align 8, !tbaa !5
  %1234 = load i32, ptr %1233, align 4, !tbaa !9
  store i32 %1234, ptr %31, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  br label %1235

1235:                                             ; preds = %1273, %1231
  %1236 = load i32, ptr %41, align 4, !tbaa !9
  %1237 = load i32, ptr %31, align 4, !tbaa !9
  %1238 = icmp sle i32 %1236, %1237
  br i1 %1238, label %1239, label %1276

1239:                                             ; preds = %1235
  %1240 = load ptr, ptr %21, align 8, !tbaa !5
  %1241 = load i32, ptr %41, align 4, !tbaa !9
  %1242 = sext i32 %1241 to i64
  %1243 = getelementptr inbounds float, ptr %1240, i64 %1242
  %1244 = load float, ptr %1243, align 4, !tbaa !11
  %1245 = load float, ptr %69, align 4, !tbaa !11
  %1246 = fcmp ogt float %1244, %1245
  br i1 %1246, label %1247, label %1263

1247:                                             ; preds = %1239
  %1248 = load ptr, ptr %16, align 8, !tbaa !5
  %1249 = load ptr, ptr %21, align 8, !tbaa !5
  %1250 = load i32, ptr %41, align 4, !tbaa !9
  %1251 = sext i32 %1250 to i64
  %1252 = getelementptr inbounds float, ptr %1249, i64 %1251
  %1253 = load ptr, ptr %19, align 8, !tbaa !5
  %1254 = load i32, ptr %41, align 4, !tbaa !9
  %1255 = load i32, ptr %29, align 4, !tbaa !9
  %1256 = add nsw i32 %1254, %1255
  %1257 = sext i32 %1256 to i64
  %1258 = getelementptr inbounds float, ptr %1253, i64 %1257
  %1259 = load ptr, ptr %20, align 8, !tbaa !5
  call void @srscl_(ptr noundef %1248, ptr noundef %1252, ptr noundef %1258, ptr noundef %1259)
  %1260 = load ptr, ptr %23, align 8, !tbaa !5
  %1261 = load i32, ptr %1260, align 4, !tbaa !9
  %1262 = add nsw i32 %1261, 1
  store i32 %1262, ptr %1260, align 4, !tbaa !9
  br label %1272

1263:                                             ; preds = %1239
  %1264 = load ptr, ptr %16, align 8, !tbaa !5
  %1265 = load ptr, ptr %19, align 8, !tbaa !5
  %1266 = load i32, ptr %41, align 4, !tbaa !9
  %1267 = load i32, ptr %29, align 4, !tbaa !9
  %1268 = add nsw i32 %1266, %1267
  %1269 = sext i32 %1268 to i64
  %1270 = getelementptr inbounds float, ptr %1265, i64 %1269
  %1271 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slaset_(ptr noundef @.str.10, ptr noundef @c__1, ptr noundef %1264, ptr noundef @c_b50, ptr noundef @c_b50, ptr noundef %1270, ptr noundef %1271)
  br label %1272

1272:                                             ; preds = %1263, %1247
  br label %1273

1273:                                             ; preds = %1272
  %1274 = load i32, ptr %41, align 4, !tbaa !9
  %1275 = add nsw i32 %1274, 1
  store i32 %1275, ptr %41, align 4, !tbaa !9
  br label %1235, !llvm.loop !13

1276:                                             ; preds = %1235
  %1277 = load ptr, ptr %25, align 8, !tbaa !5
  %1278 = load i32, ptr %1277, align 4, !tbaa !9
  %1279 = load ptr, ptr %20, align 8, !tbaa !5
  %1280 = load i32, ptr %1279, align 4, !tbaa !9
  %1281 = load ptr, ptr %16, align 8, !tbaa !5
  %1282 = load i32, ptr %1281, align 4, !tbaa !9
  %1283 = mul nsw i32 %1280, %1282
  %1284 = icmp sge i32 %1278, %1283
  br i1 %1284, label %1285, label %1316

1285:                                             ; preds = %1276
  %1286 = load ptr, ptr %16, align 8, !tbaa !5
  %1287 = load i32, ptr %1286, align 4, !tbaa !9
  %1288 = icmp sgt i32 %1287, 1
  br i1 %1288, label %1289, label %1316

1289:                                             ; preds = %1285
  %1290 = load ptr, ptr %15, align 8, !tbaa !5
  %1291 = load ptr, ptr %16, align 8, !tbaa !5
  %1292 = load ptr, ptr %15, align 8, !tbaa !5
  %1293 = load ptr, ptr %17, align 8, !tbaa !5
  %1294 = load i32, ptr %28, align 4, !tbaa !9
  %1295 = sext i32 %1294 to i64
  %1296 = getelementptr inbounds float, ptr %1293, i64 %1295
  %1297 = load ptr, ptr %18, align 8, !tbaa !5
  %1298 = load ptr, ptr %19, align 8, !tbaa !5
  %1299 = load i32, ptr %30, align 4, !tbaa !9
  %1300 = sext i32 %1299 to i64
  %1301 = getelementptr inbounds float, ptr %1298, i64 %1300
  %1302 = load ptr, ptr %20, align 8, !tbaa !5
  %1303 = load ptr, ptr %24, align 8, !tbaa !5
  %1304 = getelementptr inbounds float, ptr %1303, i64 1
  %1305 = load ptr, ptr %20, align 8, !tbaa !5
  call void @sgemm_(ptr noundef @.str.3, ptr noundef @.str.12, ptr noundef %1290, ptr noundef %1291, ptr noundef %1292, ptr noundef @c_b83, ptr noundef %1296, ptr noundef %1297, ptr noundef %1301, ptr noundef %1302, ptr noundef @c_b50, ptr noundef %1304, ptr noundef %1305)
  %1306 = load ptr, ptr %15, align 8, !tbaa !5
  %1307 = load ptr, ptr %16, align 8, !tbaa !5
  %1308 = load ptr, ptr %24, align 8, !tbaa !5
  %1309 = getelementptr inbounds float, ptr %1308, i64 1
  %1310 = load ptr, ptr %20, align 8, !tbaa !5
  %1311 = load ptr, ptr %19, align 8, !tbaa !5
  %1312 = load i32, ptr %30, align 4, !tbaa !9
  %1313 = sext i32 %1312 to i64
  %1314 = getelementptr inbounds float, ptr %1311, i64 %1313
  %1315 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slacpy_(ptr noundef @.str.9, ptr noundef %1306, ptr noundef %1307, ptr noundef %1309, ptr noundef %1310, ptr noundef %1314, ptr noundef %1315)
  br label %1417

1316:                                             ; preds = %1285, %1276
  %1317 = load ptr, ptr %16, align 8, !tbaa !5
  %1318 = load i32, ptr %1317, align 4, !tbaa !9
  %1319 = icmp sgt i32 %1318, 1
  br i1 %1319, label %1320, label %1395

1320:                                             ; preds = %1316
  %1321 = load ptr, ptr %25, align 8, !tbaa !5
  %1322 = load i32, ptr %1321, align 4, !tbaa !9
  %1323 = load ptr, ptr %15, align 8, !tbaa !5
  %1324 = load i32, ptr %1323, align 4, !tbaa !9
  %1325 = sdiv i32 %1322, %1324
  store i32 %1325, ptr %48, align 4, !tbaa !9
  %1326 = load ptr, ptr %16, align 8, !tbaa !5
  %1327 = load i32, ptr %1326, align 4, !tbaa !9
  store i32 %1327, ptr %31, align 4, !tbaa !9
  %1328 = load i32, ptr %48, align 4, !tbaa !9
  store i32 %1328, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  br label %1329

1329:                                             ; preds = %1390, %1320
  %1330 = load i32, ptr %32, align 4, !tbaa !9
  %1331 = icmp slt i32 %1330, 0
  br i1 %1331, label %1332, label %1337

1332:                                             ; preds = %1329
  %1333 = load i32, ptr %41, align 4, !tbaa !9
  %1334 = load i32, ptr %31, align 4, !tbaa !9
  %1335 = icmp sge i32 %1333, %1334
  %1336 = zext i1 %1335 to i32
  br label %1342

1337:                                             ; preds = %1329
  %1338 = load i32, ptr %41, align 4, !tbaa !9
  %1339 = load i32, ptr %31, align 4, !tbaa !9
  %1340 = icmp sle i32 %1338, %1339
  %1341 = zext i1 %1340 to i32
  br label %1342

1342:                                             ; preds = %1337, %1332
  %1343 = phi i32 [ %1336, %1332 ], [ %1341, %1337 ]
  %1344 = icmp ne i32 %1343, 0
  br i1 %1344, label %1345, label %1394

1345:                                             ; preds = %1342
  %1346 = load ptr, ptr %16, align 8, !tbaa !5
  %1347 = load i32, ptr %1346, align 4, !tbaa !9
  %1348 = load i32, ptr %41, align 4, !tbaa !9
  %1349 = sub nsw i32 %1347, %1348
  %1350 = add nsw i32 %1349, 1
  store i32 %1350, ptr %33, align 4, !tbaa !9
  %1351 = load i32, ptr %33, align 4, !tbaa !9
  %1352 = load i32, ptr %48, align 4, !tbaa !9
  %1353 = icmp sle i32 %1351, %1352
  br i1 %1353, label %1354, label %1356

1354:                                             ; preds = %1345
  %1355 = load i32, ptr %33, align 4, !tbaa !9
  br label %1358

1356:                                             ; preds = %1345
  %1357 = load i32, ptr %48, align 4, !tbaa !9
  br label %1358

1358:                                             ; preds = %1356, %1354
  %1359 = phi i32 [ %1355, %1354 ], [ %1357, %1356 ]
  store i32 %1359, ptr %56, align 4, !tbaa !9
  %1360 = load ptr, ptr %15, align 8, !tbaa !5
  %1361 = load ptr, ptr %15, align 8, !tbaa !5
  %1362 = load ptr, ptr %17, align 8, !tbaa !5
  %1363 = load i32, ptr %28, align 4, !tbaa !9
  %1364 = sext i32 %1363 to i64
  %1365 = getelementptr inbounds float, ptr %1362, i64 %1364
  %1366 = load ptr, ptr %18, align 8, !tbaa !5
  %1367 = load ptr, ptr %19, align 8, !tbaa !5
  %1368 = load i32, ptr %41, align 4, !tbaa !9
  %1369 = load i32, ptr %29, align 4, !tbaa !9
  %1370 = mul nsw i32 %1368, %1369
  %1371 = add nsw i32 %1370, 1
  %1372 = sext i32 %1371 to i64
  %1373 = getelementptr inbounds float, ptr %1367, i64 %1372
  %1374 = load ptr, ptr %20, align 8, !tbaa !5
  %1375 = load ptr, ptr %24, align 8, !tbaa !5
  %1376 = getelementptr inbounds float, ptr %1375, i64 1
  %1377 = load ptr, ptr %15, align 8, !tbaa !5
  call void @sgemm_(ptr noundef @.str.3, ptr noundef @.str.12, ptr noundef %1360, ptr noundef %56, ptr noundef %1361, ptr noundef @c_b83, ptr noundef %1365, ptr noundef %1366, ptr noundef %1373, ptr noundef %1374, ptr noundef @c_b50, ptr noundef %1376, ptr noundef %1377)
  %1378 = load ptr, ptr %15, align 8, !tbaa !5
  %1379 = load ptr, ptr %24, align 8, !tbaa !5
  %1380 = getelementptr inbounds float, ptr %1379, i64 1
  %1381 = load ptr, ptr %15, align 8, !tbaa !5
  %1382 = load ptr, ptr %19, align 8, !tbaa !5
  %1383 = load i32, ptr %41, align 4, !tbaa !9
  %1384 = load i32, ptr %29, align 4, !tbaa !9
  %1385 = mul nsw i32 %1383, %1384
  %1386 = add nsw i32 %1385, 1
  %1387 = sext i32 %1386 to i64
  %1388 = getelementptr inbounds float, ptr %1382, i64 %1387
  %1389 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slacpy_(ptr noundef @.str.9, ptr noundef %1378, ptr noundef %56, ptr noundef %1380, ptr noundef %1381, ptr noundef %1388, ptr noundef %1389)
  br label %1390

1390:                                             ; preds = %1358
  %1391 = load i32, ptr %32, align 4, !tbaa !9
  %1392 = load i32, ptr %41, align 4, !tbaa !9
  %1393 = add nsw i32 %1392, %1391
  store i32 %1393, ptr %41, align 4, !tbaa !9
  br label %1329, !llvm.loop !15

1394:                                             ; preds = %1342
  br label %1416

1395:                                             ; preds = %1316
  %1396 = load ptr, ptr %15, align 8, !tbaa !5
  %1397 = load ptr, ptr %15, align 8, !tbaa !5
  %1398 = load ptr, ptr %17, align 8, !tbaa !5
  %1399 = load i32, ptr %28, align 4, !tbaa !9
  %1400 = sext i32 %1399 to i64
  %1401 = getelementptr inbounds float, ptr %1398, i64 %1400
  %1402 = load ptr, ptr %18, align 8, !tbaa !5
  %1403 = load ptr, ptr %19, align 8, !tbaa !5
  %1404 = load i32, ptr %30, align 4, !tbaa !9
  %1405 = sext i32 %1404 to i64
  %1406 = getelementptr inbounds float, ptr %1403, i64 %1405
  %1407 = load ptr, ptr %24, align 8, !tbaa !5
  %1408 = getelementptr inbounds float, ptr %1407, i64 1
  call void @sgemv_(ptr noundef @.str.3, ptr noundef %1396, ptr noundef %1397, ptr noundef @c_b83, ptr noundef %1401, ptr noundef %1402, ptr noundef %1406, ptr noundef @c__1, ptr noundef @c_b50, ptr noundef %1408, ptr noundef @c__1)
  %1409 = load ptr, ptr %15, align 8, !tbaa !5
  %1410 = load ptr, ptr %24, align 8, !tbaa !5
  %1411 = getelementptr inbounds float, ptr %1410, i64 1
  %1412 = load ptr, ptr %19, align 8, !tbaa !5
  %1413 = load i32, ptr %30, align 4, !tbaa !9
  %1414 = sext i32 %1413 to i64
  %1415 = getelementptr inbounds float, ptr %1412, i64 %1414
  call void @scopy_(ptr noundef %1409, ptr noundef %1411, ptr noundef @c__1, ptr noundef %1415, ptr noundef @c__1)
  br label %1416

1416:                                             ; preds = %1395, %1394
  br label %1417

1417:                                             ; preds = %1416, %1289
  br label %2374

1418:                                             ; preds = %988
  %1419 = load ptr, ptr %14, align 8, !tbaa !5
  %1420 = load i32, ptr %1419, align 4, !tbaa !9
  store i32 %1420, ptr %32, align 4, !tbaa !9
  %1421 = load ptr, ptr %14, align 8, !tbaa !5
  %1422 = load i32, ptr %1421, align 4, !tbaa !9
  %1423 = shl i32 %1422, 1
  %1424 = sub nsw i32 %1423, 4
  store i32 %1424, ptr %31, align 4, !tbaa !9
  %1425 = load i32, ptr %32, align 4, !tbaa !9
  %1426 = load i32, ptr %31, align 4, !tbaa !9
  %1427 = icmp sge i32 %1425, %1426
  br i1 %1427, label %1428, label %1430

1428:                                             ; preds = %1418
  %1429 = load i32, ptr %32, align 4, !tbaa !9
  br label %1432

1430:                                             ; preds = %1418
  %1431 = load i32, ptr %31, align 4, !tbaa !9
  br label %1432

1432:                                             ; preds = %1430, %1428
  %1433 = phi i32 [ %1429, %1428 ], [ %1431, %1430 ]
  store i32 %1433, ptr %32, align 4, !tbaa !9
  %1434 = load i32, ptr %32, align 4, !tbaa !9
  %1435 = load ptr, ptr %16, align 8, !tbaa !5
  %1436 = load i32, ptr %1435, align 4, !tbaa !9
  %1437 = icmp sge i32 %1434, %1436
  br i1 %1437, label %1438, label %1440

1438:                                             ; preds = %1432
  %1439 = load i32, ptr %32, align 4, !tbaa !9
  br label %1443

1440:                                             ; preds = %1432
  %1441 = load ptr, ptr %16, align 8, !tbaa !5
  %1442 = load i32, ptr %1441, align 4, !tbaa !9
  br label %1443

1443:                                             ; preds = %1440, %1438
  %1444 = phi i32 [ %1439, %1438 ], [ %1442, %1440 ]
  store i32 %1444, ptr %32, align 4, !tbaa !9
  %1445 = load ptr, ptr %15, align 8, !tbaa !5
  %1446 = load i32, ptr %1445, align 4, !tbaa !9
  %1447 = load ptr, ptr %14, align 8, !tbaa !5
  %1448 = load i32, ptr %1447, align 4, !tbaa !9
  %1449 = mul nsw i32 %1448, 3
  %1450 = sub nsw i32 %1446, %1449
  store i32 %1450, ptr %31, align 4, !tbaa !9
  %1451 = load ptr, ptr %15, align 8, !tbaa !5
  %1452 = load i32, ptr %1451, align 4, !tbaa !9
  %1453 = load i32, ptr %54, align 4, !tbaa !9
  %1454 = icmp sge i32 %1452, %1453
  br i1 %1454, label %1455, label %2026

1455:                                             ; preds = %1443
  %1456 = load ptr, ptr %25, align 8, !tbaa !5
  %1457 = load i32, ptr %1456, align 4, !tbaa !9
  %1458 = load ptr, ptr %14, align 8, !tbaa !5
  %1459 = load i32, ptr %1458, align 4, !tbaa !9
  %1460 = shl i32 %1459, 2
  %1461 = load ptr, ptr %14, align 8, !tbaa !5
  %1462 = load i32, ptr %1461, align 4, !tbaa !9
  %1463 = load ptr, ptr %14, align 8, !tbaa !5
  %1464 = load i32, ptr %1463, align 4, !tbaa !9
  %1465 = mul nsw i32 %1462, %1464
  %1466 = add nsw i32 %1460, %1465
  %1467 = load i32, ptr %32, align 4, !tbaa !9
  %1468 = load i32, ptr %31, align 4, !tbaa !9
  %1469 = icmp sge i32 %1467, %1468
  br i1 %1469, label %1470, label %1472

1470:                                             ; preds = %1455
  %1471 = load i32, ptr %32, align 4, !tbaa !9
  br label %1474

1472:                                             ; preds = %1455
  %1473 = load i32, ptr %31, align 4, !tbaa !9
  br label %1474

1474:                                             ; preds = %1472, %1470
  %1475 = phi i32 [ %1471, %1470 ], [ %1473, %1472 ]
  %1476 = add nsw i32 %1466, %1475
  %1477 = icmp sge i32 %1457, %1476
  br i1 %1477, label %1478, label %2026

1478:                                             ; preds = %1474
  %1479 = load ptr, ptr %14, align 8, !tbaa !5
  %1480 = load i32, ptr %1479, align 4, !tbaa !9
  store i32 %1480, ptr %62, align 4, !tbaa !9
  %1481 = load ptr, ptr %14, align 8, !tbaa !5
  %1482 = load i32, ptr %1481, align 4, !tbaa !9
  store i32 %1482, ptr %33, align 4, !tbaa !9
  %1483 = load ptr, ptr %14, align 8, !tbaa !5
  %1484 = load i32, ptr %1483, align 4, !tbaa !9
  %1485 = shl i32 %1484, 1
  %1486 = sub nsw i32 %1485, 4
  store i32 %1486, ptr %34, align 4, !tbaa !9
  %1487 = load i32, ptr %33, align 4, !tbaa !9
  %1488 = load i32, ptr %34, align 4, !tbaa !9
  %1489 = icmp sge i32 %1487, %1488
  br i1 %1489, label %1490, label %1492

1490:                                             ; preds = %1478
  %1491 = load i32, ptr %33, align 4, !tbaa !9
  br label %1494

1492:                                             ; preds = %1478
  %1493 = load i32, ptr %34, align 4, !tbaa !9
  br label %1494

1494:                                             ; preds = %1492, %1490
  %1495 = phi i32 [ %1491, %1490 ], [ %1493, %1492 ]
  store i32 %1495, ptr %33, align 4, !tbaa !9
  %1496 = load i32, ptr %33, align 4, !tbaa !9
  %1497 = load ptr, ptr %16, align 8, !tbaa !5
  %1498 = load i32, ptr %1497, align 4, !tbaa !9
  %1499 = icmp sge i32 %1496, %1498
  br i1 %1499, label %1500, label %1502

1500:                                             ; preds = %1494
  %1501 = load i32, ptr %33, align 4, !tbaa !9
  br label %1505

1502:                                             ; preds = %1494
  %1503 = load ptr, ptr %16, align 8, !tbaa !5
  %1504 = load i32, ptr %1503, align 4, !tbaa !9
  br label %1505

1505:                                             ; preds = %1502, %1500
  %1506 = phi i32 [ %1501, %1500 ], [ %1504, %1502 ]
  store i32 %1506, ptr %33, align 4, !tbaa !9
  %1507 = load ptr, ptr %15, align 8, !tbaa !5
  %1508 = load i32, ptr %1507, align 4, !tbaa !9
  %1509 = load ptr, ptr %14, align 8, !tbaa !5
  %1510 = load i32, ptr %1509, align 4, !tbaa !9
  %1511 = mul nsw i32 %1510, 3
  %1512 = sub nsw i32 %1508, %1511
  store i32 %1512, ptr %34, align 4, !tbaa !9
  %1513 = load ptr, ptr %14, align 8, !tbaa !5
  %1514 = load i32, ptr %1513, align 4, !tbaa !9
  %1515 = shl i32 %1514, 2
  %1516 = load ptr, ptr %14, align 8, !tbaa !5
  %1517 = load i32, ptr %1516, align 4, !tbaa !9
  %1518 = load ptr, ptr %18, align 8, !tbaa !5
  %1519 = load i32, ptr %1518, align 4, !tbaa !9
  %1520 = mul nsw i32 %1517, %1519
  %1521 = add nsw i32 %1515, %1520
  %1522 = load i32, ptr %33, align 4, !tbaa !9
  %1523 = load i32, ptr %34, align 4, !tbaa !9
  %1524 = icmp sge i32 %1522, %1523
  br i1 %1524, label %1525, label %1527

1525:                                             ; preds = %1505
  %1526 = load i32, ptr %33, align 4, !tbaa !9
  br label %1529

1527:                                             ; preds = %1505
  %1528 = load i32, ptr %34, align 4, !tbaa !9
  br label %1529

1529:                                             ; preds = %1527, %1525
  %1530 = phi i32 [ %1526, %1525 ], [ %1528, %1527 ]
  %1531 = add nsw i32 %1521, %1530
  store i32 %1531, ptr %32, align 4, !tbaa !9
  %1532 = load ptr, ptr %14, align 8, !tbaa !5
  %1533 = load i32, ptr %1532, align 4, !tbaa !9
  %1534 = load ptr, ptr %18, align 8, !tbaa !5
  %1535 = load i32, ptr %1534, align 4, !tbaa !9
  %1536 = mul nsw i32 %1533, %1535
  %1537 = load ptr, ptr %14, align 8, !tbaa !5
  %1538 = load i32, ptr %1537, align 4, !tbaa !9
  %1539 = add nsw i32 %1536, %1538
  %1540 = load ptr, ptr %14, align 8, !tbaa !5
  %1541 = load i32, ptr %1540, align 4, !tbaa !9
  %1542 = load ptr, ptr %16, align 8, !tbaa !5
  %1543 = load i32, ptr %1542, align 4, !tbaa !9
  %1544 = mul nsw i32 %1541, %1543
  %1545 = add nsw i32 %1539, %1544
  store i32 %1545, ptr %31, align 4, !tbaa !9
  %1546 = load ptr, ptr %25, align 8, !tbaa !5
  %1547 = load i32, ptr %1546, align 4, !tbaa !9
  %1548 = load i32, ptr %32, align 4, !tbaa !9
  %1549 = load i32, ptr %31, align 4, !tbaa !9
  %1550 = icmp sge i32 %1548, %1549
  br i1 %1550, label %1551, label %1553

1551:                                             ; preds = %1529
  %1552 = load i32, ptr %32, align 4, !tbaa !9
  br label %1555

1553:                                             ; preds = %1529
  %1554 = load i32, ptr %31, align 4, !tbaa !9
  br label %1555

1555:                                             ; preds = %1553, %1551
  %1556 = phi i32 [ %1552, %1551 ], [ %1554, %1553 ]
  %1557 = icmp sge i32 %1547, %1556
  br i1 %1557, label %1558, label %1561

1558:                                             ; preds = %1555
  %1559 = load ptr, ptr %18, align 8, !tbaa !5
  %1560 = load i32, ptr %1559, align 4, !tbaa !9
  store i32 %1560, ptr %62, align 4, !tbaa !9
  br label %1561

1561:                                             ; preds = %1558, %1555
  store i32 1, ptr %38, align 4, !tbaa !9
  %1562 = load ptr, ptr %14, align 8, !tbaa !5
  %1563 = load i32, ptr %1562, align 4, !tbaa !9
  %1564 = add nsw i32 %1563, 1
  store i32 %1564, ptr %55, align 4, !tbaa !9
  %1565 = load ptr, ptr %25, align 8, !tbaa !5
  %1566 = load i32, ptr %1565, align 4, !tbaa !9
  %1567 = load i32, ptr %55, align 4, !tbaa !9
  %1568 = sub nsw i32 %1566, %1567
  %1569 = add nsw i32 %1568, 1
  store i32 %1569, ptr %32, align 4, !tbaa !9
  %1570 = load ptr, ptr %14, align 8, !tbaa !5
  %1571 = load ptr, ptr %15, align 8, !tbaa !5
  %1572 = load ptr, ptr %17, align 8, !tbaa !5
  %1573 = load i32, ptr %28, align 4, !tbaa !9
  %1574 = sext i32 %1573 to i64
  %1575 = getelementptr inbounds float, ptr %1572, i64 %1574
  %1576 = load ptr, ptr %18, align 8, !tbaa !5
  %1577 = load ptr, ptr %24, align 8, !tbaa !5
  %1578 = load i32, ptr %38, align 4, !tbaa !9
  %1579 = sext i32 %1578 to i64
  %1580 = getelementptr inbounds float, ptr %1577, i64 %1579
  %1581 = load ptr, ptr %24, align 8, !tbaa !5
  %1582 = load i32, ptr %55, align 4, !tbaa !9
  %1583 = sext i32 %1582 to i64
  %1584 = getelementptr inbounds float, ptr %1581, i64 %1583
  %1585 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sgelqf_(ptr noundef %1570, ptr noundef %1571, ptr noundef %1575, ptr noundef %1576, ptr noundef %1580, ptr noundef %1584, ptr noundef %32, ptr noundef %1585)
  %1586 = load i32, ptr %55, align 4, !tbaa !9
  store i32 %1586, ptr %58, align 4, !tbaa !9
  %1587 = load ptr, ptr %14, align 8, !tbaa !5
  %1588 = load ptr, ptr %14, align 8, !tbaa !5
  %1589 = load ptr, ptr %17, align 8, !tbaa !5
  %1590 = load i32, ptr %28, align 4, !tbaa !9
  %1591 = sext i32 %1590 to i64
  %1592 = getelementptr inbounds float, ptr %1589, i64 %1591
  %1593 = load ptr, ptr %18, align 8, !tbaa !5
  %1594 = load ptr, ptr %24, align 8, !tbaa !5
  %1595 = load i32, ptr %58, align 4, !tbaa !9
  %1596 = sext i32 %1595 to i64
  %1597 = getelementptr inbounds float, ptr %1594, i64 %1596
  call void @slacpy_(ptr noundef @.str.2, ptr noundef %1587, ptr noundef %1588, ptr noundef %1592, ptr noundef %1593, ptr noundef %1597, ptr noundef %62)
  %1598 = load ptr, ptr %14, align 8, !tbaa !5
  %1599 = load i32, ptr %1598, align 4, !tbaa !9
  %1600 = sub nsw i32 %1599, 1
  store i32 %1600, ptr %32, align 4, !tbaa !9
  %1601 = load ptr, ptr %14, align 8, !tbaa !5
  %1602 = load i32, ptr %1601, align 4, !tbaa !9
  %1603 = sub nsw i32 %1602, 1
  store i32 %1603, ptr %31, align 4, !tbaa !9
  %1604 = load ptr, ptr %24, align 8, !tbaa !5
  %1605 = load i32, ptr %58, align 4, !tbaa !9
  %1606 = load i32, ptr %62, align 4, !tbaa !9
  %1607 = add nsw i32 %1605, %1606
  %1608 = sext i32 %1607 to i64
  %1609 = getelementptr inbounds float, ptr %1604, i64 %1608
  call void @slaset_(ptr noundef @.str.11, ptr noundef %32, ptr noundef %31, ptr noundef @c_b50, ptr noundef @c_b50, ptr noundef %1609, ptr noundef %62)
  %1610 = load i32, ptr %58, align 4, !tbaa !9
  %1611 = load i32, ptr %62, align 4, !tbaa !9
  %1612 = load ptr, ptr %14, align 8, !tbaa !5
  %1613 = load i32, ptr %1612, align 4, !tbaa !9
  %1614 = mul nsw i32 %1611, %1613
  %1615 = add nsw i32 %1610, %1614
  store i32 %1615, ptr %57, align 4, !tbaa !9
  %1616 = load i32, ptr %57, align 4, !tbaa !9
  %1617 = load ptr, ptr %14, align 8, !tbaa !5
  %1618 = load i32, ptr %1617, align 4, !tbaa !9
  %1619 = add nsw i32 %1616, %1618
  store i32 %1619, ptr %53, align 4, !tbaa !9
  %1620 = load i32, ptr %53, align 4, !tbaa !9
  %1621 = load ptr, ptr %14, align 8, !tbaa !5
  %1622 = load i32, ptr %1621, align 4, !tbaa !9
  %1623 = add nsw i32 %1620, %1622
  store i32 %1623, ptr %52, align 4, !tbaa !9
  %1624 = load i32, ptr %52, align 4, !tbaa !9
  %1625 = load ptr, ptr %14, align 8, !tbaa !5
  %1626 = load i32, ptr %1625, align 4, !tbaa !9
  %1627 = add nsw i32 %1624, %1626
  store i32 %1627, ptr %55, align 4, !tbaa !9
  %1628 = load ptr, ptr %25, align 8, !tbaa !5
  %1629 = load i32, ptr %1628, align 4, !tbaa !9
  %1630 = load i32, ptr %55, align 4, !tbaa !9
  %1631 = sub nsw i32 %1629, %1630
  %1632 = add nsw i32 %1631, 1
  store i32 %1632, ptr %32, align 4, !tbaa !9
  %1633 = load ptr, ptr %14, align 8, !tbaa !5
  %1634 = load ptr, ptr %14, align 8, !tbaa !5
  %1635 = load ptr, ptr %24, align 8, !tbaa !5
  %1636 = load i32, ptr %58, align 4, !tbaa !9
  %1637 = sext i32 %1636 to i64
  %1638 = getelementptr inbounds float, ptr %1635, i64 %1637
  %1639 = load ptr, ptr %21, align 8, !tbaa !5
  %1640 = getelementptr inbounds float, ptr %1639, i64 1
  %1641 = load ptr, ptr %24, align 8, !tbaa !5
  %1642 = load i32, ptr %57, align 4, !tbaa !9
  %1643 = sext i32 %1642 to i64
  %1644 = getelementptr inbounds float, ptr %1641, i64 %1643
  %1645 = load ptr, ptr %24, align 8, !tbaa !5
  %1646 = load i32, ptr %53, align 4, !tbaa !9
  %1647 = sext i32 %1646 to i64
  %1648 = getelementptr inbounds float, ptr %1645, i64 %1647
  %1649 = load ptr, ptr %24, align 8, !tbaa !5
  %1650 = load i32, ptr %52, align 4, !tbaa !9
  %1651 = sext i32 %1650 to i64
  %1652 = getelementptr inbounds float, ptr %1649, i64 %1651
  %1653 = load ptr, ptr %24, align 8, !tbaa !5
  %1654 = load i32, ptr %55, align 4, !tbaa !9
  %1655 = sext i32 %1654 to i64
  %1656 = getelementptr inbounds float, ptr %1653, i64 %1655
  %1657 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sgebrd_(ptr noundef %1633, ptr noundef %1634, ptr noundef %1638, ptr noundef %62, ptr noundef %1640, ptr noundef %1644, ptr noundef %1648, ptr noundef %1652, ptr noundef %1656, ptr noundef %32, ptr noundef %1657)
  %1658 = load ptr, ptr %25, align 8, !tbaa !5
  %1659 = load i32, ptr %1658, align 4, !tbaa !9
  %1660 = load i32, ptr %55, align 4, !tbaa !9
  %1661 = sub nsw i32 %1659, %1660
  %1662 = add nsw i32 %1661, 1
  store i32 %1662, ptr %32, align 4, !tbaa !9
  %1663 = load ptr, ptr %14, align 8, !tbaa !5
  %1664 = load ptr, ptr %16, align 8, !tbaa !5
  %1665 = load ptr, ptr %14, align 8, !tbaa !5
  %1666 = load ptr, ptr %24, align 8, !tbaa !5
  %1667 = load i32, ptr %58, align 4, !tbaa !9
  %1668 = sext i32 %1667 to i64
  %1669 = getelementptr inbounds float, ptr %1666, i64 %1668
  %1670 = load ptr, ptr %24, align 8, !tbaa !5
  %1671 = load i32, ptr %53, align 4, !tbaa !9
  %1672 = sext i32 %1671 to i64
  %1673 = getelementptr inbounds float, ptr %1670, i64 %1672
  %1674 = load ptr, ptr %19, align 8, !tbaa !5
  %1675 = load i32, ptr %30, align 4, !tbaa !9
  %1676 = sext i32 %1675 to i64
  %1677 = getelementptr inbounds float, ptr %1674, i64 %1676
  %1678 = load ptr, ptr %20, align 8, !tbaa !5
  %1679 = load ptr, ptr %24, align 8, !tbaa !5
  %1680 = load i32, ptr %55, align 4, !tbaa !9
  %1681 = sext i32 %1680 to i64
  %1682 = getelementptr inbounds float, ptr %1679, i64 %1681
  %1683 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormbr_(ptr noundef @.str.4, ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %1663, ptr noundef %1664, ptr noundef %1665, ptr noundef %1669, ptr noundef %62, ptr noundef %1673, ptr noundef %1677, ptr noundef %1678, ptr noundef %1682, ptr noundef %32, ptr noundef %1683)
  %1684 = load ptr, ptr %25, align 8, !tbaa !5
  %1685 = load i32, ptr %1684, align 4, !tbaa !9
  %1686 = load i32, ptr %55, align 4, !tbaa !9
  %1687 = sub nsw i32 %1685, %1686
  %1688 = add nsw i32 %1687, 1
  store i32 %1688, ptr %32, align 4, !tbaa !9
  %1689 = load ptr, ptr %14, align 8, !tbaa !5
  %1690 = load ptr, ptr %14, align 8, !tbaa !5
  %1691 = load ptr, ptr %14, align 8, !tbaa !5
  %1692 = load ptr, ptr %24, align 8, !tbaa !5
  %1693 = load i32, ptr %58, align 4, !tbaa !9
  %1694 = sext i32 %1693 to i64
  %1695 = getelementptr inbounds float, ptr %1692, i64 %1694
  %1696 = load ptr, ptr %24, align 8, !tbaa !5
  %1697 = load i32, ptr %52, align 4, !tbaa !9
  %1698 = sext i32 %1697 to i64
  %1699 = getelementptr inbounds float, ptr %1696, i64 %1698
  %1700 = load ptr, ptr %24, align 8, !tbaa !5
  %1701 = load i32, ptr %55, align 4, !tbaa !9
  %1702 = sext i32 %1701 to i64
  %1703 = getelementptr inbounds float, ptr %1700, i64 %1702
  %1704 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sorgbr_(ptr noundef @.str.5, ptr noundef %1689, ptr noundef %1690, ptr noundef %1691, ptr noundef %1695, ptr noundef %62, ptr noundef %1699, ptr noundef %1703, ptr noundef %32, ptr noundef %1704)
  %1705 = load i32, ptr %57, align 4, !tbaa !9
  %1706 = load ptr, ptr %14, align 8, !tbaa !5
  %1707 = load i32, ptr %1706, align 4, !tbaa !9
  %1708 = add nsw i32 %1705, %1707
  store i32 %1708, ptr %55, align 4, !tbaa !9
  %1709 = load ptr, ptr %14, align 8, !tbaa !5
  %1710 = load ptr, ptr %14, align 8, !tbaa !5
  %1711 = load ptr, ptr %16, align 8, !tbaa !5
  %1712 = load ptr, ptr %21, align 8, !tbaa !5
  %1713 = getelementptr inbounds float, ptr %1712, i64 1
  %1714 = load ptr, ptr %24, align 8, !tbaa !5
  %1715 = load i32, ptr %57, align 4, !tbaa !9
  %1716 = sext i32 %1715 to i64
  %1717 = getelementptr inbounds float, ptr %1714, i64 %1716
  %1718 = load ptr, ptr %24, align 8, !tbaa !5
  %1719 = load i32, ptr %58, align 4, !tbaa !9
  %1720 = sext i32 %1719 to i64
  %1721 = getelementptr inbounds float, ptr %1718, i64 %1720
  %1722 = load ptr, ptr %17, align 8, !tbaa !5
  %1723 = load i32, ptr %28, align 4, !tbaa !9
  %1724 = sext i32 %1723 to i64
  %1725 = getelementptr inbounds float, ptr %1722, i64 %1724
  %1726 = load ptr, ptr %18, align 8, !tbaa !5
  %1727 = load ptr, ptr %19, align 8, !tbaa !5
  %1728 = load i32, ptr %30, align 4, !tbaa !9
  %1729 = sext i32 %1728 to i64
  %1730 = getelementptr inbounds float, ptr %1727, i64 %1729
  %1731 = load ptr, ptr %20, align 8, !tbaa !5
  %1732 = load ptr, ptr %24, align 8, !tbaa !5
  %1733 = load i32, ptr %55, align 4, !tbaa !9
  %1734 = sext i32 %1733 to i64
  %1735 = getelementptr inbounds float, ptr %1732, i64 %1734
  %1736 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sbdsqr_(ptr noundef @.str.11, ptr noundef %1709, ptr noundef %1710, ptr noundef @c__0, ptr noundef %1711, ptr noundef %1713, ptr noundef %1717, ptr noundef %1721, ptr noundef %62, ptr noundef %1725, ptr noundef %1726, ptr noundef %1730, ptr noundef %1731, ptr noundef %1735, ptr noundef %1736)
  %1737 = load ptr, ptr %26, align 8, !tbaa !5
  %1738 = load i32, ptr %1737, align 4, !tbaa !9
  %1739 = icmp ne i32 %1738, 0
  br i1 %1739, label %1740, label %1741

1740:                                             ; preds = %1561
  br label %2431

1741:                                             ; preds = %1561
  %1742 = load ptr, ptr %22, align 8, !tbaa !5
  %1743 = load float, ptr %1742, align 4, !tbaa !11
  %1744 = load ptr, ptr %21, align 8, !tbaa !5
  %1745 = getelementptr inbounds float, ptr %1744, i64 1
  %1746 = load float, ptr %1745, align 4, !tbaa !11
  %1747 = fmul float %1743, %1746
  store float %1747, ptr %35, align 4, !tbaa !11
  %1748 = load float, ptr %35, align 4, !tbaa !11
  %1749 = load float, ptr %49, align 4, !tbaa !11
  %1750 = fcmp oge float %1748, %1749
  br i1 %1750, label %1751, label %1753

1751:                                             ; preds = %1741
  %1752 = load float, ptr %35, align 4, !tbaa !11
  br label %1755

1753:                                             ; preds = %1741
  %1754 = load float, ptr %49, align 4, !tbaa !11
  br label %1755

1755:                                             ; preds = %1753, %1751
  %1756 = phi float [ %1752, %1751 ], [ %1754, %1753 ]
  store float %1756, ptr %69, align 4, !tbaa !11
  %1757 = load ptr, ptr %22, align 8, !tbaa !5
  %1758 = load float, ptr %1757, align 4, !tbaa !11
  %1759 = fcmp olt float %1758, 0.000000e+00
  br i1 %1759, label %1760, label %1775

1760:                                             ; preds = %1755
  %1761 = load float, ptr %68, align 4, !tbaa !11
  %1762 = load ptr, ptr %21, align 8, !tbaa !5
  %1763 = getelementptr inbounds float, ptr %1762, i64 1
  %1764 = load float, ptr %1763, align 4, !tbaa !11
  %1765 = fmul float %1761, %1764
  store float %1765, ptr %35, align 4, !tbaa !11
  %1766 = load float, ptr %35, align 4, !tbaa !11
  %1767 = load float, ptr %49, align 4, !tbaa !11
  %1768 = fcmp oge float %1766, %1767
  br i1 %1768, label %1769, label %1771

1769:                                             ; preds = %1760
  %1770 = load float, ptr %35, align 4, !tbaa !11
  br label %1773

1771:                                             ; preds = %1760
  %1772 = load float, ptr %49, align 4, !tbaa !11
  br label %1773

1773:                                             ; preds = %1771, %1769
  %1774 = phi float [ %1770, %1769 ], [ %1772, %1771 ]
  store float %1774, ptr %69, align 4, !tbaa !11
  br label %1775

1775:                                             ; preds = %1773, %1755
  %1776 = load ptr, ptr %23, align 8, !tbaa !5
  store i32 0, ptr %1776, align 4, !tbaa !9
  %1777 = load ptr, ptr %14, align 8, !tbaa !5
  %1778 = load i32, ptr %1777, align 4, !tbaa !9
  store i32 %1778, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  br label %1779

1779:                                             ; preds = %1817, %1775
  %1780 = load i32, ptr %41, align 4, !tbaa !9
  %1781 = load i32, ptr %32, align 4, !tbaa !9
  %1782 = icmp sle i32 %1780, %1781
  br i1 %1782, label %1783, label %1820

1783:                                             ; preds = %1779
  %1784 = load ptr, ptr %21, align 8, !tbaa !5
  %1785 = load i32, ptr %41, align 4, !tbaa !9
  %1786 = sext i32 %1785 to i64
  %1787 = getelementptr inbounds float, ptr %1784, i64 %1786
  %1788 = load float, ptr %1787, align 4, !tbaa !11
  %1789 = load float, ptr %69, align 4, !tbaa !11
  %1790 = fcmp ogt float %1788, %1789
  br i1 %1790, label %1791, label %1807

1791:                                             ; preds = %1783
  %1792 = load ptr, ptr %16, align 8, !tbaa !5
  %1793 = load ptr, ptr %21, align 8, !tbaa !5
  %1794 = load i32, ptr %41, align 4, !tbaa !9
  %1795 = sext i32 %1794 to i64
  %1796 = getelementptr inbounds float, ptr %1793, i64 %1795
  %1797 = load ptr, ptr %19, align 8, !tbaa !5
  %1798 = load i32, ptr %41, align 4, !tbaa !9
  %1799 = load i32, ptr %29, align 4, !tbaa !9
  %1800 = add nsw i32 %1798, %1799
  %1801 = sext i32 %1800 to i64
  %1802 = getelementptr inbounds float, ptr %1797, i64 %1801
  %1803 = load ptr, ptr %20, align 8, !tbaa !5
  call void @srscl_(ptr noundef %1792, ptr noundef %1796, ptr noundef %1802, ptr noundef %1803)
  %1804 = load ptr, ptr %23, align 8, !tbaa !5
  %1805 = load i32, ptr %1804, align 4, !tbaa !9
  %1806 = add nsw i32 %1805, 1
  store i32 %1806, ptr %1804, align 4, !tbaa !9
  br label %1816

1807:                                             ; preds = %1783
  %1808 = load ptr, ptr %16, align 8, !tbaa !5
  %1809 = load ptr, ptr %19, align 8, !tbaa !5
  %1810 = load i32, ptr %41, align 4, !tbaa !9
  %1811 = load i32, ptr %29, align 4, !tbaa !9
  %1812 = add nsw i32 %1810, %1811
  %1813 = sext i32 %1812 to i64
  %1814 = getelementptr inbounds float, ptr %1809, i64 %1813
  %1815 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slaset_(ptr noundef @.str.10, ptr noundef @c__1, ptr noundef %1808, ptr noundef @c_b50, ptr noundef @c_b50, ptr noundef %1814, ptr noundef %1815)
  br label %1816

1816:                                             ; preds = %1807, %1791
  br label %1817

1817:                                             ; preds = %1816
  %1818 = load i32, ptr %41, align 4, !tbaa !9
  %1819 = add nsw i32 %1818, 1
  store i32 %1819, ptr %41, align 4, !tbaa !9
  br label %1779, !llvm.loop !16

1820:                                             ; preds = %1779
  %1821 = load i32, ptr %57, align 4, !tbaa !9
  store i32 %1821, ptr %55, align 4, !tbaa !9
  %1822 = load ptr, ptr %25, align 8, !tbaa !5
  %1823 = load i32, ptr %1822, align 4, !tbaa !9
  %1824 = load ptr, ptr %20, align 8, !tbaa !5
  %1825 = load i32, ptr %1824, align 4, !tbaa !9
  %1826 = load ptr, ptr %16, align 8, !tbaa !5
  %1827 = load i32, ptr %1826, align 4, !tbaa !9
  %1828 = mul nsw i32 %1825, %1827
  %1829 = load i32, ptr %55, align 4, !tbaa !9
  %1830 = add nsw i32 %1828, %1829
  %1831 = sub nsw i32 %1830, 1
  %1832 = icmp sge i32 %1823, %1831
  br i1 %1832, label %1833, label %1867

1833:                                             ; preds = %1820
  %1834 = load ptr, ptr %16, align 8, !tbaa !5
  %1835 = load i32, ptr %1834, align 4, !tbaa !9
  %1836 = icmp sgt i32 %1835, 1
  br i1 %1836, label %1837, label %1867

1837:                                             ; preds = %1833
  %1838 = load ptr, ptr %14, align 8, !tbaa !5
  %1839 = load ptr, ptr %16, align 8, !tbaa !5
  %1840 = load ptr, ptr %14, align 8, !tbaa !5
  %1841 = load ptr, ptr %24, align 8, !tbaa !5
  %1842 = load i32, ptr %58, align 4, !tbaa !9
  %1843 = sext i32 %1842 to i64
  %1844 = getelementptr inbounds float, ptr %1841, i64 %1843
  %1845 = load ptr, ptr %19, align 8, !tbaa !5
  %1846 = load i32, ptr %30, align 4, !tbaa !9
  %1847 = sext i32 %1846 to i64
  %1848 = getelementptr inbounds float, ptr %1845, i64 %1847
  %1849 = load ptr, ptr %20, align 8, !tbaa !5
  %1850 = load ptr, ptr %24, align 8, !tbaa !5
  %1851 = load i32, ptr %55, align 4, !tbaa !9
  %1852 = sext i32 %1851 to i64
  %1853 = getelementptr inbounds float, ptr %1850, i64 %1852
  %1854 = load ptr, ptr %20, align 8, !tbaa !5
  call void @sgemm_(ptr noundef @.str.3, ptr noundef @.str.12, ptr noundef %1838, ptr noundef %1839, ptr noundef %1840, ptr noundef @c_b83, ptr noundef %1844, ptr noundef %62, ptr noundef %1848, ptr noundef %1849, ptr noundef @c_b50, ptr noundef %1853, ptr noundef %1854)
  %1855 = load ptr, ptr %14, align 8, !tbaa !5
  %1856 = load ptr, ptr %16, align 8, !tbaa !5
  %1857 = load ptr, ptr %24, align 8, !tbaa !5
  %1858 = load i32, ptr %55, align 4, !tbaa !9
  %1859 = sext i32 %1858 to i64
  %1860 = getelementptr inbounds float, ptr %1857, i64 %1859
  %1861 = load ptr, ptr %20, align 8, !tbaa !5
  %1862 = load ptr, ptr %19, align 8, !tbaa !5
  %1863 = load i32, ptr %30, align 4, !tbaa !9
  %1864 = sext i32 %1863 to i64
  %1865 = getelementptr inbounds float, ptr %1862, i64 %1864
  %1866 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slacpy_(ptr noundef @.str.9, ptr noundef %1855, ptr noundef %1856, ptr noundef %1860, ptr noundef %1861, ptr noundef %1865, ptr noundef %1866)
  br label %1979

1867:                                             ; preds = %1833, %1820
  %1868 = load ptr, ptr %16, align 8, !tbaa !5
  %1869 = load i32, ptr %1868, align 4, !tbaa !9
  %1870 = icmp sgt i32 %1869, 1
  br i1 %1870, label %1871, label %1952

1871:                                             ; preds = %1867
  %1872 = load ptr, ptr %25, align 8, !tbaa !5
  %1873 = load i32, ptr %1872, align 4, !tbaa !9
  %1874 = load i32, ptr %55, align 4, !tbaa !9
  %1875 = sub nsw i32 %1873, %1874
  %1876 = add nsw i32 %1875, 1
  %1877 = load ptr, ptr %14, align 8, !tbaa !5
  %1878 = load i32, ptr %1877, align 4, !tbaa !9
  %1879 = sdiv i32 %1876, %1878
  store i32 %1879, ptr %48, align 4, !tbaa !9
  %1880 = load ptr, ptr %16, align 8, !tbaa !5
  %1881 = load i32, ptr %1880, align 4, !tbaa !9
  store i32 %1881, ptr %32, align 4, !tbaa !9
  %1882 = load i32, ptr %48, align 4, !tbaa !9
  store i32 %1882, ptr %31, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  br label %1883

1883:                                             ; preds = %1947, %1871
  %1884 = load i32, ptr %31, align 4, !tbaa !9
  %1885 = icmp slt i32 %1884, 0
  br i1 %1885, label %1886, label %1891

1886:                                             ; preds = %1883
  %1887 = load i32, ptr %41, align 4, !tbaa !9
  %1888 = load i32, ptr %32, align 4, !tbaa !9
  %1889 = icmp sge i32 %1887, %1888
  %1890 = zext i1 %1889 to i32
  br label %1896

1891:                                             ; preds = %1883
  %1892 = load i32, ptr %41, align 4, !tbaa !9
  %1893 = load i32, ptr %32, align 4, !tbaa !9
  %1894 = icmp sle i32 %1892, %1893
  %1895 = zext i1 %1894 to i32
  br label %1896

1896:                                             ; preds = %1891, %1886
  %1897 = phi i32 [ %1890, %1886 ], [ %1895, %1891 ]
  %1898 = icmp ne i32 %1897, 0
  br i1 %1898, label %1899, label %1951

1899:                                             ; preds = %1896
  %1900 = load ptr, ptr %16, align 8, !tbaa !5
  %1901 = load i32, ptr %1900, align 4, !tbaa !9
  %1902 = load i32, ptr %41, align 4, !tbaa !9
  %1903 = sub nsw i32 %1901, %1902
  %1904 = add nsw i32 %1903, 1
  store i32 %1904, ptr %33, align 4, !tbaa !9
  %1905 = load i32, ptr %33, align 4, !tbaa !9
  %1906 = load i32, ptr %48, align 4, !tbaa !9
  %1907 = icmp sle i32 %1905, %1906
  br i1 %1907, label %1908, label %1910

1908:                                             ; preds = %1899
  %1909 = load i32, ptr %33, align 4, !tbaa !9
  br label %1912

1910:                                             ; preds = %1899
  %1911 = load i32, ptr %48, align 4, !tbaa !9
  br label %1912

1912:                                             ; preds = %1910, %1908
  %1913 = phi i32 [ %1909, %1908 ], [ %1911, %1910 ]
  store i32 %1913, ptr %56, align 4, !tbaa !9
  %1914 = load ptr, ptr %14, align 8, !tbaa !5
  %1915 = load ptr, ptr %14, align 8, !tbaa !5
  %1916 = load ptr, ptr %24, align 8, !tbaa !5
  %1917 = load i32, ptr %58, align 4, !tbaa !9
  %1918 = sext i32 %1917 to i64
  %1919 = getelementptr inbounds float, ptr %1916, i64 %1918
  %1920 = load ptr, ptr %19, align 8, !tbaa !5
  %1921 = load i32, ptr %41, align 4, !tbaa !9
  %1922 = load i32, ptr %29, align 4, !tbaa !9
  %1923 = mul nsw i32 %1921, %1922
  %1924 = add nsw i32 %1923, 1
  %1925 = sext i32 %1924 to i64
  %1926 = getelementptr inbounds float, ptr %1920, i64 %1925
  %1927 = load ptr, ptr %20, align 8, !tbaa !5
  %1928 = load ptr, ptr %24, align 8, !tbaa !5
  %1929 = load i32, ptr %55, align 4, !tbaa !9
  %1930 = sext i32 %1929 to i64
  %1931 = getelementptr inbounds float, ptr %1928, i64 %1930
  %1932 = load ptr, ptr %14, align 8, !tbaa !5
  call void @sgemm_(ptr noundef @.str.3, ptr noundef @.str.12, ptr noundef %1914, ptr noundef %56, ptr noundef %1915, ptr noundef @c_b83, ptr noundef %1919, ptr noundef %62, ptr noundef %1926, ptr noundef %1927, ptr noundef @c_b50, ptr noundef %1931, ptr noundef %1932)
  %1933 = load ptr, ptr %14, align 8, !tbaa !5
  %1934 = load ptr, ptr %24, align 8, !tbaa !5
  %1935 = load i32, ptr %55, align 4, !tbaa !9
  %1936 = sext i32 %1935 to i64
  %1937 = getelementptr inbounds float, ptr %1934, i64 %1936
  %1938 = load ptr, ptr %14, align 8, !tbaa !5
  %1939 = load ptr, ptr %19, align 8, !tbaa !5
  %1940 = load i32, ptr %41, align 4, !tbaa !9
  %1941 = load i32, ptr %29, align 4, !tbaa !9
  %1942 = mul nsw i32 %1940, %1941
  %1943 = add nsw i32 %1942, 1
  %1944 = sext i32 %1943 to i64
  %1945 = getelementptr inbounds float, ptr %1939, i64 %1944
  %1946 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slacpy_(ptr noundef @.str.9, ptr noundef %1933, ptr noundef %56, ptr noundef %1937, ptr noundef %1938, ptr noundef %1945, ptr noundef %1946)
  br label %1947

1947:                                             ; preds = %1912
  %1948 = load i32, ptr %31, align 4, !tbaa !9
  %1949 = load i32, ptr %41, align 4, !tbaa !9
  %1950 = add nsw i32 %1949, %1948
  store i32 %1950, ptr %41, align 4, !tbaa !9
  br label %1883, !llvm.loop !17

1951:                                             ; preds = %1896
  br label %1978

1952:                                             ; preds = %1867
  %1953 = load ptr, ptr %14, align 8, !tbaa !5
  %1954 = load ptr, ptr %14, align 8, !tbaa !5
  %1955 = load ptr, ptr %24, align 8, !tbaa !5
  %1956 = load i32, ptr %58, align 4, !tbaa !9
  %1957 = sext i32 %1956 to i64
  %1958 = getelementptr inbounds float, ptr %1955, i64 %1957
  %1959 = load ptr, ptr %19, align 8, !tbaa !5
  %1960 = load i32, ptr %29, align 4, !tbaa !9
  %1961 = add nsw i32 %1960, 1
  %1962 = sext i32 %1961 to i64
  %1963 = getelementptr inbounds float, ptr %1959, i64 %1962
  %1964 = load ptr, ptr %24, align 8, !tbaa !5
  %1965 = load i32, ptr %55, align 4, !tbaa !9
  %1966 = sext i32 %1965 to i64
  %1967 = getelementptr inbounds float, ptr %1964, i64 %1966
  call void @sgemv_(ptr noundef @.str.3, ptr noundef %1953, ptr noundef %1954, ptr noundef @c_b83, ptr noundef %1958, ptr noundef %62, ptr noundef %1963, ptr noundef @c__1, ptr noundef @c_b50, ptr noundef %1967, ptr noundef @c__1)
  %1968 = load ptr, ptr %14, align 8, !tbaa !5
  %1969 = load ptr, ptr %24, align 8, !tbaa !5
  %1970 = load i32, ptr %55, align 4, !tbaa !9
  %1971 = sext i32 %1970 to i64
  %1972 = getelementptr inbounds float, ptr %1969, i64 %1971
  %1973 = load ptr, ptr %19, align 8, !tbaa !5
  %1974 = load i32, ptr %29, align 4, !tbaa !9
  %1975 = add nsw i32 %1974, 1
  %1976 = sext i32 %1975 to i64
  %1977 = getelementptr inbounds float, ptr %1973, i64 %1976
  call void @scopy_(ptr noundef %1968, ptr noundef %1972, ptr noundef @c__1, ptr noundef %1977, ptr noundef @c__1)
  br label %1978

1978:                                             ; preds = %1952, %1951
  br label %1979

1979:                                             ; preds = %1978, %1837
  %1980 = load ptr, ptr %15, align 8, !tbaa !5
  %1981 = load i32, ptr %1980, align 4, !tbaa !9
  %1982 = load ptr, ptr %14, align 8, !tbaa !5
  %1983 = load i32, ptr %1982, align 4, !tbaa !9
  %1984 = sub nsw i32 %1981, %1983
  store i32 %1984, ptr %31, align 4, !tbaa !9
  %1985 = load ptr, ptr %16, align 8, !tbaa !5
  %1986 = load ptr, ptr %19, align 8, !tbaa !5
  %1987 = load ptr, ptr %14, align 8, !tbaa !5
  %1988 = load i32, ptr %1987, align 4, !tbaa !9
  %1989 = add nsw i32 %1988, 1
  %1990 = load i32, ptr %29, align 4, !tbaa !9
  %1991 = add nsw i32 %1989, %1990
  %1992 = sext i32 %1991 to i64
  %1993 = getelementptr inbounds float, ptr %1986, i64 %1992
  %1994 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slaset_(ptr noundef @.str.10, ptr noundef %31, ptr noundef %1985, ptr noundef @c_b50, ptr noundef @c_b50, ptr noundef %1993, ptr noundef %1994)
  %1995 = load i32, ptr %38, align 4, !tbaa !9
  %1996 = load ptr, ptr %14, align 8, !tbaa !5
  %1997 = load i32, ptr %1996, align 4, !tbaa !9
  %1998 = add nsw i32 %1995, %1997
  store i32 %1998, ptr %55, align 4, !tbaa !9
  %1999 = load ptr, ptr %25, align 8, !tbaa !5
  %2000 = load i32, ptr %1999, align 4, !tbaa !9
  %2001 = load i32, ptr %55, align 4, !tbaa !9
  %2002 = sub nsw i32 %2000, %2001
  %2003 = add nsw i32 %2002, 1
  store i32 %2003, ptr %31, align 4, !tbaa !9
  %2004 = load ptr, ptr %15, align 8, !tbaa !5
  %2005 = load ptr, ptr %16, align 8, !tbaa !5
  %2006 = load ptr, ptr %14, align 8, !tbaa !5
  %2007 = load ptr, ptr %17, align 8, !tbaa !5
  %2008 = load i32, ptr %28, align 4, !tbaa !9
  %2009 = sext i32 %2008 to i64
  %2010 = getelementptr inbounds float, ptr %2007, i64 %2009
  %2011 = load ptr, ptr %18, align 8, !tbaa !5
  %2012 = load ptr, ptr %24, align 8, !tbaa !5
  %2013 = load i32, ptr %38, align 4, !tbaa !9
  %2014 = sext i32 %2013 to i64
  %2015 = getelementptr inbounds float, ptr %2012, i64 %2014
  %2016 = load ptr, ptr %19, align 8, !tbaa !5
  %2017 = load i32, ptr %30, align 4, !tbaa !9
  %2018 = sext i32 %2017 to i64
  %2019 = getelementptr inbounds float, ptr %2016, i64 %2018
  %2020 = load ptr, ptr %20, align 8, !tbaa !5
  %2021 = load ptr, ptr %24, align 8, !tbaa !5
  %2022 = load i32, ptr %55, align 4, !tbaa !9
  %2023 = sext i32 %2022 to i64
  %2024 = getelementptr inbounds float, ptr %2021, i64 %2023
  %2025 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormlq_(ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %2004, ptr noundef %2005, ptr noundef %2006, ptr noundef %2010, ptr noundef %2011, ptr noundef %2015, ptr noundef %2019, ptr noundef %2020, ptr noundef %2024, ptr noundef %31, ptr noundef %2025)
  br label %2373

2026:                                             ; preds = %1474, %1443
  store i32 1, ptr %57, align 4, !tbaa !9
  %2027 = load i32, ptr %57, align 4, !tbaa !9
  %2028 = load ptr, ptr %14, align 8, !tbaa !5
  %2029 = load i32, ptr %2028, align 4, !tbaa !9
  %2030 = add nsw i32 %2027, %2029
  store i32 %2030, ptr %53, align 4, !tbaa !9
  %2031 = load i32, ptr %53, align 4, !tbaa !9
  %2032 = load ptr, ptr %14, align 8, !tbaa !5
  %2033 = load i32, ptr %2032, align 4, !tbaa !9
  %2034 = add nsw i32 %2031, %2033
  store i32 %2034, ptr %52, align 4, !tbaa !9
  %2035 = load i32, ptr %52, align 4, !tbaa !9
  %2036 = load ptr, ptr %14, align 8, !tbaa !5
  %2037 = load i32, ptr %2036, align 4, !tbaa !9
  %2038 = add nsw i32 %2035, %2037
  store i32 %2038, ptr %55, align 4, !tbaa !9
  %2039 = load ptr, ptr %25, align 8, !tbaa !5
  %2040 = load i32, ptr %2039, align 4, !tbaa !9
  %2041 = load i32, ptr %55, align 4, !tbaa !9
  %2042 = sub nsw i32 %2040, %2041
  %2043 = add nsw i32 %2042, 1
  store i32 %2043, ptr %31, align 4, !tbaa !9
  %2044 = load ptr, ptr %14, align 8, !tbaa !5
  %2045 = load ptr, ptr %15, align 8, !tbaa !5
  %2046 = load ptr, ptr %17, align 8, !tbaa !5
  %2047 = load i32, ptr %28, align 4, !tbaa !9
  %2048 = sext i32 %2047 to i64
  %2049 = getelementptr inbounds float, ptr %2046, i64 %2048
  %2050 = load ptr, ptr %18, align 8, !tbaa !5
  %2051 = load ptr, ptr %21, align 8, !tbaa !5
  %2052 = getelementptr inbounds float, ptr %2051, i64 1
  %2053 = load ptr, ptr %24, align 8, !tbaa !5
  %2054 = load i32, ptr %57, align 4, !tbaa !9
  %2055 = sext i32 %2054 to i64
  %2056 = getelementptr inbounds float, ptr %2053, i64 %2055
  %2057 = load ptr, ptr %24, align 8, !tbaa !5
  %2058 = load i32, ptr %53, align 4, !tbaa !9
  %2059 = sext i32 %2058 to i64
  %2060 = getelementptr inbounds float, ptr %2057, i64 %2059
  %2061 = load ptr, ptr %24, align 8, !tbaa !5
  %2062 = load i32, ptr %52, align 4, !tbaa !9
  %2063 = sext i32 %2062 to i64
  %2064 = getelementptr inbounds float, ptr %2061, i64 %2063
  %2065 = load ptr, ptr %24, align 8, !tbaa !5
  %2066 = load i32, ptr %55, align 4, !tbaa !9
  %2067 = sext i32 %2066 to i64
  %2068 = getelementptr inbounds float, ptr %2065, i64 %2067
  %2069 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sgebrd_(ptr noundef %2044, ptr noundef %2045, ptr noundef %2049, ptr noundef %2050, ptr noundef %2052, ptr noundef %2056, ptr noundef %2060, ptr noundef %2064, ptr noundef %2068, ptr noundef %31, ptr noundef %2069)
  %2070 = load ptr, ptr %25, align 8, !tbaa !5
  %2071 = load i32, ptr %2070, align 4, !tbaa !9
  %2072 = load i32, ptr %55, align 4, !tbaa !9
  %2073 = sub nsw i32 %2071, %2072
  %2074 = add nsw i32 %2073, 1
  store i32 %2074, ptr %31, align 4, !tbaa !9
  %2075 = load ptr, ptr %14, align 8, !tbaa !5
  %2076 = load ptr, ptr %16, align 8, !tbaa !5
  %2077 = load ptr, ptr %15, align 8, !tbaa !5
  %2078 = load ptr, ptr %17, align 8, !tbaa !5
  %2079 = load i32, ptr %28, align 4, !tbaa !9
  %2080 = sext i32 %2079 to i64
  %2081 = getelementptr inbounds float, ptr %2078, i64 %2080
  %2082 = load ptr, ptr %18, align 8, !tbaa !5
  %2083 = load ptr, ptr %24, align 8, !tbaa !5
  %2084 = load i32, ptr %53, align 4, !tbaa !9
  %2085 = sext i32 %2084 to i64
  %2086 = getelementptr inbounds float, ptr %2083, i64 %2085
  %2087 = load ptr, ptr %19, align 8, !tbaa !5
  %2088 = load i32, ptr %30, align 4, !tbaa !9
  %2089 = sext i32 %2088 to i64
  %2090 = getelementptr inbounds float, ptr %2087, i64 %2089
  %2091 = load ptr, ptr %20, align 8, !tbaa !5
  %2092 = load ptr, ptr %24, align 8, !tbaa !5
  %2093 = load i32, ptr %55, align 4, !tbaa !9
  %2094 = sext i32 %2093 to i64
  %2095 = getelementptr inbounds float, ptr %2092, i64 %2094
  %2096 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sormbr_(ptr noundef @.str.4, ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %2075, ptr noundef %2076, ptr noundef %2077, ptr noundef %2081, ptr noundef %2082, ptr noundef %2086, ptr noundef %2090, ptr noundef %2091, ptr noundef %2095, ptr noundef %31, ptr noundef %2096)
  %2097 = load ptr, ptr %25, align 8, !tbaa !5
  %2098 = load i32, ptr %2097, align 4, !tbaa !9
  %2099 = load i32, ptr %55, align 4, !tbaa !9
  %2100 = sub nsw i32 %2098, %2099
  %2101 = add nsw i32 %2100, 1
  store i32 %2101, ptr %31, align 4, !tbaa !9
  %2102 = load ptr, ptr %14, align 8, !tbaa !5
  %2103 = load ptr, ptr %15, align 8, !tbaa !5
  %2104 = load ptr, ptr %14, align 8, !tbaa !5
  %2105 = load ptr, ptr %17, align 8, !tbaa !5
  %2106 = load i32, ptr %28, align 4, !tbaa !9
  %2107 = sext i32 %2106 to i64
  %2108 = getelementptr inbounds float, ptr %2105, i64 %2107
  %2109 = load ptr, ptr %18, align 8, !tbaa !5
  %2110 = load ptr, ptr %24, align 8, !tbaa !5
  %2111 = load i32, ptr %52, align 4, !tbaa !9
  %2112 = sext i32 %2111 to i64
  %2113 = getelementptr inbounds float, ptr %2110, i64 %2112
  %2114 = load ptr, ptr %24, align 8, !tbaa !5
  %2115 = load i32, ptr %55, align 4, !tbaa !9
  %2116 = sext i32 %2115 to i64
  %2117 = getelementptr inbounds float, ptr %2114, i64 %2116
  %2118 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sorgbr_(ptr noundef @.str.5, ptr noundef %2102, ptr noundef %2103, ptr noundef %2104, ptr noundef %2108, ptr noundef %2109, ptr noundef %2113, ptr noundef %2117, ptr noundef %31, ptr noundef %2118)
  %2119 = load i32, ptr %57, align 4, !tbaa !9
  %2120 = load ptr, ptr %14, align 8, !tbaa !5
  %2121 = load i32, ptr %2120, align 4, !tbaa !9
  %2122 = add nsw i32 %2119, %2121
  store i32 %2122, ptr %55, align 4, !tbaa !9
  %2123 = load ptr, ptr %14, align 8, !tbaa !5
  %2124 = load ptr, ptr %15, align 8, !tbaa !5
  %2125 = load ptr, ptr %16, align 8, !tbaa !5
  %2126 = load ptr, ptr %21, align 8, !tbaa !5
  %2127 = getelementptr inbounds float, ptr %2126, i64 1
  %2128 = load ptr, ptr %24, align 8, !tbaa !5
  %2129 = load i32, ptr %57, align 4, !tbaa !9
  %2130 = sext i32 %2129 to i64
  %2131 = getelementptr inbounds float, ptr %2128, i64 %2130
  %2132 = load ptr, ptr %17, align 8, !tbaa !5
  %2133 = load i32, ptr %28, align 4, !tbaa !9
  %2134 = sext i32 %2133 to i64
  %2135 = getelementptr inbounds float, ptr %2132, i64 %2134
  %2136 = load ptr, ptr %18, align 8, !tbaa !5
  %2137 = getelementptr inbounds [1 x float], ptr %67, i64 0, i64 0
  %2138 = load ptr, ptr %19, align 8, !tbaa !5
  %2139 = load i32, ptr %30, align 4, !tbaa !9
  %2140 = sext i32 %2139 to i64
  %2141 = getelementptr inbounds float, ptr %2138, i64 %2140
  %2142 = load ptr, ptr %20, align 8, !tbaa !5
  %2143 = load ptr, ptr %24, align 8, !tbaa !5
  %2144 = load i32, ptr %55, align 4, !tbaa !9
  %2145 = sext i32 %2144 to i64
  %2146 = getelementptr inbounds float, ptr %2143, i64 %2145
  %2147 = load ptr, ptr %26, align 8, !tbaa !5
  call void @sbdsqr_(ptr noundef @.str.2, ptr noundef %2123, ptr noundef %2124, ptr noundef @c__0, ptr noundef %2125, ptr noundef %2127, ptr noundef %2131, ptr noundef %2135, ptr noundef %2136, ptr noundef %2137, ptr noundef @c__1, ptr noundef %2141, ptr noundef %2142, ptr noundef %2146, ptr noundef %2147)
  %2148 = load ptr, ptr %26, align 8, !tbaa !5
  %2149 = load i32, ptr %2148, align 4, !tbaa !9
  %2150 = icmp ne i32 %2149, 0
  br i1 %2150, label %2151, label %2152

2151:                                             ; preds = %2026
  br label %2431

2152:                                             ; preds = %2026
  %2153 = load ptr, ptr %22, align 8, !tbaa !5
  %2154 = load float, ptr %2153, align 4, !tbaa !11
  %2155 = load ptr, ptr %21, align 8, !tbaa !5
  %2156 = getelementptr inbounds float, ptr %2155, i64 1
  %2157 = load float, ptr %2156, align 4, !tbaa !11
  %2158 = fmul float %2154, %2157
  store float %2158, ptr %35, align 4, !tbaa !11
  %2159 = load float, ptr %35, align 4, !tbaa !11
  %2160 = load float, ptr %49, align 4, !tbaa !11
  %2161 = fcmp oge float %2159, %2160
  br i1 %2161, label %2162, label %2164

2162:                                             ; preds = %2152
  %2163 = load float, ptr %35, align 4, !tbaa !11
  br label %2166

2164:                                             ; preds = %2152
  %2165 = load float, ptr %49, align 4, !tbaa !11
  br label %2166

2166:                                             ; preds = %2164, %2162
  %2167 = phi float [ %2163, %2162 ], [ %2165, %2164 ]
  store float %2167, ptr %69, align 4, !tbaa !11
  %2168 = load ptr, ptr %22, align 8, !tbaa !5
  %2169 = load float, ptr %2168, align 4, !tbaa !11
  %2170 = fcmp olt float %2169, 0.000000e+00
  br i1 %2170, label %2171, label %2186

2171:                                             ; preds = %2166
  %2172 = load float, ptr %68, align 4, !tbaa !11
  %2173 = load ptr, ptr %21, align 8, !tbaa !5
  %2174 = getelementptr inbounds float, ptr %2173, i64 1
  %2175 = load float, ptr %2174, align 4, !tbaa !11
  %2176 = fmul float %2172, %2175
  store float %2176, ptr %35, align 4, !tbaa !11
  %2177 = load float, ptr %35, align 4, !tbaa !11
  %2178 = load float, ptr %49, align 4, !tbaa !11
  %2179 = fcmp oge float %2177, %2178
  br i1 %2179, label %2180, label %2182

2180:                                             ; preds = %2171
  %2181 = load float, ptr %35, align 4, !tbaa !11
  br label %2184

2182:                                             ; preds = %2171
  %2183 = load float, ptr %49, align 4, !tbaa !11
  br label %2184

2184:                                             ; preds = %2182, %2180
  %2185 = phi float [ %2181, %2180 ], [ %2183, %2182 ]
  store float %2185, ptr %69, align 4, !tbaa !11
  br label %2186

2186:                                             ; preds = %2184, %2166
  %2187 = load ptr, ptr %23, align 8, !tbaa !5
  store i32 0, ptr %2187, align 4, !tbaa !9
  %2188 = load ptr, ptr %14, align 8, !tbaa !5
  %2189 = load i32, ptr %2188, align 4, !tbaa !9
  store i32 %2189, ptr %31, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  br label %2190

2190:                                             ; preds = %2228, %2186
  %2191 = load i32, ptr %41, align 4, !tbaa !9
  %2192 = load i32, ptr %31, align 4, !tbaa !9
  %2193 = icmp sle i32 %2191, %2192
  br i1 %2193, label %2194, label %2231

2194:                                             ; preds = %2190
  %2195 = load ptr, ptr %21, align 8, !tbaa !5
  %2196 = load i32, ptr %41, align 4, !tbaa !9
  %2197 = sext i32 %2196 to i64
  %2198 = getelementptr inbounds float, ptr %2195, i64 %2197
  %2199 = load float, ptr %2198, align 4, !tbaa !11
  %2200 = load float, ptr %69, align 4, !tbaa !11
  %2201 = fcmp ogt float %2199, %2200
  br i1 %2201, label %2202, label %2218

2202:                                             ; preds = %2194
  %2203 = load ptr, ptr %16, align 8, !tbaa !5
  %2204 = load ptr, ptr %21, align 8, !tbaa !5
  %2205 = load i32, ptr %41, align 4, !tbaa !9
  %2206 = sext i32 %2205 to i64
  %2207 = getelementptr inbounds float, ptr %2204, i64 %2206
  %2208 = load ptr, ptr %19, align 8, !tbaa !5
  %2209 = load i32, ptr %41, align 4, !tbaa !9
  %2210 = load i32, ptr %29, align 4, !tbaa !9
  %2211 = add nsw i32 %2209, %2210
  %2212 = sext i32 %2211 to i64
  %2213 = getelementptr inbounds float, ptr %2208, i64 %2212
  %2214 = load ptr, ptr %20, align 8, !tbaa !5
  call void @srscl_(ptr noundef %2203, ptr noundef %2207, ptr noundef %2213, ptr noundef %2214)
  %2215 = load ptr, ptr %23, align 8, !tbaa !5
  %2216 = load i32, ptr %2215, align 4, !tbaa !9
  %2217 = add nsw i32 %2216, 1
  store i32 %2217, ptr %2215, align 4, !tbaa !9
  br label %2227

2218:                                             ; preds = %2194
  %2219 = load ptr, ptr %16, align 8, !tbaa !5
  %2220 = load ptr, ptr %19, align 8, !tbaa !5
  %2221 = load i32, ptr %41, align 4, !tbaa !9
  %2222 = load i32, ptr %29, align 4, !tbaa !9
  %2223 = add nsw i32 %2221, %2222
  %2224 = sext i32 %2223 to i64
  %2225 = getelementptr inbounds float, ptr %2220, i64 %2224
  %2226 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slaset_(ptr noundef @.str.10, ptr noundef @c__1, ptr noundef %2219, ptr noundef @c_b50, ptr noundef @c_b50, ptr noundef %2225, ptr noundef %2226)
  br label %2227

2227:                                             ; preds = %2218, %2202
  br label %2228

2228:                                             ; preds = %2227
  %2229 = load i32, ptr %41, align 4, !tbaa !9
  %2230 = add nsw i32 %2229, 1
  store i32 %2230, ptr %41, align 4, !tbaa !9
  br label %2190, !llvm.loop !18

2231:                                             ; preds = %2190
  %2232 = load ptr, ptr %25, align 8, !tbaa !5
  %2233 = load i32, ptr %2232, align 4, !tbaa !9
  %2234 = load ptr, ptr %20, align 8, !tbaa !5
  %2235 = load i32, ptr %2234, align 4, !tbaa !9
  %2236 = load ptr, ptr %16, align 8, !tbaa !5
  %2237 = load i32, ptr %2236, align 4, !tbaa !9
  %2238 = mul nsw i32 %2235, %2237
  %2239 = icmp sge i32 %2233, %2238
  br i1 %2239, label %2240, label %2271

2240:                                             ; preds = %2231
  %2241 = load ptr, ptr %16, align 8, !tbaa !5
  %2242 = load i32, ptr %2241, align 4, !tbaa !9
  %2243 = icmp sgt i32 %2242, 1
  br i1 %2243, label %2244, label %2271

2244:                                             ; preds = %2240
  %2245 = load ptr, ptr %15, align 8, !tbaa !5
  %2246 = load ptr, ptr %16, align 8, !tbaa !5
  %2247 = load ptr, ptr %14, align 8, !tbaa !5
  %2248 = load ptr, ptr %17, align 8, !tbaa !5
  %2249 = load i32, ptr %28, align 4, !tbaa !9
  %2250 = sext i32 %2249 to i64
  %2251 = getelementptr inbounds float, ptr %2248, i64 %2250
  %2252 = load ptr, ptr %18, align 8, !tbaa !5
  %2253 = load ptr, ptr %19, align 8, !tbaa !5
  %2254 = load i32, ptr %30, align 4, !tbaa !9
  %2255 = sext i32 %2254 to i64
  %2256 = getelementptr inbounds float, ptr %2253, i64 %2255
  %2257 = load ptr, ptr %20, align 8, !tbaa !5
  %2258 = load ptr, ptr %24, align 8, !tbaa !5
  %2259 = getelementptr inbounds float, ptr %2258, i64 1
  %2260 = load ptr, ptr %20, align 8, !tbaa !5
  call void @sgemm_(ptr noundef @.str.3, ptr noundef @.str.12, ptr noundef %2245, ptr noundef %2246, ptr noundef %2247, ptr noundef @c_b83, ptr noundef %2251, ptr noundef %2252, ptr noundef %2256, ptr noundef %2257, ptr noundef @c_b50, ptr noundef %2259, ptr noundef %2260)
  %2261 = load ptr, ptr %15, align 8, !tbaa !5
  %2262 = load ptr, ptr %16, align 8, !tbaa !5
  %2263 = load ptr, ptr %24, align 8, !tbaa !5
  %2264 = getelementptr inbounds float, ptr %2263, i64 1
  %2265 = load ptr, ptr %20, align 8, !tbaa !5
  %2266 = load ptr, ptr %19, align 8, !tbaa !5
  %2267 = load i32, ptr %30, align 4, !tbaa !9
  %2268 = sext i32 %2267 to i64
  %2269 = getelementptr inbounds float, ptr %2266, i64 %2268
  %2270 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slacpy_(ptr noundef @.str.10, ptr noundef %2261, ptr noundef %2262, ptr noundef %2264, ptr noundef %2265, ptr noundef %2269, ptr noundef %2270)
  br label %2372

2271:                                             ; preds = %2240, %2231
  %2272 = load ptr, ptr %16, align 8, !tbaa !5
  %2273 = load i32, ptr %2272, align 4, !tbaa !9
  %2274 = icmp sgt i32 %2273, 1
  br i1 %2274, label %2275, label %2350

2275:                                             ; preds = %2271
  %2276 = load ptr, ptr %25, align 8, !tbaa !5
  %2277 = load i32, ptr %2276, align 4, !tbaa !9
  %2278 = load ptr, ptr %15, align 8, !tbaa !5
  %2279 = load i32, ptr %2278, align 4, !tbaa !9
  %2280 = sdiv i32 %2277, %2279
  store i32 %2280, ptr %48, align 4, !tbaa !9
  %2281 = load ptr, ptr %16, align 8, !tbaa !5
  %2282 = load i32, ptr %2281, align 4, !tbaa !9
  store i32 %2282, ptr %31, align 4, !tbaa !9
  %2283 = load i32, ptr %48, align 4, !tbaa !9
  store i32 %2283, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  br label %2284

2284:                                             ; preds = %2345, %2275
  %2285 = load i32, ptr %32, align 4, !tbaa !9
  %2286 = icmp slt i32 %2285, 0
  br i1 %2286, label %2287, label %2292

2287:                                             ; preds = %2284
  %2288 = load i32, ptr %41, align 4, !tbaa !9
  %2289 = load i32, ptr %31, align 4, !tbaa !9
  %2290 = icmp sge i32 %2288, %2289
  %2291 = zext i1 %2290 to i32
  br label %2297

2292:                                             ; preds = %2284
  %2293 = load i32, ptr %41, align 4, !tbaa !9
  %2294 = load i32, ptr %31, align 4, !tbaa !9
  %2295 = icmp sle i32 %2293, %2294
  %2296 = zext i1 %2295 to i32
  br label %2297

2297:                                             ; preds = %2292, %2287
  %2298 = phi i32 [ %2291, %2287 ], [ %2296, %2292 ]
  %2299 = icmp ne i32 %2298, 0
  br i1 %2299, label %2300, label %2349

2300:                                             ; preds = %2297
  %2301 = load ptr, ptr %16, align 8, !tbaa !5
  %2302 = load i32, ptr %2301, align 4, !tbaa !9
  %2303 = load i32, ptr %41, align 4, !tbaa !9
  %2304 = sub nsw i32 %2302, %2303
  %2305 = add nsw i32 %2304, 1
  store i32 %2305, ptr %33, align 4, !tbaa !9
  %2306 = load i32, ptr %33, align 4, !tbaa !9
  %2307 = load i32, ptr %48, align 4, !tbaa !9
  %2308 = icmp sle i32 %2306, %2307
  br i1 %2308, label %2309, label %2311

2309:                                             ; preds = %2300
  %2310 = load i32, ptr %33, align 4, !tbaa !9
  br label %2313

2311:                                             ; preds = %2300
  %2312 = load i32, ptr %48, align 4, !tbaa !9
  br label %2313

2313:                                             ; preds = %2311, %2309
  %2314 = phi i32 [ %2310, %2309 ], [ %2312, %2311 ]
  store i32 %2314, ptr %56, align 4, !tbaa !9
  %2315 = load ptr, ptr %15, align 8, !tbaa !5
  %2316 = load ptr, ptr %14, align 8, !tbaa !5
  %2317 = load ptr, ptr %17, align 8, !tbaa !5
  %2318 = load i32, ptr %28, align 4, !tbaa !9
  %2319 = sext i32 %2318 to i64
  %2320 = getelementptr inbounds float, ptr %2317, i64 %2319
  %2321 = load ptr, ptr %18, align 8, !tbaa !5
  %2322 = load ptr, ptr %19, align 8, !tbaa !5
  %2323 = load i32, ptr %41, align 4, !tbaa !9
  %2324 = load i32, ptr %29, align 4, !tbaa !9
  %2325 = mul nsw i32 %2323, %2324
  %2326 = add nsw i32 %2325, 1
  %2327 = sext i32 %2326 to i64
  %2328 = getelementptr inbounds float, ptr %2322, i64 %2327
  %2329 = load ptr, ptr %20, align 8, !tbaa !5
  %2330 = load ptr, ptr %24, align 8, !tbaa !5
  %2331 = getelementptr inbounds float, ptr %2330, i64 1
  %2332 = load ptr, ptr %15, align 8, !tbaa !5
  call void @sgemm_(ptr noundef @.str.3, ptr noundef @.str.12, ptr noundef %2315, ptr noundef %56, ptr noundef %2316, ptr noundef @c_b83, ptr noundef %2320, ptr noundef %2321, ptr noundef %2328, ptr noundef %2329, ptr noundef @c_b50, ptr noundef %2331, ptr noundef %2332)
  %2333 = load ptr, ptr %15, align 8, !tbaa !5
  %2334 = load ptr, ptr %24, align 8, !tbaa !5
  %2335 = getelementptr inbounds float, ptr %2334, i64 1
  %2336 = load ptr, ptr %15, align 8, !tbaa !5
  %2337 = load ptr, ptr %19, align 8, !tbaa !5
  %2338 = load i32, ptr %41, align 4, !tbaa !9
  %2339 = load i32, ptr %29, align 4, !tbaa !9
  %2340 = mul nsw i32 %2338, %2339
  %2341 = add nsw i32 %2340, 1
  %2342 = sext i32 %2341 to i64
  %2343 = getelementptr inbounds float, ptr %2337, i64 %2342
  %2344 = load ptr, ptr %20, align 8, !tbaa !5
  call void @slacpy_(ptr noundef @.str.10, ptr noundef %2333, ptr noundef %56, ptr noundef %2335, ptr noundef %2336, ptr noundef %2343, ptr noundef %2344)
  br label %2345

2345:                                             ; preds = %2313
  %2346 = load i32, ptr %32, align 4, !tbaa !9
  %2347 = load i32, ptr %41, align 4, !tbaa !9
  %2348 = add nsw i32 %2347, %2346
  store i32 %2348, ptr %41, align 4, !tbaa !9
  br label %2284, !llvm.loop !19

2349:                                             ; preds = %2297
  br label %2371

2350:                                             ; preds = %2271
  %2351 = load ptr, ptr %14, align 8, !tbaa !5
  %2352 = load ptr, ptr %15, align 8, !tbaa !5
  %2353 = load ptr, ptr %17, align 8, !tbaa !5
  %2354 = load i32, ptr %28, align 4, !tbaa !9
  %2355 = sext i32 %2354 to i64
  %2356 = getelementptr inbounds float, ptr %2353, i64 %2355
  %2357 = load ptr, ptr %18, align 8, !tbaa !5
  %2358 = load ptr, ptr %19, align 8, !tbaa !5
  %2359 = load i32, ptr %30, align 4, !tbaa !9
  %2360 = sext i32 %2359 to i64
  %2361 = getelementptr inbounds float, ptr %2358, i64 %2360
  %2362 = load ptr, ptr %24, align 8, !tbaa !5
  %2363 = getelementptr inbounds float, ptr %2362, i64 1
  call void @sgemv_(ptr noundef @.str.3, ptr noundef %2351, ptr noundef %2352, ptr noundef @c_b83, ptr noundef %2356, ptr noundef %2357, ptr noundef %2361, ptr noundef @c__1, ptr noundef @c_b50, ptr noundef %2363, ptr noundef @c__1)
  %2364 = load ptr, ptr %15, align 8, !tbaa !5
  %2365 = load ptr, ptr %24, align 8, !tbaa !5
  %2366 = getelementptr inbounds float, ptr %2365, i64 1
  %2367 = load ptr, ptr %19, align 8, !tbaa !5
  %2368 = load i32, ptr %30, align 4, !tbaa !9
  %2369 = sext i32 %2368 to i64
  %2370 = getelementptr inbounds float, ptr %2367, i64 %2369
  call void @scopy_(ptr noundef %2364, ptr noundef %2366, ptr noundef @c__1, ptr noundef %2370, ptr noundef @c__1)
  br label %2371

2371:                                             ; preds = %2350, %2349
  br label %2372

2372:                                             ; preds = %2371, %2244
  br label %2373

2373:                                             ; preds = %2372, %1979
  br label %2374

2374:                                             ; preds = %2373, %1417
  %2375 = load i32, ptr %45, align 4, !tbaa !9
  %2376 = icmp eq i32 %2375, 1
  br i1 %2376, label %2377, label %2389

2377:                                             ; preds = %2374
  %2378 = load ptr, ptr %15, align 8, !tbaa !5
  %2379 = load ptr, ptr %16, align 8, !tbaa !5
  %2380 = load ptr, ptr %19, align 8, !tbaa !5
  %2381 = load i32, ptr %30, align 4, !tbaa !9
  %2382 = sext i32 %2381 to i64
  %2383 = getelementptr inbounds float, ptr %2380, i64 %2382
  %2384 = load ptr, ptr %20, align 8, !tbaa !5
  %2385 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %36, ptr noundef %65, ptr noundef %2378, ptr noundef %2379, ptr noundef %2383, ptr noundef %2384, ptr noundef %2385)
  %2386 = load ptr, ptr %21, align 8, !tbaa !5
  %2387 = getelementptr inbounds float, ptr %2386, i64 1
  %2388 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %65, ptr noundef %36, ptr noundef %50, ptr noundef @c__1, ptr noundef %2387, ptr noundef %50, ptr noundef %2388)
  br label %2405

2389:                                             ; preds = %2374
  %2390 = load i32, ptr %45, align 4, !tbaa !9
  %2391 = icmp eq i32 %2390, 2
  br i1 %2391, label %2392, label %2404

2392:                                             ; preds = %2389
  %2393 = load ptr, ptr %15, align 8, !tbaa !5
  %2394 = load ptr, ptr %16, align 8, !tbaa !5
  %2395 = load ptr, ptr %19, align 8, !tbaa !5
  %2396 = load i32, ptr %30, align 4, !tbaa !9
  %2397 = sext i32 %2396 to i64
  %2398 = getelementptr inbounds float, ptr %2395, i64 %2397
  %2399 = load ptr, ptr %20, align 8, !tbaa !5
  %2400 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %36, ptr noundef %61, ptr noundef %2393, ptr noundef %2394, ptr noundef %2398, ptr noundef %2399, ptr noundef %2400)
  %2401 = load ptr, ptr %21, align 8, !tbaa !5
  %2402 = getelementptr inbounds float, ptr %2401, i64 1
  %2403 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %61, ptr noundef %36, ptr noundef %50, ptr noundef @c__1, ptr noundef %2402, ptr noundef %50, ptr noundef %2403)
  br label %2404

2404:                                             ; preds = %2392, %2389
  br label %2405

2405:                                             ; preds = %2404, %2377
  %2406 = load i32, ptr %46, align 4, !tbaa !9
  %2407 = icmp eq i32 %2406, 1
  br i1 %2407, label %2408, label %2417

2408:                                             ; preds = %2405
  %2409 = load ptr, ptr %15, align 8, !tbaa !5
  %2410 = load ptr, ptr %16, align 8, !tbaa !5
  %2411 = load ptr, ptr %19, align 8, !tbaa !5
  %2412 = load i32, ptr %30, align 4, !tbaa !9
  %2413 = sext i32 %2412 to i64
  %2414 = getelementptr inbounds float, ptr %2411, i64 %2413
  %2415 = load ptr, ptr %20, align 8, !tbaa !5
  %2416 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %65, ptr noundef %37, ptr noundef %2409, ptr noundef %2410, ptr noundef %2414, ptr noundef %2415, ptr noundef %2416)
  br label %2430

2417:                                             ; preds = %2405
  %2418 = load i32, ptr %46, align 4, !tbaa !9
  %2419 = icmp eq i32 %2418, 2
  br i1 %2419, label %2420, label %2429

2420:                                             ; preds = %2417
  %2421 = load ptr, ptr %15, align 8, !tbaa !5
  %2422 = load ptr, ptr %16, align 8, !tbaa !5
  %2423 = load ptr, ptr %19, align 8, !tbaa !5
  %2424 = load i32, ptr %30, align 4, !tbaa !9
  %2425 = sext i32 %2424 to i64
  %2426 = getelementptr inbounds float, ptr %2423, i64 %2425
  %2427 = load ptr, ptr %20, align 8, !tbaa !5
  %2428 = load ptr, ptr %26, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.9, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %61, ptr noundef %37, ptr noundef %2421, ptr noundef %2422, ptr noundef %2426, ptr noundef %2427, ptr noundef %2428)
  br label %2429

2429:                                             ; preds = %2420, %2417
  br label %2430

2430:                                             ; preds = %2429, %2408
  br label %2431

2431:                                             ; preds = %2430, %2151, %1740, %1196, %935
  %2432 = load i32, ptr %64, align 4, !tbaa !9
  %2433 = sitofp i32 %2432 to float
  %2434 = load ptr, ptr %24, align 8, !tbaa !5
  %2435 = getelementptr inbounds float, ptr %2434, i64 1
  store float %2433, ptr %2435, align 4, !tbaa !11
  store i32 1, ptr %70, align 4
  br label %2436

2436:                                             ; preds = %2431, %872, %862, %854
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 4, 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 4, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #3
  ret void
}

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

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

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

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

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

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

declare float @slamch_(ptr noundef) #2

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

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

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

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

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

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

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

declare void @sgelqf_(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 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"float", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = 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 i32, align 4
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@c__0 = external hidden global i32, align 4
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b50 = external hidden global float, align 4
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b83 = external hidden global float, align 4

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

39:                                               ; preds = %13
  %40 = icmp slt i32 %34, 0
  br i1 %40, label %.thread1091.sink.split, label %41

41:                                               ; preds = %39
  %42 = load i32, ptr %2, align 4, !tbaa !5
  %43 = icmp slt i32 %42, 0
  br i1 %43, label %.thread1091.sink.split, label %44

44:                                               ; preds = %41
  %45 = load i32, ptr %4, align 4, !tbaa !5
  %spec.select = tail call i32 @llvm.umax.i32(i32 %33, i32 1)
  %46 = icmp slt i32 %45, %spec.select
  br i1 %46, label %.thread1091.sink.split, label %47

47:                                               ; preds = %44
  %48 = load i32, ptr %6, align 4, !tbaa !5
  %49 = tail call i32 @llvm.smax.i32(i32 %35, i32 1)
  %50 = icmp slt i32 %48, %49
  br i1 %50, label %.thread1091.sink.split, label %51

51:                                               ; preds = %47
  %52 = icmp sgt i32 %., 0
  br i1 %52, label %53, label %168

53:                                               ; preds = %51
  store i32 %33, ptr %20, align 4, !tbaa !5
  %54 = tail call i32 @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, i32 noundef 6, i32 noundef 1) #4
  %55 = load i32, ptr %0, align 4, !tbaa !5
  %56 = load i32, ptr %1, align 4, !tbaa !5
  %.not1018 = icmp slt i32 %55, %56
  %.not1019 = icmp slt i32 %55, %54
  %or.cond1075 = select i1 %.not1018, i1 true, i1 %.not1019
  br i1 %or.cond1075, label %67, label %57

57:                                               ; preds = %53
  call void @sgeqrf_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %58 = load float, ptr %24, align 4, !tbaa !9
  %59 = fptosi float %58 to i32
  call void @sormqr_(ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %24, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %60 = load float, ptr %24, align 4, !tbaa !9
  %61 = fptosi float %60 to i32
  %62 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %62, ptr %20, align 4, !tbaa !5
  %63 = add nsw i32 %62, %59
  %64 = call i32 @llvm.smax.i32(i32 %63, i32 1)
  store i32 %64, ptr %14, align 4, !tbaa !5
  %65 = add nsw i32 %62, %61
  store i32 %65, ptr %15, align 4, !tbaa !5
  %66 = call i32 @llvm.smax.i32(i32 %64, i32 %65)
  %.pre = load i32, ptr %0, align 4, !tbaa !5
  br label %67

67:                                               ; preds = %57, %53
  %68 = phi i32 [ %62, %57 ], [ %56, %53 ]
  %69 = phi i32 [ %.pre, %57 ], [ %55, %53 ]
  %.0979 = phi i32 [ %66, %57 ], [ 1, %53 ]
  %.not1021 = icmp slt i32 %69, %68
  br i1 %.not1021, label %98, label %70

70:                                               ; preds = %67
  store i32 1, ptr %14, align 4, !tbaa !5
  %71 = mul nsw i32 %68, 5
  store i32 %71, ptr %15, align 4, !tbaa !5
  %72 = icmp slt i32 %68, 1
  %73 = select i1 %72, i32 1, i32 %71
  call void @sgebrd_(ptr noundef nonnull %20, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %7, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %74 = load float, ptr %24, align 4, !tbaa !9
  %75 = fptosi float %74 to i32
  call void @sormbr_(ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef nonnull %20, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %24, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %76 = load float, ptr %24, align 4, !tbaa !9
  %77 = fptosi float %76 to i32
  call void @sorgbr_(ptr noundef nonnull @.str.5, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %78 = load float, ptr %24, align 4, !tbaa !9
  %79 = fptosi float %78 to i32
  %80 = load i32, ptr %1, align 4, !tbaa !5
  %81 = mul nsw i32 %80, 3
  %82 = add nsw i32 %81, %75
  %83 = call i32 @llvm.smax.i32(i32 %.0979, i32 %82)
  %84 = add nsw i32 %81, %77
  %85 = call i32 @llvm.smax.i32(i32 %83, i32 %84)
  %86 = add nsw i32 %81, %79
  %87 = call i32 @llvm.smax.i32(i32 %85, i32 %86)
  %88 = call i32 @llvm.smax.i32(i32 %87, i32 %73)
  %89 = load i32, ptr %2, align 4, !tbaa !5
  %90 = mul nsw i32 %89, %80
  %91 = call i32 @llvm.smax.i32(i32 %88, i32 %90)
  %92 = load i32, ptr %20, align 4, !tbaa !5
  %93 = add nsw i32 %92, %81
  %94 = add nsw i32 %89, %81
  store i32 %94, ptr %15, align 4, !tbaa !5
  %95 = call i32 @llvm.smax.i32(i32 %93, i32 %94)
  store i32 %95, ptr %14, align 4, !tbaa !5
  %96 = call i32 @llvm.smax.i32(i32 %95, i32 %73)
  %97 = call i32 @llvm.smax.i32(i32 %96, i32 %91)
  %.pre1153 = load i32, ptr %0, align 4, !tbaa !5
  br label %98

98:                                               ; preds = %70, %67
  %99 = phi i32 [ %.pre1153, %70 ], [ %69, %67 ]
  %100 = phi i32 [ %80, %70 ], [ %68, %67 ]
  %.0982 = phi i32 [ %96, %70 ], [ 1, %67 ]
  %.1980 = phi i32 [ %97, %70 ], [ %.0979, %67 ]
  %101 = icmp sgt i32 %100, %99
  br i1 %101, label %102, label %165

102:                                              ; preds = %98
  %103 = mul nsw i32 %99, 5
  %104 = icmp slt i32 %99, 1
  %105 = select i1 %104, i32 1, i32 %103
  %106 = mul nsw i32 %99, 3
  %107 = load i32, ptr %2, align 4, !tbaa !5
  %108 = add nsw i32 %107, %106
  %109 = add nsw i32 %106, %100
  store i32 %109, ptr %15, align 4, !tbaa !5
  %110 = call i32 @llvm.smax.i32(i32 %108, i32 %109)
  store i32 %110, ptr %14, align 4, !tbaa !5
  %111 = call i32 @llvm.smax.i32(i32 %110, i32 %105)
  %.not1032 = icmp slt i32 %100, %54
  br i1 %.not1032, label %146, label %112

112:                                              ; preds = %102
  call void @sgebrd_(ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %7, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %113 = load float, ptr %24, align 4, !tbaa !9
  %114 = fptosi float %113 to i32
  call void @sormbr_(ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %24, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %115 = load float, ptr %24, align 4, !tbaa !9
  %116 = fptosi float %115 to i32
  call void @sorgbr_(ptr noundef nonnull @.str.5, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %117 = load float, ptr %24, align 4, !tbaa !9
  %118 = fptosi float %117 to i32
  call void @sormlq_(ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %24, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %119 = load float, ptr %24, align 4, !tbaa !9
  %120 = fptosi float %119 to i32
  %121 = load i32, ptr %0, align 4, !tbaa !5
  %122 = call i32 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, i32 noundef 6, i32 noundef 1) #4
  %123 = add i32 %122, 1
  %124 = mul i32 %123, %121
  %125 = load i32, ptr %0, align 4, !tbaa !5
  %126 = add i32 %125, 4
  %127 = mul i32 %126, %125
  %128 = add nsw i32 %127, %114
  %129 = call i32 @llvm.smax.i32(i32 %124, i32 %128)
  %130 = add nsw i32 %127, %116
  %131 = call i32 @llvm.smax.i32(i32 %129, i32 %130)
  %132 = add nsw i32 %127, %118
  %133 = call i32 @llvm.smax.i32(i32 %131, i32 %132)
  %134 = add i32 %125, 1
  %135 = mul i32 %134, %125
  %136 = add nsw i32 %135, %105
  %137 = call i32 @llvm.smax.i32(i32 %133, i32 %136)
  %138 = load i32, ptr %2, align 4, !tbaa !5
  %139 = icmp sgt i32 %138, 1
  %140 = add i32 %125, 2
  %141 = add i32 %138, %134
  %.sink1170 = select i1 %139, i32 %141, i32 %140
  %142 = mul i32 %.sink1170, %125
  %143 = call i32 @llvm.smax.i32(i32 %137, i32 %142)
  store i32 %143, ptr %14, align 4, !tbaa !5
  %144 = add nsw i32 %125, %120
  store i32 %144, ptr %15, align 4, !tbaa !5
  %145 = call i32 @llvm.smax.i32(i32 %143, i32 %144)
  br label %165

146:                                              ; preds = %102
  call void @sgebrd_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %7, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %147 = load float, ptr %24, align 4, !tbaa !9
  %148 = fptosi float %147 to i32
  call void @sormbr_(ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %24, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %149 = load float, ptr %24, align 4, !tbaa !9
  %150 = fptosi float %149 to i32
  call void @sorgbr_(ptr noundef nonnull @.str.5, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %12) #4
  %151 = load float, ptr %24, align 4, !tbaa !9
  %152 = fptosi float %151 to i32
  %153 = load i32, ptr %0, align 4, !tbaa !5
  %154 = mul nsw i32 %153, 3
  %155 = add nsw i32 %154, %148
  %156 = add nsw i32 %154, %150
  %157 = call i32 @llvm.smax.i32(i32 %155, i32 %156)
  %158 = add nsw i32 %154, %152
  %159 = call i32 @llvm.smax.i32(i32 %157, i32 %158)
  %160 = call i32 @llvm.smax.i32(i32 %159, i32 %105)
  store i32 %160, ptr %14, align 4, !tbaa !5
  %161 = load i32, ptr %1, align 4, !tbaa !5
  %162 = load i32, ptr %2, align 4, !tbaa !5
  %163 = mul nsw i32 %162, %161
  store i32 %163, ptr %15, align 4, !tbaa !5
  %164 = call i32 @llvm.smax.i32(i32 %160, i32 %163)
  br label %165

165:                                              ; preds = %112, %146, %98
  %166 = phi i32 [ %125, %112 ], [ %153, %146 ], [ %99, %98 ]
  %.1983 = phi i32 [ %111, %112 ], [ %111, %146 ], [ %.0982, %98 ]
  %.3 = phi i32 [ %145, %112 ], [ %164, %146 ], [ %.1980, %98 ]
  %167 = call i32 @llvm.smax.i32(i32 %.1983, i32 %.3)
  %.pre1154 = load i32, ptr %11, align 4, !tbaa !5
  br label %168

168:                                              ; preds = %165, %51
  %169 = phi i32 [ %166, %165 ], [ %33, %51 ]
  %170 = phi i32 [ %.pre1154, %165 ], [ %36, %51 ]
  %.0985 = phi i32 [ %54, %165 ], [ undef, %51 ]
  %.2984 = phi i32 [ %.1983, %165 ], [ 1, %51 ]
  %.4 = phi i32 [ %167, %165 ], [ 1, %51 ]
  %171 = sitofp i32 %.4 to float
  store float %171, ptr %10, align 4, !tbaa !9
  %172 = icmp sge i32 %170, %.2984
  %or.cond = select i1 %172, i1 true, i1 %37
  br i1 %or.cond, label %.thread, label %.thread1091.sink.split

.thread:                                          ; preds = %168
  %.pr1087.pr = load i32, ptr %12, align 4, !tbaa !5
  %.not1045 = icmp eq i32 %.pr1087.pr, 0
  br i1 %.not1045, label %176, label %.thread1091

.thread1091.sink.split:                           ; preds = %168, %47, %44, %41, %39, %13
  %.sink = phi i32 [ -1, %13 ], [ -2, %39 ], [ -3, %41 ], [ -5, %44 ], [ -7, %47 ], [ -12, %168 ]
  store i32 %.sink, ptr %12, align 4, !tbaa !5
  br label %.thread1091

.thread1091:                                      ; preds = %.thread1091.sink.split, %.thread
  %173 = phi i32 [ %.pr1087.pr, %.thread ], [ %.sink, %.thread1091.sink.split ]
  %174 = sub nsw i32 0, %173
  store i32 %174, ptr %14, align 4, !tbaa !5
  %175 = call i32 @xerbla_(ptr noundef nonnull @.str, ptr noundef nonnull %14, i32 noundef 6) #4
  br label %494

176:                                              ; preds = %.thread
  br i1 %37, label %494, label %177

177:                                              ; preds = %176
  %178 = icmp eq i32 %169, 0
  br i1 %178, label %182, label %179

179:                                              ; preds = %177
  %180 = load i32, ptr %1, align 4, !tbaa !5
  %181 = icmp eq i32 %180, 0
  br i1 %181, label %182, label %183

182:                                              ; preds = %179, %177
  store i32 0, ptr %9, align 4, !tbaa !5
  br label %494

183:                                              ; preds = %179
  %184 = call float @slamch_(ptr noundef nonnull @.str.5) #4
  %185 = call float @slamch_(ptr noundef nonnull @.str.7) #4
  %186 = fdiv float %185, %184
  store float %186, ptr %23, align 4, !tbaa !9
  %187 = fdiv float 1.000000e+00, %186
  store float %187, ptr %21, align 4, !tbaa !9
  call void @slabad_(ptr noundef nonnull %23, ptr noundef nonnull %21) #4
  %188 = call float @slange_(ptr noundef nonnull @.str.8, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %10) #4
  store float %188, ptr %16, align 4, !tbaa !9
  %189 = fcmp ogt float %188, 0.000000e+00
  %190 = load float, ptr %23, align 4
  %191 = fcmp olt float %188, %190
  %or.cond1077 = select i1 %189, i1 %191, i1 false
  br i1 %or.cond1077, label %.sink.split, label %192

192:                                              ; preds = %183
  %193 = load float, ptr %21, align 4, !tbaa !9
  %194 = fcmp ogt float %188, %193
  br i1 %194, label %.sink.split, label %195

195:                                              ; preds = %192
  %196 = fcmp oeq float %188, 0.000000e+00
  br i1 %196, label %197, label %200

197:                                              ; preds = %195
  %198 = load i32, ptr %0, align 4, !tbaa !5
  %199 = load i32, ptr %1, align 4, !tbaa !5
  %.1078 = call i32 @llvm.smax.i32(i32 %198, i32 %199)
  store i32 %.1078, ptr %14, align 4, !tbaa !5
  call void @slaset_(ptr noundef nonnull @.str.10, ptr noundef nonnull %14, ptr noundef nonnull %2, ptr noundef nonnull @c_b50, ptr noundef nonnull @c_b50, ptr noundef %5, ptr noundef nonnull %6) #4
  call void @slaset_(ptr noundef nonnull @.str.10, ptr noundef nonnull %18, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b50, ptr noundef nonnull @c_b50, ptr noundef %7, ptr noundef nonnull %18) #4
  store i32 0, ptr %9, align 4, !tbaa !5
  br label %493

.sink.split:                                      ; preds = %192, %183
  %.sink1172 = phi ptr [ %23, %183 ], [ %21, %192 ]
  %.ph1171 = xor i1 %or.cond1077, true
  call void @slascl_(ptr noundef nonnull @.str.9, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %16, ptr noundef nonnull %.sink1172, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %12) #4
  br label %200

200:                                              ; preds = %.sink.split, %195
  %201 = phi i1 [ false, %195 ], [ %.ph1171, %.sink.split ]
  %202 = call float @slange_(ptr noundef nonnull @.str.8, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %10) #4
  store float %202, ptr %17, align 4, !tbaa !9
  %203 = fcmp ule float %202, 0.000000e+00
  %204 = load float, ptr %23, align 4
  %205 = fcmp uge float %202, %204
  %or.cond1080.not = select i1 %203, i1 true, i1 %205
  br i1 %or.cond1080.not, label %206, label %.sink.split1173

206:                                              ; preds = %200
  %207 = load float, ptr %21, align 4, !tbaa !9
  %208 = fcmp ogt float %202, %207
  br i1 %208, label %.sink.split1173, label %209

.sink.split1173:                                  ; preds = %206, %200
  %.sink1175 = phi ptr [ %23, %200 ], [ %21, %206 ]
  call void @slascl_(ptr noundef nonnull @.str.9, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %17, ptr noundef nonnull %.sink1175, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %12) #4
  br label %209

209:                                              ; preds = %.sink.split1173, %206
  %210 = phi i1 [ false, %206 ], [ %or.cond1080.not, %.sink.split1173 ]
  %211 = load i32, ptr %0, align 4, !tbaa !5
  %212 = load i32, ptr %1, align 4, !tbaa !5
  %.not1048 = icmp slt i32 %211, %212
  br i1 %.not1048, label %299, label %213

213:                                              ; preds = %209
  store i32 %211, ptr %20, align 4, !tbaa !5
  %.not1069 = icmp slt i32 %211, %.0985
  br i1 %.not1069, label %229, label %214

214:                                              ; preds = %213
  store i32 %212, ptr %20, align 4, !tbaa !5
  %215 = load i32, ptr %11, align 4, !tbaa !5
  %216 = sub i32 %215, %212
  store i32 %216, ptr %14, align 4, !tbaa !5
  %217 = sext i32 %212 to i64
  %218 = getelementptr float, ptr %32, i64 %217
  %219 = getelementptr i8, ptr %218, i64 4
  call void @sgeqrf_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %219, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %220 = load i32, ptr %11, align 4, !tbaa !5
  %221 = sub i32 %220, %212
  store i32 %221, ptr %14, align 4, !tbaa !5
  call void @sormqr_(ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, 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 nonnull %219, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %222 = load i32, ptr %1, align 4, !tbaa !5
  %223 = icmp sgt i32 %222, 1
  br i1 %223, label %224, label %229

224:                                              ; preds = %214
  %225 = add nsw i32 %222, -1
  store i32 %225, ptr %14, align 4, !tbaa !5
  store i32 %225, ptr %15, align 4, !tbaa !5
  %226 = sext i32 %25 to i64
  %227 = getelementptr float, ptr %27, i64 %226
  %228 = getelementptr i8, ptr %227, i64 8
  call void @slaset_(ptr noundef nonnull @.str.2, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull @c_b50, ptr noundef nonnull @c_b50, ptr noundef %228, ptr noundef nonnull %4) #4
  %.pre1155 = load i32, ptr %1, align 4, !tbaa !5
  br label %229

229:                                              ; preds = %214, %224, %213
  %230 = phi i32 [ %222, %214 ], [ %.pre1155, %224 ], [ %212, %213 ]
  %231 = add nsw i32 %230, 1
  %232 = add nsw i32 %231, %230
  %233 = add nsw i32 %232, %230
  %234 = load i32, ptr %11, align 4, !tbaa !5
  %235 = add i32 %234, 1
  %236 = sub i32 %235, %233
  store i32 %236, ptr %14, align 4, !tbaa !5
  %237 = sext i32 %231 to i64
  %238 = getelementptr inbounds float, ptr %32, i64 %237
  %239 = sext i32 %232 to i64
  %240 = getelementptr inbounds float, ptr %32, i64 %239
  %241 = sext i32 %233 to i64
  %242 = getelementptr inbounds float, ptr %32, i64 %241
  call void @sgebrd_(ptr noundef nonnull %20, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %7, ptr noundef nonnull %10, ptr noundef nonnull %238, ptr noundef nonnull %240, ptr noundef nonnull %242, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %243 = load i32, ptr %11, align 4, !tbaa !5
  %reass.sub = sub i32 %243, %233
  %244 = add i32 %reass.sub, 1
  store i32 %244, ptr %14, align 4, !tbaa !5
  call void @sormbr_(ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef nonnull %20, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %238, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %242, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %245 = load i32, ptr %11, align 4, !tbaa !5
  %reass.sub1136 = sub i32 %245, %233
  %246 = add i32 %reass.sub1136, 1
  store i32 %246, ptr %14, align 4, !tbaa !5
  call void @sorgbr_(ptr noundef nonnull @.str.5, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %240, ptr noundef nonnull %242, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %247 = load i32, ptr %1, align 4, !tbaa !5
  %248 = sext i32 %247 to i64
  %249 = getelementptr float, ptr %32, i64 %248
  %250 = getelementptr i8, ptr %249, i64 4
  call void @sbdsqr_(ptr noundef nonnull @.str.11, 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 %24, ptr noundef nonnull @c__1, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %250, ptr noundef nonnull %12) #4
  %251 = load i32, ptr %12, align 4, !tbaa !5
  %.not1070 = icmp eq i32 %251, 0
  br i1 %.not1070, label %252, label %493

252:                                              ; preds = %229
  %253 = load float, ptr %8, align 4, !tbaa !9
  %254 = load float, ptr %7, align 4, !tbaa !9
  %255 = fmul float %253, %254
  %256 = fcmp oge float %255, %185
  %257 = select i1 %256, float %255, float %185
  %258 = fcmp olt float %253, 0.000000e+00
  br i1 %258, label %259, label %263

259:                                              ; preds = %252
  %260 = fmul float %184, %254
  %261 = fcmp oge float %260, %185
  %262 = select i1 %261, float %260, float %185
  br label %263

263:                                              ; preds = %259, %252
  %.0 = phi float [ %262, %259 ], [ %257, %252 ]
  store i32 0, ptr %9, align 4, !tbaa !5
  %264 = load i32, ptr %1, align 4, !tbaa !5
  store i32 %264, ptr %14, align 4, !tbaa !5
  %.not10711108 = icmp slt i32 %264, 1
  br i1 %.not10711108, label %._crit_edge, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %263
  %265 = sext i32 %28 to i64
  %invariant.gep1158 = getelementptr float, ptr %30, i64 %265
  %invariant.gep1160 = getelementptr float, ptr %30, i64 %265
  br label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.preheader, %273
  %indvars.iv = phi i64 [ 1, %.lr.ph.preheader ], [ %indvars.iv.next, %273 ]
  %266 = getelementptr inbounds float, ptr %31, i64 %indvars.iv
  %267 = load float, ptr %266, align 4, !tbaa !9
  %268 = fcmp ogt float %267, %.0
  br i1 %268, label %269, label %272

269:                                              ; preds = %.lr.ph
  %gep1161 = getelementptr float, ptr %invariant.gep1160, i64 %indvars.iv
  call void @srscl_(ptr noundef nonnull %2, ptr noundef nonnull %266, ptr noundef %gep1161, ptr noundef nonnull %6) #4
  %270 = load i32, ptr %9, align 4, !tbaa !5
  %271 = add nsw i32 %270, 1
  store i32 %271, ptr %9, align 4, !tbaa !5
  br label %273

272:                                              ; preds = %.lr.ph
  %gep1159 = getelementptr float, ptr %invariant.gep1158, i64 %indvars.iv
  call void @slaset_(ptr noundef nonnull @.str.10, ptr noundef nonnull @c__1, ptr noundef nonnull %2, ptr noundef nonnull @c_b50, ptr noundef nonnull @c_b50, ptr noundef %gep1159, ptr noundef nonnull %6) #4
  br label %273

273:                                              ; preds = %269, %272
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %274 = load i32, ptr %14, align 4, !tbaa !5
  %275 = sext i32 %274 to i64
  %.not1071.not = icmp slt i64 %indvars.iv, %275
  br i1 %.not1071.not, label %.lr.ph, label %._crit_edge, !llvm.loop !11

._crit_edge:                                      ; preds = %273, %263
  %276 = load i32, ptr %11, align 4, !tbaa !5
  %277 = load i32, ptr %6, align 4, !tbaa !5
  %278 = load i32, ptr %2, align 4, !tbaa !5
  %279 = mul nsw i32 %278, %277
  %.not1072 = icmp sge i32 %276, %279
  %280 = icmp sgt i32 %278, 1
  %or.cond1081 = and i1 %280, %.not1072
  br i1 %or.cond1081, label %281, label %282

281:                                              ; preds = %._crit_edge
  call void @sgemm_(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.12, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef nonnull @c_b83, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull @c_b50, ptr noundef %10, ptr noundef nonnull %6) #4
  call void @slacpy_(ptr noundef nonnull @.str.9, 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

282:                                              ; preds = %._crit_edge
  br i1 %280, label %283, label %298

283:                                              ; preds = %282
  %284 = load i32, ptr %1, align 4, !tbaa !5
  %285 = sdiv i32 %276, %284
  store i32 %278, ptr %14, align 4, !tbaa !5
  store i32 %285, ptr %15, align 4, !tbaa !5
  %invariant.gep = getelementptr i8, ptr %30, i64 4
  %286 = icmp sgt i32 %285, -1
  br i1 %286, label %.lr.ph1113, label %.loopexit

.lr.ph1113:                                       ; preds = %283, %.lr.ph1113
  %.19901111 = phi i32 [ %293, %.lr.ph1113 ], [ 1, %283 ]
  %287 = load i32, ptr %2, align 4, !tbaa !5
  %reass.sub1137 = sub i32 %287, %.19901111
  %288 = add i32 %reass.sub1137, 1
  %289 = call i32 @llvm.smin.i32(i32 %288, i32 %285)
  store i32 %289, ptr %19, align 4, !tbaa !5
  %290 = mul nsw i32 %.19901111, %28
  %291 = sext i32 %290 to i64
  %gep = getelementptr float, ptr %invariant.gep, i64 %291
  call void @sgemm_(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.12, ptr noundef nonnull %1, ptr noundef nonnull %19, ptr noundef nonnull %1, ptr noundef nonnull @c_b83, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %gep, ptr noundef nonnull %6, ptr noundef nonnull @c_b50, ptr noundef %10, ptr noundef nonnull %1) #4
  call void @slacpy_(ptr noundef nonnull @.str.9, ptr noundef nonnull %1, ptr noundef nonnull %19, ptr noundef %10, ptr noundef nonnull %1, ptr noundef %gep, ptr noundef nonnull %6) #4
  %292 = load i32, ptr %15, align 4, !tbaa !5
  %293 = add nsw i32 %292, %.19901111
  %294 = icmp slt i32 %292, 0
  %295 = load i32, ptr %14, align 4
  %296 = icmp sge i32 %293, %295
  %297 = icmp sle i32 %293, %295
  %.in1073 = select i1 %294, i1 %296, i1 %297
  br i1 %.in1073, label %.lr.ph1113, label %.loopexit, !llvm.loop !13

298:                                              ; preds = %282
  call void @sgemv_(ptr noundef nonnull @.str.3, ptr noundef nonnull %1, ptr noundef nonnull %1, ptr noundef nonnull @c_b83, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b50, ptr noundef %10, ptr noundef nonnull @c__1) #4
  call void @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

299:                                              ; preds = %209
  %300 = shl i32 %211, 1
  %301 = add nsw i32 %300, -4
  %302 = call i32 @llvm.smax.i32(i32 %211, i32 %301)
  %303 = load i32, ptr %2, align 4, !tbaa !5
  %.1082 = call i32 @llvm.smax.i32(i32 %302, i32 %303)
  store i32 %.1082, ptr %15, align 4, !tbaa !5
  %.not1051 = icmp slt i32 %212, %.0985
  %.pre1156 = load i32, ptr %11, align 4, !tbaa !5
  br i1 %.not1051, label %422, label %304

304:                                              ; preds = %299
  %.neg = mul i32 %211, -3
  %305 = add i32 %.neg, %212
  %306 = add i32 %211, 4
  %307 = mul i32 %306, %211
  %308 = call i32 @llvm.smax.i32(i32 %.1082, i32 %305)
  %309 = add nsw i32 %308, %307
  %.not1053 = icmp slt i32 %.pre1156, %309
  br i1 %.not1053, label %422, label %310

310:                                              ; preds = %304
  store i32 %211, ptr %22, align 4, !tbaa !5
  %311 = load i32, ptr %4, align 4, !tbaa !5
  %312 = add i32 %311, 4
  %313 = mul i32 %312, %211
  %314 = add nsw i32 %313, %308
  %315 = add i32 %303, 1
  %316 = add i32 %315, %311
  %317 = mul i32 %316, %211
  store i32 %317, ptr %14, align 4, !tbaa !5
  %318 = call i32 @llvm.smax.i32(i32 %314, i32 %317)
  %.not1063 = icmp slt i32 %.pre1156, %318
  br i1 %.not1063, label %320, label %319

319:                                              ; preds = %310
  store i32 %311, ptr %22, align 4, !tbaa !5
  br label %320

320:                                              ; preds = %319, %310
  %321 = add nsw i32 %211, 1
  %322 = sub i32 %.pre1156, %211
  store i32 %322, ptr %15, align 4, !tbaa !5
  %323 = sext i32 %321 to i64
  %324 = getelementptr inbounds float, ptr %32, i64 %323
  call void @sgelqf_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %324, ptr noundef nonnull %15, ptr noundef nonnull %12) #4
  call void @slacpy_(ptr noundef nonnull @.str.2, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %324, ptr noundef nonnull %22) #4
  %325 = load i32, ptr %0, align 4, !tbaa !5
  %326 = add nsw i32 %325, -1
  store i32 %326, ptr %15, align 4, !tbaa !5
  store i32 %326, ptr %14, align 4, !tbaa !5
  %327 = load i32, ptr %22, align 4, !tbaa !5
  %328 = add nsw i32 %327, %321
  %329 = sext i32 %328 to i64
  %330 = getelementptr inbounds float, ptr %32, i64 %329
  call void @slaset_(ptr noundef nonnull @.str.11, ptr noundef nonnull %15, ptr noundef nonnull %14, ptr noundef nonnull @c_b50, ptr noundef nonnull @c_b50, ptr noundef nonnull %330, ptr noundef nonnull %22) #4
  %331 = load i32, ptr %22, align 4, !tbaa !5
  %332 = load i32, ptr %0, align 4, !tbaa !5
  %333 = mul nsw i32 %332, %331
  %334 = add nsw i32 %333, %321
  %335 = add nsw i32 %334, %332
  %336 = add nsw i32 %335, %332
  %337 = add nsw i32 %336, %332
  %338 = load i32, ptr %11, align 4, !tbaa !5
  %339 = add i32 %338, 1
  %340 = sub i32 %339, %337
  store i32 %340, ptr %15, align 4, !tbaa !5
  %341 = sext i32 %334 to i64
  %342 = getelementptr inbounds float, ptr %32, i64 %341
  %343 = sext i32 %335 to i64
  %344 = getelementptr inbounds float, ptr %32, i64 %343
  %345 = sext i32 %336 to i64
  %346 = getelementptr inbounds float, ptr %32, i64 %345
  %347 = sext i32 %337 to i64
  %348 = getelementptr inbounds float, ptr %32, i64 %347
  call void @sgebrd_(ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull %324, ptr noundef nonnull %22, ptr noundef %7, ptr noundef nonnull %342, ptr noundef nonnull %344, ptr noundef nonnull %346, ptr noundef nonnull %348, ptr noundef nonnull %15, ptr noundef nonnull %12) #4
  %349 = load i32, ptr %11, align 4, !tbaa !5
  %350 = add i32 %349, 1
  %351 = sub i32 %350, %337
  store i32 %351, ptr %15, align 4, !tbaa !5
  call void @sormbr_(ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef nonnull %324, ptr noundef nonnull %22, ptr noundef nonnull %344, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %348, ptr noundef nonnull %15, ptr noundef nonnull %12) #4
  %352 = load i32, ptr %11, align 4, !tbaa !5
  %reass.sub1138 = sub i32 %352, %337
  %353 = add i32 %reass.sub1138, 1
  store i32 %353, ptr %15, align 4, !tbaa !5
  call void @sorgbr_(ptr noundef nonnull @.str.5, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull %324, ptr noundef nonnull %22, ptr noundef nonnull %346, ptr noundef nonnull %348, ptr noundef nonnull %15, ptr noundef nonnull %12) #4
  %354 = load i32, ptr %0, align 4, !tbaa !5
  %355 = add nsw i32 %354, %334
  %356 = sext i32 %355 to i64
  %357 = getelementptr inbounds float, ptr %32, i64 %356
  call void @sbdsqr_(ptr noundef nonnull @.str.11, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull @c__0, ptr noundef nonnull %2, ptr noundef %7, ptr noundef nonnull %342, ptr noundef nonnull %324, ptr noundef nonnull %22, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %357, ptr noundef nonnull %12) #4
  %358 = load i32, ptr %12, align 4, !tbaa !5
  %.not1064 = icmp eq i32 %358, 0
  br i1 %.not1064, label %359, label %493

359:                                              ; preds = %320
  %360 = load float, ptr %8, align 4, !tbaa !9
  %361 = load float, ptr %7, align 4, !tbaa !9
  %362 = fmul float %360, %361
  %363 = fcmp oge float %362, %185
  %364 = select i1 %363, float %362, float %185
  %365 = fcmp olt float %360, 0.000000e+00
  br i1 %365, label %366, label %370

366:                                              ; preds = %359
  %367 = fmul float %184, %361
  %368 = fcmp oge float %367, %185
  %369 = select i1 %368, float %367, float %185
  br label %370

370:                                              ; preds = %366, %359
  %.1 = phi float [ %369, %366 ], [ %364, %359 ]
  store i32 0, ptr %9, align 4, !tbaa !5
  %371 = load i32, ptr %0, align 4, !tbaa !5
  store i32 %371, ptr %15, align 4, !tbaa !5
  %.not10651114 = icmp slt i32 %371, 1
  br i1 %.not10651114, label %._crit_edge1118, label %.lr.ph1117.preheader

.lr.ph1117.preheader:                             ; preds = %370
  %372 = sext i32 %28 to i64
  %invariant.gep1162 = getelementptr float, ptr %30, i64 %372
  %invariant.gep1164 = getelementptr float, ptr %30, i64 %372
  br label %.lr.ph1117

.lr.ph1117:                                       ; preds = %.lr.ph1117.preheader, %380
  %indvars.iv1147 = phi i64 [ 1, %.lr.ph1117.preheader ], [ %indvars.iv.next1148, %380 ]
  %373 = getelementptr inbounds float, ptr %31, i64 %indvars.iv1147
  %374 = load float, ptr %373, align 4, !tbaa !9
  %375 = fcmp ogt float %374, %.1
  br i1 %375, label %376, label %379

376:                                              ; preds = %.lr.ph1117
  %gep1165 = getelementptr float, ptr %invariant.gep1164, i64 %indvars.iv1147
  call void @srscl_(ptr noundef nonnull %2, ptr noundef nonnull %373, ptr noundef %gep1165, ptr noundef nonnull %6) #4
  %377 = load i32, ptr %9, align 4, !tbaa !5
  %378 = add nsw i32 %377, 1
  store i32 %378, ptr %9, align 4, !tbaa !5
  br label %380

379:                                              ; preds = %.lr.ph1117
  %gep1163 = getelementptr float, ptr %invariant.gep1162, i64 %indvars.iv1147
  call void @slaset_(ptr noundef nonnull @.str.10, ptr noundef nonnull @c__1, ptr noundef nonnull %2, ptr noundef nonnull @c_b50, ptr noundef nonnull @c_b50, ptr noundef %gep1163, ptr noundef nonnull %6) #4
  br label %380

380:                                              ; preds = %376, %379
  %indvars.iv.next1148 = add nuw nsw i64 %indvars.iv1147, 1
  %381 = load i32, ptr %15, align 4, !tbaa !5
  %382 = sext i32 %381 to i64
  %.not1065.not = icmp slt i64 %indvars.iv1147, %382
  br i1 %.not1065.not, label %.lr.ph1117, label %._crit_edge1118, !llvm.loop !14

._crit_edge1118:                                  ; preds = %380, %370
  %383 = load i32, ptr %11, align 4, !tbaa !5
  %384 = load i32, ptr %6, align 4, !tbaa !5
  %385 = load i32, ptr %2, align 4, !tbaa !5
  %386 = mul nsw i32 %385, %384
  %387 = add i32 %333, %211
  %388 = add i32 %387, %386
  %.not1066 = icmp sge i32 %383, %388
  %389 = icmp sgt i32 %385, 1
  %or.cond1084 = and i1 %389, %.not1066
  br i1 %or.cond1084, label %390, label %391

390:                                              ; preds = %._crit_edge1118
  call void @sgemm_(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.12, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef nonnull @c_b83, ptr noundef nonnull %324, ptr noundef nonnull %22, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull @c_b50, ptr noundef nonnull %342, ptr noundef nonnull %6) #4
  call void @slacpy_(ptr noundef nonnull @.str.9, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %342, ptr noundef nonnull %6, ptr noundef %5, ptr noundef nonnull %6) #4
  br label %.loopexit1106

391:                                              ; preds = %._crit_edge1118
  br i1 %389, label %392, label %408

392:                                              ; preds = %391
  %reass.sub1139 = sub i32 %383, %334
  %393 = add i32 %reass.sub1139, 1
  %394 = load i32, ptr %0, align 4, !tbaa !5
  %395 = sdiv i32 %393, %394
  store i32 %385, ptr %15, align 4, !tbaa !5
  store i32 %395, ptr %14, align 4, !tbaa !5
  %invariant.gep1119 = getelementptr i8, ptr %30, i64 4
  %396 = icmp sgt i32 %395, -1
  br i1 %396, label %.lr.ph1124, label %.loopexit1106

.lr.ph1124:                                       ; preds = %392, %.lr.ph1124
  %.39921122 = phi i32 [ %403, %.lr.ph1124 ], [ 1, %392 ]
  %397 = load i32, ptr %2, align 4, !tbaa !5
  %reass.sub1140 = sub i32 %397, %.39921122
  %398 = add i32 %reass.sub1140, 1
  %399 = call i32 @llvm.smin.i32(i32 %398, i32 %395)
  store i32 %399, ptr %19, align 4, !tbaa !5
  %400 = mul nsw i32 %.39921122, %28
  %401 = sext i32 %400 to i64
  %gep1120 = getelementptr float, ptr %invariant.gep1119, i64 %401
  call void @sgemm_(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.12, ptr noundef nonnull %0, ptr noundef nonnull %19, ptr noundef nonnull %0, ptr noundef nonnull @c_b83, ptr noundef nonnull %324, ptr noundef nonnull %22, ptr noundef %gep1120, ptr noundef nonnull %6, ptr noundef nonnull @c_b50, ptr noundef nonnull %342, ptr noundef nonnull %0) #4
  call void @slacpy_(ptr noundef nonnull @.str.9, ptr noundef nonnull %0, ptr noundef nonnull %19, ptr noundef nonnull %342, ptr noundef nonnull %0, ptr noundef %gep1120, ptr noundef nonnull %6) #4
  %402 = load i32, ptr %14, align 4, !tbaa !5
  %403 = add nsw i32 %402, %.39921122
  %404 = icmp slt i32 %402, 0
  %405 = load i32, ptr %15, align 4
  %406 = icmp sge i32 %403, %405
  %407 = icmp sle i32 %403, %405
  %.in1067 = select i1 %404, i1 %406, i1 %407
  br i1 %.in1067, label %.lr.ph1124, label %.loopexit1106, !llvm.loop !15

408:                                              ; preds = %391
  call void @sgemv_(ptr noundef nonnull @.str.3, ptr noundef nonnull %0, ptr noundef nonnull %0, ptr noundef nonnull @c_b83, ptr noundef nonnull %324, ptr noundef nonnull %22, ptr noundef %5, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b50, ptr noundef nonnull %342, ptr noundef nonnull @c__1) #4
  call void @scopy_(ptr noundef nonnull %0, ptr noundef nonnull %342, ptr noundef nonnull @c__1, ptr noundef %5, ptr noundef nonnull @c__1) #4
  br label %.loopexit1106

.loopexit1106:                                    ; preds = %.lr.ph1124, %392, %408, %390
  %409 = load i32, ptr %1, align 4, !tbaa !5
  %410 = load i32, ptr %0, align 4, !tbaa !5
  %411 = sub nsw i32 %409, %410
  store i32 %411, ptr %14, align 4, !tbaa !5
  %412 = add i32 %28, 1
  %413 = add i32 %412, %410
  %414 = sext i32 %413 to i64
  %415 = getelementptr inbounds float, ptr %30, i64 %414
  call void @slaset_(ptr noundef nonnull @.str.10, ptr noundef nonnull %14, ptr noundef nonnull %2, ptr noundef nonnull @c_b50, ptr noundef nonnull @c_b50, ptr noundef %415, ptr noundef nonnull %6) #4
  %416 = load i32, ptr %0, align 4, !tbaa !5
  %417 = load i32, ptr %11, align 4, !tbaa !5
  %418 = sub i32 %417, %416
  store i32 %418, ptr %14, align 4, !tbaa !5
  %419 = sext i32 %416 to i64
  %420 = getelementptr float, ptr %32, i64 %419
  %421 = getelementptr i8, ptr %420, i64 4
  call void @sormlq_(ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, 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 nonnull %421, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  br label %.loopexit

422:                                              ; preds = %304, %299
  %423 = add nsw i32 %211, 1
  %424 = add nsw i32 %423, %211
  %425 = add nsw i32 %424, %211
  %reass.sub1141 = sub i32 %.pre1156, %425
  %426 = add i32 %reass.sub1141, 1
  store i32 %426, ptr %14, align 4, !tbaa !5
  %427 = sext i32 %423 to i64
  %428 = getelementptr inbounds float, ptr %32, i64 %427
  %429 = sext i32 %424 to i64
  %430 = getelementptr inbounds float, ptr %32, i64 %429
  %431 = sext i32 %425 to i64
  %432 = getelementptr inbounds float, ptr %32, i64 %431
  call void @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 nonnull %428, ptr noundef nonnull %430, ptr noundef nonnull %432, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %433 = load i32, ptr %11, align 4, !tbaa !5
  %reass.sub1142 = sub i32 %433, %425
  %434 = add i32 %reass.sub1142, 1
  store i32 %434, ptr %14, align 4, !tbaa !5
  call void @sormbr_(ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef nonnull %0, ptr noundef nonnull %2, ptr noundef nonnull %1, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %428, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %432, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %435 = load i32, ptr %11, align 4, !tbaa !5
  %reass.sub1143 = sub i32 %435, %425
  %436 = add i32 %reass.sub1143, 1
  store i32 %436, ptr %14, align 4, !tbaa !5
  call void @sorgbr_(ptr noundef nonnull @.str.5, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %0, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %430, ptr noundef nonnull %432, ptr noundef nonnull %14, ptr noundef nonnull %12) #4
  %437 = load i32, ptr %0, align 4, !tbaa !5
  %438 = sext i32 %437 to i64
  %439 = getelementptr float, ptr %32, i64 %438
  %440 = getelementptr i8, ptr %439, i64 4
  call void @sbdsqr_(ptr noundef nonnull @.str.2, 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 %24, ptr noundef nonnull @c__1, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %440, ptr noundef nonnull %12) #4
  %441 = load i32, ptr %12, align 4, !tbaa !5
  %.not1054 = icmp eq i32 %441, 0
  br i1 %.not1054, label %442, label %493

442:                                              ; preds = %422
  %443 = load float, ptr %8, align 4, !tbaa !9
  %444 = load float, ptr %7, align 4, !tbaa !9
  %445 = fmul float %443, %444
  %446 = fcmp oge float %445, %185
  %447 = select i1 %446, float %445, float %185
  %448 = fcmp olt float %443, 0.000000e+00
  br i1 %448, label %449, label %453

449:                                              ; preds = %442
  %450 = fmul float %184, %444
  %451 = fcmp oge float %450, %185
  %452 = select i1 %451, float %450, float %185
  br label %453

453:                                              ; preds = %449, %442
  %.2 = phi float [ %452, %449 ], [ %447, %442 ]
  store i32 0, ptr %9, align 4, !tbaa !5
  %454 = load i32, ptr %0, align 4, !tbaa !5
  store i32 %454, ptr %14, align 4, !tbaa !5
  %.not10551125 = icmp slt i32 %454, 1
  br i1 %.not10551125, label %._crit_edge1129, label %.lr.ph1128.preheader

.lr.ph1128.preheader:                             ; preds = %453
  %455 = sext i32 %28 to i64
  %invariant.gep1166 = getelementptr float, ptr %30, i64 %455
  %invariant.gep1168 = getelementptr float, ptr %30, i64 %455
  br label %.lr.ph1128

.lr.ph1128:                                       ; preds = %.lr.ph1128.preheader, %463
  %indvars.iv1150 = phi i64 [ 1, %.lr.ph1128.preheader ], [ %indvars.iv.next1151, %463 ]
  %456 = getelementptr inbounds float, ptr %31, i64 %indvars.iv1150
  %457 = load float, ptr %456, align 4, !tbaa !9
  %458 = fcmp ogt float %457, %.2
  br i1 %458, label %459, label %462

459:                                              ; preds = %.lr.ph1128
  %gep1169 = getelementptr float, ptr %invariant.gep1168, i64 %indvars.iv1150
  call void @srscl_(ptr noundef nonnull %2, ptr noundef nonnull %456, ptr noundef %gep1169, ptr noundef nonnull %6) #4
  %460 = load i32, ptr %9, align 4, !tbaa !5
  %461 = add nsw i32 %460, 1
  store i32 %461, ptr %9, align 4, !tbaa !5
  br label %463

462:                                              ; preds = %.lr.ph1128
  %gep1167 = getelementptr float, ptr %invariant.gep1166, i64 %indvars.iv1150
  call void @slaset_(ptr noundef nonnull @.str.10, ptr noundef nonnull @c__1, ptr noundef nonnull %2, ptr noundef nonnull @c_b50, ptr noundef nonnull @c_b50, ptr noundef %gep1167, ptr noundef nonnull %6) #4
  br label %463

463:                                              ; preds = %459, %462
  %indvars.iv.next1151 = add nuw nsw i64 %indvars.iv1150, 1
  %464 = load i32, ptr %14, align 4, !tbaa !5
  %465 = sext i32 %464 to i64
  %.not1055.not = icmp slt i64 %indvars.iv1150, %465
  br i1 %.not1055.not, label %.lr.ph1128, label %._crit_edge1129, !llvm.loop !16

._crit_edge1129:                                  ; preds = %463, %453
  %466 = load i32, ptr %11, align 4, !tbaa !5
  %467 = load i32, ptr %6, align 4, !tbaa !5
  %468 = load i32, ptr %2, align 4, !tbaa !5
  %469 = mul nsw i32 %468, %467
  %.not1056 = icmp sge i32 %466, %469
  %470 = icmp sgt i32 %468, 1
  %or.cond1085 = and i1 %470, %.not1056
  br i1 %or.cond1085, label %471, label %472

471:                                              ; preds = %._crit_edge1129
  call void @sgemm_(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.12, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull %0, ptr noundef nonnull @c_b83, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull @c_b50, ptr noundef %10, ptr noundef nonnull %6) #4
  call void @slacpy_(ptr noundef nonnull @.str.10, 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

472:                                              ; preds = %._crit_edge1129
  br i1 %470, label %473, label %488

473:                                              ; preds = %472
  %474 = load i32, ptr %1, align 4, !tbaa !5
  %475 = sdiv i32 %466, %474
  store i32 %468, ptr %14, align 4, !tbaa !5
  store i32 %475, ptr %15, align 4, !tbaa !5
  %invariant.gep1130 = getelementptr i8, ptr %30, i64 4
  %476 = icmp sgt i32 %475, -1
  br i1 %476, label %.lr.ph1135, label %.loopexit

.lr.ph1135:                                       ; preds = %473, %.lr.ph1135
  %.59941133 = phi i32 [ %483, %.lr.ph1135 ], [ 1, %473 ]
  %477 = load i32, ptr %2, align 4, !tbaa !5
  %reass.sub1144 = sub i32 %477, %.59941133
  %478 = add i32 %reass.sub1144, 1
  %479 = call i32 @llvm.smin.i32(i32 %478, i32 %475)
  store i32 %479, ptr %19, align 4, !tbaa !5
  %480 = mul nsw i32 %.59941133, %28
  %481 = sext i32 %480 to i64
  %gep1131 = getelementptr float, ptr %invariant.gep1130, i64 %481
  call void @sgemm_(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.12, ptr noundef nonnull %1, ptr noundef nonnull %19, ptr noundef nonnull %0, ptr noundef nonnull @c_b83, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %gep1131, ptr noundef nonnull %6, ptr noundef nonnull @c_b50, ptr noundef %10, ptr noundef nonnull %1) #4
  call void @slacpy_(ptr noundef nonnull @.str.10, ptr noundef nonnull %1, ptr noundef nonnull %19, ptr noundef %10, ptr noundef nonnull %1, ptr noundef %gep1131, ptr noundef nonnull %6) #4
  %482 = load i32, ptr %15, align 4, !tbaa !5
  %483 = add nsw i32 %482, %.59941133
  %484 = icmp slt i32 %482, 0
  %485 = load i32, ptr %14, align 4
  %486 = icmp sge i32 %483, %485
  %487 = icmp sle i32 %483, %485
  %.in = select i1 %484, i1 %486, i1 %487
  br i1 %.in, label %.lr.ph1135, label %.loopexit, !llvm.loop !17

488:                                              ; preds = %472
  call void @sgemv_(ptr noundef nonnull @.str.3, ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull @c_b83, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b50, ptr noundef %10, ptr noundef nonnull @c__1) #4
  call void @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.ph1113, %.lr.ph1135, %283, %473, %.loopexit1106, %488, %471, %281, %298
  %brmerge = or i1 %or.cond1077, %201
  br i1 %brmerge, label %.sink.split1176, label %489

.sink.split1176:                                  ; preds = %.loopexit
  %.mux = select i1 %or.cond1077, ptr %23, ptr %21
  call void @slascl_(ptr noundef nonnull @.str.9, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %16, ptr noundef nonnull %.mux, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %12) #4
  call void @slascl_(ptr noundef nonnull @.str.9, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %.mux, ptr noundef nonnull %16, ptr noundef nonnull %18, ptr noundef nonnull @c__1, ptr noundef %7, ptr noundef nonnull %18, ptr noundef nonnull %12) #4
  br label %489

489:                                              ; preds = %.loopexit, %.sink.split1176
  br i1 %or.cond1080.not, label %491, label %490

490:                                              ; preds = %489
  call void @slascl_(ptr noundef nonnull @.str.9, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %23, ptr noundef nonnull %17, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %12) #4
  br label %493

491:                                              ; preds = %489
  br i1 %210, label %492, label %493

492:                                              ; preds = %491
  call void @slascl_(ptr noundef nonnull @.str.9, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %21, ptr noundef nonnull %17, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %12) #4
  br label %493

493:                                              ; preds = %490, %492, %491, %422, %320, %229, %197
  store float %171, ptr %10, align 4, !tbaa !9
  br label %494

494:                                              ; preds = %176, %493, %182, %.thread1091
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #4
  call void @llvm.lifetime.end.p0(i64 4, 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 4, ptr nonnull %17) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #4
  ret void
}

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

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

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

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

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

declare float @slamch_(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

declare void @sgelqf_(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 i32 @llvm.smax.i32(i32, i32) #3

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.umax.i32(i32, i32) #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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"float", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}
!14 = distinct !{!14, !12}
!15 = distinct !{!15, !12}
!16 = distinct !{!16, !12}
!17 = distinct !{!17, !12}


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