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

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

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [7 x i8], align 1
@c__8 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c_b27 = external hidden global float, align 4
@c_b42 = external hidden global float, align 4
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b56 = external hidden global float, align 4

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

141:                                              ; preds = %22
  %142 = load ptr, ptr %24, align 8, !tbaa !5
  %143 = call i64 @lsame_(ptr noundef %142, ptr noundef @.str.1)
  %144 = icmp ne i64 %143, 0
  br i1 %144, label %147, label %145

145:                                              ; preds = %141
  %146 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -1, ptr %146, align 8, !tbaa !9
  br label %162

147:                                              ; preds = %141, %22
  %148 = load i64, ptr %84, align 8, !tbaa !9
  %149 = icmp ne i64 %148, 0
  br i1 %149, label %150, label %161

150:                                              ; preds = %147
  %151 = load ptr, ptr %25, align 8, !tbaa !5
  %152 = load i64, ptr %151, align 8, !tbaa !9
  %153 = icmp slt i64 %152, 0
  br i1 %153, label %158, label %154

154:                                              ; preds = %150
  %155 = load ptr, ptr %25, align 8, !tbaa !5
  %156 = load i64, ptr %155, align 8, !tbaa !9
  %157 = icmp sgt i64 %156, 2
  br i1 %157, label %158, label %160

158:                                              ; preds = %154, %150
  %159 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -2, ptr %159, align 8, !tbaa !9
  br label %160

160:                                              ; preds = %158, %154
  br label %161

161:                                              ; preds = %160, %147
  br label %162

162:                                              ; preds = %161, %145
  %163 = load ptr, ptr %45, align 8, !tbaa !5
  %164 = load i64, ptr %163, align 8, !tbaa !9
  %165 = icmp eq i64 %164, 0
  br i1 %165, label %166, label %276

166:                                              ; preds = %162
  %167 = load ptr, ptr %26, align 8, !tbaa !5
  %168 = load i64, ptr %167, align 8, !tbaa !9
  %169 = icmp sle i64 %168, 0
  br i1 %169, label %170, label %172

170:                                              ; preds = %166
  %171 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -3, ptr %171, align 8, !tbaa !9
  br label %275

172:                                              ; preds = %166
  %173 = load ptr, ptr %27, align 8, !tbaa !5
  %174 = load i64, ptr %173, align 8, !tbaa !9
  %175 = icmp sle i64 %174, 0
  br i1 %175, label %176, label %178

176:                                              ; preds = %172
  %177 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -4, ptr %177, align 8, !tbaa !9
  br label %274

178:                                              ; preds = %172
  %179 = load ptr, ptr %29, align 8, !tbaa !5
  %180 = load i64, ptr %179, align 8, !tbaa !9
  %181 = load ptr, ptr %26, align 8, !tbaa !5
  %182 = load i64, ptr %181, align 8, !tbaa !9
  %183 = icmp sge i64 1, %182
  br i1 %183, label %184, label %185

184:                                              ; preds = %178
  br label %188

185:                                              ; preds = %178
  %186 = load ptr, ptr %26, align 8, !tbaa !5
  %187 = load i64, ptr %186, align 8, !tbaa !9
  br label %188

188:                                              ; preds = %185, %184
  %189 = phi i64 [ 1, %184 ], [ %187, %185 ]
  %190 = icmp slt i64 %180, %189
  br i1 %190, label %191, label %193

191:                                              ; preds = %188
  %192 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -5, ptr %192, align 8, !tbaa !9
  br label %273

193:                                              ; preds = %188
  %194 = load ptr, ptr %31, align 8, !tbaa !5
  %195 = load i64, ptr %194, align 8, !tbaa !9
  %196 = load ptr, ptr %27, align 8, !tbaa !5
  %197 = load i64, ptr %196, align 8, !tbaa !9
  %198 = icmp sge i64 1, %197
  br i1 %198, label %199, label %200

199:                                              ; preds = %193
  br label %203

200:                                              ; preds = %193
  %201 = load ptr, ptr %27, align 8, !tbaa !5
  %202 = load i64, ptr %201, align 8, !tbaa !9
  br label %203

203:                                              ; preds = %200, %199
  %204 = phi i64 [ 1, %199 ], [ %202, %200 ]
  %205 = icmp slt i64 %195, %204
  br i1 %205, label %206, label %208

206:                                              ; preds = %203
  %207 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -8, ptr %207, align 8, !tbaa !9
  br label %272

208:                                              ; preds = %203
  %209 = load ptr, ptr %33, align 8, !tbaa !5
  %210 = load i64, ptr %209, align 8, !tbaa !9
  %211 = load ptr, ptr %26, align 8, !tbaa !5
  %212 = load i64, ptr %211, align 8, !tbaa !9
  %213 = icmp sge i64 1, %212
  br i1 %213, label %214, label %215

214:                                              ; preds = %208
  br label %218

215:                                              ; preds = %208
  %216 = load ptr, ptr %26, align 8, !tbaa !5
  %217 = load i64, ptr %216, align 8, !tbaa !9
  br label %218

218:                                              ; preds = %215, %214
  %219 = phi i64 [ 1, %214 ], [ %217, %215 ]
  %220 = icmp slt i64 %210, %219
  br i1 %220, label %221, label %223

221:                                              ; preds = %218
  %222 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -10, ptr %222, align 8, !tbaa !9
  br label %271

223:                                              ; preds = %218
  %224 = load ptr, ptr %35, align 8, !tbaa !5
  %225 = load i64, ptr %224, align 8, !tbaa !9
  %226 = load ptr, ptr %26, align 8, !tbaa !5
  %227 = load i64, ptr %226, align 8, !tbaa !9
  %228 = icmp sge i64 1, %227
  br i1 %228, label %229, label %230

229:                                              ; preds = %223
  br label %233

230:                                              ; preds = %223
  %231 = load ptr, ptr %26, align 8, !tbaa !5
  %232 = load i64, ptr %231, align 8, !tbaa !9
  br label %233

233:                                              ; preds = %230, %229
  %234 = phi i64 [ 1, %229 ], [ %232, %230 ]
  %235 = icmp slt i64 %225, %234
  br i1 %235, label %236, label %238

236:                                              ; preds = %233
  %237 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -12, ptr %237, align 8, !tbaa !9
  br label %270

238:                                              ; preds = %233
  %239 = load ptr, ptr %37, align 8, !tbaa !5
  %240 = load i64, ptr %239, align 8, !tbaa !9
  %241 = load ptr, ptr %27, align 8, !tbaa !5
  %242 = load i64, ptr %241, align 8, !tbaa !9
  %243 = icmp sge i64 1, %242
  br i1 %243, label %244, label %245

244:                                              ; preds = %238
  br label %248

245:                                              ; preds = %238
  %246 = load ptr, ptr %27, align 8, !tbaa !5
  %247 = load i64, ptr %246, align 8, !tbaa !9
  br label %248

248:                                              ; preds = %245, %244
  %249 = phi i64 [ 1, %244 ], [ %247, %245 ]
  %250 = icmp slt i64 %240, %249
  br i1 %250, label %251, label %253

251:                                              ; preds = %248
  %252 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -14, ptr %252, align 8, !tbaa !9
  br label %269

253:                                              ; preds = %248
  %254 = load ptr, ptr %39, align 8, !tbaa !5
  %255 = load i64, ptr %254, align 8, !tbaa !9
  %256 = load ptr, ptr %26, align 8, !tbaa !5
  %257 = load i64, ptr %256, align 8, !tbaa !9
  %258 = icmp sge i64 1, %257
  br i1 %258, label %259, label %260

259:                                              ; preds = %253
  br label %263

260:                                              ; preds = %253
  %261 = load ptr, ptr %26, align 8, !tbaa !5
  %262 = load i64, ptr %261, align 8, !tbaa !9
  br label %263

263:                                              ; preds = %260, %259
  %264 = phi i64 [ 1, %259 ], [ %262, %260 ]
  %265 = icmp slt i64 %255, %264
  br i1 %265, label %266, label %268

266:                                              ; preds = %263
  %267 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 -16, ptr %267, align 8, !tbaa !9
  br label %268

268:                                              ; preds = %266, %263
  br label %269

269:                                              ; preds = %268, %251
  br label %270

270:                                              ; preds = %269, %236
  br label %271

271:                                              ; preds = %270, %221
  br label %272

272:                                              ; preds = %271, %206
  br label %273

273:                                              ; preds = %272, %191
  br label %274

274:                                              ; preds = %273, %176
  br label %275

275:                                              ; preds = %274, %170
  br label %276

276:                                              ; preds = %275, %162
  %277 = load ptr, ptr %45, align 8, !tbaa !5
  %278 = load i64, ptr %277, align 8, !tbaa !9
  %279 = icmp ne i64 %278, 0
  br i1 %279, label %280, label %285

280:                                              ; preds = %276
  %281 = load ptr, ptr %45, align 8, !tbaa !5
  %282 = load i64, ptr %281, align 8, !tbaa !9
  %283 = sub nsw i64 0, %282
  store i64 %283, ptr %58, align 8, !tbaa !9
  %284 = call i32 @xerbla_(ptr noundef @.str.2, ptr noundef %58)
  store i32 0, ptr %23, align 4
  store i32 1, ptr %85, align 4
  br label %3471

285:                                              ; preds = %276
  %286 = load ptr, ptr %44, align 8, !tbaa !5
  store i64 0, ptr %286, align 8, !tbaa !9
  store i64 0, ptr %64, align 8, !tbaa !9
  store i64 1, ptr %61, align 8, !tbaa !9
  br label %287

287:                                              ; preds = %322, %285
  %288 = load i64, ptr %61, align 8, !tbaa !9
  %289 = load ptr, ptr %26, align 8, !tbaa !5
  %290 = load i64, ptr %289, align 8, !tbaa !9
  %291 = icmp sgt i64 %288, %290
  br i1 %291, label %292, label %293

292:                                              ; preds = %287
  br label %323

293:                                              ; preds = %287
  %294 = load i64, ptr %64, align 8, !tbaa !9
  %295 = add nsw i64 %294, 1
  store i64 %295, ptr %64, align 8, !tbaa !9
  %296 = load i64, ptr %61, align 8, !tbaa !9
  %297 = load ptr, ptr %43, align 8, !tbaa !5
  %298 = load i64, ptr %64, align 8, !tbaa !9
  %299 = getelementptr inbounds i64, ptr %297, i64 %298
  store i64 %296, ptr %299, align 8, !tbaa !9
  %300 = load i64, ptr %61, align 8, !tbaa !9
  %301 = load ptr, ptr %26, align 8, !tbaa !5
  %302 = load i64, ptr %301, align 8, !tbaa !9
  %303 = icmp eq i64 %300, %302
  br i1 %303, label %304, label %305

304:                                              ; preds = %293
  br label %323

305:                                              ; preds = %293
  %306 = load ptr, ptr %28, align 8, !tbaa !5
  %307 = load i64, ptr %61, align 8, !tbaa !9
  %308 = add nsw i64 %307, 1
  %309 = load i64, ptr %61, align 8, !tbaa !9
  %310 = load i64, ptr %46, align 8, !tbaa !9
  %311 = mul nsw i64 %309, %310
  %312 = add nsw i64 %308, %311
  %313 = getelementptr inbounds float, ptr %306, i64 %312
  %314 = load float, ptr %313, align 4, !tbaa !11
  %315 = fcmp une float %314, 0.000000e+00
  br i1 %315, label %316, label %319

316:                                              ; preds = %305
  %317 = load i64, ptr %61, align 8, !tbaa !9
  %318 = add nsw i64 %317, 2
  store i64 %318, ptr %61, align 8, !tbaa !9
  br label %322

319:                                              ; preds = %305
  %320 = load i64, ptr %61, align 8, !tbaa !9
  %321 = add nsw i64 %320, 1
  store i64 %321, ptr %61, align 8, !tbaa !9
  br label %322

322:                                              ; preds = %319, %316
  br label %287

323:                                              ; preds = %304, %292
  %324 = load ptr, ptr %26, align 8, !tbaa !5
  %325 = load i64, ptr %324, align 8, !tbaa !9
  %326 = add nsw i64 %325, 1
  %327 = load ptr, ptr %43, align 8, !tbaa !5
  %328 = load i64, ptr %64, align 8, !tbaa !9
  %329 = add nsw i64 %328, 1
  %330 = getelementptr inbounds i64, ptr %327, i64 %329
  store i64 %326, ptr %330, align 8, !tbaa !9
  %331 = load i64, ptr %64, align 8, !tbaa !9
  %332 = add nsw i64 %331, 1
  store i64 %332, ptr %65, align 8, !tbaa !9
  store i64 1, ptr %62, align 8, !tbaa !9
  br label %333

333:                                              ; preds = %368, %323
  %334 = load i64, ptr %62, align 8, !tbaa !9
  %335 = load ptr, ptr %27, align 8, !tbaa !5
  %336 = load i64, ptr %335, align 8, !tbaa !9
  %337 = icmp sgt i64 %334, %336
  br i1 %337, label %338, label %339

338:                                              ; preds = %333
  br label %369

339:                                              ; preds = %333
  %340 = load i64, ptr %65, align 8, !tbaa !9
  %341 = add nsw i64 %340, 1
  store i64 %341, ptr %65, align 8, !tbaa !9
  %342 = load i64, ptr %62, align 8, !tbaa !9
  %343 = load ptr, ptr %43, align 8, !tbaa !5
  %344 = load i64, ptr %65, align 8, !tbaa !9
  %345 = getelementptr inbounds i64, ptr %343, i64 %344
  store i64 %342, ptr %345, align 8, !tbaa !9
  %346 = load i64, ptr %62, align 8, !tbaa !9
  %347 = load ptr, ptr %27, align 8, !tbaa !5
  %348 = load i64, ptr %347, align 8, !tbaa !9
  %349 = icmp eq i64 %346, %348
  br i1 %349, label %350, label %351

350:                                              ; preds = %339
  br label %369

351:                                              ; preds = %339
  %352 = load ptr, ptr %30, align 8, !tbaa !5
  %353 = load i64, ptr %62, align 8, !tbaa !9
  %354 = add nsw i64 %353, 1
  %355 = load i64, ptr %62, align 8, !tbaa !9
  %356 = load i64, ptr %48, align 8, !tbaa !9
  %357 = mul nsw i64 %355, %356
  %358 = add nsw i64 %354, %357
  %359 = getelementptr inbounds float, ptr %352, i64 %358
  %360 = load float, ptr %359, align 4, !tbaa !11
  %361 = fcmp une float %360, 0.000000e+00
  br i1 %361, label %362, label %365

362:                                              ; preds = %351
  %363 = load i64, ptr %62, align 8, !tbaa !9
  %364 = add nsw i64 %363, 2
  store i64 %364, ptr %62, align 8, !tbaa !9
  br label %368

365:                                              ; preds = %351
  %366 = load i64, ptr %62, align 8, !tbaa !9
  %367 = add nsw i64 %366, 1
  store i64 %367, ptr %62, align 8, !tbaa !9
  br label %368

368:                                              ; preds = %365, %362
  br label %333

369:                                              ; preds = %350, %338
  %370 = load ptr, ptr %27, align 8, !tbaa !5
  %371 = load i64, ptr %370, align 8, !tbaa !9
  %372 = add nsw i64 %371, 1
  %373 = load ptr, ptr %43, align 8, !tbaa !5
  %374 = load i64, ptr %65, align 8, !tbaa !9
  %375 = add nsw i64 %374, 1
  %376 = getelementptr inbounds i64, ptr %373, i64 %375
  store i64 %372, ptr %376, align 8, !tbaa !9
  %377 = load i64, ptr %64, align 8, !tbaa !9
  %378 = load i64, ptr %65, align 8, !tbaa !9
  %379 = load i64, ptr %64, align 8, !tbaa !9
  %380 = sub nsw i64 %378, %379
  %381 = sub nsw i64 %380, 1
  %382 = mul nsw i64 %377, %381
  %383 = load ptr, ptr %44, align 8, !tbaa !5
  store i64 %382, ptr %383, align 8, !tbaa !9
  %384 = load i64, ptr %84, align 8, !tbaa !9
  %385 = icmp ne i64 %384, 0
  br i1 %385, label %386, label %1952

386:                                              ; preds = %369
  %387 = load ptr, ptr %40, align 8, !tbaa !5
  store float 1.000000e+00, ptr %387, align 4, !tbaa !11
  store float 1.000000e+00, ptr %83, align 4, !tbaa !11
  %388 = load i64, ptr %65, align 8, !tbaa !9
  store i64 %388, ptr %58, align 8, !tbaa !9
  %389 = load i64, ptr %64, align 8, !tbaa !9
  %390 = add nsw i64 %389, 2
  store i64 %390, ptr %62, align 8, !tbaa !9
  br label %391

391:                                              ; preds = %1948, %386
  %392 = load i64, ptr %62, align 8, !tbaa !9
  %393 = load i64, ptr %58, align 8, !tbaa !9
  %394 = icmp sle i64 %392, %393
  br i1 %394, label %395, label %1951

395:                                              ; preds = %391
  %396 = load ptr, ptr %43, align 8, !tbaa !5
  %397 = load i64, ptr %62, align 8, !tbaa !9
  %398 = getelementptr inbounds i64, ptr %396, i64 %397
  %399 = load i64, ptr %398, align 8, !tbaa !9
  store i64 %399, ptr %74, align 8, !tbaa !9
  %400 = load i64, ptr %74, align 8, !tbaa !9
  %401 = add nsw i64 %400, 1
  store i64 %401, ptr %77, align 8, !tbaa !9
  %402 = load ptr, ptr %43, align 8, !tbaa !5
  %403 = load i64, ptr %62, align 8, !tbaa !9
  %404 = add nsw i64 %403, 1
  %405 = getelementptr inbounds i64, ptr %402, i64 %404
  %406 = load i64, ptr %405, align 8, !tbaa !9
  %407 = sub nsw i64 %406, 1
  store i64 %407, ptr %68, align 8, !tbaa !9
  %408 = load i64, ptr %68, align 8, !tbaa !9
  %409 = load i64, ptr %74, align 8, !tbaa !9
  %410 = sub nsw i64 %408, %409
  %411 = add nsw i64 %410, 1
  store i64 %411, ptr %70, align 8, !tbaa !9
  %412 = load i64, ptr %64, align 8, !tbaa !9
  store i64 %412, ptr %61, align 8, !tbaa !9
  br label %413

413:                                              ; preds = %1944, %395
  %414 = load i64, ptr %61, align 8, !tbaa !9
  %415 = icmp sge i64 %414, 1
  br i1 %415, label %416, label %1947

416:                                              ; preds = %413
  %417 = load ptr, ptr %43, align 8, !tbaa !5
  %418 = load i64, ptr %61, align 8, !tbaa !9
  %419 = getelementptr inbounds i64, ptr %417, i64 %418
  %420 = load i64, ptr %419, align 8, !tbaa !9
  store i64 %420, ptr %73, align 8, !tbaa !9
  %421 = load i64, ptr %73, align 8, !tbaa !9
  %422 = add nsw i64 %421, 1
  store i64 %422, ptr %76, align 8, !tbaa !9
  %423 = load ptr, ptr %43, align 8, !tbaa !5
  %424 = load i64, ptr %61, align 8, !tbaa !9
  %425 = add nsw i64 %424, 1
  %426 = getelementptr inbounds i64, ptr %423, i64 %425
  %427 = load i64, ptr %426, align 8, !tbaa !9
  %428 = sub nsw i64 %427, 1
  store i64 %428, ptr %67, align 8, !tbaa !9
  %429 = load i64, ptr %67, align 8, !tbaa !9
  %430 = load i64, ptr %73, align 8, !tbaa !9
  %431 = sub nsw i64 %429, %430
  %432 = add nsw i64 %431, 1
  store i64 %432, ptr %69, align 8, !tbaa !9
  %433 = load i64, ptr %69, align 8, !tbaa !9
  %434 = load i64, ptr %70, align 8, !tbaa !9
  %435 = mul nsw i64 %433, %434
  %436 = shl i64 %435, 1
  store i64 %436, ptr %79, align 8, !tbaa !9
  %437 = load i64, ptr %69, align 8, !tbaa !9
  %438 = icmp eq i64 %437, 1
  br i1 %438, label %439, label %671

439:                                              ; preds = %416
  %440 = load i64, ptr %70, align 8, !tbaa !9
  %441 = icmp eq i64 %440, 1
  br i1 %441, label %442, label %671

442:                                              ; preds = %439
  %443 = load ptr, ptr %28, align 8, !tbaa !5
  %444 = load i64, ptr %73, align 8, !tbaa !9
  %445 = load i64, ptr %73, align 8, !tbaa !9
  %446 = load i64, ptr %46, align 8, !tbaa !9
  %447 = mul nsw i64 %445, %446
  %448 = add nsw i64 %444, %447
  %449 = getelementptr inbounds float, ptr %443, i64 %448
  %450 = load float, ptr %449, align 4, !tbaa !11
  %451 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  store float %450, ptr %451, align 16, !tbaa !11
  %452 = load ptr, ptr %34, align 8, !tbaa !5
  %453 = load i64, ptr %73, align 8, !tbaa !9
  %454 = load i64, ptr %73, align 8, !tbaa !9
  %455 = load i64, ptr %52, align 8, !tbaa !9
  %456 = mul nsw i64 %454, %455
  %457 = add nsw i64 %453, %456
  %458 = getelementptr inbounds float, ptr %452, i64 %457
  %459 = load float, ptr %458, align 4, !tbaa !11
  %460 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 1
  store float %459, ptr %460, align 4, !tbaa !11
  %461 = load ptr, ptr %30, align 8, !tbaa !5
  %462 = load i64, ptr %74, align 8, !tbaa !9
  %463 = load i64, ptr %74, align 8, !tbaa !9
  %464 = load i64, ptr %48, align 8, !tbaa !9
  %465 = mul nsw i64 %463, %464
  %466 = add nsw i64 %462, %465
  %467 = getelementptr inbounds float, ptr %461, i64 %466
  %468 = load float, ptr %467, align 4, !tbaa !11
  %469 = fneg float %468
  %470 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 8
  store float %469, ptr %470, align 16, !tbaa !11
  %471 = load ptr, ptr %36, align 8, !tbaa !5
  %472 = load i64, ptr %74, align 8, !tbaa !9
  %473 = load i64, ptr %74, align 8, !tbaa !9
  %474 = load i64, ptr %54, align 8, !tbaa !9
  %475 = mul nsw i64 %473, %474
  %476 = add nsw i64 %472, %475
  %477 = getelementptr inbounds float, ptr %471, i64 %476
  %478 = load float, ptr %477, align 4, !tbaa !11
  %479 = fneg float %478
  %480 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 9
  store float %479, ptr %480, align 4, !tbaa !11
  %481 = load ptr, ptr %32, align 8, !tbaa !5
  %482 = load i64, ptr %73, align 8, !tbaa !9
  %483 = load i64, ptr %74, align 8, !tbaa !9
  %484 = load i64, ptr %50, align 8, !tbaa !9
  %485 = mul nsw i64 %483, %484
  %486 = add nsw i64 %482, %485
  %487 = getelementptr inbounds float, ptr %481, i64 %486
  %488 = load float, ptr %487, align 4, !tbaa !11
  %489 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  store float %488, ptr %489, align 16, !tbaa !11
  %490 = load ptr, ptr %38, align 8, !tbaa !5
  %491 = load i64, ptr %73, align 8, !tbaa !9
  %492 = load i64, ptr %74, align 8, !tbaa !9
  %493 = load i64, ptr %56, align 8, !tbaa !9
  %494 = mul nsw i64 %492, %493
  %495 = add nsw i64 %491, %494
  %496 = getelementptr inbounds float, ptr %490, i64 %495
  %497 = load float, ptr %496, align 4, !tbaa !11
  %498 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  store float %497, ptr %498, align 4, !tbaa !11
  %499 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %500 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %501 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %502 = call i32 @sgetc2_(ptr noundef %79, ptr noundef %499, ptr noundef @c__8, ptr noundef %500, ptr noundef %501, ptr noundef %78)
  %503 = load i64, ptr %78, align 8, !tbaa !9
  %504 = icmp sgt i64 %503, 0
  br i1 %504, label %505, label %508

505:                                              ; preds = %442
  %506 = load i64, ptr %78, align 8, !tbaa !9
  %507 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 %506, ptr %507, align 8, !tbaa !9
  br label %508

508:                                              ; preds = %505, %442
  %509 = load ptr, ptr %25, align 8, !tbaa !5
  %510 = load i64, ptr %509, align 8, !tbaa !9
  %511 = icmp eq i64 %510, 0
  br i1 %511, label %512, label %553

512:                                              ; preds = %508
  %513 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %514 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %515 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %516 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %517 = call i32 @sgesc2_(ptr noundef %79, ptr noundef %513, ptr noundef @c__8, ptr noundef %514, ptr noundef %515, ptr noundef %516, ptr noundef %83)
  %518 = load float, ptr %83, align 4, !tbaa !11
  %519 = fcmp une float %518, 1.000000e+00
  br i1 %519, label %520, label %552

520:                                              ; preds = %512
  %521 = load ptr, ptr %27, align 8, !tbaa !5
  %522 = load i64, ptr %521, align 8, !tbaa !9
  store i64 %522, ptr %59, align 8, !tbaa !9
  store i64 1, ptr %63, align 8, !tbaa !9
  br label %523

523:                                              ; preds = %544, %520
  %524 = load i64, ptr %63, align 8, !tbaa !9
  %525 = load i64, ptr %59, align 8, !tbaa !9
  %526 = icmp sle i64 %524, %525
  br i1 %526, label %527, label %547

527:                                              ; preds = %523
  %528 = load ptr, ptr %26, align 8, !tbaa !5
  %529 = load ptr, ptr %32, align 8, !tbaa !5
  %530 = load i64, ptr %63, align 8, !tbaa !9
  %531 = load i64, ptr %50, align 8, !tbaa !9
  %532 = mul nsw i64 %530, %531
  %533 = add nsw i64 %532, 1
  %534 = getelementptr inbounds float, ptr %529, i64 %533
  %535 = call i32 @f2c_sscal(ptr noundef %528, ptr noundef %83, ptr noundef %534, ptr noundef @c__1)
  %536 = load ptr, ptr %26, align 8, !tbaa !5
  %537 = load ptr, ptr %38, align 8, !tbaa !5
  %538 = load i64, ptr %63, align 8, !tbaa !9
  %539 = load i64, ptr %56, align 8, !tbaa !9
  %540 = mul nsw i64 %538, %539
  %541 = add nsw i64 %540, 1
  %542 = getelementptr inbounds float, ptr %537, i64 %541
  %543 = call i32 @f2c_sscal(ptr noundef %536, ptr noundef %83, ptr noundef %542, ptr noundef @c__1)
  br label %544

544:                                              ; preds = %527
  %545 = load i64, ptr %63, align 8, !tbaa !9
  %546 = add nsw i64 %545, 1
  store i64 %546, ptr %63, align 8, !tbaa !9
  br label %523, !llvm.loop !13

547:                                              ; preds = %523
  %548 = load float, ptr %83, align 4, !tbaa !11
  %549 = load ptr, ptr %40, align 8, !tbaa !5
  %550 = load float, ptr %549, align 4, !tbaa !11
  %551 = fmul float %550, %548
  store float %551, ptr %549, align 4, !tbaa !11
  br label %552

552:                                              ; preds = %547, %512
  br label %562

553:                                              ; preds = %508
  %554 = load ptr, ptr %25, align 8, !tbaa !5
  %555 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %556 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %557 = load ptr, ptr %41, align 8, !tbaa !5
  %558 = load ptr, ptr %42, align 8, !tbaa !5
  %559 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %560 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %561 = call i32 @slatdf_(ptr noundef %554, ptr noundef %79, ptr noundef %555, ptr noundef @c__8, ptr noundef %556, ptr noundef %557, ptr noundef %558, ptr noundef %559, ptr noundef %560)
  br label %562

562:                                              ; preds = %553, %552
  %563 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %564 = load float, ptr %563, align 16, !tbaa !11
  %565 = load ptr, ptr %32, align 8, !tbaa !5
  %566 = load i64, ptr %73, align 8, !tbaa !9
  %567 = load i64, ptr %74, align 8, !tbaa !9
  %568 = load i64, ptr %50, align 8, !tbaa !9
  %569 = mul nsw i64 %567, %568
  %570 = add nsw i64 %566, %569
  %571 = getelementptr inbounds float, ptr %565, i64 %570
  store float %564, ptr %571, align 4, !tbaa !11
  %572 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %573 = load float, ptr %572, align 4, !tbaa !11
  %574 = load ptr, ptr %38, align 8, !tbaa !5
  %575 = load i64, ptr %73, align 8, !tbaa !9
  %576 = load i64, ptr %74, align 8, !tbaa !9
  %577 = load i64, ptr %56, align 8, !tbaa !9
  %578 = mul nsw i64 %576, %577
  %579 = add nsw i64 %575, %578
  %580 = getelementptr inbounds float, ptr %574, i64 %579
  store float %573, ptr %580, align 4, !tbaa !11
  %581 = load i64, ptr %61, align 8, !tbaa !9
  %582 = icmp sgt i64 %581, 1
  br i1 %582, label %583, label %617

583:                                              ; preds = %562
  %584 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %585 = load float, ptr %584, align 16, !tbaa !11
  %586 = fneg float %585
  store float %586, ptr %82, align 4, !tbaa !11
  %587 = load i64, ptr %73, align 8, !tbaa !9
  %588 = sub nsw i64 %587, 1
  store i64 %588, ptr %59, align 8, !tbaa !9
  %589 = load ptr, ptr %28, align 8, !tbaa !5
  %590 = load i64, ptr %73, align 8, !tbaa !9
  %591 = load i64, ptr %46, align 8, !tbaa !9
  %592 = mul nsw i64 %590, %591
  %593 = add nsw i64 %592, 1
  %594 = getelementptr inbounds float, ptr %589, i64 %593
  %595 = load ptr, ptr %32, align 8, !tbaa !5
  %596 = load i64, ptr %74, align 8, !tbaa !9
  %597 = load i64, ptr %50, align 8, !tbaa !9
  %598 = mul nsw i64 %596, %597
  %599 = add nsw i64 %598, 1
  %600 = getelementptr inbounds float, ptr %595, i64 %599
  %601 = call i32 @f2c_saxpy(ptr noundef %59, ptr noundef %82, ptr noundef %594, ptr noundef @c__1, ptr noundef %600, ptr noundef @c__1)
  %602 = load i64, ptr %73, align 8, !tbaa !9
  %603 = sub nsw i64 %602, 1
  store i64 %603, ptr %59, align 8, !tbaa !9
  %604 = load ptr, ptr %34, align 8, !tbaa !5
  %605 = load i64, ptr %73, align 8, !tbaa !9
  %606 = load i64, ptr %52, align 8, !tbaa !9
  %607 = mul nsw i64 %605, %606
  %608 = add nsw i64 %607, 1
  %609 = getelementptr inbounds float, ptr %604, i64 %608
  %610 = load ptr, ptr %38, align 8, !tbaa !5
  %611 = load i64, ptr %74, align 8, !tbaa !9
  %612 = load i64, ptr %56, align 8, !tbaa !9
  %613 = mul nsw i64 %611, %612
  %614 = add nsw i64 %613, 1
  %615 = getelementptr inbounds float, ptr %610, i64 %614
  %616 = call i32 @f2c_saxpy(ptr noundef %59, ptr noundef %82, ptr noundef %609, ptr noundef @c__1, ptr noundef %615, ptr noundef @c__1)
  br label %617

617:                                              ; preds = %583, %562
  %618 = load i64, ptr %62, align 8, !tbaa !9
  %619 = load i64, ptr %65, align 8, !tbaa !9
  %620 = icmp slt i64 %618, %619
  br i1 %620, label %621, label %670

621:                                              ; preds = %617
  %622 = load ptr, ptr %27, align 8, !tbaa !5
  %623 = load i64, ptr %622, align 8, !tbaa !9
  %624 = load i64, ptr %68, align 8, !tbaa !9
  %625 = sub nsw i64 %623, %624
  store i64 %625, ptr %59, align 8, !tbaa !9
  %626 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %627 = load ptr, ptr %30, align 8, !tbaa !5
  %628 = load i64, ptr %74, align 8, !tbaa !9
  %629 = load i64, ptr %68, align 8, !tbaa !9
  %630 = add nsw i64 %629, 1
  %631 = load i64, ptr %48, align 8, !tbaa !9
  %632 = mul nsw i64 %630, %631
  %633 = add nsw i64 %628, %632
  %634 = getelementptr inbounds float, ptr %627, i64 %633
  %635 = load ptr, ptr %31, align 8, !tbaa !5
  %636 = load ptr, ptr %32, align 8, !tbaa !5
  %637 = load i64, ptr %73, align 8, !tbaa !9
  %638 = load i64, ptr %68, align 8, !tbaa !9
  %639 = add nsw i64 %638, 1
  %640 = load i64, ptr %50, align 8, !tbaa !9
  %641 = mul nsw i64 %639, %640
  %642 = add nsw i64 %637, %641
  %643 = getelementptr inbounds float, ptr %636, i64 %642
  %644 = load ptr, ptr %33, align 8, !tbaa !5
  %645 = call i32 @f2c_saxpy(ptr noundef %59, ptr noundef %626, ptr noundef %634, ptr noundef %635, ptr noundef %643, ptr noundef %644)
  %646 = load ptr, ptr %27, align 8, !tbaa !5
  %647 = load i64, ptr %646, align 8, !tbaa !9
  %648 = load i64, ptr %68, align 8, !tbaa !9
  %649 = sub nsw i64 %647, %648
  store i64 %649, ptr %59, align 8, !tbaa !9
  %650 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %651 = load ptr, ptr %36, align 8, !tbaa !5
  %652 = load i64, ptr %74, align 8, !tbaa !9
  %653 = load i64, ptr %68, align 8, !tbaa !9
  %654 = add nsw i64 %653, 1
  %655 = load i64, ptr %54, align 8, !tbaa !9
  %656 = mul nsw i64 %654, %655
  %657 = add nsw i64 %652, %656
  %658 = getelementptr inbounds float, ptr %651, i64 %657
  %659 = load ptr, ptr %37, align 8, !tbaa !5
  %660 = load ptr, ptr %38, align 8, !tbaa !5
  %661 = load i64, ptr %73, align 8, !tbaa !9
  %662 = load i64, ptr %68, align 8, !tbaa !9
  %663 = add nsw i64 %662, 1
  %664 = load i64, ptr %56, align 8, !tbaa !9
  %665 = mul nsw i64 %663, %664
  %666 = add nsw i64 %661, %665
  %667 = getelementptr inbounds float, ptr %660, i64 %666
  %668 = load ptr, ptr %39, align 8, !tbaa !5
  %669 = call i32 @f2c_saxpy(ptr noundef %59, ptr noundef %650, ptr noundef %658, ptr noundef %659, ptr noundef %667, ptr noundef %668)
  br label %670

670:                                              ; preds = %621, %617
  br label %1943

671:                                              ; preds = %439, %416
  %672 = load i64, ptr %69, align 8, !tbaa !9
  %673 = icmp eq i64 %672, 1
  br i1 %673, label %674, label %1064

674:                                              ; preds = %671
  %675 = load i64, ptr %70, align 8, !tbaa !9
  %676 = icmp eq i64 %675, 2
  br i1 %676, label %677, label %1064

677:                                              ; preds = %674
  %678 = load ptr, ptr %28, align 8, !tbaa !5
  %679 = load i64, ptr %73, align 8, !tbaa !9
  %680 = load i64, ptr %73, align 8, !tbaa !9
  %681 = load i64, ptr %46, align 8, !tbaa !9
  %682 = mul nsw i64 %680, %681
  %683 = add nsw i64 %679, %682
  %684 = getelementptr inbounds float, ptr %678, i64 %683
  %685 = load float, ptr %684, align 4, !tbaa !11
  %686 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  store float %685, ptr %686, align 16, !tbaa !11
  %687 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 1
  store float 0.000000e+00, ptr %687, align 4, !tbaa !11
  %688 = load ptr, ptr %34, align 8, !tbaa !5
  %689 = load i64, ptr %73, align 8, !tbaa !9
  %690 = load i64, ptr %73, align 8, !tbaa !9
  %691 = load i64, ptr %52, align 8, !tbaa !9
  %692 = mul nsw i64 %690, %691
  %693 = add nsw i64 %689, %692
  %694 = getelementptr inbounds float, ptr %688, i64 %693
  %695 = load float, ptr %694, align 4, !tbaa !11
  %696 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 2
  store float %695, ptr %696, align 8, !tbaa !11
  %697 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 3
  store float 0.000000e+00, ptr %697, align 4, !tbaa !11
  %698 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 8
  store float 0.000000e+00, ptr %698, align 16, !tbaa !11
  %699 = load ptr, ptr %28, align 8, !tbaa !5
  %700 = load i64, ptr %73, align 8, !tbaa !9
  %701 = load i64, ptr %73, align 8, !tbaa !9
  %702 = load i64, ptr %46, align 8, !tbaa !9
  %703 = mul nsw i64 %701, %702
  %704 = add nsw i64 %700, %703
  %705 = getelementptr inbounds float, ptr %699, i64 %704
  %706 = load float, ptr %705, align 4, !tbaa !11
  %707 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 9
  store float %706, ptr %707, align 4, !tbaa !11
  %708 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 10
  store float 0.000000e+00, ptr %708, align 8, !tbaa !11
  %709 = load ptr, ptr %34, align 8, !tbaa !5
  %710 = load i64, ptr %73, align 8, !tbaa !9
  %711 = load i64, ptr %73, align 8, !tbaa !9
  %712 = load i64, ptr %52, align 8, !tbaa !9
  %713 = mul nsw i64 %711, %712
  %714 = add nsw i64 %710, %713
  %715 = getelementptr inbounds float, ptr %709, i64 %714
  %716 = load float, ptr %715, align 4, !tbaa !11
  %717 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 11
  store float %716, ptr %717, align 4, !tbaa !11
  %718 = load ptr, ptr %30, align 8, !tbaa !5
  %719 = load i64, ptr %74, align 8, !tbaa !9
  %720 = load i64, ptr %74, align 8, !tbaa !9
  %721 = load i64, ptr %48, align 8, !tbaa !9
  %722 = mul nsw i64 %720, %721
  %723 = add nsw i64 %719, %722
  %724 = getelementptr inbounds float, ptr %718, i64 %723
  %725 = load float, ptr %724, align 4, !tbaa !11
  %726 = fneg float %725
  %727 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 16
  store float %726, ptr %727, align 16, !tbaa !11
  %728 = load ptr, ptr %30, align 8, !tbaa !5
  %729 = load i64, ptr %74, align 8, !tbaa !9
  %730 = load i64, ptr %77, align 8, !tbaa !9
  %731 = load i64, ptr %48, align 8, !tbaa !9
  %732 = mul nsw i64 %730, %731
  %733 = add nsw i64 %729, %732
  %734 = getelementptr inbounds float, ptr %728, i64 %733
  %735 = load float, ptr %734, align 4, !tbaa !11
  %736 = fneg float %735
  %737 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 17
  store float %736, ptr %737, align 4, !tbaa !11
  %738 = load ptr, ptr %36, align 8, !tbaa !5
  %739 = load i64, ptr %74, align 8, !tbaa !9
  %740 = load i64, ptr %74, align 8, !tbaa !9
  %741 = load i64, ptr %54, align 8, !tbaa !9
  %742 = mul nsw i64 %740, %741
  %743 = add nsw i64 %739, %742
  %744 = getelementptr inbounds float, ptr %738, i64 %743
  %745 = load float, ptr %744, align 4, !tbaa !11
  %746 = fneg float %745
  %747 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 18
  store float %746, ptr %747, align 8, !tbaa !11
  %748 = load ptr, ptr %36, align 8, !tbaa !5
  %749 = load i64, ptr %74, align 8, !tbaa !9
  %750 = load i64, ptr %77, align 8, !tbaa !9
  %751 = load i64, ptr %54, align 8, !tbaa !9
  %752 = mul nsw i64 %750, %751
  %753 = add nsw i64 %749, %752
  %754 = getelementptr inbounds float, ptr %748, i64 %753
  %755 = load float, ptr %754, align 4, !tbaa !11
  %756 = fneg float %755
  %757 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 19
  store float %756, ptr %757, align 4, !tbaa !11
  %758 = load ptr, ptr %30, align 8, !tbaa !5
  %759 = load i64, ptr %77, align 8, !tbaa !9
  %760 = load i64, ptr %74, align 8, !tbaa !9
  %761 = load i64, ptr %48, align 8, !tbaa !9
  %762 = mul nsw i64 %760, %761
  %763 = add nsw i64 %759, %762
  %764 = getelementptr inbounds float, ptr %758, i64 %763
  %765 = load float, ptr %764, align 4, !tbaa !11
  %766 = fneg float %765
  %767 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 24
  store float %766, ptr %767, align 16, !tbaa !11
  %768 = load ptr, ptr %30, align 8, !tbaa !5
  %769 = load i64, ptr %77, align 8, !tbaa !9
  %770 = load i64, ptr %77, align 8, !tbaa !9
  %771 = load i64, ptr %48, align 8, !tbaa !9
  %772 = mul nsw i64 %770, %771
  %773 = add nsw i64 %769, %772
  %774 = getelementptr inbounds float, ptr %768, i64 %773
  %775 = load float, ptr %774, align 4, !tbaa !11
  %776 = fneg float %775
  %777 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 25
  store float %776, ptr %777, align 4, !tbaa !11
  %778 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 26
  store float 0.000000e+00, ptr %778, align 8, !tbaa !11
  %779 = load ptr, ptr %36, align 8, !tbaa !5
  %780 = load i64, ptr %77, align 8, !tbaa !9
  %781 = load i64, ptr %77, align 8, !tbaa !9
  %782 = load i64, ptr %54, align 8, !tbaa !9
  %783 = mul nsw i64 %781, %782
  %784 = add nsw i64 %780, %783
  %785 = getelementptr inbounds float, ptr %779, i64 %784
  %786 = load float, ptr %785, align 4, !tbaa !11
  %787 = fneg float %786
  %788 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 27
  store float %787, ptr %788, align 4, !tbaa !11
  %789 = load ptr, ptr %32, align 8, !tbaa !5
  %790 = load i64, ptr %73, align 8, !tbaa !9
  %791 = load i64, ptr %74, align 8, !tbaa !9
  %792 = load i64, ptr %50, align 8, !tbaa !9
  %793 = mul nsw i64 %791, %792
  %794 = add nsw i64 %790, %793
  %795 = getelementptr inbounds float, ptr %789, i64 %794
  %796 = load float, ptr %795, align 4, !tbaa !11
  %797 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  store float %796, ptr %797, align 16, !tbaa !11
  %798 = load ptr, ptr %32, align 8, !tbaa !5
  %799 = load i64, ptr %73, align 8, !tbaa !9
  %800 = load i64, ptr %77, align 8, !tbaa !9
  %801 = load i64, ptr %50, align 8, !tbaa !9
  %802 = mul nsw i64 %800, %801
  %803 = add nsw i64 %799, %802
  %804 = getelementptr inbounds float, ptr %798, i64 %803
  %805 = load float, ptr %804, align 4, !tbaa !11
  %806 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  store float %805, ptr %806, align 4, !tbaa !11
  %807 = load ptr, ptr %38, align 8, !tbaa !5
  %808 = load i64, ptr %73, align 8, !tbaa !9
  %809 = load i64, ptr %74, align 8, !tbaa !9
  %810 = load i64, ptr %56, align 8, !tbaa !9
  %811 = mul nsw i64 %809, %810
  %812 = add nsw i64 %808, %811
  %813 = getelementptr inbounds float, ptr %807, i64 %812
  %814 = load float, ptr %813, align 4, !tbaa !11
  %815 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  store float %814, ptr %815, align 8, !tbaa !11
  %816 = load ptr, ptr %38, align 8, !tbaa !5
  %817 = load i64, ptr %73, align 8, !tbaa !9
  %818 = load i64, ptr %77, align 8, !tbaa !9
  %819 = load i64, ptr %56, align 8, !tbaa !9
  %820 = mul nsw i64 %818, %819
  %821 = add nsw i64 %817, %820
  %822 = getelementptr inbounds float, ptr %816, i64 %821
  %823 = load float, ptr %822, align 4, !tbaa !11
  %824 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  store float %823, ptr %824, align 4, !tbaa !11
  %825 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %826 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %827 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %828 = call i32 @sgetc2_(ptr noundef %79, ptr noundef %825, ptr noundef @c__8, ptr noundef %826, ptr noundef %827, ptr noundef %78)
  %829 = load i64, ptr %78, align 8, !tbaa !9
  %830 = icmp sgt i64 %829, 0
  br i1 %830, label %831, label %834

831:                                              ; preds = %677
  %832 = load i64, ptr %78, align 8, !tbaa !9
  %833 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 %832, ptr %833, align 8, !tbaa !9
  br label %834

834:                                              ; preds = %831, %677
  %835 = load ptr, ptr %25, align 8, !tbaa !5
  %836 = load i64, ptr %835, align 8, !tbaa !9
  %837 = icmp eq i64 %836, 0
  br i1 %837, label %838, label %879

838:                                              ; preds = %834
  %839 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %840 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %841 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %842 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %843 = call i32 @sgesc2_(ptr noundef %79, ptr noundef %839, ptr noundef @c__8, ptr noundef %840, ptr noundef %841, ptr noundef %842, ptr noundef %83)
  %844 = load float, ptr %83, align 4, !tbaa !11
  %845 = fcmp une float %844, 1.000000e+00
  br i1 %845, label %846, label %878

846:                                              ; preds = %838
  %847 = load ptr, ptr %27, align 8, !tbaa !5
  %848 = load i64, ptr %847, align 8, !tbaa !9
  store i64 %848, ptr %59, align 8, !tbaa !9
  store i64 1, ptr %63, align 8, !tbaa !9
  br label %849

849:                                              ; preds = %870, %846
  %850 = load i64, ptr %63, align 8, !tbaa !9
  %851 = load i64, ptr %59, align 8, !tbaa !9
  %852 = icmp sle i64 %850, %851
  br i1 %852, label %853, label %873

853:                                              ; preds = %849
  %854 = load ptr, ptr %26, align 8, !tbaa !5
  %855 = load ptr, ptr %32, align 8, !tbaa !5
  %856 = load i64, ptr %63, align 8, !tbaa !9
  %857 = load i64, ptr %50, align 8, !tbaa !9
  %858 = mul nsw i64 %856, %857
  %859 = add nsw i64 %858, 1
  %860 = getelementptr inbounds float, ptr %855, i64 %859
  %861 = call i32 @f2c_sscal(ptr noundef %854, ptr noundef %83, ptr noundef %860, ptr noundef @c__1)
  %862 = load ptr, ptr %26, align 8, !tbaa !5
  %863 = load ptr, ptr %38, align 8, !tbaa !5
  %864 = load i64, ptr %63, align 8, !tbaa !9
  %865 = load i64, ptr %56, align 8, !tbaa !9
  %866 = mul nsw i64 %864, %865
  %867 = add nsw i64 %866, 1
  %868 = getelementptr inbounds float, ptr %863, i64 %867
  %869 = call i32 @f2c_sscal(ptr noundef %862, ptr noundef %83, ptr noundef %868, ptr noundef @c__1)
  br label %870

870:                                              ; preds = %853
  %871 = load i64, ptr %63, align 8, !tbaa !9
  %872 = add nsw i64 %871, 1
  store i64 %872, ptr %63, align 8, !tbaa !9
  br label %849, !llvm.loop !15

873:                                              ; preds = %849
  %874 = load float, ptr %83, align 4, !tbaa !11
  %875 = load ptr, ptr %40, align 8, !tbaa !5
  %876 = load float, ptr %875, align 4, !tbaa !11
  %877 = fmul float %876, %874
  store float %877, ptr %875, align 4, !tbaa !11
  br label %878

878:                                              ; preds = %873, %838
  br label %888

879:                                              ; preds = %834
  %880 = load ptr, ptr %25, align 8, !tbaa !5
  %881 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %882 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %883 = load ptr, ptr %41, align 8, !tbaa !5
  %884 = load ptr, ptr %42, align 8, !tbaa !5
  %885 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %886 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %887 = call i32 @slatdf_(ptr noundef %880, ptr noundef %79, ptr noundef %881, ptr noundef @c__8, ptr noundef %882, ptr noundef %883, ptr noundef %884, ptr noundef %885, ptr noundef %886)
  br label %888

888:                                              ; preds = %879, %878
  %889 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %890 = load float, ptr %889, align 16, !tbaa !11
  %891 = load ptr, ptr %32, align 8, !tbaa !5
  %892 = load i64, ptr %73, align 8, !tbaa !9
  %893 = load i64, ptr %74, align 8, !tbaa !9
  %894 = load i64, ptr %50, align 8, !tbaa !9
  %895 = mul nsw i64 %893, %894
  %896 = add nsw i64 %892, %895
  %897 = getelementptr inbounds float, ptr %891, i64 %896
  store float %890, ptr %897, align 4, !tbaa !11
  %898 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %899 = load float, ptr %898, align 4, !tbaa !11
  %900 = load ptr, ptr %32, align 8, !tbaa !5
  %901 = load i64, ptr %73, align 8, !tbaa !9
  %902 = load i64, ptr %77, align 8, !tbaa !9
  %903 = load i64, ptr %50, align 8, !tbaa !9
  %904 = mul nsw i64 %902, %903
  %905 = add nsw i64 %901, %904
  %906 = getelementptr inbounds float, ptr %900, i64 %905
  store float %899, ptr %906, align 4, !tbaa !11
  %907 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %908 = load float, ptr %907, align 8, !tbaa !11
  %909 = load ptr, ptr %38, align 8, !tbaa !5
  %910 = load i64, ptr %73, align 8, !tbaa !9
  %911 = load i64, ptr %74, align 8, !tbaa !9
  %912 = load i64, ptr %56, align 8, !tbaa !9
  %913 = mul nsw i64 %911, %912
  %914 = add nsw i64 %910, %913
  %915 = getelementptr inbounds float, ptr %909, i64 %914
  store float %908, ptr %915, align 4, !tbaa !11
  %916 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  %917 = load float, ptr %916, align 4, !tbaa !11
  %918 = load ptr, ptr %38, align 8, !tbaa !5
  %919 = load i64, ptr %73, align 8, !tbaa !9
  %920 = load i64, ptr %77, align 8, !tbaa !9
  %921 = load i64, ptr %56, align 8, !tbaa !9
  %922 = mul nsw i64 %920, %921
  %923 = add nsw i64 %919, %922
  %924 = getelementptr inbounds float, ptr %918, i64 %923
  store float %917, ptr %924, align 4, !tbaa !11
  %925 = load i64, ptr %61, align 8, !tbaa !9
  %926 = icmp sgt i64 %925, 1
  br i1 %926, label %927, label %962

927:                                              ; preds = %888
  %928 = load i64, ptr %73, align 8, !tbaa !9
  %929 = sub nsw i64 %928, 1
  store i64 %929, ptr %59, align 8, !tbaa !9
  %930 = load ptr, ptr %28, align 8, !tbaa !5
  %931 = load i64, ptr %73, align 8, !tbaa !9
  %932 = load i64, ptr %46, align 8, !tbaa !9
  %933 = mul nsw i64 %931, %932
  %934 = add nsw i64 %933, 1
  %935 = getelementptr inbounds float, ptr %930, i64 %934
  %936 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %937 = load ptr, ptr %32, align 8, !tbaa !5
  %938 = load i64, ptr %74, align 8, !tbaa !9
  %939 = load i64, ptr %50, align 8, !tbaa !9
  %940 = mul nsw i64 %938, %939
  %941 = add nsw i64 %940, 1
  %942 = getelementptr inbounds float, ptr %937, i64 %941
  %943 = load ptr, ptr %33, align 8, !tbaa !5
  %944 = call i32 @f2c_sger(ptr noundef %59, ptr noundef %70, ptr noundef @c_b27, ptr noundef %935, ptr noundef @c__1, ptr noundef %936, ptr noundef @c__1, ptr noundef %942, ptr noundef %943)
  %945 = load i64, ptr %73, align 8, !tbaa !9
  %946 = sub nsw i64 %945, 1
  store i64 %946, ptr %59, align 8, !tbaa !9
  %947 = load ptr, ptr %34, align 8, !tbaa !5
  %948 = load i64, ptr %73, align 8, !tbaa !9
  %949 = load i64, ptr %52, align 8, !tbaa !9
  %950 = mul nsw i64 %948, %949
  %951 = add nsw i64 %950, 1
  %952 = getelementptr inbounds float, ptr %947, i64 %951
  %953 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %954 = load ptr, ptr %38, align 8, !tbaa !5
  %955 = load i64, ptr %74, align 8, !tbaa !9
  %956 = load i64, ptr %56, align 8, !tbaa !9
  %957 = mul nsw i64 %955, %956
  %958 = add nsw i64 %957, 1
  %959 = getelementptr inbounds float, ptr %954, i64 %958
  %960 = load ptr, ptr %39, align 8, !tbaa !5
  %961 = call i32 @f2c_sger(ptr noundef %59, ptr noundef %70, ptr noundef @c_b27, ptr noundef %952, ptr noundef @c__1, ptr noundef %953, ptr noundef @c__1, ptr noundef %959, ptr noundef %960)
  br label %962

962:                                              ; preds = %927, %888
  %963 = load i64, ptr %62, align 8, !tbaa !9
  %964 = load i64, ptr %65, align 8, !tbaa !9
  %965 = icmp slt i64 %963, %964
  br i1 %965, label %966, label %1063

966:                                              ; preds = %962
  %967 = load ptr, ptr %27, align 8, !tbaa !5
  %968 = load i64, ptr %967, align 8, !tbaa !9
  %969 = load i64, ptr %68, align 8, !tbaa !9
  %970 = sub nsw i64 %968, %969
  store i64 %970, ptr %59, align 8, !tbaa !9
  %971 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %972 = load ptr, ptr %30, align 8, !tbaa !5
  %973 = load i64, ptr %74, align 8, !tbaa !9
  %974 = load i64, ptr %68, align 8, !tbaa !9
  %975 = add nsw i64 %974, 1
  %976 = load i64, ptr %48, align 8, !tbaa !9
  %977 = mul nsw i64 %975, %976
  %978 = add nsw i64 %973, %977
  %979 = getelementptr inbounds float, ptr %972, i64 %978
  %980 = load ptr, ptr %31, align 8, !tbaa !5
  %981 = load ptr, ptr %32, align 8, !tbaa !5
  %982 = load i64, ptr %73, align 8, !tbaa !9
  %983 = load i64, ptr %68, align 8, !tbaa !9
  %984 = add nsw i64 %983, 1
  %985 = load i64, ptr %50, align 8, !tbaa !9
  %986 = mul nsw i64 %984, %985
  %987 = add nsw i64 %982, %986
  %988 = getelementptr inbounds float, ptr %981, i64 %987
  %989 = load ptr, ptr %33, align 8, !tbaa !5
  %990 = call i32 @f2c_saxpy(ptr noundef %59, ptr noundef %971, ptr noundef %979, ptr noundef %980, ptr noundef %988, ptr noundef %989)
  %991 = load ptr, ptr %27, align 8, !tbaa !5
  %992 = load i64, ptr %991, align 8, !tbaa !9
  %993 = load i64, ptr %68, align 8, !tbaa !9
  %994 = sub nsw i64 %992, %993
  store i64 %994, ptr %59, align 8, !tbaa !9
  %995 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %996 = load ptr, ptr %36, align 8, !tbaa !5
  %997 = load i64, ptr %74, align 8, !tbaa !9
  %998 = load i64, ptr %68, align 8, !tbaa !9
  %999 = add nsw i64 %998, 1
  %1000 = load i64, ptr %54, align 8, !tbaa !9
  %1001 = mul nsw i64 %999, %1000
  %1002 = add nsw i64 %997, %1001
  %1003 = getelementptr inbounds float, ptr %996, i64 %1002
  %1004 = load ptr, ptr %37, align 8, !tbaa !5
  %1005 = load ptr, ptr %38, align 8, !tbaa !5
  %1006 = load i64, ptr %73, align 8, !tbaa !9
  %1007 = load i64, ptr %68, align 8, !tbaa !9
  %1008 = add nsw i64 %1007, 1
  %1009 = load i64, ptr %56, align 8, !tbaa !9
  %1010 = mul nsw i64 %1008, %1009
  %1011 = add nsw i64 %1006, %1010
  %1012 = getelementptr inbounds float, ptr %1005, i64 %1011
  %1013 = load ptr, ptr %39, align 8, !tbaa !5
  %1014 = call i32 @f2c_saxpy(ptr noundef %59, ptr noundef %995, ptr noundef %1003, ptr noundef %1004, ptr noundef %1012, ptr noundef %1013)
  %1015 = load ptr, ptr %27, align 8, !tbaa !5
  %1016 = load i64, ptr %1015, align 8, !tbaa !9
  %1017 = load i64, ptr %68, align 8, !tbaa !9
  %1018 = sub nsw i64 %1016, %1017
  store i64 %1018, ptr %59, align 8, !tbaa !9
  %1019 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  %1020 = load ptr, ptr %30, align 8, !tbaa !5
  %1021 = load i64, ptr %77, align 8, !tbaa !9
  %1022 = load i64, ptr %68, align 8, !tbaa !9
  %1023 = add nsw i64 %1022, 1
  %1024 = load i64, ptr %48, align 8, !tbaa !9
  %1025 = mul nsw i64 %1023, %1024
  %1026 = add nsw i64 %1021, %1025
  %1027 = getelementptr inbounds float, ptr %1020, i64 %1026
  %1028 = load ptr, ptr %31, align 8, !tbaa !5
  %1029 = load ptr, ptr %32, align 8, !tbaa !5
  %1030 = load i64, ptr %73, align 8, !tbaa !9
  %1031 = load i64, ptr %68, align 8, !tbaa !9
  %1032 = add nsw i64 %1031, 1
  %1033 = load i64, ptr %50, align 8, !tbaa !9
  %1034 = mul nsw i64 %1032, %1033
  %1035 = add nsw i64 %1030, %1034
  %1036 = getelementptr inbounds float, ptr %1029, i64 %1035
  %1037 = load ptr, ptr %33, align 8, !tbaa !5
  %1038 = call i32 @f2c_saxpy(ptr noundef %59, ptr noundef %1019, ptr noundef %1027, ptr noundef %1028, ptr noundef %1036, ptr noundef %1037)
  %1039 = load ptr, ptr %27, align 8, !tbaa !5
  %1040 = load i64, ptr %1039, align 8, !tbaa !9
  %1041 = load i64, ptr %68, align 8, !tbaa !9
  %1042 = sub nsw i64 %1040, %1041
  store i64 %1042, ptr %59, align 8, !tbaa !9
  %1043 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  %1044 = load ptr, ptr %36, align 8, !tbaa !5
  %1045 = load i64, ptr %77, align 8, !tbaa !9
  %1046 = load i64, ptr %68, align 8, !tbaa !9
  %1047 = add nsw i64 %1046, 1
  %1048 = load i64, ptr %54, align 8, !tbaa !9
  %1049 = mul nsw i64 %1047, %1048
  %1050 = add nsw i64 %1045, %1049
  %1051 = getelementptr inbounds float, ptr %1044, i64 %1050
  %1052 = load ptr, ptr %37, align 8, !tbaa !5
  %1053 = load ptr, ptr %38, align 8, !tbaa !5
  %1054 = load i64, ptr %73, align 8, !tbaa !9
  %1055 = load i64, ptr %68, align 8, !tbaa !9
  %1056 = add nsw i64 %1055, 1
  %1057 = load i64, ptr %56, align 8, !tbaa !9
  %1058 = mul nsw i64 %1056, %1057
  %1059 = add nsw i64 %1054, %1058
  %1060 = getelementptr inbounds float, ptr %1053, i64 %1059
  %1061 = load ptr, ptr %39, align 8, !tbaa !5
  %1062 = call i32 @f2c_saxpy(ptr noundef %59, ptr noundef %1043, ptr noundef %1051, ptr noundef %1052, ptr noundef %1060, ptr noundef %1061)
  br label %1063

1063:                                             ; preds = %966, %962
  br label %1942

1064:                                             ; preds = %674, %671
  %1065 = load i64, ptr %69, align 8, !tbaa !9
  %1066 = icmp eq i64 %1065, 2
  br i1 %1066, label %1067, label %1406

1067:                                             ; preds = %1064
  %1068 = load i64, ptr %70, align 8, !tbaa !9
  %1069 = icmp eq i64 %1068, 1
  br i1 %1069, label %1070, label %1406

1070:                                             ; preds = %1067
  %1071 = load ptr, ptr %28, align 8, !tbaa !5
  %1072 = load i64, ptr %73, align 8, !tbaa !9
  %1073 = load i64, ptr %73, align 8, !tbaa !9
  %1074 = load i64, ptr %46, align 8, !tbaa !9
  %1075 = mul nsw i64 %1073, %1074
  %1076 = add nsw i64 %1072, %1075
  %1077 = getelementptr inbounds float, ptr %1071, i64 %1076
  %1078 = load float, ptr %1077, align 4, !tbaa !11
  %1079 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  store float %1078, ptr %1079, align 16, !tbaa !11
  %1080 = load ptr, ptr %28, align 8, !tbaa !5
  %1081 = load i64, ptr %76, align 8, !tbaa !9
  %1082 = load i64, ptr %73, align 8, !tbaa !9
  %1083 = load i64, ptr %46, align 8, !tbaa !9
  %1084 = mul nsw i64 %1082, %1083
  %1085 = add nsw i64 %1081, %1084
  %1086 = getelementptr inbounds float, ptr %1080, i64 %1085
  %1087 = load float, ptr %1086, align 4, !tbaa !11
  %1088 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 1
  store float %1087, ptr %1088, align 4, !tbaa !11
  %1089 = load ptr, ptr %34, align 8, !tbaa !5
  %1090 = load i64, ptr %73, align 8, !tbaa !9
  %1091 = load i64, ptr %73, align 8, !tbaa !9
  %1092 = load i64, ptr %52, align 8, !tbaa !9
  %1093 = mul nsw i64 %1091, %1092
  %1094 = add nsw i64 %1090, %1093
  %1095 = getelementptr inbounds float, ptr %1089, i64 %1094
  %1096 = load float, ptr %1095, align 4, !tbaa !11
  %1097 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 2
  store float %1096, ptr %1097, align 8, !tbaa !11
  %1098 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 3
  store float 0.000000e+00, ptr %1098, align 4, !tbaa !11
  %1099 = load ptr, ptr %28, align 8, !tbaa !5
  %1100 = load i64, ptr %73, align 8, !tbaa !9
  %1101 = load i64, ptr %76, align 8, !tbaa !9
  %1102 = load i64, ptr %46, align 8, !tbaa !9
  %1103 = mul nsw i64 %1101, %1102
  %1104 = add nsw i64 %1100, %1103
  %1105 = getelementptr inbounds float, ptr %1099, i64 %1104
  %1106 = load float, ptr %1105, align 4, !tbaa !11
  %1107 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 8
  store float %1106, ptr %1107, align 16, !tbaa !11
  %1108 = load ptr, ptr %28, align 8, !tbaa !5
  %1109 = load i64, ptr %76, align 8, !tbaa !9
  %1110 = load i64, ptr %76, align 8, !tbaa !9
  %1111 = load i64, ptr %46, align 8, !tbaa !9
  %1112 = mul nsw i64 %1110, %1111
  %1113 = add nsw i64 %1109, %1112
  %1114 = getelementptr inbounds float, ptr %1108, i64 %1113
  %1115 = load float, ptr %1114, align 4, !tbaa !11
  %1116 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 9
  store float %1115, ptr %1116, align 4, !tbaa !11
  %1117 = load ptr, ptr %34, align 8, !tbaa !5
  %1118 = load i64, ptr %73, align 8, !tbaa !9
  %1119 = load i64, ptr %76, align 8, !tbaa !9
  %1120 = load i64, ptr %52, align 8, !tbaa !9
  %1121 = mul nsw i64 %1119, %1120
  %1122 = add nsw i64 %1118, %1121
  %1123 = getelementptr inbounds float, ptr %1117, i64 %1122
  %1124 = load float, ptr %1123, align 4, !tbaa !11
  %1125 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 10
  store float %1124, ptr %1125, align 8, !tbaa !11
  %1126 = load ptr, ptr %34, align 8, !tbaa !5
  %1127 = load i64, ptr %76, align 8, !tbaa !9
  %1128 = load i64, ptr %76, align 8, !tbaa !9
  %1129 = load i64, ptr %52, align 8, !tbaa !9
  %1130 = mul nsw i64 %1128, %1129
  %1131 = add nsw i64 %1127, %1130
  %1132 = getelementptr inbounds float, ptr %1126, i64 %1131
  %1133 = load float, ptr %1132, align 4, !tbaa !11
  %1134 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 11
  store float %1133, ptr %1134, align 4, !tbaa !11
  %1135 = load ptr, ptr %30, align 8, !tbaa !5
  %1136 = load i64, ptr %74, align 8, !tbaa !9
  %1137 = load i64, ptr %74, align 8, !tbaa !9
  %1138 = load i64, ptr %48, align 8, !tbaa !9
  %1139 = mul nsw i64 %1137, %1138
  %1140 = add nsw i64 %1136, %1139
  %1141 = getelementptr inbounds float, ptr %1135, i64 %1140
  %1142 = load float, ptr %1141, align 4, !tbaa !11
  %1143 = fneg float %1142
  %1144 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 16
  store float %1143, ptr %1144, align 16, !tbaa !11
  %1145 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 17
  store float 0.000000e+00, ptr %1145, align 4, !tbaa !11
  %1146 = load ptr, ptr %36, align 8, !tbaa !5
  %1147 = load i64, ptr %74, align 8, !tbaa !9
  %1148 = load i64, ptr %74, align 8, !tbaa !9
  %1149 = load i64, ptr %54, align 8, !tbaa !9
  %1150 = mul nsw i64 %1148, %1149
  %1151 = add nsw i64 %1147, %1150
  %1152 = getelementptr inbounds float, ptr %1146, i64 %1151
  %1153 = load float, ptr %1152, align 4, !tbaa !11
  %1154 = fneg float %1153
  %1155 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 18
  store float %1154, ptr %1155, align 8, !tbaa !11
  %1156 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 19
  store float 0.000000e+00, ptr %1156, align 4, !tbaa !11
  %1157 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 24
  store float 0.000000e+00, ptr %1157, align 16, !tbaa !11
  %1158 = load ptr, ptr %30, align 8, !tbaa !5
  %1159 = load i64, ptr %74, align 8, !tbaa !9
  %1160 = load i64, ptr %74, align 8, !tbaa !9
  %1161 = load i64, ptr %48, align 8, !tbaa !9
  %1162 = mul nsw i64 %1160, %1161
  %1163 = add nsw i64 %1159, %1162
  %1164 = getelementptr inbounds float, ptr %1158, i64 %1163
  %1165 = load float, ptr %1164, align 4, !tbaa !11
  %1166 = fneg float %1165
  %1167 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 25
  store float %1166, ptr %1167, align 4, !tbaa !11
  %1168 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 26
  store float 0.000000e+00, ptr %1168, align 8, !tbaa !11
  %1169 = load ptr, ptr %36, align 8, !tbaa !5
  %1170 = load i64, ptr %74, align 8, !tbaa !9
  %1171 = load i64, ptr %74, align 8, !tbaa !9
  %1172 = load i64, ptr %54, align 8, !tbaa !9
  %1173 = mul nsw i64 %1171, %1172
  %1174 = add nsw i64 %1170, %1173
  %1175 = getelementptr inbounds float, ptr %1169, i64 %1174
  %1176 = load float, ptr %1175, align 4, !tbaa !11
  %1177 = fneg float %1176
  %1178 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 27
  store float %1177, ptr %1178, align 4, !tbaa !11
  %1179 = load ptr, ptr %32, align 8, !tbaa !5
  %1180 = load i64, ptr %73, align 8, !tbaa !9
  %1181 = load i64, ptr %74, align 8, !tbaa !9
  %1182 = load i64, ptr %50, align 8, !tbaa !9
  %1183 = mul nsw i64 %1181, %1182
  %1184 = add nsw i64 %1180, %1183
  %1185 = getelementptr inbounds float, ptr %1179, i64 %1184
  %1186 = load float, ptr %1185, align 4, !tbaa !11
  %1187 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  store float %1186, ptr %1187, align 16, !tbaa !11
  %1188 = load ptr, ptr %32, align 8, !tbaa !5
  %1189 = load i64, ptr %76, align 8, !tbaa !9
  %1190 = load i64, ptr %74, align 8, !tbaa !9
  %1191 = load i64, ptr %50, align 8, !tbaa !9
  %1192 = mul nsw i64 %1190, %1191
  %1193 = add nsw i64 %1189, %1192
  %1194 = getelementptr inbounds float, ptr %1188, i64 %1193
  %1195 = load float, ptr %1194, align 4, !tbaa !11
  %1196 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  store float %1195, ptr %1196, align 4, !tbaa !11
  %1197 = load ptr, ptr %38, align 8, !tbaa !5
  %1198 = load i64, ptr %73, align 8, !tbaa !9
  %1199 = load i64, ptr %74, align 8, !tbaa !9
  %1200 = load i64, ptr %56, align 8, !tbaa !9
  %1201 = mul nsw i64 %1199, %1200
  %1202 = add nsw i64 %1198, %1201
  %1203 = getelementptr inbounds float, ptr %1197, i64 %1202
  %1204 = load float, ptr %1203, align 4, !tbaa !11
  %1205 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  store float %1204, ptr %1205, align 8, !tbaa !11
  %1206 = load ptr, ptr %38, align 8, !tbaa !5
  %1207 = load i64, ptr %76, align 8, !tbaa !9
  %1208 = load i64, ptr %74, align 8, !tbaa !9
  %1209 = load i64, ptr %56, align 8, !tbaa !9
  %1210 = mul nsw i64 %1208, %1209
  %1211 = add nsw i64 %1207, %1210
  %1212 = getelementptr inbounds float, ptr %1206, i64 %1211
  %1213 = load float, ptr %1212, align 4, !tbaa !11
  %1214 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  store float %1213, ptr %1214, align 4, !tbaa !11
  %1215 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %1216 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %1217 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %1218 = call i32 @sgetc2_(ptr noundef %79, ptr noundef %1215, ptr noundef @c__8, ptr noundef %1216, ptr noundef %1217, ptr noundef %78)
  %1219 = load i64, ptr %78, align 8, !tbaa !9
  %1220 = icmp sgt i64 %1219, 0
  br i1 %1220, label %1221, label %1224

1221:                                             ; preds = %1070
  %1222 = load i64, ptr %78, align 8, !tbaa !9
  %1223 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 %1222, ptr %1223, align 8, !tbaa !9
  br label %1224

1224:                                             ; preds = %1221, %1070
  %1225 = load ptr, ptr %25, align 8, !tbaa !5
  %1226 = load i64, ptr %1225, align 8, !tbaa !9
  %1227 = icmp eq i64 %1226, 0
  br i1 %1227, label %1228, label %1269

1228:                                             ; preds = %1224
  %1229 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %1230 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %1231 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %1232 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %1233 = call i32 @sgesc2_(ptr noundef %79, ptr noundef %1229, ptr noundef @c__8, ptr noundef %1230, ptr noundef %1231, ptr noundef %1232, ptr noundef %83)
  %1234 = load float, ptr %83, align 4, !tbaa !11
  %1235 = fcmp une float %1234, 1.000000e+00
  br i1 %1235, label %1236, label %1268

1236:                                             ; preds = %1228
  %1237 = load ptr, ptr %27, align 8, !tbaa !5
  %1238 = load i64, ptr %1237, align 8, !tbaa !9
  store i64 %1238, ptr %59, align 8, !tbaa !9
  store i64 1, ptr %63, align 8, !tbaa !9
  br label %1239

1239:                                             ; preds = %1260, %1236
  %1240 = load i64, ptr %63, align 8, !tbaa !9
  %1241 = load i64, ptr %59, align 8, !tbaa !9
  %1242 = icmp sle i64 %1240, %1241
  br i1 %1242, label %1243, label %1263

1243:                                             ; preds = %1239
  %1244 = load ptr, ptr %26, align 8, !tbaa !5
  %1245 = load ptr, ptr %32, align 8, !tbaa !5
  %1246 = load i64, ptr %63, align 8, !tbaa !9
  %1247 = load i64, ptr %50, align 8, !tbaa !9
  %1248 = mul nsw i64 %1246, %1247
  %1249 = add nsw i64 %1248, 1
  %1250 = getelementptr inbounds float, ptr %1245, i64 %1249
  %1251 = call i32 @f2c_sscal(ptr noundef %1244, ptr noundef %83, ptr noundef %1250, ptr noundef @c__1)
  %1252 = load ptr, ptr %26, align 8, !tbaa !5
  %1253 = load ptr, ptr %38, align 8, !tbaa !5
  %1254 = load i64, ptr %63, align 8, !tbaa !9
  %1255 = load i64, ptr %56, align 8, !tbaa !9
  %1256 = mul nsw i64 %1254, %1255
  %1257 = add nsw i64 %1256, 1
  %1258 = getelementptr inbounds float, ptr %1253, i64 %1257
  %1259 = call i32 @f2c_sscal(ptr noundef %1252, ptr noundef %83, ptr noundef %1258, ptr noundef @c__1)
  br label %1260

1260:                                             ; preds = %1243
  %1261 = load i64, ptr %63, align 8, !tbaa !9
  %1262 = add nsw i64 %1261, 1
  store i64 %1262, ptr %63, align 8, !tbaa !9
  br label %1239, !llvm.loop !16

1263:                                             ; preds = %1239
  %1264 = load float, ptr %83, align 4, !tbaa !11
  %1265 = load ptr, ptr %40, align 8, !tbaa !5
  %1266 = load float, ptr %1265, align 4, !tbaa !11
  %1267 = fmul float %1266, %1264
  store float %1267, ptr %1265, align 4, !tbaa !11
  br label %1268

1268:                                             ; preds = %1263, %1228
  br label %1278

1269:                                             ; preds = %1224
  %1270 = load ptr, ptr %25, align 8, !tbaa !5
  %1271 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %1272 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %1273 = load ptr, ptr %41, align 8, !tbaa !5
  %1274 = load ptr, ptr %42, align 8, !tbaa !5
  %1275 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %1276 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %1277 = call i32 @slatdf_(ptr noundef %1270, ptr noundef %79, ptr noundef %1271, ptr noundef @c__8, ptr noundef %1272, ptr noundef %1273, ptr noundef %1274, ptr noundef %1275, ptr noundef %1276)
  br label %1278

1278:                                             ; preds = %1269, %1268
  %1279 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %1280 = load float, ptr %1279, align 16, !tbaa !11
  %1281 = load ptr, ptr %32, align 8, !tbaa !5
  %1282 = load i64, ptr %73, align 8, !tbaa !9
  %1283 = load i64, ptr %74, align 8, !tbaa !9
  %1284 = load i64, ptr %50, align 8, !tbaa !9
  %1285 = mul nsw i64 %1283, %1284
  %1286 = add nsw i64 %1282, %1285
  %1287 = getelementptr inbounds float, ptr %1281, i64 %1286
  store float %1280, ptr %1287, align 4, !tbaa !11
  %1288 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %1289 = load float, ptr %1288, align 4, !tbaa !11
  %1290 = load ptr, ptr %32, align 8, !tbaa !5
  %1291 = load i64, ptr %76, align 8, !tbaa !9
  %1292 = load i64, ptr %74, align 8, !tbaa !9
  %1293 = load i64, ptr %50, align 8, !tbaa !9
  %1294 = mul nsw i64 %1292, %1293
  %1295 = add nsw i64 %1291, %1294
  %1296 = getelementptr inbounds float, ptr %1290, i64 %1295
  store float %1289, ptr %1296, align 4, !tbaa !11
  %1297 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %1298 = load float, ptr %1297, align 8, !tbaa !11
  %1299 = load ptr, ptr %38, align 8, !tbaa !5
  %1300 = load i64, ptr %73, align 8, !tbaa !9
  %1301 = load i64, ptr %74, align 8, !tbaa !9
  %1302 = load i64, ptr %56, align 8, !tbaa !9
  %1303 = mul nsw i64 %1301, %1302
  %1304 = add nsw i64 %1300, %1303
  %1305 = getelementptr inbounds float, ptr %1299, i64 %1304
  store float %1298, ptr %1305, align 4, !tbaa !11
  %1306 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  %1307 = load float, ptr %1306, align 4, !tbaa !11
  %1308 = load ptr, ptr %38, align 8, !tbaa !5
  %1309 = load i64, ptr %76, align 8, !tbaa !9
  %1310 = load i64, ptr %74, align 8, !tbaa !9
  %1311 = load i64, ptr %56, align 8, !tbaa !9
  %1312 = mul nsw i64 %1310, %1311
  %1313 = add nsw i64 %1309, %1312
  %1314 = getelementptr inbounds float, ptr %1308, i64 %1313
  store float %1307, ptr %1314, align 4, !tbaa !11
  %1315 = load i64, ptr %61, align 8, !tbaa !9
  %1316 = icmp sgt i64 %1315, 1
  br i1 %1316, label %1317, label %1352

1317:                                             ; preds = %1278
  %1318 = load i64, ptr %73, align 8, !tbaa !9
  %1319 = sub nsw i64 %1318, 1
  store i64 %1319, ptr %59, align 8, !tbaa !9
  %1320 = load ptr, ptr %28, align 8, !tbaa !5
  %1321 = load i64, ptr %73, align 8, !tbaa !9
  %1322 = load i64, ptr %46, align 8, !tbaa !9
  %1323 = mul nsw i64 %1321, %1322
  %1324 = add nsw i64 %1323, 1
  %1325 = getelementptr inbounds float, ptr %1320, i64 %1324
  %1326 = load ptr, ptr %29, align 8, !tbaa !5
  %1327 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %1328 = load ptr, ptr %32, align 8, !tbaa !5
  %1329 = load i64, ptr %74, align 8, !tbaa !9
  %1330 = load i64, ptr %50, align 8, !tbaa !9
  %1331 = mul nsw i64 %1329, %1330
  %1332 = add nsw i64 %1331, 1
  %1333 = getelementptr inbounds float, ptr %1328, i64 %1332
  %1334 = call i32 @f2c_sgemv(ptr noundef @.str, ptr noundef %59, ptr noundef %69, ptr noundef @c_b27, ptr noundef %1325, ptr noundef %1326, ptr noundef %1327, ptr noundef @c__1, ptr noundef @c_b42, ptr noundef %1333, ptr noundef @c__1)
  %1335 = load i64, ptr %73, align 8, !tbaa !9
  %1336 = sub nsw i64 %1335, 1
  store i64 %1336, ptr %59, align 8, !tbaa !9
  %1337 = load ptr, ptr %34, align 8, !tbaa !5
  %1338 = load i64, ptr %73, align 8, !tbaa !9
  %1339 = load i64, ptr %52, align 8, !tbaa !9
  %1340 = mul nsw i64 %1338, %1339
  %1341 = add nsw i64 %1340, 1
  %1342 = getelementptr inbounds float, ptr %1337, i64 %1341
  %1343 = load ptr, ptr %35, align 8, !tbaa !5
  %1344 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %1345 = load ptr, ptr %38, align 8, !tbaa !5
  %1346 = load i64, ptr %74, align 8, !tbaa !9
  %1347 = load i64, ptr %56, align 8, !tbaa !9
  %1348 = mul nsw i64 %1346, %1347
  %1349 = add nsw i64 %1348, 1
  %1350 = getelementptr inbounds float, ptr %1345, i64 %1349
  %1351 = call i32 @f2c_sgemv(ptr noundef @.str, ptr noundef %59, ptr noundef %69, ptr noundef @c_b27, ptr noundef %1342, ptr noundef %1343, ptr noundef %1344, ptr noundef @c__1, ptr noundef @c_b42, ptr noundef %1350, ptr noundef @c__1)
  br label %1352

1352:                                             ; preds = %1317, %1278
  %1353 = load i64, ptr %62, align 8, !tbaa !9
  %1354 = load i64, ptr %65, align 8, !tbaa !9
  %1355 = icmp slt i64 %1353, %1354
  br i1 %1355, label %1356, label %1405

1356:                                             ; preds = %1352
  %1357 = load ptr, ptr %27, align 8, !tbaa !5
  %1358 = load i64, ptr %1357, align 8, !tbaa !9
  %1359 = load i64, ptr %68, align 8, !tbaa !9
  %1360 = sub nsw i64 %1358, %1359
  store i64 %1360, ptr %59, align 8, !tbaa !9
  %1361 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %1362 = load ptr, ptr %30, align 8, !tbaa !5
  %1363 = load i64, ptr %74, align 8, !tbaa !9
  %1364 = load i64, ptr %68, align 8, !tbaa !9
  %1365 = add nsw i64 %1364, 1
  %1366 = load i64, ptr %48, align 8, !tbaa !9
  %1367 = mul nsw i64 %1365, %1366
  %1368 = add nsw i64 %1363, %1367
  %1369 = getelementptr inbounds float, ptr %1362, i64 %1368
  %1370 = load ptr, ptr %31, align 8, !tbaa !5
  %1371 = load ptr, ptr %32, align 8, !tbaa !5
  %1372 = load i64, ptr %73, align 8, !tbaa !9
  %1373 = load i64, ptr %68, align 8, !tbaa !9
  %1374 = add nsw i64 %1373, 1
  %1375 = load i64, ptr %50, align 8, !tbaa !9
  %1376 = mul nsw i64 %1374, %1375
  %1377 = add nsw i64 %1372, %1376
  %1378 = getelementptr inbounds float, ptr %1371, i64 %1377
  %1379 = load ptr, ptr %33, align 8, !tbaa !5
  %1380 = call i32 @f2c_sger(ptr noundef %69, ptr noundef %59, ptr noundef @c_b42, ptr noundef %1361, ptr noundef @c__1, ptr noundef %1369, ptr noundef %1370, ptr noundef %1378, ptr noundef %1379)
  %1381 = load ptr, ptr %27, align 8, !tbaa !5
  %1382 = load i64, ptr %1381, align 8, !tbaa !9
  %1383 = load i64, ptr %68, align 8, !tbaa !9
  %1384 = sub nsw i64 %1382, %1383
  store i64 %1384, ptr %59, align 8, !tbaa !9
  %1385 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %1386 = load ptr, ptr %36, align 8, !tbaa !5
  %1387 = load i64, ptr %74, align 8, !tbaa !9
  %1388 = load i64, ptr %68, align 8, !tbaa !9
  %1389 = add nsw i64 %1388, 1
  %1390 = load i64, ptr %54, align 8, !tbaa !9
  %1391 = mul nsw i64 %1389, %1390
  %1392 = add nsw i64 %1387, %1391
  %1393 = getelementptr inbounds float, ptr %1386, i64 %1392
  %1394 = load ptr, ptr %37, align 8, !tbaa !5
  %1395 = load ptr, ptr %38, align 8, !tbaa !5
  %1396 = load i64, ptr %73, align 8, !tbaa !9
  %1397 = load i64, ptr %68, align 8, !tbaa !9
  %1398 = add nsw i64 %1397, 1
  %1399 = load i64, ptr %56, align 8, !tbaa !9
  %1400 = mul nsw i64 %1398, %1399
  %1401 = add nsw i64 %1396, %1400
  %1402 = getelementptr inbounds float, ptr %1395, i64 %1401
  %1403 = load ptr, ptr %39, align 8, !tbaa !5
  %1404 = call i32 @f2c_sger(ptr noundef %69, ptr noundef %59, ptr noundef @c_b42, ptr noundef %1385, ptr noundef @c__1, ptr noundef %1393, ptr noundef %1394, ptr noundef %1402, ptr noundef %1403)
  br label %1405

1405:                                             ; preds = %1356, %1352
  br label %1941

1406:                                             ; preds = %1067, %1064
  %1407 = load i64, ptr %69, align 8, !tbaa !9
  %1408 = icmp eq i64 %1407, 2
  br i1 %1408, label %1409, label %1940

1409:                                             ; preds = %1406
  %1410 = load i64, ptr %70, align 8, !tbaa !9
  %1411 = icmp eq i64 %1410, 2
  br i1 %1411, label %1412, label %1940

1412:                                             ; preds = %1409
  %1413 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %1414 = call i32 @slaset_(ptr noundef @.str.3, ptr noundef @c__8, ptr noundef @c__8, ptr noundef @c_b56, ptr noundef @c_b56, ptr noundef %1413, ptr noundef @c__8)
  %1415 = load ptr, ptr %28, align 8, !tbaa !5
  %1416 = load i64, ptr %73, align 8, !tbaa !9
  %1417 = load i64, ptr %73, align 8, !tbaa !9
  %1418 = load i64, ptr %46, align 8, !tbaa !9
  %1419 = mul nsw i64 %1417, %1418
  %1420 = add nsw i64 %1416, %1419
  %1421 = getelementptr inbounds float, ptr %1415, i64 %1420
  %1422 = load float, ptr %1421, align 4, !tbaa !11
  %1423 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  store float %1422, ptr %1423, align 16, !tbaa !11
  %1424 = load ptr, ptr %28, align 8, !tbaa !5
  %1425 = load i64, ptr %76, align 8, !tbaa !9
  %1426 = load i64, ptr %73, align 8, !tbaa !9
  %1427 = load i64, ptr %46, align 8, !tbaa !9
  %1428 = mul nsw i64 %1426, %1427
  %1429 = add nsw i64 %1425, %1428
  %1430 = getelementptr inbounds float, ptr %1424, i64 %1429
  %1431 = load float, ptr %1430, align 4, !tbaa !11
  %1432 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 1
  store float %1431, ptr %1432, align 4, !tbaa !11
  %1433 = load ptr, ptr %34, align 8, !tbaa !5
  %1434 = load i64, ptr %73, align 8, !tbaa !9
  %1435 = load i64, ptr %73, align 8, !tbaa !9
  %1436 = load i64, ptr %52, align 8, !tbaa !9
  %1437 = mul nsw i64 %1435, %1436
  %1438 = add nsw i64 %1434, %1437
  %1439 = getelementptr inbounds float, ptr %1433, i64 %1438
  %1440 = load float, ptr %1439, align 4, !tbaa !11
  %1441 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 4
  store float %1440, ptr %1441, align 16, !tbaa !11
  %1442 = load ptr, ptr %28, align 8, !tbaa !5
  %1443 = load i64, ptr %73, align 8, !tbaa !9
  %1444 = load i64, ptr %76, align 8, !tbaa !9
  %1445 = load i64, ptr %46, align 8, !tbaa !9
  %1446 = mul nsw i64 %1444, %1445
  %1447 = add nsw i64 %1443, %1446
  %1448 = getelementptr inbounds float, ptr %1442, i64 %1447
  %1449 = load float, ptr %1448, align 4, !tbaa !11
  %1450 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 8
  store float %1449, ptr %1450, align 16, !tbaa !11
  %1451 = load ptr, ptr %28, align 8, !tbaa !5
  %1452 = load i64, ptr %76, align 8, !tbaa !9
  %1453 = load i64, ptr %76, align 8, !tbaa !9
  %1454 = load i64, ptr %46, align 8, !tbaa !9
  %1455 = mul nsw i64 %1453, %1454
  %1456 = add nsw i64 %1452, %1455
  %1457 = getelementptr inbounds float, ptr %1451, i64 %1456
  %1458 = load float, ptr %1457, align 4, !tbaa !11
  %1459 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 9
  store float %1458, ptr %1459, align 4, !tbaa !11
  %1460 = load ptr, ptr %34, align 8, !tbaa !5
  %1461 = load i64, ptr %73, align 8, !tbaa !9
  %1462 = load i64, ptr %76, align 8, !tbaa !9
  %1463 = load i64, ptr %52, align 8, !tbaa !9
  %1464 = mul nsw i64 %1462, %1463
  %1465 = add nsw i64 %1461, %1464
  %1466 = getelementptr inbounds float, ptr %1460, i64 %1465
  %1467 = load float, ptr %1466, align 4, !tbaa !11
  %1468 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 12
  store float %1467, ptr %1468, align 16, !tbaa !11
  %1469 = load ptr, ptr %34, align 8, !tbaa !5
  %1470 = load i64, ptr %76, align 8, !tbaa !9
  %1471 = load i64, ptr %76, align 8, !tbaa !9
  %1472 = load i64, ptr %52, align 8, !tbaa !9
  %1473 = mul nsw i64 %1471, %1472
  %1474 = add nsw i64 %1470, %1473
  %1475 = getelementptr inbounds float, ptr %1469, i64 %1474
  %1476 = load float, ptr %1475, align 4, !tbaa !11
  %1477 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 13
  store float %1476, ptr %1477, align 4, !tbaa !11
  %1478 = load ptr, ptr %28, align 8, !tbaa !5
  %1479 = load i64, ptr %73, align 8, !tbaa !9
  %1480 = load i64, ptr %73, align 8, !tbaa !9
  %1481 = load i64, ptr %46, align 8, !tbaa !9
  %1482 = mul nsw i64 %1480, %1481
  %1483 = add nsw i64 %1479, %1482
  %1484 = getelementptr inbounds float, ptr %1478, i64 %1483
  %1485 = load float, ptr %1484, align 4, !tbaa !11
  %1486 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 18
  store float %1485, ptr %1486, align 8, !tbaa !11
  %1487 = load ptr, ptr %28, align 8, !tbaa !5
  %1488 = load i64, ptr %76, align 8, !tbaa !9
  %1489 = load i64, ptr %73, align 8, !tbaa !9
  %1490 = load i64, ptr %46, align 8, !tbaa !9
  %1491 = mul nsw i64 %1489, %1490
  %1492 = add nsw i64 %1488, %1491
  %1493 = getelementptr inbounds float, ptr %1487, i64 %1492
  %1494 = load float, ptr %1493, align 4, !tbaa !11
  %1495 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 19
  store float %1494, ptr %1495, align 4, !tbaa !11
  %1496 = load ptr, ptr %34, align 8, !tbaa !5
  %1497 = load i64, ptr %73, align 8, !tbaa !9
  %1498 = load i64, ptr %73, align 8, !tbaa !9
  %1499 = load i64, ptr %52, align 8, !tbaa !9
  %1500 = mul nsw i64 %1498, %1499
  %1501 = add nsw i64 %1497, %1500
  %1502 = getelementptr inbounds float, ptr %1496, i64 %1501
  %1503 = load float, ptr %1502, align 4, !tbaa !11
  %1504 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 22
  store float %1503, ptr %1504, align 8, !tbaa !11
  %1505 = load ptr, ptr %28, align 8, !tbaa !5
  %1506 = load i64, ptr %73, align 8, !tbaa !9
  %1507 = load i64, ptr %76, align 8, !tbaa !9
  %1508 = load i64, ptr %46, align 8, !tbaa !9
  %1509 = mul nsw i64 %1507, %1508
  %1510 = add nsw i64 %1506, %1509
  %1511 = getelementptr inbounds float, ptr %1505, i64 %1510
  %1512 = load float, ptr %1511, align 4, !tbaa !11
  %1513 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 26
  store float %1512, ptr %1513, align 8, !tbaa !11
  %1514 = load ptr, ptr %28, align 8, !tbaa !5
  %1515 = load i64, ptr %76, align 8, !tbaa !9
  %1516 = load i64, ptr %76, align 8, !tbaa !9
  %1517 = load i64, ptr %46, align 8, !tbaa !9
  %1518 = mul nsw i64 %1516, %1517
  %1519 = add nsw i64 %1515, %1518
  %1520 = getelementptr inbounds float, ptr %1514, i64 %1519
  %1521 = load float, ptr %1520, align 4, !tbaa !11
  %1522 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 27
  store float %1521, ptr %1522, align 4, !tbaa !11
  %1523 = load ptr, ptr %34, align 8, !tbaa !5
  %1524 = load i64, ptr %73, align 8, !tbaa !9
  %1525 = load i64, ptr %76, align 8, !tbaa !9
  %1526 = load i64, ptr %52, align 8, !tbaa !9
  %1527 = mul nsw i64 %1525, %1526
  %1528 = add nsw i64 %1524, %1527
  %1529 = getelementptr inbounds float, ptr %1523, i64 %1528
  %1530 = load float, ptr %1529, align 4, !tbaa !11
  %1531 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 30
  store float %1530, ptr %1531, align 8, !tbaa !11
  %1532 = load ptr, ptr %34, align 8, !tbaa !5
  %1533 = load i64, ptr %76, align 8, !tbaa !9
  %1534 = load i64, ptr %76, align 8, !tbaa !9
  %1535 = load i64, ptr %52, align 8, !tbaa !9
  %1536 = mul nsw i64 %1534, %1535
  %1537 = add nsw i64 %1533, %1536
  %1538 = getelementptr inbounds float, ptr %1532, i64 %1537
  %1539 = load float, ptr %1538, align 4, !tbaa !11
  %1540 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 31
  store float %1539, ptr %1540, align 4, !tbaa !11
  %1541 = load ptr, ptr %30, align 8, !tbaa !5
  %1542 = load i64, ptr %74, align 8, !tbaa !9
  %1543 = load i64, ptr %74, align 8, !tbaa !9
  %1544 = load i64, ptr %48, align 8, !tbaa !9
  %1545 = mul nsw i64 %1543, %1544
  %1546 = add nsw i64 %1542, %1545
  %1547 = getelementptr inbounds float, ptr %1541, i64 %1546
  %1548 = load float, ptr %1547, align 4, !tbaa !11
  %1549 = fneg float %1548
  %1550 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 32
  store float %1549, ptr %1550, align 16, !tbaa !11
  %1551 = load ptr, ptr %30, align 8, !tbaa !5
  %1552 = load i64, ptr %74, align 8, !tbaa !9
  %1553 = load i64, ptr %77, align 8, !tbaa !9
  %1554 = load i64, ptr %48, align 8, !tbaa !9
  %1555 = mul nsw i64 %1553, %1554
  %1556 = add nsw i64 %1552, %1555
  %1557 = getelementptr inbounds float, ptr %1551, i64 %1556
  %1558 = load float, ptr %1557, align 4, !tbaa !11
  %1559 = fneg float %1558
  %1560 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 34
  store float %1559, ptr %1560, align 8, !tbaa !11
  %1561 = load ptr, ptr %36, align 8, !tbaa !5
  %1562 = load i64, ptr %74, align 8, !tbaa !9
  %1563 = load i64, ptr %74, align 8, !tbaa !9
  %1564 = load i64, ptr %54, align 8, !tbaa !9
  %1565 = mul nsw i64 %1563, %1564
  %1566 = add nsw i64 %1562, %1565
  %1567 = getelementptr inbounds float, ptr %1561, i64 %1566
  %1568 = load float, ptr %1567, align 4, !tbaa !11
  %1569 = fneg float %1568
  %1570 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 36
  store float %1569, ptr %1570, align 16, !tbaa !11
  %1571 = load ptr, ptr %36, align 8, !tbaa !5
  %1572 = load i64, ptr %74, align 8, !tbaa !9
  %1573 = load i64, ptr %77, align 8, !tbaa !9
  %1574 = load i64, ptr %54, align 8, !tbaa !9
  %1575 = mul nsw i64 %1573, %1574
  %1576 = add nsw i64 %1572, %1575
  %1577 = getelementptr inbounds float, ptr %1571, i64 %1576
  %1578 = load float, ptr %1577, align 4, !tbaa !11
  %1579 = fneg float %1578
  %1580 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 38
  store float %1579, ptr %1580, align 8, !tbaa !11
  %1581 = load ptr, ptr %30, align 8, !tbaa !5
  %1582 = load i64, ptr %74, align 8, !tbaa !9
  %1583 = load i64, ptr %74, align 8, !tbaa !9
  %1584 = load i64, ptr %48, align 8, !tbaa !9
  %1585 = mul nsw i64 %1583, %1584
  %1586 = add nsw i64 %1582, %1585
  %1587 = getelementptr inbounds float, ptr %1581, i64 %1586
  %1588 = load float, ptr %1587, align 4, !tbaa !11
  %1589 = fneg float %1588
  %1590 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 41
  store float %1589, ptr %1590, align 4, !tbaa !11
  %1591 = load ptr, ptr %30, align 8, !tbaa !5
  %1592 = load i64, ptr %74, align 8, !tbaa !9
  %1593 = load i64, ptr %77, align 8, !tbaa !9
  %1594 = load i64, ptr %48, align 8, !tbaa !9
  %1595 = mul nsw i64 %1593, %1594
  %1596 = add nsw i64 %1592, %1595
  %1597 = getelementptr inbounds float, ptr %1591, i64 %1596
  %1598 = load float, ptr %1597, align 4, !tbaa !11
  %1599 = fneg float %1598
  %1600 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 43
  store float %1599, ptr %1600, align 4, !tbaa !11
  %1601 = load ptr, ptr %36, align 8, !tbaa !5
  %1602 = load i64, ptr %74, align 8, !tbaa !9
  %1603 = load i64, ptr %74, align 8, !tbaa !9
  %1604 = load i64, ptr %54, align 8, !tbaa !9
  %1605 = mul nsw i64 %1603, %1604
  %1606 = add nsw i64 %1602, %1605
  %1607 = getelementptr inbounds float, ptr %1601, i64 %1606
  %1608 = load float, ptr %1607, align 4, !tbaa !11
  %1609 = fneg float %1608
  %1610 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 45
  store float %1609, ptr %1610, align 4, !tbaa !11
  %1611 = load ptr, ptr %36, align 8, !tbaa !5
  %1612 = load i64, ptr %74, align 8, !tbaa !9
  %1613 = load i64, ptr %77, align 8, !tbaa !9
  %1614 = load i64, ptr %54, align 8, !tbaa !9
  %1615 = mul nsw i64 %1613, %1614
  %1616 = add nsw i64 %1612, %1615
  %1617 = getelementptr inbounds float, ptr %1611, i64 %1616
  %1618 = load float, ptr %1617, align 4, !tbaa !11
  %1619 = fneg float %1618
  %1620 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 47
  store float %1619, ptr %1620, align 4, !tbaa !11
  %1621 = load ptr, ptr %30, align 8, !tbaa !5
  %1622 = load i64, ptr %77, align 8, !tbaa !9
  %1623 = load i64, ptr %74, align 8, !tbaa !9
  %1624 = load i64, ptr %48, align 8, !tbaa !9
  %1625 = mul nsw i64 %1623, %1624
  %1626 = add nsw i64 %1622, %1625
  %1627 = getelementptr inbounds float, ptr %1621, i64 %1626
  %1628 = load float, ptr %1627, align 4, !tbaa !11
  %1629 = fneg float %1628
  %1630 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 48
  store float %1629, ptr %1630, align 16, !tbaa !11
  %1631 = load ptr, ptr %30, align 8, !tbaa !5
  %1632 = load i64, ptr %77, align 8, !tbaa !9
  %1633 = load i64, ptr %77, align 8, !tbaa !9
  %1634 = load i64, ptr %48, align 8, !tbaa !9
  %1635 = mul nsw i64 %1633, %1634
  %1636 = add nsw i64 %1632, %1635
  %1637 = getelementptr inbounds float, ptr %1631, i64 %1636
  %1638 = load float, ptr %1637, align 4, !tbaa !11
  %1639 = fneg float %1638
  %1640 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 50
  store float %1639, ptr %1640, align 8, !tbaa !11
  %1641 = load ptr, ptr %36, align 8, !tbaa !5
  %1642 = load i64, ptr %77, align 8, !tbaa !9
  %1643 = load i64, ptr %77, align 8, !tbaa !9
  %1644 = load i64, ptr %54, align 8, !tbaa !9
  %1645 = mul nsw i64 %1643, %1644
  %1646 = add nsw i64 %1642, %1645
  %1647 = getelementptr inbounds float, ptr %1641, i64 %1646
  %1648 = load float, ptr %1647, align 4, !tbaa !11
  %1649 = fneg float %1648
  %1650 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 54
  store float %1649, ptr %1650, align 8, !tbaa !11
  %1651 = load ptr, ptr %30, align 8, !tbaa !5
  %1652 = load i64, ptr %77, align 8, !tbaa !9
  %1653 = load i64, ptr %74, align 8, !tbaa !9
  %1654 = load i64, ptr %48, align 8, !tbaa !9
  %1655 = mul nsw i64 %1653, %1654
  %1656 = add nsw i64 %1652, %1655
  %1657 = getelementptr inbounds float, ptr %1651, i64 %1656
  %1658 = load float, ptr %1657, align 4, !tbaa !11
  %1659 = fneg float %1658
  %1660 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 57
  store float %1659, ptr %1660, align 4, !tbaa !11
  %1661 = load ptr, ptr %30, align 8, !tbaa !5
  %1662 = load i64, ptr %77, align 8, !tbaa !9
  %1663 = load i64, ptr %77, align 8, !tbaa !9
  %1664 = load i64, ptr %48, align 8, !tbaa !9
  %1665 = mul nsw i64 %1663, %1664
  %1666 = add nsw i64 %1662, %1665
  %1667 = getelementptr inbounds float, ptr %1661, i64 %1666
  %1668 = load float, ptr %1667, align 4, !tbaa !11
  %1669 = fneg float %1668
  %1670 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 59
  store float %1669, ptr %1670, align 4, !tbaa !11
  %1671 = load ptr, ptr %36, align 8, !tbaa !5
  %1672 = load i64, ptr %77, align 8, !tbaa !9
  %1673 = load i64, ptr %77, align 8, !tbaa !9
  %1674 = load i64, ptr %54, align 8, !tbaa !9
  %1675 = mul nsw i64 %1673, %1674
  %1676 = add nsw i64 %1672, %1675
  %1677 = getelementptr inbounds float, ptr %1671, i64 %1676
  %1678 = load float, ptr %1677, align 4, !tbaa !11
  %1679 = fneg float %1678
  %1680 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 63
  store float %1679, ptr %1680, align 4, !tbaa !11
  store i64 1, ptr %63, align 8, !tbaa !9
  %1681 = load i64, ptr %69, align 8, !tbaa !9
  %1682 = load i64, ptr %70, align 8, !tbaa !9
  %1683 = mul nsw i64 %1681, %1682
  %1684 = add nsw i64 %1683, 1
  store i64 %1684, ptr %71, align 8, !tbaa !9
  %1685 = load i64, ptr %70, align 8, !tbaa !9
  %1686 = sub nsw i64 %1685, 1
  store i64 %1686, ptr %59, align 8, !tbaa !9
  store i64 0, ptr %72, align 8, !tbaa !9
  br label %1687

1687:                                             ; preds = %1724, %1412
  %1688 = load i64, ptr %72, align 8, !tbaa !9
  %1689 = load i64, ptr %59, align 8, !tbaa !9
  %1690 = icmp sle i64 %1688, %1689
  br i1 %1690, label %1691, label %1727

1691:                                             ; preds = %1687
  %1692 = load ptr, ptr %32, align 8, !tbaa !5
  %1693 = load i64, ptr %73, align 8, !tbaa !9
  %1694 = load i64, ptr %74, align 8, !tbaa !9
  %1695 = load i64, ptr %72, align 8, !tbaa !9
  %1696 = add nsw i64 %1694, %1695
  %1697 = load i64, ptr %50, align 8, !tbaa !9
  %1698 = mul nsw i64 %1696, %1697
  %1699 = add nsw i64 %1693, %1698
  %1700 = getelementptr inbounds float, ptr %1692, i64 %1699
  %1701 = load i64, ptr %63, align 8, !tbaa !9
  %1702 = sub nsw i64 %1701, 1
  %1703 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %1702
  %1704 = call i32 @f2c_scopy(ptr noundef %69, ptr noundef %1700, ptr noundef @c__1, ptr noundef %1703, ptr noundef @c__1)
  %1705 = load ptr, ptr %38, align 8, !tbaa !5
  %1706 = load i64, ptr %73, align 8, !tbaa !9
  %1707 = load i64, ptr %74, align 8, !tbaa !9
  %1708 = load i64, ptr %72, align 8, !tbaa !9
  %1709 = add nsw i64 %1707, %1708
  %1710 = load i64, ptr %56, align 8, !tbaa !9
  %1711 = mul nsw i64 %1709, %1710
  %1712 = add nsw i64 %1706, %1711
  %1713 = getelementptr inbounds float, ptr %1705, i64 %1712
  %1714 = load i64, ptr %71, align 8, !tbaa !9
  %1715 = sub nsw i64 %1714, 1
  %1716 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %1715
  %1717 = call i32 @f2c_scopy(ptr noundef %69, ptr noundef %1713, ptr noundef @c__1, ptr noundef %1716, ptr noundef @c__1)
  %1718 = load i64, ptr %69, align 8, !tbaa !9
  %1719 = load i64, ptr %63, align 8, !tbaa !9
  %1720 = add nsw i64 %1719, %1718
  store i64 %1720, ptr %63, align 8, !tbaa !9
  %1721 = load i64, ptr %69, align 8, !tbaa !9
  %1722 = load i64, ptr %71, align 8, !tbaa !9
  %1723 = add nsw i64 %1722, %1721
  store i64 %1723, ptr %71, align 8, !tbaa !9
  br label %1724

1724:                                             ; preds = %1691
  %1725 = load i64, ptr %72, align 8, !tbaa !9
  %1726 = add nsw i64 %1725, 1
  store i64 %1726, ptr %72, align 8, !tbaa !9
  br label %1687, !llvm.loop !17

1727:                                             ; preds = %1687
  %1728 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %1729 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %1730 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %1731 = call i32 @sgetc2_(ptr noundef %79, ptr noundef %1728, ptr noundef @c__8, ptr noundef %1729, ptr noundef %1730, ptr noundef %78)
  %1732 = load i64, ptr %78, align 8, !tbaa !9
  %1733 = icmp sgt i64 %1732, 0
  br i1 %1733, label %1734, label %1737

1734:                                             ; preds = %1727
  %1735 = load i64, ptr %78, align 8, !tbaa !9
  %1736 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 %1735, ptr %1736, align 8, !tbaa !9
  br label %1737

1737:                                             ; preds = %1734, %1727
  %1738 = load ptr, ptr %25, align 8, !tbaa !5
  %1739 = load i64, ptr %1738, align 8, !tbaa !9
  %1740 = icmp eq i64 %1739, 0
  br i1 %1740, label %1741, label %1782

1741:                                             ; preds = %1737
  %1742 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %1743 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %1744 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %1745 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %1746 = call i32 @sgesc2_(ptr noundef %79, ptr noundef %1742, ptr noundef @c__8, ptr noundef %1743, ptr noundef %1744, ptr noundef %1745, ptr noundef %83)
  %1747 = load float, ptr %83, align 4, !tbaa !11
  %1748 = fcmp une float %1747, 1.000000e+00
  br i1 %1748, label %1749, label %1781

1749:                                             ; preds = %1741
  %1750 = load ptr, ptr %27, align 8, !tbaa !5
  %1751 = load i64, ptr %1750, align 8, !tbaa !9
  store i64 %1751, ptr %59, align 8, !tbaa !9
  store i64 1, ptr %63, align 8, !tbaa !9
  br label %1752

1752:                                             ; preds = %1773, %1749
  %1753 = load i64, ptr %63, align 8, !tbaa !9
  %1754 = load i64, ptr %59, align 8, !tbaa !9
  %1755 = icmp sle i64 %1753, %1754
  br i1 %1755, label %1756, label %1776

1756:                                             ; preds = %1752
  %1757 = load ptr, ptr %26, align 8, !tbaa !5
  %1758 = load ptr, ptr %32, align 8, !tbaa !5
  %1759 = load i64, ptr %63, align 8, !tbaa !9
  %1760 = load i64, ptr %50, align 8, !tbaa !9
  %1761 = mul nsw i64 %1759, %1760
  %1762 = add nsw i64 %1761, 1
  %1763 = getelementptr inbounds float, ptr %1758, i64 %1762
  %1764 = call i32 @f2c_sscal(ptr noundef %1757, ptr noundef %83, ptr noundef %1763, ptr noundef @c__1)
  %1765 = load ptr, ptr %26, align 8, !tbaa !5
  %1766 = load ptr, ptr %38, align 8, !tbaa !5
  %1767 = load i64, ptr %63, align 8, !tbaa !9
  %1768 = load i64, ptr %56, align 8, !tbaa !9
  %1769 = mul nsw i64 %1767, %1768
  %1770 = add nsw i64 %1769, 1
  %1771 = getelementptr inbounds float, ptr %1766, i64 %1770
  %1772 = call i32 @f2c_sscal(ptr noundef %1765, ptr noundef %83, ptr noundef %1771, ptr noundef @c__1)
  br label %1773

1773:                                             ; preds = %1756
  %1774 = load i64, ptr %63, align 8, !tbaa !9
  %1775 = add nsw i64 %1774, 1
  store i64 %1775, ptr %63, align 8, !tbaa !9
  br label %1752, !llvm.loop !18

1776:                                             ; preds = %1752
  %1777 = load float, ptr %83, align 4, !tbaa !11
  %1778 = load ptr, ptr %40, align 8, !tbaa !5
  %1779 = load float, ptr %1778, align 4, !tbaa !11
  %1780 = fmul float %1779, %1777
  store float %1780, ptr %1778, align 4, !tbaa !11
  br label %1781

1781:                                             ; preds = %1776, %1741
  br label %1791

1782:                                             ; preds = %1737
  %1783 = load ptr, ptr %25, align 8, !tbaa !5
  %1784 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %1785 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %1786 = load ptr, ptr %41, align 8, !tbaa !5
  %1787 = load ptr, ptr %42, align 8, !tbaa !5
  %1788 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %1789 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %1790 = call i32 @slatdf_(ptr noundef %1783, ptr noundef %79, ptr noundef %1784, ptr noundef @c__8, ptr noundef %1785, ptr noundef %1786, ptr noundef %1787, ptr noundef %1788, ptr noundef %1789)
  br label %1791

1791:                                             ; preds = %1782, %1781
  store i64 1, ptr %63, align 8, !tbaa !9
  %1792 = load i64, ptr %69, align 8, !tbaa !9
  %1793 = load i64, ptr %70, align 8, !tbaa !9
  %1794 = mul nsw i64 %1792, %1793
  %1795 = add nsw i64 %1794, 1
  store i64 %1795, ptr %71, align 8, !tbaa !9
  %1796 = load i64, ptr %70, align 8, !tbaa !9
  %1797 = sub nsw i64 %1796, 1
  store i64 %1797, ptr %59, align 8, !tbaa !9
  store i64 0, ptr %72, align 8, !tbaa !9
  br label %1798

1798:                                             ; preds = %1835, %1791
  %1799 = load i64, ptr %72, align 8, !tbaa !9
  %1800 = load i64, ptr %59, align 8, !tbaa !9
  %1801 = icmp sle i64 %1799, %1800
  br i1 %1801, label %1802, label %1838

1802:                                             ; preds = %1798
  %1803 = load i64, ptr %63, align 8, !tbaa !9
  %1804 = sub nsw i64 %1803, 1
  %1805 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %1804
  %1806 = load ptr, ptr %32, align 8, !tbaa !5
  %1807 = load i64, ptr %73, align 8, !tbaa !9
  %1808 = load i64, ptr %74, align 8, !tbaa !9
  %1809 = load i64, ptr %72, align 8, !tbaa !9
  %1810 = add nsw i64 %1808, %1809
  %1811 = load i64, ptr %50, align 8, !tbaa !9
  %1812 = mul nsw i64 %1810, %1811
  %1813 = add nsw i64 %1807, %1812
  %1814 = getelementptr inbounds float, ptr %1806, i64 %1813
  %1815 = call i32 @f2c_scopy(ptr noundef %69, ptr noundef %1805, ptr noundef @c__1, ptr noundef %1814, ptr noundef @c__1)
  %1816 = load i64, ptr %71, align 8, !tbaa !9
  %1817 = sub nsw i64 %1816, 1
  %1818 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %1817
  %1819 = load ptr, ptr %38, align 8, !tbaa !5
  %1820 = load i64, ptr %73, align 8, !tbaa !9
  %1821 = load i64, ptr %74, align 8, !tbaa !9
  %1822 = load i64, ptr %72, align 8, !tbaa !9
  %1823 = add nsw i64 %1821, %1822
  %1824 = load i64, ptr %56, align 8, !tbaa !9
  %1825 = mul nsw i64 %1823, %1824
  %1826 = add nsw i64 %1820, %1825
  %1827 = getelementptr inbounds float, ptr %1819, i64 %1826
  %1828 = call i32 @f2c_scopy(ptr noundef %69, ptr noundef %1818, ptr noundef @c__1, ptr noundef %1827, ptr noundef @c__1)
  %1829 = load i64, ptr %69, align 8, !tbaa !9
  %1830 = load i64, ptr %63, align 8, !tbaa !9
  %1831 = add nsw i64 %1830, %1829
  store i64 %1831, ptr %63, align 8, !tbaa !9
  %1832 = load i64, ptr %69, align 8, !tbaa !9
  %1833 = load i64, ptr %71, align 8, !tbaa !9
  %1834 = add nsw i64 %1833, %1832
  store i64 %1834, ptr %71, align 8, !tbaa !9
  br label %1835

1835:                                             ; preds = %1802
  %1836 = load i64, ptr %72, align 8, !tbaa !9
  %1837 = add nsw i64 %1836, 1
  store i64 %1837, ptr %72, align 8, !tbaa !9
  br label %1798, !llvm.loop !19

1838:                                             ; preds = %1798
  %1839 = load i64, ptr %61, align 8, !tbaa !9
  %1840 = icmp sgt i64 %1839, 1
  br i1 %1840, label %1841, label %1878

1841:                                             ; preds = %1838
  %1842 = load i64, ptr %73, align 8, !tbaa !9
  %1843 = sub nsw i64 %1842, 1
  store i64 %1843, ptr %59, align 8, !tbaa !9
  %1844 = load ptr, ptr %28, align 8, !tbaa !5
  %1845 = load i64, ptr %73, align 8, !tbaa !9
  %1846 = load i64, ptr %46, align 8, !tbaa !9
  %1847 = mul nsw i64 %1845, %1846
  %1848 = add nsw i64 %1847, 1
  %1849 = getelementptr inbounds float, ptr %1844, i64 %1848
  %1850 = load ptr, ptr %29, align 8, !tbaa !5
  %1851 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %1852 = load ptr, ptr %32, align 8, !tbaa !5
  %1853 = load i64, ptr %74, align 8, !tbaa !9
  %1854 = load i64, ptr %50, align 8, !tbaa !9
  %1855 = mul nsw i64 %1853, %1854
  %1856 = add nsw i64 %1855, 1
  %1857 = getelementptr inbounds float, ptr %1852, i64 %1856
  %1858 = load ptr, ptr %33, align 8, !tbaa !5
  %1859 = call i32 @f2c_sgemm(ptr noundef @.str, ptr noundef @.str, ptr noundef %59, ptr noundef %70, ptr noundef %69, ptr noundef @c_b27, ptr noundef %1849, ptr noundef %1850, ptr noundef %1851, ptr noundef %69, ptr noundef @c_b42, ptr noundef %1857, ptr noundef %1858)
  %1860 = load i64, ptr %73, align 8, !tbaa !9
  %1861 = sub nsw i64 %1860, 1
  store i64 %1861, ptr %59, align 8, !tbaa !9
  %1862 = load ptr, ptr %34, align 8, !tbaa !5
  %1863 = load i64, ptr %73, align 8, !tbaa !9
  %1864 = load i64, ptr %52, align 8, !tbaa !9
  %1865 = mul nsw i64 %1863, %1864
  %1866 = add nsw i64 %1865, 1
  %1867 = getelementptr inbounds float, ptr %1862, i64 %1866
  %1868 = load ptr, ptr %35, align 8, !tbaa !5
  %1869 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %1870 = load ptr, ptr %38, align 8, !tbaa !5
  %1871 = load i64, ptr %74, align 8, !tbaa !9
  %1872 = load i64, ptr %56, align 8, !tbaa !9
  %1873 = mul nsw i64 %1871, %1872
  %1874 = add nsw i64 %1873, 1
  %1875 = getelementptr inbounds float, ptr %1870, i64 %1874
  %1876 = load ptr, ptr %39, align 8, !tbaa !5
  %1877 = call i32 @f2c_sgemm(ptr noundef @.str, ptr noundef @.str, ptr noundef %59, ptr noundef %70, ptr noundef %69, ptr noundef @c_b27, ptr noundef %1867, ptr noundef %1868, ptr noundef %1869, ptr noundef %69, ptr noundef @c_b42, ptr noundef %1875, ptr noundef %1876)
  br label %1878

1878:                                             ; preds = %1841, %1838
  %1879 = load i64, ptr %62, align 8, !tbaa !9
  %1880 = load i64, ptr %65, align 8, !tbaa !9
  %1881 = icmp slt i64 %1879, %1880
  br i1 %1881, label %1882, label %1939

1882:                                             ; preds = %1878
  %1883 = load i64, ptr %69, align 8, !tbaa !9
  %1884 = load i64, ptr %70, align 8, !tbaa !9
  %1885 = mul nsw i64 %1883, %1884
  %1886 = add nsw i64 %1885, 1
  store i64 %1886, ptr %63, align 8, !tbaa !9
  %1887 = load ptr, ptr %27, align 8, !tbaa !5
  %1888 = load i64, ptr %1887, align 8, !tbaa !9
  %1889 = load i64, ptr %68, align 8, !tbaa !9
  %1890 = sub nsw i64 %1888, %1889
  store i64 %1890, ptr %59, align 8, !tbaa !9
  %1891 = load i64, ptr %63, align 8, !tbaa !9
  %1892 = sub nsw i64 %1891, 1
  %1893 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %1892
  %1894 = load ptr, ptr %30, align 8, !tbaa !5
  %1895 = load i64, ptr %74, align 8, !tbaa !9
  %1896 = load i64, ptr %68, align 8, !tbaa !9
  %1897 = add nsw i64 %1896, 1
  %1898 = load i64, ptr %48, align 8, !tbaa !9
  %1899 = mul nsw i64 %1897, %1898
  %1900 = add nsw i64 %1895, %1899
  %1901 = getelementptr inbounds float, ptr %1894, i64 %1900
  %1902 = load ptr, ptr %31, align 8, !tbaa !5
  %1903 = load ptr, ptr %32, align 8, !tbaa !5
  %1904 = load i64, ptr %73, align 8, !tbaa !9
  %1905 = load i64, ptr %68, align 8, !tbaa !9
  %1906 = add nsw i64 %1905, 1
  %1907 = load i64, ptr %50, align 8, !tbaa !9
  %1908 = mul nsw i64 %1906, %1907
  %1909 = add nsw i64 %1904, %1908
  %1910 = getelementptr inbounds float, ptr %1903, i64 %1909
  %1911 = load ptr, ptr %33, align 8, !tbaa !5
  %1912 = call i32 @f2c_sgemm(ptr noundef @.str, ptr noundef @.str, ptr noundef %69, ptr noundef %59, ptr noundef %70, ptr noundef @c_b42, ptr noundef %1893, ptr noundef %69, ptr noundef %1901, ptr noundef %1902, ptr noundef @c_b42, ptr noundef %1910, ptr noundef %1911)
  %1913 = load ptr, ptr %27, align 8, !tbaa !5
  %1914 = load i64, ptr %1913, align 8, !tbaa !9
  %1915 = load i64, ptr %68, align 8, !tbaa !9
  %1916 = sub nsw i64 %1914, %1915
  store i64 %1916, ptr %59, align 8, !tbaa !9
  %1917 = load i64, ptr %63, align 8, !tbaa !9
  %1918 = sub nsw i64 %1917, 1
  %1919 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %1918
  %1920 = load ptr, ptr %36, align 8, !tbaa !5
  %1921 = load i64, ptr %74, align 8, !tbaa !9
  %1922 = load i64, ptr %68, align 8, !tbaa !9
  %1923 = add nsw i64 %1922, 1
  %1924 = load i64, ptr %54, align 8, !tbaa !9
  %1925 = mul nsw i64 %1923, %1924
  %1926 = add nsw i64 %1921, %1925
  %1927 = getelementptr inbounds float, ptr %1920, i64 %1926
  %1928 = load ptr, ptr %37, align 8, !tbaa !5
  %1929 = load ptr, ptr %38, align 8, !tbaa !5
  %1930 = load i64, ptr %73, align 8, !tbaa !9
  %1931 = load i64, ptr %68, align 8, !tbaa !9
  %1932 = add nsw i64 %1931, 1
  %1933 = load i64, ptr %56, align 8, !tbaa !9
  %1934 = mul nsw i64 %1932, %1933
  %1935 = add nsw i64 %1930, %1934
  %1936 = getelementptr inbounds float, ptr %1929, i64 %1935
  %1937 = load ptr, ptr %39, align 8, !tbaa !5
  %1938 = call i32 @f2c_sgemm(ptr noundef @.str, ptr noundef @.str, ptr noundef %69, ptr noundef %59, ptr noundef %70, ptr noundef @c_b42, ptr noundef %1919, ptr noundef %69, ptr noundef %1927, ptr noundef %1928, ptr noundef @c_b42, ptr noundef %1936, ptr noundef %1937)
  br label %1939

1939:                                             ; preds = %1882, %1878
  br label %1940

1940:                                             ; preds = %1939, %1409, %1406
  br label %1941

1941:                                             ; preds = %1940, %1405
  br label %1942

1942:                                             ; preds = %1941, %1063
  br label %1943

1943:                                             ; preds = %1942, %670
  br label %1944

1944:                                             ; preds = %1943
  %1945 = load i64, ptr %61, align 8, !tbaa !9
  %1946 = add nsw i64 %1945, -1
  store i64 %1946, ptr %61, align 8, !tbaa !9
  br label %413, !llvm.loop !20

1947:                                             ; preds = %413
  br label %1948

1948:                                             ; preds = %1947
  %1949 = load i64, ptr %62, align 8, !tbaa !9
  %1950 = add nsw i64 %1949, 1
  store i64 %1950, ptr %62, align 8, !tbaa !9
  br label %391, !llvm.loop !21

1951:                                             ; preds = %391
  br label %3470

1952:                                             ; preds = %369
  %1953 = load ptr, ptr %40, align 8, !tbaa !5
  store float 1.000000e+00, ptr %1953, align 4, !tbaa !11
  store float 1.000000e+00, ptr %83, align 4, !tbaa !11
  %1954 = load i64, ptr %64, align 8, !tbaa !9
  store i64 %1954, ptr %58, align 8, !tbaa !9
  store i64 1, ptr %61, align 8, !tbaa !9
  br label %1955

1955:                                             ; preds = %3466, %1952
  %1956 = load i64, ptr %61, align 8, !tbaa !9
  %1957 = load i64, ptr %58, align 8, !tbaa !9
  %1958 = icmp sle i64 %1956, %1957
  br i1 %1958, label %1959, label %3469

1959:                                             ; preds = %1955
  %1960 = load ptr, ptr %43, align 8, !tbaa !5
  %1961 = load i64, ptr %61, align 8, !tbaa !9
  %1962 = getelementptr inbounds i64, ptr %1960, i64 %1961
  %1963 = load i64, ptr %1962, align 8, !tbaa !9
  store i64 %1963, ptr %73, align 8, !tbaa !9
  %1964 = load i64, ptr %73, align 8, !tbaa !9
  %1965 = add nsw i64 %1964, 1
  store i64 %1965, ptr %76, align 8, !tbaa !9
  %1966 = load ptr, ptr %43, align 8, !tbaa !5
  %1967 = load i64, ptr %61, align 8, !tbaa !9
  %1968 = add nsw i64 %1967, 1
  %1969 = getelementptr inbounds i64, ptr %1966, i64 %1968
  %1970 = load i64, ptr %1969, align 8, !tbaa !9
  %1971 = sub nsw i64 %1970, 1
  store i64 %1971, ptr %67, align 8, !tbaa !9
  %1972 = load i64, ptr %67, align 8, !tbaa !9
  %1973 = load i64, ptr %73, align 8, !tbaa !9
  %1974 = sub nsw i64 %1972, %1973
  %1975 = add nsw i64 %1974, 1
  store i64 %1975, ptr %69, align 8, !tbaa !9
  %1976 = load i64, ptr %64, align 8, !tbaa !9
  %1977 = add nsw i64 %1976, 2
  store i64 %1977, ptr %59, align 8, !tbaa !9
  %1978 = load i64, ptr %65, align 8, !tbaa !9
  store i64 %1978, ptr %62, align 8, !tbaa !9
  br label %1979

1979:                                             ; preds = %3462, %1959
  %1980 = load i64, ptr %62, align 8, !tbaa !9
  %1981 = load i64, ptr %59, align 8, !tbaa !9
  %1982 = icmp sge i64 %1980, %1981
  br i1 %1982, label %1983, label %3465

1983:                                             ; preds = %1979
  %1984 = load ptr, ptr %43, align 8, !tbaa !5
  %1985 = load i64, ptr %62, align 8, !tbaa !9
  %1986 = getelementptr inbounds i64, ptr %1984, i64 %1985
  %1987 = load i64, ptr %1986, align 8, !tbaa !9
  store i64 %1987, ptr %74, align 8, !tbaa !9
  %1988 = load i64, ptr %74, align 8, !tbaa !9
  %1989 = add nsw i64 %1988, 1
  store i64 %1989, ptr %77, align 8, !tbaa !9
  %1990 = load ptr, ptr %43, align 8, !tbaa !5
  %1991 = load i64, ptr %62, align 8, !tbaa !9
  %1992 = add nsw i64 %1991, 1
  %1993 = getelementptr inbounds i64, ptr %1990, i64 %1992
  %1994 = load i64, ptr %1993, align 8, !tbaa !9
  %1995 = sub nsw i64 %1994, 1
  store i64 %1995, ptr %68, align 8, !tbaa !9
  %1996 = load i64, ptr %68, align 8, !tbaa !9
  %1997 = load i64, ptr %74, align 8, !tbaa !9
  %1998 = sub nsw i64 %1996, %1997
  %1999 = add nsw i64 %1998, 1
  store i64 %1999, ptr %70, align 8, !tbaa !9
  %2000 = load i64, ptr %69, align 8, !tbaa !9
  %2001 = load i64, ptr %70, align 8, !tbaa !9
  %2002 = mul nsw i64 %2000, %2001
  %2003 = shl i64 %2002, 1
  store i64 %2003, ptr %79, align 8, !tbaa !9
  %2004 = load i64, ptr %69, align 8, !tbaa !9
  %2005 = icmp eq i64 %2004, 1
  br i1 %2005, label %2006, label %2229

2006:                                             ; preds = %1983
  %2007 = load i64, ptr %70, align 8, !tbaa !9
  %2008 = icmp eq i64 %2007, 1
  br i1 %2008, label %2009, label %2229

2009:                                             ; preds = %2006
  %2010 = load ptr, ptr %28, align 8, !tbaa !5
  %2011 = load i64, ptr %73, align 8, !tbaa !9
  %2012 = load i64, ptr %73, align 8, !tbaa !9
  %2013 = load i64, ptr %46, align 8, !tbaa !9
  %2014 = mul nsw i64 %2012, %2013
  %2015 = add nsw i64 %2011, %2014
  %2016 = getelementptr inbounds float, ptr %2010, i64 %2015
  %2017 = load float, ptr %2016, align 4, !tbaa !11
  %2018 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  store float %2017, ptr %2018, align 16, !tbaa !11
  %2019 = load ptr, ptr %30, align 8, !tbaa !5
  %2020 = load i64, ptr %74, align 8, !tbaa !9
  %2021 = load i64, ptr %74, align 8, !tbaa !9
  %2022 = load i64, ptr %48, align 8, !tbaa !9
  %2023 = mul nsw i64 %2021, %2022
  %2024 = add nsw i64 %2020, %2023
  %2025 = getelementptr inbounds float, ptr %2019, i64 %2024
  %2026 = load float, ptr %2025, align 4, !tbaa !11
  %2027 = fneg float %2026
  %2028 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 1
  store float %2027, ptr %2028, align 4, !tbaa !11
  %2029 = load ptr, ptr %34, align 8, !tbaa !5
  %2030 = load i64, ptr %73, align 8, !tbaa !9
  %2031 = load i64, ptr %73, align 8, !tbaa !9
  %2032 = load i64, ptr %52, align 8, !tbaa !9
  %2033 = mul nsw i64 %2031, %2032
  %2034 = add nsw i64 %2030, %2033
  %2035 = getelementptr inbounds float, ptr %2029, i64 %2034
  %2036 = load float, ptr %2035, align 4, !tbaa !11
  %2037 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 8
  store float %2036, ptr %2037, align 16, !tbaa !11
  %2038 = load ptr, ptr %36, align 8, !tbaa !5
  %2039 = load i64, ptr %74, align 8, !tbaa !9
  %2040 = load i64, ptr %74, align 8, !tbaa !9
  %2041 = load i64, ptr %54, align 8, !tbaa !9
  %2042 = mul nsw i64 %2040, %2041
  %2043 = add nsw i64 %2039, %2042
  %2044 = getelementptr inbounds float, ptr %2038, i64 %2043
  %2045 = load float, ptr %2044, align 4, !tbaa !11
  %2046 = fneg float %2045
  %2047 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 9
  store float %2046, ptr %2047, align 4, !tbaa !11
  %2048 = load ptr, ptr %32, align 8, !tbaa !5
  %2049 = load i64, ptr %73, align 8, !tbaa !9
  %2050 = load i64, ptr %74, align 8, !tbaa !9
  %2051 = load i64, ptr %50, align 8, !tbaa !9
  %2052 = mul nsw i64 %2050, %2051
  %2053 = add nsw i64 %2049, %2052
  %2054 = getelementptr inbounds float, ptr %2048, i64 %2053
  %2055 = load float, ptr %2054, align 4, !tbaa !11
  %2056 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  store float %2055, ptr %2056, align 16, !tbaa !11
  %2057 = load ptr, ptr %38, align 8, !tbaa !5
  %2058 = load i64, ptr %73, align 8, !tbaa !9
  %2059 = load i64, ptr %74, align 8, !tbaa !9
  %2060 = load i64, ptr %56, align 8, !tbaa !9
  %2061 = mul nsw i64 %2059, %2060
  %2062 = add nsw i64 %2058, %2061
  %2063 = getelementptr inbounds float, ptr %2057, i64 %2062
  %2064 = load float, ptr %2063, align 4, !tbaa !11
  %2065 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  store float %2064, ptr %2065, align 4, !tbaa !11
  %2066 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %2067 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %2068 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %2069 = call i32 @sgetc2_(ptr noundef %79, ptr noundef %2066, ptr noundef @c__8, ptr noundef %2067, ptr noundef %2068, ptr noundef %78)
  %2070 = load i64, ptr %78, align 8, !tbaa !9
  %2071 = icmp sgt i64 %2070, 0
  br i1 %2071, label %2072, label %2075

2072:                                             ; preds = %2009
  %2073 = load i64, ptr %78, align 8, !tbaa !9
  %2074 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 %2073, ptr %2074, align 8, !tbaa !9
  br label %2075

2075:                                             ; preds = %2072, %2009
  %2076 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %2077 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2078 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %2079 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %2080 = call i32 @sgesc2_(ptr noundef %79, ptr noundef %2076, ptr noundef @c__8, ptr noundef %2077, ptr noundef %2078, ptr noundef %2079, ptr noundef %83)
  %2081 = load float, ptr %83, align 4, !tbaa !11
  %2082 = fcmp une float %2081, 1.000000e+00
  br i1 %2082, label %2083, label %2115

2083:                                             ; preds = %2075
  %2084 = load ptr, ptr %27, align 8, !tbaa !5
  %2085 = load i64, ptr %2084, align 8, !tbaa !9
  store i64 %2085, ptr %60, align 8, !tbaa !9
  store i64 1, ptr %63, align 8, !tbaa !9
  br label %2086

2086:                                             ; preds = %2107, %2083
  %2087 = load i64, ptr %63, align 8, !tbaa !9
  %2088 = load i64, ptr %60, align 8, !tbaa !9
  %2089 = icmp sle i64 %2087, %2088
  br i1 %2089, label %2090, label %2110

2090:                                             ; preds = %2086
  %2091 = load ptr, ptr %26, align 8, !tbaa !5
  %2092 = load ptr, ptr %32, align 8, !tbaa !5
  %2093 = load i64, ptr %63, align 8, !tbaa !9
  %2094 = load i64, ptr %50, align 8, !tbaa !9
  %2095 = mul nsw i64 %2093, %2094
  %2096 = add nsw i64 %2095, 1
  %2097 = getelementptr inbounds float, ptr %2092, i64 %2096
  %2098 = call i32 @f2c_sscal(ptr noundef %2091, ptr noundef %83, ptr noundef %2097, ptr noundef @c__1)
  %2099 = load ptr, ptr %26, align 8, !tbaa !5
  %2100 = load ptr, ptr %38, align 8, !tbaa !5
  %2101 = load i64, ptr %63, align 8, !tbaa !9
  %2102 = load i64, ptr %56, align 8, !tbaa !9
  %2103 = mul nsw i64 %2101, %2102
  %2104 = add nsw i64 %2103, 1
  %2105 = getelementptr inbounds float, ptr %2100, i64 %2104
  %2106 = call i32 @f2c_sscal(ptr noundef %2099, ptr noundef %83, ptr noundef %2105, ptr noundef @c__1)
  br label %2107

2107:                                             ; preds = %2090
  %2108 = load i64, ptr %63, align 8, !tbaa !9
  %2109 = add nsw i64 %2108, 1
  store i64 %2109, ptr %63, align 8, !tbaa !9
  br label %2086, !llvm.loop !22

2110:                                             ; preds = %2086
  %2111 = load float, ptr %83, align 4, !tbaa !11
  %2112 = load ptr, ptr %40, align 8, !tbaa !5
  %2113 = load float, ptr %2112, align 4, !tbaa !11
  %2114 = fmul float %2113, %2111
  store float %2114, ptr %2112, align 4, !tbaa !11
  br label %2115

2115:                                             ; preds = %2110, %2075
  %2116 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2117 = load float, ptr %2116, align 16, !tbaa !11
  %2118 = load ptr, ptr %32, align 8, !tbaa !5
  %2119 = load i64, ptr %73, align 8, !tbaa !9
  %2120 = load i64, ptr %74, align 8, !tbaa !9
  %2121 = load i64, ptr %50, align 8, !tbaa !9
  %2122 = mul nsw i64 %2120, %2121
  %2123 = add nsw i64 %2119, %2122
  %2124 = getelementptr inbounds float, ptr %2118, i64 %2123
  store float %2117, ptr %2124, align 4, !tbaa !11
  %2125 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %2126 = load float, ptr %2125, align 4, !tbaa !11
  %2127 = load ptr, ptr %38, align 8, !tbaa !5
  %2128 = load i64, ptr %73, align 8, !tbaa !9
  %2129 = load i64, ptr %74, align 8, !tbaa !9
  %2130 = load i64, ptr %56, align 8, !tbaa !9
  %2131 = mul nsw i64 %2129, %2130
  %2132 = add nsw i64 %2128, %2131
  %2133 = getelementptr inbounds float, ptr %2127, i64 %2132
  store float %2126, ptr %2133, align 4, !tbaa !11
  %2134 = load i64, ptr %62, align 8, !tbaa !9
  %2135 = load i64, ptr %64, align 8, !tbaa !9
  %2136 = add nsw i64 %2135, 2
  %2137 = icmp sgt i64 %2134, %2136
  br i1 %2137, label %2138, label %2173

2138:                                             ; preds = %2115
  %2139 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2140 = load float, ptr %2139, align 16, !tbaa !11
  store float %2140, ptr %82, align 4, !tbaa !11
  %2141 = load i64, ptr %74, align 8, !tbaa !9
  %2142 = sub nsw i64 %2141, 1
  store i64 %2142, ptr %60, align 8, !tbaa !9
  %2143 = load ptr, ptr %30, align 8, !tbaa !5
  %2144 = load i64, ptr %74, align 8, !tbaa !9
  %2145 = load i64, ptr %48, align 8, !tbaa !9
  %2146 = mul nsw i64 %2144, %2145
  %2147 = add nsw i64 %2146, 1
  %2148 = getelementptr inbounds float, ptr %2143, i64 %2147
  %2149 = load ptr, ptr %38, align 8, !tbaa !5
  %2150 = load i64, ptr %73, align 8, !tbaa !9
  %2151 = load i64, ptr %56, align 8, !tbaa !9
  %2152 = add nsw i64 %2150, %2151
  %2153 = getelementptr inbounds float, ptr %2149, i64 %2152
  %2154 = load ptr, ptr %39, align 8, !tbaa !5
  %2155 = call i32 @f2c_saxpy(ptr noundef %60, ptr noundef %82, ptr noundef %2148, ptr noundef @c__1, ptr noundef %2153, ptr noundef %2154)
  %2156 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %2157 = load float, ptr %2156, align 4, !tbaa !11
  store float %2157, ptr %82, align 4, !tbaa !11
  %2158 = load i64, ptr %74, align 8, !tbaa !9
  %2159 = sub nsw i64 %2158, 1
  store i64 %2159, ptr %60, align 8, !tbaa !9
  %2160 = load ptr, ptr %36, align 8, !tbaa !5
  %2161 = load i64, ptr %74, align 8, !tbaa !9
  %2162 = load i64, ptr %54, align 8, !tbaa !9
  %2163 = mul nsw i64 %2161, %2162
  %2164 = add nsw i64 %2163, 1
  %2165 = getelementptr inbounds float, ptr %2160, i64 %2164
  %2166 = load ptr, ptr %38, align 8, !tbaa !5
  %2167 = load i64, ptr %73, align 8, !tbaa !9
  %2168 = load i64, ptr %56, align 8, !tbaa !9
  %2169 = add nsw i64 %2167, %2168
  %2170 = getelementptr inbounds float, ptr %2166, i64 %2169
  %2171 = load ptr, ptr %39, align 8, !tbaa !5
  %2172 = call i32 @f2c_saxpy(ptr noundef %60, ptr noundef %82, ptr noundef %2165, ptr noundef @c__1, ptr noundef %2170, ptr noundef %2171)
  br label %2173

2173:                                             ; preds = %2138, %2115
  %2174 = load i64, ptr %61, align 8, !tbaa !9
  %2175 = load i64, ptr %64, align 8, !tbaa !9
  %2176 = icmp slt i64 %2174, %2175
  br i1 %2176, label %2177, label %2228

2177:                                             ; preds = %2173
  %2178 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2179 = load float, ptr %2178, align 16, !tbaa !11
  %2180 = fneg float %2179
  store float %2180, ptr %82, align 4, !tbaa !11
  %2181 = load ptr, ptr %26, align 8, !tbaa !5
  %2182 = load i64, ptr %2181, align 8, !tbaa !9
  %2183 = load i64, ptr %67, align 8, !tbaa !9
  %2184 = sub nsw i64 %2182, %2183
  store i64 %2184, ptr %60, align 8, !tbaa !9
  %2185 = load ptr, ptr %28, align 8, !tbaa !5
  %2186 = load i64, ptr %73, align 8, !tbaa !9
  %2187 = load i64, ptr %67, align 8, !tbaa !9
  %2188 = add nsw i64 %2187, 1
  %2189 = load i64, ptr %46, align 8, !tbaa !9
  %2190 = mul nsw i64 %2188, %2189
  %2191 = add nsw i64 %2186, %2190
  %2192 = getelementptr inbounds float, ptr %2185, i64 %2191
  %2193 = load ptr, ptr %29, align 8, !tbaa !5
  %2194 = load ptr, ptr %32, align 8, !tbaa !5
  %2195 = load i64, ptr %67, align 8, !tbaa !9
  %2196 = add nsw i64 %2195, 1
  %2197 = load i64, ptr %74, align 8, !tbaa !9
  %2198 = load i64, ptr %50, align 8, !tbaa !9
  %2199 = mul nsw i64 %2197, %2198
  %2200 = add nsw i64 %2196, %2199
  %2201 = getelementptr inbounds float, ptr %2194, i64 %2200
  %2202 = call i32 @f2c_saxpy(ptr noundef %60, ptr noundef %82, ptr noundef %2192, ptr noundef %2193, ptr noundef %2201, ptr noundef @c__1)
  %2203 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %2204 = load float, ptr %2203, align 4, !tbaa !11
  %2205 = fneg float %2204
  store float %2205, ptr %82, align 4, !tbaa !11
  %2206 = load ptr, ptr %26, align 8, !tbaa !5
  %2207 = load i64, ptr %2206, align 8, !tbaa !9
  %2208 = load i64, ptr %67, align 8, !tbaa !9
  %2209 = sub nsw i64 %2207, %2208
  store i64 %2209, ptr %60, align 8, !tbaa !9
  %2210 = load ptr, ptr %34, align 8, !tbaa !5
  %2211 = load i64, ptr %73, align 8, !tbaa !9
  %2212 = load i64, ptr %67, align 8, !tbaa !9
  %2213 = add nsw i64 %2212, 1
  %2214 = load i64, ptr %52, align 8, !tbaa !9
  %2215 = mul nsw i64 %2213, %2214
  %2216 = add nsw i64 %2211, %2215
  %2217 = getelementptr inbounds float, ptr %2210, i64 %2216
  %2218 = load ptr, ptr %35, align 8, !tbaa !5
  %2219 = load ptr, ptr %32, align 8, !tbaa !5
  %2220 = load i64, ptr %67, align 8, !tbaa !9
  %2221 = add nsw i64 %2220, 1
  %2222 = load i64, ptr %74, align 8, !tbaa !9
  %2223 = load i64, ptr %50, align 8, !tbaa !9
  %2224 = mul nsw i64 %2222, %2223
  %2225 = add nsw i64 %2221, %2224
  %2226 = getelementptr inbounds float, ptr %2219, i64 %2225
  %2227 = call i32 @f2c_saxpy(ptr noundef %60, ptr noundef %82, ptr noundef %2217, ptr noundef %2218, ptr noundef %2226, ptr noundef @c__1)
  br label %2228

2228:                                             ; preds = %2177, %2173
  br label %3461

2229:                                             ; preds = %2006, %1983
  %2230 = load i64, ptr %69, align 8, !tbaa !9
  %2231 = icmp eq i64 %2230, 1
  br i1 %2231, label %2232, label %2592

2232:                                             ; preds = %2229
  %2233 = load i64, ptr %70, align 8, !tbaa !9
  %2234 = icmp eq i64 %2233, 2
  br i1 %2234, label %2235, label %2592

2235:                                             ; preds = %2232
  %2236 = load ptr, ptr %28, align 8, !tbaa !5
  %2237 = load i64, ptr %73, align 8, !tbaa !9
  %2238 = load i64, ptr %73, align 8, !tbaa !9
  %2239 = load i64, ptr %46, align 8, !tbaa !9
  %2240 = mul nsw i64 %2238, %2239
  %2241 = add nsw i64 %2237, %2240
  %2242 = getelementptr inbounds float, ptr %2236, i64 %2241
  %2243 = load float, ptr %2242, align 4, !tbaa !11
  %2244 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  store float %2243, ptr %2244, align 16, !tbaa !11
  %2245 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 1
  store float 0.000000e+00, ptr %2245, align 4, !tbaa !11
  %2246 = load ptr, ptr %30, align 8, !tbaa !5
  %2247 = load i64, ptr %74, align 8, !tbaa !9
  %2248 = load i64, ptr %74, align 8, !tbaa !9
  %2249 = load i64, ptr %48, align 8, !tbaa !9
  %2250 = mul nsw i64 %2248, %2249
  %2251 = add nsw i64 %2247, %2250
  %2252 = getelementptr inbounds float, ptr %2246, i64 %2251
  %2253 = load float, ptr %2252, align 4, !tbaa !11
  %2254 = fneg float %2253
  %2255 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 2
  store float %2254, ptr %2255, align 8, !tbaa !11
  %2256 = load ptr, ptr %30, align 8, !tbaa !5
  %2257 = load i64, ptr %77, align 8, !tbaa !9
  %2258 = load i64, ptr %74, align 8, !tbaa !9
  %2259 = load i64, ptr %48, align 8, !tbaa !9
  %2260 = mul nsw i64 %2258, %2259
  %2261 = add nsw i64 %2257, %2260
  %2262 = getelementptr inbounds float, ptr %2256, i64 %2261
  %2263 = load float, ptr %2262, align 4, !tbaa !11
  %2264 = fneg float %2263
  %2265 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 3
  store float %2264, ptr %2265, align 4, !tbaa !11
  %2266 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 8
  store float 0.000000e+00, ptr %2266, align 16, !tbaa !11
  %2267 = load ptr, ptr %28, align 8, !tbaa !5
  %2268 = load i64, ptr %73, align 8, !tbaa !9
  %2269 = load i64, ptr %73, align 8, !tbaa !9
  %2270 = load i64, ptr %46, align 8, !tbaa !9
  %2271 = mul nsw i64 %2269, %2270
  %2272 = add nsw i64 %2268, %2271
  %2273 = getelementptr inbounds float, ptr %2267, i64 %2272
  %2274 = load float, ptr %2273, align 4, !tbaa !11
  %2275 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 9
  store float %2274, ptr %2275, align 4, !tbaa !11
  %2276 = load ptr, ptr %30, align 8, !tbaa !5
  %2277 = load i64, ptr %74, align 8, !tbaa !9
  %2278 = load i64, ptr %77, align 8, !tbaa !9
  %2279 = load i64, ptr %48, align 8, !tbaa !9
  %2280 = mul nsw i64 %2278, %2279
  %2281 = add nsw i64 %2277, %2280
  %2282 = getelementptr inbounds float, ptr %2276, i64 %2281
  %2283 = load float, ptr %2282, align 4, !tbaa !11
  %2284 = fneg float %2283
  %2285 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 10
  store float %2284, ptr %2285, align 8, !tbaa !11
  %2286 = load ptr, ptr %30, align 8, !tbaa !5
  %2287 = load i64, ptr %77, align 8, !tbaa !9
  %2288 = load i64, ptr %77, align 8, !tbaa !9
  %2289 = load i64, ptr %48, align 8, !tbaa !9
  %2290 = mul nsw i64 %2288, %2289
  %2291 = add nsw i64 %2287, %2290
  %2292 = getelementptr inbounds float, ptr %2286, i64 %2291
  %2293 = load float, ptr %2292, align 4, !tbaa !11
  %2294 = fneg float %2293
  %2295 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 11
  store float %2294, ptr %2295, align 4, !tbaa !11
  %2296 = load ptr, ptr %34, align 8, !tbaa !5
  %2297 = load i64, ptr %73, align 8, !tbaa !9
  %2298 = load i64, ptr %73, align 8, !tbaa !9
  %2299 = load i64, ptr %52, align 8, !tbaa !9
  %2300 = mul nsw i64 %2298, %2299
  %2301 = add nsw i64 %2297, %2300
  %2302 = getelementptr inbounds float, ptr %2296, i64 %2301
  %2303 = load float, ptr %2302, align 4, !tbaa !11
  %2304 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 16
  store float %2303, ptr %2304, align 16, !tbaa !11
  %2305 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 17
  store float 0.000000e+00, ptr %2305, align 4, !tbaa !11
  %2306 = load ptr, ptr %36, align 8, !tbaa !5
  %2307 = load i64, ptr %74, align 8, !tbaa !9
  %2308 = load i64, ptr %74, align 8, !tbaa !9
  %2309 = load i64, ptr %54, align 8, !tbaa !9
  %2310 = mul nsw i64 %2308, %2309
  %2311 = add nsw i64 %2307, %2310
  %2312 = getelementptr inbounds float, ptr %2306, i64 %2311
  %2313 = load float, ptr %2312, align 4, !tbaa !11
  %2314 = fneg float %2313
  %2315 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 18
  store float %2314, ptr %2315, align 8, !tbaa !11
  %2316 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 19
  store float 0.000000e+00, ptr %2316, align 4, !tbaa !11
  %2317 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 24
  store float 0.000000e+00, ptr %2317, align 16, !tbaa !11
  %2318 = load ptr, ptr %34, align 8, !tbaa !5
  %2319 = load i64, ptr %73, align 8, !tbaa !9
  %2320 = load i64, ptr %73, align 8, !tbaa !9
  %2321 = load i64, ptr %52, align 8, !tbaa !9
  %2322 = mul nsw i64 %2320, %2321
  %2323 = add nsw i64 %2319, %2322
  %2324 = getelementptr inbounds float, ptr %2318, i64 %2323
  %2325 = load float, ptr %2324, align 4, !tbaa !11
  %2326 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 25
  store float %2325, ptr %2326, align 4, !tbaa !11
  %2327 = load ptr, ptr %36, align 8, !tbaa !5
  %2328 = load i64, ptr %74, align 8, !tbaa !9
  %2329 = load i64, ptr %77, align 8, !tbaa !9
  %2330 = load i64, ptr %54, align 8, !tbaa !9
  %2331 = mul nsw i64 %2329, %2330
  %2332 = add nsw i64 %2328, %2331
  %2333 = getelementptr inbounds float, ptr %2327, i64 %2332
  %2334 = load float, ptr %2333, align 4, !tbaa !11
  %2335 = fneg float %2334
  %2336 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 26
  store float %2335, ptr %2336, align 8, !tbaa !11
  %2337 = load ptr, ptr %36, align 8, !tbaa !5
  %2338 = load i64, ptr %77, align 8, !tbaa !9
  %2339 = load i64, ptr %77, align 8, !tbaa !9
  %2340 = load i64, ptr %54, align 8, !tbaa !9
  %2341 = mul nsw i64 %2339, %2340
  %2342 = add nsw i64 %2338, %2341
  %2343 = getelementptr inbounds float, ptr %2337, i64 %2342
  %2344 = load float, ptr %2343, align 4, !tbaa !11
  %2345 = fneg float %2344
  %2346 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 27
  store float %2345, ptr %2346, align 4, !tbaa !11
  %2347 = load ptr, ptr %32, align 8, !tbaa !5
  %2348 = load i64, ptr %73, align 8, !tbaa !9
  %2349 = load i64, ptr %74, align 8, !tbaa !9
  %2350 = load i64, ptr %50, align 8, !tbaa !9
  %2351 = mul nsw i64 %2349, %2350
  %2352 = add nsw i64 %2348, %2351
  %2353 = getelementptr inbounds float, ptr %2347, i64 %2352
  %2354 = load float, ptr %2353, align 4, !tbaa !11
  %2355 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  store float %2354, ptr %2355, align 16, !tbaa !11
  %2356 = load ptr, ptr %32, align 8, !tbaa !5
  %2357 = load i64, ptr %73, align 8, !tbaa !9
  %2358 = load i64, ptr %77, align 8, !tbaa !9
  %2359 = load i64, ptr %50, align 8, !tbaa !9
  %2360 = mul nsw i64 %2358, %2359
  %2361 = add nsw i64 %2357, %2360
  %2362 = getelementptr inbounds float, ptr %2356, i64 %2361
  %2363 = load float, ptr %2362, align 4, !tbaa !11
  %2364 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  store float %2363, ptr %2364, align 4, !tbaa !11
  %2365 = load ptr, ptr %38, align 8, !tbaa !5
  %2366 = load i64, ptr %73, align 8, !tbaa !9
  %2367 = load i64, ptr %74, align 8, !tbaa !9
  %2368 = load i64, ptr %56, align 8, !tbaa !9
  %2369 = mul nsw i64 %2367, %2368
  %2370 = add nsw i64 %2366, %2369
  %2371 = getelementptr inbounds float, ptr %2365, i64 %2370
  %2372 = load float, ptr %2371, align 4, !tbaa !11
  %2373 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  store float %2372, ptr %2373, align 8, !tbaa !11
  %2374 = load ptr, ptr %38, align 8, !tbaa !5
  %2375 = load i64, ptr %73, align 8, !tbaa !9
  %2376 = load i64, ptr %77, align 8, !tbaa !9
  %2377 = load i64, ptr %56, align 8, !tbaa !9
  %2378 = mul nsw i64 %2376, %2377
  %2379 = add nsw i64 %2375, %2378
  %2380 = getelementptr inbounds float, ptr %2374, i64 %2379
  %2381 = load float, ptr %2380, align 4, !tbaa !11
  %2382 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  store float %2381, ptr %2382, align 4, !tbaa !11
  %2383 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %2384 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %2385 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %2386 = call i32 @sgetc2_(ptr noundef %79, ptr noundef %2383, ptr noundef @c__8, ptr noundef %2384, ptr noundef %2385, ptr noundef %78)
  %2387 = load i64, ptr %78, align 8, !tbaa !9
  %2388 = icmp sgt i64 %2387, 0
  br i1 %2388, label %2389, label %2392

2389:                                             ; preds = %2235
  %2390 = load i64, ptr %78, align 8, !tbaa !9
  %2391 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 %2390, ptr %2391, align 8, !tbaa !9
  br label %2392

2392:                                             ; preds = %2389, %2235
  %2393 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %2394 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2395 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %2396 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %2397 = call i32 @sgesc2_(ptr noundef %79, ptr noundef %2393, ptr noundef @c__8, ptr noundef %2394, ptr noundef %2395, ptr noundef %2396, ptr noundef %83)
  %2398 = load float, ptr %83, align 4, !tbaa !11
  %2399 = fcmp une float %2398, 1.000000e+00
  br i1 %2399, label %2400, label %2432

2400:                                             ; preds = %2392
  %2401 = load ptr, ptr %27, align 8, !tbaa !5
  %2402 = load i64, ptr %2401, align 8, !tbaa !9
  store i64 %2402, ptr %60, align 8, !tbaa !9
  store i64 1, ptr %63, align 8, !tbaa !9
  br label %2403

2403:                                             ; preds = %2424, %2400
  %2404 = load i64, ptr %63, align 8, !tbaa !9
  %2405 = load i64, ptr %60, align 8, !tbaa !9
  %2406 = icmp sle i64 %2404, %2405
  br i1 %2406, label %2407, label %2427

2407:                                             ; preds = %2403
  %2408 = load ptr, ptr %26, align 8, !tbaa !5
  %2409 = load ptr, ptr %32, align 8, !tbaa !5
  %2410 = load i64, ptr %63, align 8, !tbaa !9
  %2411 = load i64, ptr %50, align 8, !tbaa !9
  %2412 = mul nsw i64 %2410, %2411
  %2413 = add nsw i64 %2412, 1
  %2414 = getelementptr inbounds float, ptr %2409, i64 %2413
  %2415 = call i32 @f2c_sscal(ptr noundef %2408, ptr noundef %83, ptr noundef %2414, ptr noundef @c__1)
  %2416 = load ptr, ptr %26, align 8, !tbaa !5
  %2417 = load ptr, ptr %38, align 8, !tbaa !5
  %2418 = load i64, ptr %63, align 8, !tbaa !9
  %2419 = load i64, ptr %56, align 8, !tbaa !9
  %2420 = mul nsw i64 %2418, %2419
  %2421 = add nsw i64 %2420, 1
  %2422 = getelementptr inbounds float, ptr %2417, i64 %2421
  %2423 = call i32 @f2c_sscal(ptr noundef %2416, ptr noundef %83, ptr noundef %2422, ptr noundef @c__1)
  br label %2424

2424:                                             ; preds = %2407
  %2425 = load i64, ptr %63, align 8, !tbaa !9
  %2426 = add nsw i64 %2425, 1
  store i64 %2426, ptr %63, align 8, !tbaa !9
  br label %2403, !llvm.loop !23

2427:                                             ; preds = %2403
  %2428 = load float, ptr %83, align 4, !tbaa !11
  %2429 = load ptr, ptr %40, align 8, !tbaa !5
  %2430 = load float, ptr %2429, align 4, !tbaa !11
  %2431 = fmul float %2430, %2428
  store float %2431, ptr %2429, align 4, !tbaa !11
  br label %2432

2432:                                             ; preds = %2427, %2392
  %2433 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2434 = load float, ptr %2433, align 16, !tbaa !11
  %2435 = load ptr, ptr %32, align 8, !tbaa !5
  %2436 = load i64, ptr %73, align 8, !tbaa !9
  %2437 = load i64, ptr %74, align 8, !tbaa !9
  %2438 = load i64, ptr %50, align 8, !tbaa !9
  %2439 = mul nsw i64 %2437, %2438
  %2440 = add nsw i64 %2436, %2439
  %2441 = getelementptr inbounds float, ptr %2435, i64 %2440
  store float %2434, ptr %2441, align 4, !tbaa !11
  %2442 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %2443 = load float, ptr %2442, align 4, !tbaa !11
  %2444 = load ptr, ptr %32, align 8, !tbaa !5
  %2445 = load i64, ptr %73, align 8, !tbaa !9
  %2446 = load i64, ptr %77, align 8, !tbaa !9
  %2447 = load i64, ptr %50, align 8, !tbaa !9
  %2448 = mul nsw i64 %2446, %2447
  %2449 = add nsw i64 %2445, %2448
  %2450 = getelementptr inbounds float, ptr %2444, i64 %2449
  store float %2443, ptr %2450, align 4, !tbaa !11
  %2451 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %2452 = load float, ptr %2451, align 8, !tbaa !11
  %2453 = load ptr, ptr %38, align 8, !tbaa !5
  %2454 = load i64, ptr %73, align 8, !tbaa !9
  %2455 = load i64, ptr %74, align 8, !tbaa !9
  %2456 = load i64, ptr %56, align 8, !tbaa !9
  %2457 = mul nsw i64 %2455, %2456
  %2458 = add nsw i64 %2454, %2457
  %2459 = getelementptr inbounds float, ptr %2453, i64 %2458
  store float %2452, ptr %2459, align 4, !tbaa !11
  %2460 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  %2461 = load float, ptr %2460, align 4, !tbaa !11
  %2462 = load ptr, ptr %38, align 8, !tbaa !5
  %2463 = load i64, ptr %73, align 8, !tbaa !9
  %2464 = load i64, ptr %77, align 8, !tbaa !9
  %2465 = load i64, ptr %56, align 8, !tbaa !9
  %2466 = mul nsw i64 %2464, %2465
  %2467 = add nsw i64 %2463, %2466
  %2468 = getelementptr inbounds float, ptr %2462, i64 %2467
  store float %2461, ptr %2468, align 4, !tbaa !11
  %2469 = load i64, ptr %62, align 8, !tbaa !9
  %2470 = load i64, ptr %64, align 8, !tbaa !9
  %2471 = add nsw i64 %2470, 2
  %2472 = icmp sgt i64 %2469, %2471
  br i1 %2472, label %2473, label %2538

2473:                                             ; preds = %2432
  %2474 = load i64, ptr %74, align 8, !tbaa !9
  %2475 = sub nsw i64 %2474, 1
  store i64 %2475, ptr %60, align 8, !tbaa !9
  %2476 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2477 = load ptr, ptr %30, align 8, !tbaa !5
  %2478 = load i64, ptr %74, align 8, !tbaa !9
  %2479 = load i64, ptr %48, align 8, !tbaa !9
  %2480 = mul nsw i64 %2478, %2479
  %2481 = add nsw i64 %2480, 1
  %2482 = getelementptr inbounds float, ptr %2477, i64 %2481
  %2483 = load ptr, ptr %38, align 8, !tbaa !5
  %2484 = load i64, ptr %73, align 8, !tbaa !9
  %2485 = load i64, ptr %56, align 8, !tbaa !9
  %2486 = add nsw i64 %2484, %2485
  %2487 = getelementptr inbounds float, ptr %2483, i64 %2486
  %2488 = load ptr, ptr %39, align 8, !tbaa !5
  %2489 = call i32 @f2c_saxpy(ptr noundef %60, ptr noundef %2476, ptr noundef %2482, ptr noundef @c__1, ptr noundef %2487, ptr noundef %2488)
  %2490 = load i64, ptr %74, align 8, !tbaa !9
  %2491 = sub nsw i64 %2490, 1
  store i64 %2491, ptr %60, align 8, !tbaa !9
  %2492 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %2493 = load ptr, ptr %30, align 8, !tbaa !5
  %2494 = load i64, ptr %77, align 8, !tbaa !9
  %2495 = load i64, ptr %48, align 8, !tbaa !9
  %2496 = mul nsw i64 %2494, %2495
  %2497 = add nsw i64 %2496, 1
  %2498 = getelementptr inbounds float, ptr %2493, i64 %2497
  %2499 = load ptr, ptr %38, align 8, !tbaa !5
  %2500 = load i64, ptr %73, align 8, !tbaa !9
  %2501 = load i64, ptr %56, align 8, !tbaa !9
  %2502 = add nsw i64 %2500, %2501
  %2503 = getelementptr inbounds float, ptr %2499, i64 %2502
  %2504 = load ptr, ptr %39, align 8, !tbaa !5
  %2505 = call i32 @f2c_saxpy(ptr noundef %60, ptr noundef %2492, ptr noundef %2498, ptr noundef @c__1, ptr noundef %2503, ptr noundef %2504)
  %2506 = load i64, ptr %74, align 8, !tbaa !9
  %2507 = sub nsw i64 %2506, 1
  store i64 %2507, ptr %60, align 8, !tbaa !9
  %2508 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %2509 = load ptr, ptr %36, align 8, !tbaa !5
  %2510 = load i64, ptr %74, align 8, !tbaa !9
  %2511 = load i64, ptr %54, align 8, !tbaa !9
  %2512 = mul nsw i64 %2510, %2511
  %2513 = add nsw i64 %2512, 1
  %2514 = getelementptr inbounds float, ptr %2509, i64 %2513
  %2515 = load ptr, ptr %38, align 8, !tbaa !5
  %2516 = load i64, ptr %73, align 8, !tbaa !9
  %2517 = load i64, ptr %56, align 8, !tbaa !9
  %2518 = add nsw i64 %2516, %2517
  %2519 = getelementptr inbounds float, ptr %2515, i64 %2518
  %2520 = load ptr, ptr %39, align 8, !tbaa !5
  %2521 = call i32 @f2c_saxpy(ptr noundef %60, ptr noundef %2508, ptr noundef %2514, ptr noundef @c__1, ptr noundef %2519, ptr noundef %2520)
  %2522 = load i64, ptr %74, align 8, !tbaa !9
  %2523 = sub nsw i64 %2522, 1
  store i64 %2523, ptr %60, align 8, !tbaa !9
  %2524 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  %2525 = load ptr, ptr %36, align 8, !tbaa !5
  %2526 = load i64, ptr %77, align 8, !tbaa !9
  %2527 = load i64, ptr %54, align 8, !tbaa !9
  %2528 = mul nsw i64 %2526, %2527
  %2529 = add nsw i64 %2528, 1
  %2530 = getelementptr inbounds float, ptr %2525, i64 %2529
  %2531 = load ptr, ptr %38, align 8, !tbaa !5
  %2532 = load i64, ptr %73, align 8, !tbaa !9
  %2533 = load i64, ptr %56, align 8, !tbaa !9
  %2534 = add nsw i64 %2532, %2533
  %2535 = getelementptr inbounds float, ptr %2531, i64 %2534
  %2536 = load ptr, ptr %39, align 8, !tbaa !5
  %2537 = call i32 @f2c_saxpy(ptr noundef %60, ptr noundef %2524, ptr noundef %2530, ptr noundef @c__1, ptr noundef %2535, ptr noundef %2536)
  br label %2538

2538:                                             ; preds = %2473, %2432
  %2539 = load i64, ptr %61, align 8, !tbaa !9
  %2540 = load i64, ptr %64, align 8, !tbaa !9
  %2541 = icmp slt i64 %2539, %2540
  br i1 %2541, label %2542, label %2591

2542:                                             ; preds = %2538
  %2543 = load ptr, ptr %26, align 8, !tbaa !5
  %2544 = load i64, ptr %2543, align 8, !tbaa !9
  %2545 = load i64, ptr %67, align 8, !tbaa !9
  %2546 = sub nsw i64 %2544, %2545
  store i64 %2546, ptr %60, align 8, !tbaa !9
  %2547 = load ptr, ptr %28, align 8, !tbaa !5
  %2548 = load i64, ptr %73, align 8, !tbaa !9
  %2549 = load i64, ptr %67, align 8, !tbaa !9
  %2550 = add nsw i64 %2549, 1
  %2551 = load i64, ptr %46, align 8, !tbaa !9
  %2552 = mul nsw i64 %2550, %2551
  %2553 = add nsw i64 %2548, %2552
  %2554 = getelementptr inbounds float, ptr %2547, i64 %2553
  %2555 = load ptr, ptr %29, align 8, !tbaa !5
  %2556 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2557 = load ptr, ptr %32, align 8, !tbaa !5
  %2558 = load i64, ptr %67, align 8, !tbaa !9
  %2559 = add nsw i64 %2558, 1
  %2560 = load i64, ptr %74, align 8, !tbaa !9
  %2561 = load i64, ptr %50, align 8, !tbaa !9
  %2562 = mul nsw i64 %2560, %2561
  %2563 = add nsw i64 %2559, %2562
  %2564 = getelementptr inbounds float, ptr %2557, i64 %2563
  %2565 = load ptr, ptr %33, align 8, !tbaa !5
  %2566 = call i32 @f2c_sger(ptr noundef %60, ptr noundef %70, ptr noundef @c_b27, ptr noundef %2554, ptr noundef %2555, ptr noundef %2556, ptr noundef @c__1, ptr noundef %2564, ptr noundef %2565)
  %2567 = load ptr, ptr %26, align 8, !tbaa !5
  %2568 = load i64, ptr %2567, align 8, !tbaa !9
  %2569 = load i64, ptr %67, align 8, !tbaa !9
  %2570 = sub nsw i64 %2568, %2569
  store i64 %2570, ptr %60, align 8, !tbaa !9
  %2571 = load ptr, ptr %34, align 8, !tbaa !5
  %2572 = load i64, ptr %73, align 8, !tbaa !9
  %2573 = load i64, ptr %67, align 8, !tbaa !9
  %2574 = add nsw i64 %2573, 1
  %2575 = load i64, ptr %52, align 8, !tbaa !9
  %2576 = mul nsw i64 %2574, %2575
  %2577 = add nsw i64 %2572, %2576
  %2578 = getelementptr inbounds float, ptr %2571, i64 %2577
  %2579 = load ptr, ptr %35, align 8, !tbaa !5
  %2580 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %2581 = load ptr, ptr %32, align 8, !tbaa !5
  %2582 = load i64, ptr %67, align 8, !tbaa !9
  %2583 = add nsw i64 %2582, 1
  %2584 = load i64, ptr %74, align 8, !tbaa !9
  %2585 = load i64, ptr %50, align 8, !tbaa !9
  %2586 = mul nsw i64 %2584, %2585
  %2587 = add nsw i64 %2583, %2586
  %2588 = getelementptr inbounds float, ptr %2581, i64 %2587
  %2589 = load ptr, ptr %33, align 8, !tbaa !5
  %2590 = call i32 @f2c_sger(ptr noundef %60, ptr noundef %70, ptr noundef @c_b27, ptr noundef %2578, ptr noundef %2579, ptr noundef %2580, ptr noundef @c__1, ptr noundef %2588, ptr noundef %2589)
  br label %2591

2591:                                             ; preds = %2542, %2538
  br label %3460

2592:                                             ; preds = %2232, %2229
  %2593 = load i64, ptr %69, align 8, !tbaa !9
  %2594 = icmp eq i64 %2593, 2
  br i1 %2594, label %2595, label %2918

2595:                                             ; preds = %2592
  %2596 = load i64, ptr %70, align 8, !tbaa !9
  %2597 = icmp eq i64 %2596, 1
  br i1 %2597, label %2598, label %2918

2598:                                             ; preds = %2595
  %2599 = load ptr, ptr %28, align 8, !tbaa !5
  %2600 = load i64, ptr %73, align 8, !tbaa !9
  %2601 = load i64, ptr %73, align 8, !tbaa !9
  %2602 = load i64, ptr %46, align 8, !tbaa !9
  %2603 = mul nsw i64 %2601, %2602
  %2604 = add nsw i64 %2600, %2603
  %2605 = getelementptr inbounds float, ptr %2599, i64 %2604
  %2606 = load float, ptr %2605, align 4, !tbaa !11
  %2607 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  store float %2606, ptr %2607, align 16, !tbaa !11
  %2608 = load ptr, ptr %28, align 8, !tbaa !5
  %2609 = load i64, ptr %73, align 8, !tbaa !9
  %2610 = load i64, ptr %76, align 8, !tbaa !9
  %2611 = load i64, ptr %46, align 8, !tbaa !9
  %2612 = mul nsw i64 %2610, %2611
  %2613 = add nsw i64 %2609, %2612
  %2614 = getelementptr inbounds float, ptr %2608, i64 %2613
  %2615 = load float, ptr %2614, align 4, !tbaa !11
  %2616 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 1
  store float %2615, ptr %2616, align 4, !tbaa !11
  %2617 = load ptr, ptr %30, align 8, !tbaa !5
  %2618 = load i64, ptr %74, align 8, !tbaa !9
  %2619 = load i64, ptr %74, align 8, !tbaa !9
  %2620 = load i64, ptr %48, align 8, !tbaa !9
  %2621 = mul nsw i64 %2619, %2620
  %2622 = add nsw i64 %2618, %2621
  %2623 = getelementptr inbounds float, ptr %2617, i64 %2622
  %2624 = load float, ptr %2623, align 4, !tbaa !11
  %2625 = fneg float %2624
  %2626 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 2
  store float %2625, ptr %2626, align 8, !tbaa !11
  %2627 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 3
  store float 0.000000e+00, ptr %2627, align 4, !tbaa !11
  %2628 = load ptr, ptr %28, align 8, !tbaa !5
  %2629 = load i64, ptr %76, align 8, !tbaa !9
  %2630 = load i64, ptr %73, align 8, !tbaa !9
  %2631 = load i64, ptr %46, align 8, !tbaa !9
  %2632 = mul nsw i64 %2630, %2631
  %2633 = add nsw i64 %2629, %2632
  %2634 = getelementptr inbounds float, ptr %2628, i64 %2633
  %2635 = load float, ptr %2634, align 4, !tbaa !11
  %2636 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 8
  store float %2635, ptr %2636, align 16, !tbaa !11
  %2637 = load ptr, ptr %28, align 8, !tbaa !5
  %2638 = load i64, ptr %76, align 8, !tbaa !9
  %2639 = load i64, ptr %76, align 8, !tbaa !9
  %2640 = load i64, ptr %46, align 8, !tbaa !9
  %2641 = mul nsw i64 %2639, %2640
  %2642 = add nsw i64 %2638, %2641
  %2643 = getelementptr inbounds float, ptr %2637, i64 %2642
  %2644 = load float, ptr %2643, align 4, !tbaa !11
  %2645 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 9
  store float %2644, ptr %2645, align 4, !tbaa !11
  %2646 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 10
  store float 0.000000e+00, ptr %2646, align 8, !tbaa !11
  %2647 = load ptr, ptr %30, align 8, !tbaa !5
  %2648 = load i64, ptr %74, align 8, !tbaa !9
  %2649 = load i64, ptr %74, align 8, !tbaa !9
  %2650 = load i64, ptr %48, align 8, !tbaa !9
  %2651 = mul nsw i64 %2649, %2650
  %2652 = add nsw i64 %2648, %2651
  %2653 = getelementptr inbounds float, ptr %2647, i64 %2652
  %2654 = load float, ptr %2653, align 4, !tbaa !11
  %2655 = fneg float %2654
  %2656 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 11
  store float %2655, ptr %2656, align 4, !tbaa !11
  %2657 = load ptr, ptr %34, align 8, !tbaa !5
  %2658 = load i64, ptr %73, align 8, !tbaa !9
  %2659 = load i64, ptr %73, align 8, !tbaa !9
  %2660 = load i64, ptr %52, align 8, !tbaa !9
  %2661 = mul nsw i64 %2659, %2660
  %2662 = add nsw i64 %2658, %2661
  %2663 = getelementptr inbounds float, ptr %2657, i64 %2662
  %2664 = load float, ptr %2663, align 4, !tbaa !11
  %2665 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 16
  store float %2664, ptr %2665, align 16, !tbaa !11
  %2666 = load ptr, ptr %34, align 8, !tbaa !5
  %2667 = load i64, ptr %73, align 8, !tbaa !9
  %2668 = load i64, ptr %76, align 8, !tbaa !9
  %2669 = load i64, ptr %52, align 8, !tbaa !9
  %2670 = mul nsw i64 %2668, %2669
  %2671 = add nsw i64 %2667, %2670
  %2672 = getelementptr inbounds float, ptr %2666, i64 %2671
  %2673 = load float, ptr %2672, align 4, !tbaa !11
  %2674 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 17
  store float %2673, ptr %2674, align 4, !tbaa !11
  %2675 = load ptr, ptr %36, align 8, !tbaa !5
  %2676 = load i64, ptr %74, align 8, !tbaa !9
  %2677 = load i64, ptr %74, align 8, !tbaa !9
  %2678 = load i64, ptr %54, align 8, !tbaa !9
  %2679 = mul nsw i64 %2677, %2678
  %2680 = add nsw i64 %2676, %2679
  %2681 = getelementptr inbounds float, ptr %2675, i64 %2680
  %2682 = load float, ptr %2681, align 4, !tbaa !11
  %2683 = fneg float %2682
  %2684 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 18
  store float %2683, ptr %2684, align 8, !tbaa !11
  %2685 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 19
  store float 0.000000e+00, ptr %2685, align 4, !tbaa !11
  %2686 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 24
  store float 0.000000e+00, ptr %2686, align 16, !tbaa !11
  %2687 = load ptr, ptr %34, align 8, !tbaa !5
  %2688 = load i64, ptr %76, align 8, !tbaa !9
  %2689 = load i64, ptr %76, align 8, !tbaa !9
  %2690 = load i64, ptr %52, align 8, !tbaa !9
  %2691 = mul nsw i64 %2689, %2690
  %2692 = add nsw i64 %2688, %2691
  %2693 = getelementptr inbounds float, ptr %2687, i64 %2692
  %2694 = load float, ptr %2693, align 4, !tbaa !11
  %2695 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 25
  store float %2694, ptr %2695, align 4, !tbaa !11
  %2696 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 26
  store float 0.000000e+00, ptr %2696, align 8, !tbaa !11
  %2697 = load ptr, ptr %36, align 8, !tbaa !5
  %2698 = load i64, ptr %74, align 8, !tbaa !9
  %2699 = load i64, ptr %74, align 8, !tbaa !9
  %2700 = load i64, ptr %54, align 8, !tbaa !9
  %2701 = mul nsw i64 %2699, %2700
  %2702 = add nsw i64 %2698, %2701
  %2703 = getelementptr inbounds float, ptr %2697, i64 %2702
  %2704 = load float, ptr %2703, align 4, !tbaa !11
  %2705 = fneg float %2704
  %2706 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 27
  store float %2705, ptr %2706, align 4, !tbaa !11
  %2707 = load ptr, ptr %32, align 8, !tbaa !5
  %2708 = load i64, ptr %73, align 8, !tbaa !9
  %2709 = load i64, ptr %74, align 8, !tbaa !9
  %2710 = load i64, ptr %50, align 8, !tbaa !9
  %2711 = mul nsw i64 %2709, %2710
  %2712 = add nsw i64 %2708, %2711
  %2713 = getelementptr inbounds float, ptr %2707, i64 %2712
  %2714 = load float, ptr %2713, align 4, !tbaa !11
  %2715 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  store float %2714, ptr %2715, align 16, !tbaa !11
  %2716 = load ptr, ptr %32, align 8, !tbaa !5
  %2717 = load i64, ptr %76, align 8, !tbaa !9
  %2718 = load i64, ptr %74, align 8, !tbaa !9
  %2719 = load i64, ptr %50, align 8, !tbaa !9
  %2720 = mul nsw i64 %2718, %2719
  %2721 = add nsw i64 %2717, %2720
  %2722 = getelementptr inbounds float, ptr %2716, i64 %2721
  %2723 = load float, ptr %2722, align 4, !tbaa !11
  %2724 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  store float %2723, ptr %2724, align 4, !tbaa !11
  %2725 = load ptr, ptr %38, align 8, !tbaa !5
  %2726 = load i64, ptr %73, align 8, !tbaa !9
  %2727 = load i64, ptr %74, align 8, !tbaa !9
  %2728 = load i64, ptr %56, align 8, !tbaa !9
  %2729 = mul nsw i64 %2727, %2728
  %2730 = add nsw i64 %2726, %2729
  %2731 = getelementptr inbounds float, ptr %2725, i64 %2730
  %2732 = load float, ptr %2731, align 4, !tbaa !11
  %2733 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  store float %2732, ptr %2733, align 8, !tbaa !11
  %2734 = load ptr, ptr %38, align 8, !tbaa !5
  %2735 = load i64, ptr %76, align 8, !tbaa !9
  %2736 = load i64, ptr %74, align 8, !tbaa !9
  %2737 = load i64, ptr %56, align 8, !tbaa !9
  %2738 = mul nsw i64 %2736, %2737
  %2739 = add nsw i64 %2735, %2738
  %2740 = getelementptr inbounds float, ptr %2734, i64 %2739
  %2741 = load float, ptr %2740, align 4, !tbaa !11
  %2742 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  store float %2741, ptr %2742, align 4, !tbaa !11
  %2743 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %2744 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %2745 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %2746 = call i32 @sgetc2_(ptr noundef %79, ptr noundef %2743, ptr noundef @c__8, ptr noundef %2744, ptr noundef %2745, ptr noundef %78)
  %2747 = load i64, ptr %78, align 8, !tbaa !9
  %2748 = icmp sgt i64 %2747, 0
  br i1 %2748, label %2749, label %2752

2749:                                             ; preds = %2598
  %2750 = load i64, ptr %78, align 8, !tbaa !9
  %2751 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 %2750, ptr %2751, align 8, !tbaa !9
  br label %2752

2752:                                             ; preds = %2749, %2598
  %2753 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %2754 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2755 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %2756 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %2757 = call i32 @sgesc2_(ptr noundef %79, ptr noundef %2753, ptr noundef @c__8, ptr noundef %2754, ptr noundef %2755, ptr noundef %2756, ptr noundef %83)
  %2758 = load float, ptr %83, align 4, !tbaa !11
  %2759 = fcmp une float %2758, 1.000000e+00
  br i1 %2759, label %2760, label %2792

2760:                                             ; preds = %2752
  %2761 = load ptr, ptr %27, align 8, !tbaa !5
  %2762 = load i64, ptr %2761, align 8, !tbaa !9
  store i64 %2762, ptr %60, align 8, !tbaa !9
  store i64 1, ptr %63, align 8, !tbaa !9
  br label %2763

2763:                                             ; preds = %2784, %2760
  %2764 = load i64, ptr %63, align 8, !tbaa !9
  %2765 = load i64, ptr %60, align 8, !tbaa !9
  %2766 = icmp sle i64 %2764, %2765
  br i1 %2766, label %2767, label %2787

2767:                                             ; preds = %2763
  %2768 = load ptr, ptr %26, align 8, !tbaa !5
  %2769 = load ptr, ptr %32, align 8, !tbaa !5
  %2770 = load i64, ptr %63, align 8, !tbaa !9
  %2771 = load i64, ptr %50, align 8, !tbaa !9
  %2772 = mul nsw i64 %2770, %2771
  %2773 = add nsw i64 %2772, 1
  %2774 = getelementptr inbounds float, ptr %2769, i64 %2773
  %2775 = call i32 @f2c_sscal(ptr noundef %2768, ptr noundef %83, ptr noundef %2774, ptr noundef @c__1)
  %2776 = load ptr, ptr %26, align 8, !tbaa !5
  %2777 = load ptr, ptr %38, align 8, !tbaa !5
  %2778 = load i64, ptr %63, align 8, !tbaa !9
  %2779 = load i64, ptr %56, align 8, !tbaa !9
  %2780 = mul nsw i64 %2778, %2779
  %2781 = add nsw i64 %2780, 1
  %2782 = getelementptr inbounds float, ptr %2777, i64 %2781
  %2783 = call i32 @f2c_sscal(ptr noundef %2776, ptr noundef %83, ptr noundef %2782, ptr noundef @c__1)
  br label %2784

2784:                                             ; preds = %2767
  %2785 = load i64, ptr %63, align 8, !tbaa !9
  %2786 = add nsw i64 %2785, 1
  store i64 %2786, ptr %63, align 8, !tbaa !9
  br label %2763, !llvm.loop !24

2787:                                             ; preds = %2763
  %2788 = load float, ptr %83, align 4, !tbaa !11
  %2789 = load ptr, ptr %40, align 8, !tbaa !5
  %2790 = load float, ptr %2789, align 4, !tbaa !11
  %2791 = fmul float %2790, %2788
  store float %2791, ptr %2789, align 4, !tbaa !11
  br label %2792

2792:                                             ; preds = %2787, %2752
  %2793 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2794 = load float, ptr %2793, align 16, !tbaa !11
  %2795 = load ptr, ptr %32, align 8, !tbaa !5
  %2796 = load i64, ptr %73, align 8, !tbaa !9
  %2797 = load i64, ptr %74, align 8, !tbaa !9
  %2798 = load i64, ptr %50, align 8, !tbaa !9
  %2799 = mul nsw i64 %2797, %2798
  %2800 = add nsw i64 %2796, %2799
  %2801 = getelementptr inbounds float, ptr %2795, i64 %2800
  store float %2794, ptr %2801, align 4, !tbaa !11
  %2802 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 1
  %2803 = load float, ptr %2802, align 4, !tbaa !11
  %2804 = load ptr, ptr %32, align 8, !tbaa !5
  %2805 = load i64, ptr %76, align 8, !tbaa !9
  %2806 = load i64, ptr %74, align 8, !tbaa !9
  %2807 = load i64, ptr %50, align 8, !tbaa !9
  %2808 = mul nsw i64 %2806, %2807
  %2809 = add nsw i64 %2805, %2808
  %2810 = getelementptr inbounds float, ptr %2804, i64 %2809
  store float %2803, ptr %2810, align 4, !tbaa !11
  %2811 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %2812 = load float, ptr %2811, align 8, !tbaa !11
  %2813 = load ptr, ptr %38, align 8, !tbaa !5
  %2814 = load i64, ptr %73, align 8, !tbaa !9
  %2815 = load i64, ptr %74, align 8, !tbaa !9
  %2816 = load i64, ptr %56, align 8, !tbaa !9
  %2817 = mul nsw i64 %2815, %2816
  %2818 = add nsw i64 %2814, %2817
  %2819 = getelementptr inbounds float, ptr %2813, i64 %2818
  store float %2812, ptr %2819, align 4, !tbaa !11
  %2820 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 3
  %2821 = load float, ptr %2820, align 4, !tbaa !11
  %2822 = load ptr, ptr %38, align 8, !tbaa !5
  %2823 = load i64, ptr %76, align 8, !tbaa !9
  %2824 = load i64, ptr %74, align 8, !tbaa !9
  %2825 = load i64, ptr %56, align 8, !tbaa !9
  %2826 = mul nsw i64 %2824, %2825
  %2827 = add nsw i64 %2823, %2826
  %2828 = getelementptr inbounds float, ptr %2822, i64 %2827
  store float %2821, ptr %2828, align 4, !tbaa !11
  %2829 = load i64, ptr %62, align 8, !tbaa !9
  %2830 = load i64, ptr %64, align 8, !tbaa !9
  %2831 = add nsw i64 %2830, 2
  %2832 = icmp sgt i64 %2829, %2831
  br i1 %2832, label %2833, label %2866

2833:                                             ; preds = %2792
  %2834 = load i64, ptr %74, align 8, !tbaa !9
  %2835 = sub nsw i64 %2834, 1
  store i64 %2835, ptr %60, align 8, !tbaa !9
  %2836 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2837 = load ptr, ptr %30, align 8, !tbaa !5
  %2838 = load i64, ptr %74, align 8, !tbaa !9
  %2839 = load i64, ptr %48, align 8, !tbaa !9
  %2840 = mul nsw i64 %2838, %2839
  %2841 = add nsw i64 %2840, 1
  %2842 = getelementptr inbounds float, ptr %2837, i64 %2841
  %2843 = load ptr, ptr %38, align 8, !tbaa !5
  %2844 = load i64, ptr %73, align 8, !tbaa !9
  %2845 = load i64, ptr %56, align 8, !tbaa !9
  %2846 = add nsw i64 %2844, %2845
  %2847 = getelementptr inbounds float, ptr %2843, i64 %2846
  %2848 = load ptr, ptr %39, align 8, !tbaa !5
  %2849 = call i32 @f2c_sger(ptr noundef %69, ptr noundef %60, ptr noundef @c_b42, ptr noundef %2836, ptr noundef @c__1, ptr noundef %2842, ptr noundef @c__1, ptr noundef %2847, ptr noundef %2848)
  %2850 = load i64, ptr %74, align 8, !tbaa !9
  %2851 = sub nsw i64 %2850, 1
  store i64 %2851, ptr %60, align 8, !tbaa !9
  %2852 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %2853 = load ptr, ptr %36, align 8, !tbaa !5
  %2854 = load i64, ptr %74, align 8, !tbaa !9
  %2855 = load i64, ptr %54, align 8, !tbaa !9
  %2856 = mul nsw i64 %2854, %2855
  %2857 = add nsw i64 %2856, 1
  %2858 = getelementptr inbounds float, ptr %2853, i64 %2857
  %2859 = load ptr, ptr %38, align 8, !tbaa !5
  %2860 = load i64, ptr %73, align 8, !tbaa !9
  %2861 = load i64, ptr %56, align 8, !tbaa !9
  %2862 = add nsw i64 %2860, %2861
  %2863 = getelementptr inbounds float, ptr %2859, i64 %2862
  %2864 = load ptr, ptr %39, align 8, !tbaa !5
  %2865 = call i32 @f2c_sger(ptr noundef %69, ptr noundef %60, ptr noundef @c_b42, ptr noundef %2852, ptr noundef @c__1, ptr noundef %2858, ptr noundef @c__1, ptr noundef %2863, ptr noundef %2864)
  br label %2866

2866:                                             ; preds = %2833, %2792
  %2867 = load i64, ptr %61, align 8, !tbaa !9
  %2868 = load i64, ptr %64, align 8, !tbaa !9
  %2869 = icmp slt i64 %2867, %2868
  br i1 %2869, label %2870, label %2917

2870:                                             ; preds = %2866
  %2871 = load ptr, ptr %26, align 8, !tbaa !5
  %2872 = load i64, ptr %2871, align 8, !tbaa !9
  %2873 = load i64, ptr %67, align 8, !tbaa !9
  %2874 = sub nsw i64 %2872, %2873
  store i64 %2874, ptr %60, align 8, !tbaa !9
  %2875 = load ptr, ptr %28, align 8, !tbaa !5
  %2876 = load i64, ptr %73, align 8, !tbaa !9
  %2877 = load i64, ptr %67, align 8, !tbaa !9
  %2878 = add nsw i64 %2877, 1
  %2879 = load i64, ptr %46, align 8, !tbaa !9
  %2880 = mul nsw i64 %2878, %2879
  %2881 = add nsw i64 %2876, %2880
  %2882 = getelementptr inbounds float, ptr %2875, i64 %2881
  %2883 = load ptr, ptr %29, align 8, !tbaa !5
  %2884 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %2885 = load ptr, ptr %32, align 8, !tbaa !5
  %2886 = load i64, ptr %67, align 8, !tbaa !9
  %2887 = add nsw i64 %2886, 1
  %2888 = load i64, ptr %74, align 8, !tbaa !9
  %2889 = load i64, ptr %50, align 8, !tbaa !9
  %2890 = mul nsw i64 %2888, %2889
  %2891 = add nsw i64 %2887, %2890
  %2892 = getelementptr inbounds float, ptr %2885, i64 %2891
  %2893 = call i32 @f2c_sgemv(ptr noundef @.str.1, ptr noundef %69, ptr noundef %60, ptr noundef @c_b27, ptr noundef %2882, ptr noundef %2883, ptr noundef %2884, ptr noundef @c__1, ptr noundef @c_b42, ptr noundef %2892, ptr noundef @c__1)
  %2894 = load ptr, ptr %26, align 8, !tbaa !5
  %2895 = load i64, ptr %2894, align 8, !tbaa !9
  %2896 = load i64, ptr %67, align 8, !tbaa !9
  %2897 = sub nsw i64 %2895, %2896
  store i64 %2897, ptr %60, align 8, !tbaa !9
  %2898 = load ptr, ptr %34, align 8, !tbaa !5
  %2899 = load i64, ptr %73, align 8, !tbaa !9
  %2900 = load i64, ptr %67, align 8, !tbaa !9
  %2901 = add nsw i64 %2900, 1
  %2902 = load i64, ptr %52, align 8, !tbaa !9
  %2903 = mul nsw i64 %2901, %2902
  %2904 = add nsw i64 %2899, %2903
  %2905 = getelementptr inbounds float, ptr %2898, i64 %2904
  %2906 = load ptr, ptr %35, align 8, !tbaa !5
  %2907 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 2
  %2908 = load ptr, ptr %32, align 8, !tbaa !5
  %2909 = load i64, ptr %67, align 8, !tbaa !9
  %2910 = add nsw i64 %2909, 1
  %2911 = load i64, ptr %74, align 8, !tbaa !9
  %2912 = load i64, ptr %50, align 8, !tbaa !9
  %2913 = mul nsw i64 %2911, %2912
  %2914 = add nsw i64 %2910, %2913
  %2915 = getelementptr inbounds float, ptr %2908, i64 %2914
  %2916 = call i32 @f2c_sgemv(ptr noundef @.str.1, ptr noundef %69, ptr noundef %60, ptr noundef @c_b27, ptr noundef %2905, ptr noundef %2906, ptr noundef %2907, ptr noundef @c__1, ptr noundef @c_b42, ptr noundef %2915, ptr noundef @c__1)
  br label %2917

2917:                                             ; preds = %2870, %2866
  br label %3459

2918:                                             ; preds = %2595, %2592
  %2919 = load i64, ptr %69, align 8, !tbaa !9
  %2920 = icmp eq i64 %2919, 2
  br i1 %2920, label %2921, label %3458

2921:                                             ; preds = %2918
  %2922 = load i64, ptr %70, align 8, !tbaa !9
  %2923 = icmp eq i64 %2922, 2
  br i1 %2923, label %2924, label %3458

2924:                                             ; preds = %2921
  %2925 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %2926 = call i32 @slaset_(ptr noundef @.str.3, ptr noundef @c__8, ptr noundef @c__8, ptr noundef @c_b56, ptr noundef @c_b56, ptr noundef %2925, ptr noundef @c__8)
  %2927 = load ptr, ptr %28, align 8, !tbaa !5
  %2928 = load i64, ptr %73, align 8, !tbaa !9
  %2929 = load i64, ptr %73, align 8, !tbaa !9
  %2930 = load i64, ptr %46, align 8, !tbaa !9
  %2931 = mul nsw i64 %2929, %2930
  %2932 = add nsw i64 %2928, %2931
  %2933 = getelementptr inbounds float, ptr %2927, i64 %2932
  %2934 = load float, ptr %2933, align 4, !tbaa !11
  %2935 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  store float %2934, ptr %2935, align 16, !tbaa !11
  %2936 = load ptr, ptr %28, align 8, !tbaa !5
  %2937 = load i64, ptr %73, align 8, !tbaa !9
  %2938 = load i64, ptr %76, align 8, !tbaa !9
  %2939 = load i64, ptr %46, align 8, !tbaa !9
  %2940 = mul nsw i64 %2938, %2939
  %2941 = add nsw i64 %2937, %2940
  %2942 = getelementptr inbounds float, ptr %2936, i64 %2941
  %2943 = load float, ptr %2942, align 4, !tbaa !11
  %2944 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 1
  store float %2943, ptr %2944, align 4, !tbaa !11
  %2945 = load ptr, ptr %30, align 8, !tbaa !5
  %2946 = load i64, ptr %74, align 8, !tbaa !9
  %2947 = load i64, ptr %74, align 8, !tbaa !9
  %2948 = load i64, ptr %48, align 8, !tbaa !9
  %2949 = mul nsw i64 %2947, %2948
  %2950 = add nsw i64 %2946, %2949
  %2951 = getelementptr inbounds float, ptr %2945, i64 %2950
  %2952 = load float, ptr %2951, align 4, !tbaa !11
  %2953 = fneg float %2952
  %2954 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 4
  store float %2953, ptr %2954, align 16, !tbaa !11
  %2955 = load ptr, ptr %30, align 8, !tbaa !5
  %2956 = load i64, ptr %77, align 8, !tbaa !9
  %2957 = load i64, ptr %74, align 8, !tbaa !9
  %2958 = load i64, ptr %48, align 8, !tbaa !9
  %2959 = mul nsw i64 %2957, %2958
  %2960 = add nsw i64 %2956, %2959
  %2961 = getelementptr inbounds float, ptr %2955, i64 %2960
  %2962 = load float, ptr %2961, align 4, !tbaa !11
  %2963 = fneg float %2962
  %2964 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 6
  store float %2963, ptr %2964, align 8, !tbaa !11
  %2965 = load ptr, ptr %28, align 8, !tbaa !5
  %2966 = load i64, ptr %76, align 8, !tbaa !9
  %2967 = load i64, ptr %73, align 8, !tbaa !9
  %2968 = load i64, ptr %46, align 8, !tbaa !9
  %2969 = mul nsw i64 %2967, %2968
  %2970 = add nsw i64 %2966, %2969
  %2971 = getelementptr inbounds float, ptr %2965, i64 %2970
  %2972 = load float, ptr %2971, align 4, !tbaa !11
  %2973 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 8
  store float %2972, ptr %2973, align 16, !tbaa !11
  %2974 = load ptr, ptr %28, align 8, !tbaa !5
  %2975 = load i64, ptr %76, align 8, !tbaa !9
  %2976 = load i64, ptr %76, align 8, !tbaa !9
  %2977 = load i64, ptr %46, align 8, !tbaa !9
  %2978 = mul nsw i64 %2976, %2977
  %2979 = add nsw i64 %2975, %2978
  %2980 = getelementptr inbounds float, ptr %2974, i64 %2979
  %2981 = load float, ptr %2980, align 4, !tbaa !11
  %2982 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 9
  store float %2981, ptr %2982, align 4, !tbaa !11
  %2983 = load ptr, ptr %30, align 8, !tbaa !5
  %2984 = load i64, ptr %74, align 8, !tbaa !9
  %2985 = load i64, ptr %74, align 8, !tbaa !9
  %2986 = load i64, ptr %48, align 8, !tbaa !9
  %2987 = mul nsw i64 %2985, %2986
  %2988 = add nsw i64 %2984, %2987
  %2989 = getelementptr inbounds float, ptr %2983, i64 %2988
  %2990 = load float, ptr %2989, align 4, !tbaa !11
  %2991 = fneg float %2990
  %2992 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 13
  store float %2991, ptr %2992, align 4, !tbaa !11
  %2993 = load ptr, ptr %30, align 8, !tbaa !5
  %2994 = load i64, ptr %77, align 8, !tbaa !9
  %2995 = load i64, ptr %74, align 8, !tbaa !9
  %2996 = load i64, ptr %48, align 8, !tbaa !9
  %2997 = mul nsw i64 %2995, %2996
  %2998 = add nsw i64 %2994, %2997
  %2999 = getelementptr inbounds float, ptr %2993, i64 %2998
  %3000 = load float, ptr %2999, align 4, !tbaa !11
  %3001 = fneg float %3000
  %3002 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 15
  store float %3001, ptr %3002, align 4, !tbaa !11
  %3003 = load ptr, ptr %28, align 8, !tbaa !5
  %3004 = load i64, ptr %73, align 8, !tbaa !9
  %3005 = load i64, ptr %73, align 8, !tbaa !9
  %3006 = load i64, ptr %46, align 8, !tbaa !9
  %3007 = mul nsw i64 %3005, %3006
  %3008 = add nsw i64 %3004, %3007
  %3009 = getelementptr inbounds float, ptr %3003, i64 %3008
  %3010 = load float, ptr %3009, align 4, !tbaa !11
  %3011 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 18
  store float %3010, ptr %3011, align 8, !tbaa !11
  %3012 = load ptr, ptr %28, align 8, !tbaa !5
  %3013 = load i64, ptr %73, align 8, !tbaa !9
  %3014 = load i64, ptr %76, align 8, !tbaa !9
  %3015 = load i64, ptr %46, align 8, !tbaa !9
  %3016 = mul nsw i64 %3014, %3015
  %3017 = add nsw i64 %3013, %3016
  %3018 = getelementptr inbounds float, ptr %3012, i64 %3017
  %3019 = load float, ptr %3018, align 4, !tbaa !11
  %3020 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 19
  store float %3019, ptr %3020, align 4, !tbaa !11
  %3021 = load ptr, ptr %30, align 8, !tbaa !5
  %3022 = load i64, ptr %74, align 8, !tbaa !9
  %3023 = load i64, ptr %77, align 8, !tbaa !9
  %3024 = load i64, ptr %48, align 8, !tbaa !9
  %3025 = mul nsw i64 %3023, %3024
  %3026 = add nsw i64 %3022, %3025
  %3027 = getelementptr inbounds float, ptr %3021, i64 %3026
  %3028 = load float, ptr %3027, align 4, !tbaa !11
  %3029 = fneg float %3028
  %3030 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 20
  store float %3029, ptr %3030, align 16, !tbaa !11
  %3031 = load ptr, ptr %30, align 8, !tbaa !5
  %3032 = load i64, ptr %77, align 8, !tbaa !9
  %3033 = load i64, ptr %77, align 8, !tbaa !9
  %3034 = load i64, ptr %48, align 8, !tbaa !9
  %3035 = mul nsw i64 %3033, %3034
  %3036 = add nsw i64 %3032, %3035
  %3037 = getelementptr inbounds float, ptr %3031, i64 %3036
  %3038 = load float, ptr %3037, align 4, !tbaa !11
  %3039 = fneg float %3038
  %3040 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 22
  store float %3039, ptr %3040, align 8, !tbaa !11
  %3041 = load ptr, ptr %28, align 8, !tbaa !5
  %3042 = load i64, ptr %76, align 8, !tbaa !9
  %3043 = load i64, ptr %73, align 8, !tbaa !9
  %3044 = load i64, ptr %46, align 8, !tbaa !9
  %3045 = mul nsw i64 %3043, %3044
  %3046 = add nsw i64 %3042, %3045
  %3047 = getelementptr inbounds float, ptr %3041, i64 %3046
  %3048 = load float, ptr %3047, align 4, !tbaa !11
  %3049 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 26
  store float %3048, ptr %3049, align 8, !tbaa !11
  %3050 = load ptr, ptr %28, align 8, !tbaa !5
  %3051 = load i64, ptr %76, align 8, !tbaa !9
  %3052 = load i64, ptr %76, align 8, !tbaa !9
  %3053 = load i64, ptr %46, align 8, !tbaa !9
  %3054 = mul nsw i64 %3052, %3053
  %3055 = add nsw i64 %3051, %3054
  %3056 = getelementptr inbounds float, ptr %3050, i64 %3055
  %3057 = load float, ptr %3056, align 4, !tbaa !11
  %3058 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 27
  store float %3057, ptr %3058, align 4, !tbaa !11
  %3059 = load ptr, ptr %30, align 8, !tbaa !5
  %3060 = load i64, ptr %74, align 8, !tbaa !9
  %3061 = load i64, ptr %77, align 8, !tbaa !9
  %3062 = load i64, ptr %48, align 8, !tbaa !9
  %3063 = mul nsw i64 %3061, %3062
  %3064 = add nsw i64 %3060, %3063
  %3065 = getelementptr inbounds float, ptr %3059, i64 %3064
  %3066 = load float, ptr %3065, align 4, !tbaa !11
  %3067 = fneg float %3066
  %3068 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 29
  store float %3067, ptr %3068, align 4, !tbaa !11
  %3069 = load ptr, ptr %30, align 8, !tbaa !5
  %3070 = load i64, ptr %77, align 8, !tbaa !9
  %3071 = load i64, ptr %77, align 8, !tbaa !9
  %3072 = load i64, ptr %48, align 8, !tbaa !9
  %3073 = mul nsw i64 %3071, %3072
  %3074 = add nsw i64 %3070, %3073
  %3075 = getelementptr inbounds float, ptr %3069, i64 %3074
  %3076 = load float, ptr %3075, align 4, !tbaa !11
  %3077 = fneg float %3076
  %3078 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 31
  store float %3077, ptr %3078, align 4, !tbaa !11
  %3079 = load ptr, ptr %34, align 8, !tbaa !5
  %3080 = load i64, ptr %73, align 8, !tbaa !9
  %3081 = load i64, ptr %73, align 8, !tbaa !9
  %3082 = load i64, ptr %52, align 8, !tbaa !9
  %3083 = mul nsw i64 %3081, %3082
  %3084 = add nsw i64 %3080, %3083
  %3085 = getelementptr inbounds float, ptr %3079, i64 %3084
  %3086 = load float, ptr %3085, align 4, !tbaa !11
  %3087 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 32
  store float %3086, ptr %3087, align 16, !tbaa !11
  %3088 = load ptr, ptr %34, align 8, !tbaa !5
  %3089 = load i64, ptr %73, align 8, !tbaa !9
  %3090 = load i64, ptr %76, align 8, !tbaa !9
  %3091 = load i64, ptr %52, align 8, !tbaa !9
  %3092 = mul nsw i64 %3090, %3091
  %3093 = add nsw i64 %3089, %3092
  %3094 = getelementptr inbounds float, ptr %3088, i64 %3093
  %3095 = load float, ptr %3094, align 4, !tbaa !11
  %3096 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 33
  store float %3095, ptr %3096, align 4, !tbaa !11
  %3097 = load ptr, ptr %36, align 8, !tbaa !5
  %3098 = load i64, ptr %74, align 8, !tbaa !9
  %3099 = load i64, ptr %74, align 8, !tbaa !9
  %3100 = load i64, ptr %54, align 8, !tbaa !9
  %3101 = mul nsw i64 %3099, %3100
  %3102 = add nsw i64 %3098, %3101
  %3103 = getelementptr inbounds float, ptr %3097, i64 %3102
  %3104 = load float, ptr %3103, align 4, !tbaa !11
  %3105 = fneg float %3104
  %3106 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 36
  store float %3105, ptr %3106, align 16, !tbaa !11
  %3107 = load ptr, ptr %34, align 8, !tbaa !5
  %3108 = load i64, ptr %76, align 8, !tbaa !9
  %3109 = load i64, ptr %76, align 8, !tbaa !9
  %3110 = load i64, ptr %52, align 8, !tbaa !9
  %3111 = mul nsw i64 %3109, %3110
  %3112 = add nsw i64 %3108, %3111
  %3113 = getelementptr inbounds float, ptr %3107, i64 %3112
  %3114 = load float, ptr %3113, align 4, !tbaa !11
  %3115 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 41
  store float %3114, ptr %3115, align 4, !tbaa !11
  %3116 = load ptr, ptr %36, align 8, !tbaa !5
  %3117 = load i64, ptr %74, align 8, !tbaa !9
  %3118 = load i64, ptr %74, align 8, !tbaa !9
  %3119 = load i64, ptr %54, align 8, !tbaa !9
  %3120 = mul nsw i64 %3118, %3119
  %3121 = add nsw i64 %3117, %3120
  %3122 = getelementptr inbounds float, ptr %3116, i64 %3121
  %3123 = load float, ptr %3122, align 4, !tbaa !11
  %3124 = fneg float %3123
  %3125 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 45
  store float %3124, ptr %3125, align 4, !tbaa !11
  %3126 = load ptr, ptr %34, align 8, !tbaa !5
  %3127 = load i64, ptr %73, align 8, !tbaa !9
  %3128 = load i64, ptr %73, align 8, !tbaa !9
  %3129 = load i64, ptr %52, align 8, !tbaa !9
  %3130 = mul nsw i64 %3128, %3129
  %3131 = add nsw i64 %3127, %3130
  %3132 = getelementptr inbounds float, ptr %3126, i64 %3131
  %3133 = load float, ptr %3132, align 4, !tbaa !11
  %3134 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 50
  store float %3133, ptr %3134, align 8, !tbaa !11
  %3135 = load ptr, ptr %34, align 8, !tbaa !5
  %3136 = load i64, ptr %73, align 8, !tbaa !9
  %3137 = load i64, ptr %76, align 8, !tbaa !9
  %3138 = load i64, ptr %52, align 8, !tbaa !9
  %3139 = mul nsw i64 %3137, %3138
  %3140 = add nsw i64 %3136, %3139
  %3141 = getelementptr inbounds float, ptr %3135, i64 %3140
  %3142 = load float, ptr %3141, align 4, !tbaa !11
  %3143 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 51
  store float %3142, ptr %3143, align 4, !tbaa !11
  %3144 = load ptr, ptr %36, align 8, !tbaa !5
  %3145 = load i64, ptr %74, align 8, !tbaa !9
  %3146 = load i64, ptr %77, align 8, !tbaa !9
  %3147 = load i64, ptr %54, align 8, !tbaa !9
  %3148 = mul nsw i64 %3146, %3147
  %3149 = add nsw i64 %3145, %3148
  %3150 = getelementptr inbounds float, ptr %3144, i64 %3149
  %3151 = load float, ptr %3150, align 4, !tbaa !11
  %3152 = fneg float %3151
  %3153 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 52
  store float %3152, ptr %3153, align 16, !tbaa !11
  %3154 = load ptr, ptr %36, align 8, !tbaa !5
  %3155 = load i64, ptr %77, align 8, !tbaa !9
  %3156 = load i64, ptr %77, align 8, !tbaa !9
  %3157 = load i64, ptr %54, align 8, !tbaa !9
  %3158 = mul nsw i64 %3156, %3157
  %3159 = add nsw i64 %3155, %3158
  %3160 = getelementptr inbounds float, ptr %3154, i64 %3159
  %3161 = load float, ptr %3160, align 4, !tbaa !11
  %3162 = fneg float %3161
  %3163 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 54
  store float %3162, ptr %3163, align 8, !tbaa !11
  %3164 = load ptr, ptr %34, align 8, !tbaa !5
  %3165 = load i64, ptr %76, align 8, !tbaa !9
  %3166 = load i64, ptr %76, align 8, !tbaa !9
  %3167 = load i64, ptr %52, align 8, !tbaa !9
  %3168 = mul nsw i64 %3166, %3167
  %3169 = add nsw i64 %3165, %3168
  %3170 = getelementptr inbounds float, ptr %3164, i64 %3169
  %3171 = load float, ptr %3170, align 4, !tbaa !11
  %3172 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 59
  store float %3171, ptr %3172, align 4, !tbaa !11
  %3173 = load ptr, ptr %36, align 8, !tbaa !5
  %3174 = load i64, ptr %74, align 8, !tbaa !9
  %3175 = load i64, ptr %77, align 8, !tbaa !9
  %3176 = load i64, ptr %54, align 8, !tbaa !9
  %3177 = mul nsw i64 %3175, %3176
  %3178 = add nsw i64 %3174, %3177
  %3179 = getelementptr inbounds float, ptr %3173, i64 %3178
  %3180 = load float, ptr %3179, align 4, !tbaa !11
  %3181 = fneg float %3180
  %3182 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 61
  store float %3181, ptr %3182, align 4, !tbaa !11
  %3183 = load ptr, ptr %36, align 8, !tbaa !5
  %3184 = load i64, ptr %77, align 8, !tbaa !9
  %3185 = load i64, ptr %77, align 8, !tbaa !9
  %3186 = load i64, ptr %54, align 8, !tbaa !9
  %3187 = mul nsw i64 %3185, %3186
  %3188 = add nsw i64 %3184, %3187
  %3189 = getelementptr inbounds float, ptr %3183, i64 %3188
  %3190 = load float, ptr %3189, align 4, !tbaa !11
  %3191 = fneg float %3190
  %3192 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 63
  store float %3191, ptr %3192, align 4, !tbaa !11
  store i64 1, ptr %63, align 8, !tbaa !9
  %3193 = load i64, ptr %69, align 8, !tbaa !9
  %3194 = load i64, ptr %70, align 8, !tbaa !9
  %3195 = mul nsw i64 %3193, %3194
  %3196 = add nsw i64 %3195, 1
  store i64 %3196, ptr %71, align 8, !tbaa !9
  %3197 = load i64, ptr %70, align 8, !tbaa !9
  %3198 = sub nsw i64 %3197, 1
  store i64 %3198, ptr %60, align 8, !tbaa !9
  store i64 0, ptr %72, align 8, !tbaa !9
  br label %3199

3199:                                             ; preds = %3236, %2924
  %3200 = load i64, ptr %72, align 8, !tbaa !9
  %3201 = load i64, ptr %60, align 8, !tbaa !9
  %3202 = icmp sle i64 %3200, %3201
  br i1 %3202, label %3203, label %3239

3203:                                             ; preds = %3199
  %3204 = load ptr, ptr %32, align 8, !tbaa !5
  %3205 = load i64, ptr %73, align 8, !tbaa !9
  %3206 = load i64, ptr %74, align 8, !tbaa !9
  %3207 = load i64, ptr %72, align 8, !tbaa !9
  %3208 = add nsw i64 %3206, %3207
  %3209 = load i64, ptr %50, align 8, !tbaa !9
  %3210 = mul nsw i64 %3208, %3209
  %3211 = add nsw i64 %3205, %3210
  %3212 = getelementptr inbounds float, ptr %3204, i64 %3211
  %3213 = load i64, ptr %63, align 8, !tbaa !9
  %3214 = sub nsw i64 %3213, 1
  %3215 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %3214
  %3216 = call i32 @f2c_scopy(ptr noundef %69, ptr noundef %3212, ptr noundef @c__1, ptr noundef %3215, ptr noundef @c__1)
  %3217 = load ptr, ptr %38, align 8, !tbaa !5
  %3218 = load i64, ptr %73, align 8, !tbaa !9
  %3219 = load i64, ptr %74, align 8, !tbaa !9
  %3220 = load i64, ptr %72, align 8, !tbaa !9
  %3221 = add nsw i64 %3219, %3220
  %3222 = load i64, ptr %56, align 8, !tbaa !9
  %3223 = mul nsw i64 %3221, %3222
  %3224 = add nsw i64 %3218, %3223
  %3225 = getelementptr inbounds float, ptr %3217, i64 %3224
  %3226 = load i64, ptr %71, align 8, !tbaa !9
  %3227 = sub nsw i64 %3226, 1
  %3228 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %3227
  %3229 = call i32 @f2c_scopy(ptr noundef %69, ptr noundef %3225, ptr noundef @c__1, ptr noundef %3228, ptr noundef @c__1)
  %3230 = load i64, ptr %69, align 8, !tbaa !9
  %3231 = load i64, ptr %63, align 8, !tbaa !9
  %3232 = add nsw i64 %3231, %3230
  store i64 %3232, ptr %63, align 8, !tbaa !9
  %3233 = load i64, ptr %69, align 8, !tbaa !9
  %3234 = load i64, ptr %71, align 8, !tbaa !9
  %3235 = add nsw i64 %3234, %3233
  store i64 %3235, ptr %71, align 8, !tbaa !9
  br label %3236

3236:                                             ; preds = %3203
  %3237 = load i64, ptr %72, align 8, !tbaa !9
  %3238 = add nsw i64 %3237, 1
  store i64 %3238, ptr %72, align 8, !tbaa !9
  br label %3199, !llvm.loop !25

3239:                                             ; preds = %3199
  %3240 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %3241 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %3242 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %3243 = call i32 @sgetc2_(ptr noundef %79, ptr noundef %3240, ptr noundef @c__8, ptr noundef %3241, ptr noundef %3242, ptr noundef %78)
  %3244 = load i64, ptr %78, align 8, !tbaa !9
  %3245 = icmp sgt i64 %3244, 0
  br i1 %3245, label %3246, label %3249

3246:                                             ; preds = %3239
  %3247 = load i64, ptr %78, align 8, !tbaa !9
  %3248 = load ptr, ptr %45, align 8, !tbaa !5
  store i64 %3247, ptr %3248, align 8, !tbaa !9
  br label %3249

3249:                                             ; preds = %3246, %3239
  %3250 = getelementptr inbounds [64 x float], ptr %66, i64 0, i64 0
  %3251 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 0
  %3252 = getelementptr inbounds [8 x i64], ptr %80, i64 0, i64 0
  %3253 = getelementptr inbounds [8 x i64], ptr %81, i64 0, i64 0
  %3254 = call i32 @sgesc2_(ptr noundef %79, ptr noundef %3250, ptr noundef @c__8, ptr noundef %3251, ptr noundef %3252, ptr noundef %3253, ptr noundef %83)
  %3255 = load float, ptr %83, align 4, !tbaa !11
  %3256 = fcmp une float %3255, 1.000000e+00
  br i1 %3256, label %3257, label %3289

3257:                                             ; preds = %3249
  %3258 = load ptr, ptr %27, align 8, !tbaa !5
  %3259 = load i64, ptr %3258, align 8, !tbaa !9
  store i64 %3259, ptr %60, align 8, !tbaa !9
  store i64 1, ptr %63, align 8, !tbaa !9
  br label %3260

3260:                                             ; preds = %3281, %3257
  %3261 = load i64, ptr %63, align 8, !tbaa !9
  %3262 = load i64, ptr %60, align 8, !tbaa !9
  %3263 = icmp sle i64 %3261, %3262
  br i1 %3263, label %3264, label %3284

3264:                                             ; preds = %3260
  %3265 = load ptr, ptr %26, align 8, !tbaa !5
  %3266 = load ptr, ptr %32, align 8, !tbaa !5
  %3267 = load i64, ptr %63, align 8, !tbaa !9
  %3268 = load i64, ptr %50, align 8, !tbaa !9
  %3269 = mul nsw i64 %3267, %3268
  %3270 = add nsw i64 %3269, 1
  %3271 = getelementptr inbounds float, ptr %3266, i64 %3270
  %3272 = call i32 @f2c_sscal(ptr noundef %3265, ptr noundef %83, ptr noundef %3271, ptr noundef @c__1)
  %3273 = load ptr, ptr %26, align 8, !tbaa !5
  %3274 = load ptr, ptr %38, align 8, !tbaa !5
  %3275 = load i64, ptr %63, align 8, !tbaa !9
  %3276 = load i64, ptr %56, align 8, !tbaa !9
  %3277 = mul nsw i64 %3275, %3276
  %3278 = add nsw i64 %3277, 1
  %3279 = getelementptr inbounds float, ptr %3274, i64 %3278
  %3280 = call i32 @f2c_sscal(ptr noundef %3273, ptr noundef %83, ptr noundef %3279, ptr noundef @c__1)
  br label %3281

3281:                                             ; preds = %3264
  %3282 = load i64, ptr %63, align 8, !tbaa !9
  %3283 = add nsw i64 %3282, 1
  store i64 %3283, ptr %63, align 8, !tbaa !9
  br label %3260, !llvm.loop !26

3284:                                             ; preds = %3260
  %3285 = load float, ptr %83, align 4, !tbaa !11
  %3286 = load ptr, ptr %40, align 8, !tbaa !5
  %3287 = load float, ptr %3286, align 4, !tbaa !11
  %3288 = fmul float %3287, %3285
  store float %3288, ptr %3286, align 4, !tbaa !11
  br label %3289

3289:                                             ; preds = %3284, %3249
  store i64 1, ptr %63, align 8, !tbaa !9
  %3290 = load i64, ptr %69, align 8, !tbaa !9
  %3291 = load i64, ptr %70, align 8, !tbaa !9
  %3292 = mul nsw i64 %3290, %3291
  %3293 = add nsw i64 %3292, 1
  store i64 %3293, ptr %71, align 8, !tbaa !9
  %3294 = load i64, ptr %70, align 8, !tbaa !9
  %3295 = sub nsw i64 %3294, 1
  store i64 %3295, ptr %60, align 8, !tbaa !9
  store i64 0, ptr %72, align 8, !tbaa !9
  br label %3296

3296:                                             ; preds = %3333, %3289
  %3297 = load i64, ptr %72, align 8, !tbaa !9
  %3298 = load i64, ptr %60, align 8, !tbaa !9
  %3299 = icmp sle i64 %3297, %3298
  br i1 %3299, label %3300, label %3336

3300:                                             ; preds = %3296
  %3301 = load i64, ptr %63, align 8, !tbaa !9
  %3302 = sub nsw i64 %3301, 1
  %3303 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %3302
  %3304 = load ptr, ptr %32, align 8, !tbaa !5
  %3305 = load i64, ptr %73, align 8, !tbaa !9
  %3306 = load i64, ptr %74, align 8, !tbaa !9
  %3307 = load i64, ptr %72, align 8, !tbaa !9
  %3308 = add nsw i64 %3306, %3307
  %3309 = load i64, ptr %50, align 8, !tbaa !9
  %3310 = mul nsw i64 %3308, %3309
  %3311 = add nsw i64 %3305, %3310
  %3312 = getelementptr inbounds float, ptr %3304, i64 %3311
  %3313 = call i32 @f2c_scopy(ptr noundef %69, ptr noundef %3303, ptr noundef @c__1, ptr noundef %3312, ptr noundef @c__1)
  %3314 = load i64, ptr %71, align 8, !tbaa !9
  %3315 = sub nsw i64 %3314, 1
  %3316 = getelementptr inbounds [8 x float], ptr %75, i64 0, i64 %3315
  %3317 = load ptr, ptr %38, align 8, !tbaa !5
  %3318 = load i64, ptr %73, align 8, !tbaa !9
  %3319 = load i64, ptr %74, align 8, !tbaa !9
  %3320 = load i64, ptr %72, align 8, !tbaa !9
  %3321 = add nsw i64 %3319, %3320
  %3322 = load i64, ptr %56, align 8, !tbaa !9
  %3323 = mul nsw i64 %3321, %3322
  %3324 = add nsw i64 %3318, %3323
  %3325 = getelementptr inbounds float, ptr %3317, i64 %3324
  %3326 = call i32 @f2c_scopy(ptr noundef %69, ptr noundef %3316, ptr noundef @c__1, ptr noundef %3325, ptr noundef @c__1)
  %3327 = load i64, ptr %69, align 8, !tbaa !9
  %3328 = load i64, ptr %63, align 8, !tbaa !9
  %3329 = add nsw i64 %3328, %3327
  store i64 %3329, ptr %63, align 8, !tbaa !9
  %3330 = load i64, ptr %69, align 8, !tbaa !9
  %3331 = load i64, ptr %71, align 8, !tbaa !9
  %3332 = add nsw i64 %3331, %3330
  store i64 %3332, ptr %71, align 8, !tbaa !9
  br label %3333

3333:                                             ; preds = %3300
  %3334 = load i64, ptr %72, align 8, !tbaa !9
  %3335 = add nsw i64 %3334, 1
  store i64 %3335, ptr %72, align 8, !tbaa !9
  br label %3296, !llvm.loop !27

3336:                                             ; preds = %3296
  %3337 = load i64, ptr %62, align 8, !tbaa !9
  %3338 = load i64, ptr %64, align 8, !tbaa !9
  %3339 = add nsw i64 %3338, 2
  %3340 = icmp sgt i64 %3337, %3339
  br i1 %3340, label %3341, label %3390

3341:                                             ; preds = %3336
  %3342 = load i64, ptr %74, align 8, !tbaa !9
  %3343 = sub nsw i64 %3342, 1
  store i64 %3343, ptr %60, align 8, !tbaa !9
  %3344 = load ptr, ptr %32, align 8, !tbaa !5
  %3345 = load i64, ptr %73, align 8, !tbaa !9
  %3346 = load i64, ptr %74, align 8, !tbaa !9
  %3347 = load i64, ptr %50, align 8, !tbaa !9
  %3348 = mul nsw i64 %3346, %3347
  %3349 = add nsw i64 %3345, %3348
  %3350 = getelementptr inbounds float, ptr %3344, i64 %3349
  %3351 = load ptr, ptr %33, align 8, !tbaa !5
  %3352 = load ptr, ptr %30, align 8, !tbaa !5
  %3353 = load i64, ptr %74, align 8, !tbaa !9
  %3354 = load i64, ptr %48, align 8, !tbaa !9
  %3355 = mul nsw i64 %3353, %3354
  %3356 = add nsw i64 %3355, 1
  %3357 = getelementptr inbounds float, ptr %3352, i64 %3356
  %3358 = load ptr, ptr %31, align 8, !tbaa !5
  %3359 = load ptr, ptr %38, align 8, !tbaa !5
  %3360 = load i64, ptr %73, align 8, !tbaa !9
  %3361 = load i64, ptr %56, align 8, !tbaa !9
  %3362 = add nsw i64 %3360, %3361
  %3363 = getelementptr inbounds float, ptr %3359, i64 %3362
  %3364 = load ptr, ptr %39, align 8, !tbaa !5
  %3365 = call i32 @f2c_sgemm(ptr noundef @.str, ptr noundef @.str.1, ptr noundef %69, ptr noundef %60, ptr noundef %70, ptr noundef @c_b42, ptr noundef %3350, ptr noundef %3351, ptr noundef %3357, ptr noundef %3358, ptr noundef @c_b42, ptr noundef %3363, ptr noundef %3364)
  %3366 = load i64, ptr %74, align 8, !tbaa !9
  %3367 = sub nsw i64 %3366, 1
  store i64 %3367, ptr %60, align 8, !tbaa !9
  %3368 = load ptr, ptr %38, align 8, !tbaa !5
  %3369 = load i64, ptr %73, align 8, !tbaa !9
  %3370 = load i64, ptr %74, align 8, !tbaa !9
  %3371 = load i64, ptr %56, align 8, !tbaa !9
  %3372 = mul nsw i64 %3370, %3371
  %3373 = add nsw i64 %3369, %3372
  %3374 = getelementptr inbounds float, ptr %3368, i64 %3373
  %3375 = load ptr, ptr %39, align 8, !tbaa !5
  %3376 = load ptr, ptr %36, align 8, !tbaa !5
  %3377 = load i64, ptr %74, align 8, !tbaa !9
  %3378 = load i64, ptr %54, align 8, !tbaa !9
  %3379 = mul nsw i64 %3377, %3378
  %3380 = add nsw i64 %3379, 1
  %3381 = getelementptr inbounds float, ptr %3376, i64 %3380
  %3382 = load ptr, ptr %37, align 8, !tbaa !5
  %3383 = load ptr, ptr %38, align 8, !tbaa !5
  %3384 = load i64, ptr %73, align 8, !tbaa !9
  %3385 = load i64, ptr %56, align 8, !tbaa !9
  %3386 = add nsw i64 %3384, %3385
  %3387 = getelementptr inbounds float, ptr %3383, i64 %3386
  %3388 = load ptr, ptr %39, align 8, !tbaa !5
  %3389 = call i32 @f2c_sgemm(ptr noundef @.str, ptr noundef @.str.1, ptr noundef %69, ptr noundef %60, ptr noundef %70, ptr noundef @c_b42, ptr noundef %3374, ptr noundef %3375, ptr noundef %3381, ptr noundef %3382, ptr noundef @c_b42, ptr noundef %3387, ptr noundef %3388)
  br label %3390

3390:                                             ; preds = %3341, %3336
  %3391 = load i64, ptr %61, align 8, !tbaa !9
  %3392 = load i64, ptr %64, align 8, !tbaa !9
  %3393 = icmp slt i64 %3391, %3392
  br i1 %3393, label %3394, label %3457

3394:                                             ; preds = %3390
  %3395 = load ptr, ptr %26, align 8, !tbaa !5
  %3396 = load i64, ptr %3395, align 8, !tbaa !9
  %3397 = load i64, ptr %67, align 8, !tbaa !9
  %3398 = sub nsw i64 %3396, %3397
  store i64 %3398, ptr %60, align 8, !tbaa !9
  %3399 = load ptr, ptr %28, align 8, !tbaa !5
  %3400 = load i64, ptr %73, align 8, !tbaa !9
  %3401 = load i64, ptr %67, align 8, !tbaa !9
  %3402 = add nsw i64 %3401, 1
  %3403 = load i64, ptr %46, align 8, !tbaa !9
  %3404 = mul nsw i64 %3402, %3403
  %3405 = add nsw i64 %3400, %3404
  %3406 = getelementptr inbounds float, ptr %3399, i64 %3405
  %3407 = load ptr, ptr %29, align 8, !tbaa !5
  %3408 = load ptr, ptr %32, align 8, !tbaa !5
  %3409 = load i64, ptr %73, align 8, !tbaa !9
  %3410 = load i64, ptr %74, align 8, !tbaa !9
  %3411 = load i64, ptr %50, align 8, !tbaa !9
  %3412 = mul nsw i64 %3410, %3411
  %3413 = add nsw i64 %3409, %3412
  %3414 = getelementptr inbounds float, ptr %3408, i64 %3413
  %3415 = load ptr, ptr %33, align 8, !tbaa !5
  %3416 = load ptr, ptr %32, align 8, !tbaa !5
  %3417 = load i64, ptr %67, align 8, !tbaa !9
  %3418 = add nsw i64 %3417, 1
  %3419 = load i64, ptr %74, align 8, !tbaa !9
  %3420 = load i64, ptr %50, align 8, !tbaa !9
  %3421 = mul nsw i64 %3419, %3420
  %3422 = add nsw i64 %3418, %3421
  %3423 = getelementptr inbounds float, ptr %3416, i64 %3422
  %3424 = load ptr, ptr %33, align 8, !tbaa !5
  %3425 = call i32 @f2c_sgemm(ptr noundef @.str.1, ptr noundef @.str, ptr noundef %60, ptr noundef %70, ptr noundef %69, ptr noundef @c_b27, ptr noundef %3406, ptr noundef %3407, ptr noundef %3414, ptr noundef %3415, ptr noundef @c_b42, ptr noundef %3423, ptr noundef %3424)
  %3426 = load ptr, ptr %26, align 8, !tbaa !5
  %3427 = load i64, ptr %3426, align 8, !tbaa !9
  %3428 = load i64, ptr %67, align 8, !tbaa !9
  %3429 = sub nsw i64 %3427, %3428
  store i64 %3429, ptr %60, align 8, !tbaa !9
  %3430 = load ptr, ptr %34, align 8, !tbaa !5
  %3431 = load i64, ptr %73, align 8, !tbaa !9
  %3432 = load i64, ptr %67, align 8, !tbaa !9
  %3433 = add nsw i64 %3432, 1
  %3434 = load i64, ptr %52, align 8, !tbaa !9
  %3435 = mul nsw i64 %3433, %3434
  %3436 = add nsw i64 %3431, %3435
  %3437 = getelementptr inbounds float, ptr %3430, i64 %3436
  %3438 = load ptr, ptr %35, align 8, !tbaa !5
  %3439 = load ptr, ptr %38, align 8, !tbaa !5
  %3440 = load i64, ptr %73, align 8, !tbaa !9
  %3441 = load i64, ptr %74, align 8, !tbaa !9
  %3442 = load i64, ptr %56, align 8, !tbaa !9
  %3443 = mul nsw i64 %3441, %3442
  %3444 = add nsw i64 %3440, %3443
  %3445 = getelementptr inbounds float, ptr %3439, i64 %3444
  %3446 = load ptr, ptr %39, align 8, !tbaa !5
  %3447 = load ptr, ptr %32, align 8, !tbaa !5
  %3448 = load i64, ptr %67, align 8, !tbaa !9
  %3449 = add nsw i64 %3448, 1
  %3450 = load i64, ptr %74, align 8, !tbaa !9
  %3451 = load i64, ptr %50, align 8, !tbaa !9
  %3452 = mul nsw i64 %3450, %3451
  %3453 = add nsw i64 %3449, %3452
  %3454 = getelementptr inbounds float, ptr %3447, i64 %3453
  %3455 = load ptr, ptr %33, align 8, !tbaa !5
  %3456 = call i32 @f2c_sgemm(ptr noundef @.str.1, ptr noundef @.str, ptr noundef %60, ptr noundef %70, ptr noundef %69, ptr noundef @c_b27, ptr noundef %3437, ptr noundef %3438, ptr noundef %3445, ptr noundef %3446, ptr noundef @c_b42, ptr noundef %3454, ptr noundef %3455)
  br label %3457

3457:                                             ; preds = %3394, %3390
  br label %3458

3458:                                             ; preds = %3457, %2921, %2918
  br label %3459

3459:                                             ; preds = %3458, %2917
  br label %3460

3460:                                             ; preds = %3459, %2591
  br label %3461

3461:                                             ; preds = %3460, %2228
  br label %3462

3462:                                             ; preds = %3461
  %3463 = load i64, ptr %62, align 8, !tbaa !9
  %3464 = add nsw i64 %3463, -1
  store i64 %3464, ptr %62, align 8, !tbaa !9
  br label %1979, !llvm.loop !28

3465:                                             ; preds = %1979
  br label %3466

3466:                                             ; preds = %3465
  %3467 = load i64, ptr %61, align 8, !tbaa !9
  %3468 = add nsw i64 %3467, 1
  store i64 %3468, ptr %61, align 8, !tbaa !9
  br label %1955, !llvm.loop !29

3469:                                             ; preds = %1955
  br label %3470

3470:                                             ; preds = %3469, %1951
  store i32 0, ptr %23, align 4
  store i32 1, ptr %85, align 4
  br label %3471

3471:                                             ; preds = %3470, %280
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %81) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %80) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #3
  call void @llvm.lifetime.end.p0(i64 256, ptr %66) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #3
  %3472 = load i32, ptr %23, align 4
  ret i32 %3472
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"float", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}
!23 = distinct !{!23, !14}
!24 = distinct !{!24, !14}
!25 = distinct !{!25, !14}
!26 = distinct !{!26, !14}
!27 = distinct !{!27, !14}
!28 = distinct !{!28, !14}
!29 = distinct !{!29, !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"

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [7 x i8], align 1
@c__8 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c_b27 = external hidden global float, align 4
@c_b42 = external hidden global float, align 4
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@c_b56 = external hidden global float, align 4

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

56:                                               ; preds = %22
  %57 = tail call i64 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.1) #3
  %.not1385 = icmp eq i64 %57, 0
  br i1 %.not1385, label %.thread1415.sink.split, label %59

.critedge:                                        ; preds = %22
  %58 = load i64, ptr %1, align 8, !tbaa !5
  %or.cond1406 = icmp ugt i64 %58, 2
  br i1 %or.cond1406, label %.thread1415.sink.split, label %59

59:                                               ; preds = %56, %.critedge
  %.pr = load i64, ptr %21, align 8, !tbaa !5
  %60 = icmp eq i64 %.pr, 0
  br i1 %60, label %61, label %.thread1415

61:                                               ; preds = %59
  %62 = load i64, ptr %2, align 8, !tbaa !5
  %63 = icmp slt i64 %62, 1
  br i1 %63, label %.thread1415.sink.split, label %64

64:                                               ; preds = %61
  %65 = load i64, ptr %3, align 8, !tbaa !5
  %66 = icmp slt i64 %65, 1
  br i1 %66, label %.thread1415.sink.split, label %67

67:                                               ; preds = %64
  %68 = load i64, ptr %5, align 8, !tbaa !5
  %69 = icmp slt i64 %68, %62
  br i1 %69, label %.thread1415.sink.split, label %70

70:                                               ; preds = %67
  %71 = load i64, ptr %7, align 8, !tbaa !5
  %72 = icmp slt i64 %71, %65
  br i1 %72, label %.thread1415.sink.split, label %73

73:                                               ; preds = %70
  %74 = load i64, ptr %9, align 8, !tbaa !5
  %75 = icmp slt i64 %74, %62
  br i1 %75, label %.thread1415.sink.split, label %76

76:                                               ; preds = %73
  %77 = load i64, ptr %11, align 8, !tbaa !5
  %78 = icmp slt i64 %77, %62
  br i1 %78, label %.thread1415.sink.split, label %79

79:                                               ; preds = %76
  %80 = load i64, ptr %13, align 8, !tbaa !5
  %81 = icmp slt i64 %80, %65
  br i1 %81, label %.thread1415.sink.split, label %82

82:                                               ; preds = %79
  %83 = load i64, ptr %15, align 8, !tbaa !5
  %84 = icmp slt i64 %83, %62
  br i1 %84, label %.thread1415.sink.split, label %.thread

.thread1415.sink.split:                           ; preds = %82, %79, %76, %73, %70, %67, %64, %61, %.critedge, %56
  %.sink = phi i64 [ -1, %56 ], [ -2, %.critedge ], [ -3, %61 ], [ -4, %64 ], [ -5, %67 ], [ -8, %70 ], [ -10, %73 ], [ -12, %76 ], [ -14, %79 ], [ -16, %82 ]
  store i64 %.sink, ptr %21, align 8, !tbaa !5
  br label %.thread1415

.thread1415:                                      ; preds = %.thread1415.sink.split, %59
  %85 = phi i64 [ %.pr, %59 ], [ %.sink, %.thread1415.sink.split ]
  %86 = sub nsw i64 0, %85
  store i64 %86, ptr %23, align 8, !tbaa !5
  %87 = call i32 @xerbla_(ptr noundef nonnull @.str.2, ptr noundef nonnull %23) #3
  br label %.loopexit1420

.thread:                                          ; preds = %82
  store i64 0, ptr %20, align 8, !tbaa !5
  %88 = load i64, ptr %2, align 8, !tbaa !5
  %89 = icmp slt i64 %88, 1
  br i1 %89, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %.thread, %94
  %.013561424 = phi i64 [ %90, %94 ], [ 0, %.thread ]
  %.013661423 = phi i64 [ %.11367, %94 ], [ 1, %.thread ]
  %90 = add nuw nsw i64 %.013561424, 1
  %91 = getelementptr i64, ptr %19, i64 %.013561424
  store i64 %.013661423, ptr %91, align 8, !tbaa !5
  %92 = load i64, ptr %2, align 8, !tbaa !5
  %93 = icmp eq i64 %.013661423, %92
  br i1 %93, label %._crit_edge, label %94

94:                                               ; preds = %.lr.ph
  %95 = add nsw i64 %.013661423, 1
  %96 = mul nsw i64 %.013661423, %36
  %97 = getelementptr float, ptr %38, i64 %95
  %98 = getelementptr float, ptr %97, i64 %96
  %99 = load float, ptr %98, align 4, !tbaa !9
  %100 = fcmp une float %99, 0.000000e+00
  %101 = add nsw i64 %.013661423, 2
  %.11367 = select i1 %100, i64 %101, i64 %95
  %102 = icmp sgt i64 %.11367, %92
  br i1 %102, label %._crit_edge, label %.lr.ph

._crit_edge:                                      ; preds = %94, %.lr.ph, %.thread
  %103 = phi i64 [ %88, %.thread ], [ %92, %.lr.ph ], [ %92, %94 ]
  %104 = phi i64 [ 0, %.thread ], [ %90, %.lr.ph ], [ %90, %94 ]
  %105 = add nsw i64 %103, 1
  %106 = add nsw i64 %104, 1
  %107 = getelementptr i64, ptr %19, i64 %104
  store i64 %105, ptr %107, align 8, !tbaa !5
  %108 = load i64, ptr %3, align 8, !tbaa !5
  %109 = icmp slt i64 %108, 1
  br i1 %109, label %._crit_edge1431, label %.lr.ph1430

.lr.ph1430:                                       ; preds = %._crit_edge, %114
  %.013541428 = phi i64 [ %110, %114 ], [ %106, %._crit_edge ]
  %.013621427 = phi i64 [ %.11363, %114 ], [ 1, %._crit_edge ]
  %110 = add nsw i64 %.013541428, 1
  %111 = getelementptr i64, ptr %19, i64 %.013541428
  store i64 %.013621427, ptr %111, align 8, !tbaa !5
  %112 = load i64, ptr %3, align 8, !tbaa !5
  %113 = icmp eq i64 %.013621427, %112
  br i1 %113, label %._crit_edge1431, label %114

114:                                              ; preds = %.lr.ph1430
  %115 = add nsw i64 %.013621427, 1
  %116 = mul nsw i64 %.013621427, %39
  %117 = getelementptr float, ptr %41, i64 %115
  %118 = getelementptr float, ptr %117, i64 %116
  %119 = load float, ptr %118, align 4, !tbaa !9
  %120 = fcmp une float %119, 0.000000e+00
  %121 = add nsw i64 %.013621427, 2
  %.11363 = select i1 %120, i64 %121, i64 %115
  %122 = icmp sgt i64 %.11363, %112
  br i1 %122, label %._crit_edge1431, label %.lr.ph1430

._crit_edge1431:                                  ; preds = %114, %.lr.ph1430, %._crit_edge
  %123 = phi i64 [ %108, %._crit_edge ], [ %112, %.lr.ph1430 ], [ %112, %114 ]
  %124 = phi i64 [ %106, %._crit_edge ], [ %110, %.lr.ph1430 ], [ %110, %114 ]
  %125 = add nsw i64 %123, 1
  %126 = getelementptr i64, ptr %19, i64 %124
  store i64 %125, ptr %126, align 8, !tbaa !5
  %127 = xor i64 %104, -1
  %128 = add i64 %124, %127
  %129 = mul nsw i64 %128, %104
  store i64 %129, ptr %20, align 8, !tbaa !5
  store float 1.000000e+00, ptr %16, align 4, !tbaa !9
  store float 1.000000e+00, ptr %35, align 4, !tbaa !9
  br i1 %.not, label %562, label %130

130:                                              ; preds = %._crit_edge1431
  store i64 %124, ptr %23, align 8, !tbaa !5
  %131 = add nsw i64 %104, 2
  %.not13951526 = icmp sgt i64 %131, %124
  br i1 %.not13951526, label %.loopexit1420, label %.lr.ph1529

.lr.ph1529:                                       ; preds = %130
  %invariant.gep1483 = getelementptr i8, ptr %38, i64 4
  %invariant.gep1485 = getelementptr i8, ptr %44, i64 4
  %invariant.gep1487 = getelementptr i8, ptr %47, i64 4
  %invariant.gep1489 = getelementptr i8, ptr %53, i64 4
  %132 = icmp sgt i64 %104, 0
  %133 = getelementptr inbounds i8, ptr %26, i64 4
  %134 = getelementptr inbounds i8, ptr %26, i64 16
  %135 = getelementptr inbounds i8, ptr %26, i64 32
  %136 = getelementptr inbounds i8, ptr %26, i64 36
  %137 = getelementptr inbounds i8, ptr %26, i64 48
  %138 = getelementptr inbounds i8, ptr %26, i64 72
  %139 = getelementptr inbounds i8, ptr %26, i64 76
  %140 = getelementptr inbounds i8, ptr %26, i64 88
  %141 = getelementptr inbounds i8, ptr %26, i64 104
  %142 = getelementptr inbounds i8, ptr %26, i64 108
  %143 = getelementptr inbounds i8, ptr %26, i64 120
  %144 = getelementptr inbounds i8, ptr %26, i64 128
  %145 = getelementptr inbounds i8, ptr %26, i64 136
  %146 = add i64 %48, 1
  %147 = getelementptr inbounds i8, ptr %26, i64 144
  %148 = getelementptr inbounds i8, ptr %26, i64 152
  %149 = getelementptr inbounds i8, ptr %26, i64 164
  %150 = getelementptr inbounds i8, ptr %26, i64 172
  %151 = getelementptr inbounds i8, ptr %26, i64 180
  %152 = getelementptr inbounds i8, ptr %26, i64 188
  %153 = getelementptr inbounds i8, ptr %26, i64 192
  %154 = getelementptr inbounds i8, ptr %26, i64 200
  %155 = getelementptr inbounds i8, ptr %26, i64 216
  %156 = getelementptr inbounds i8, ptr %26, i64 228
  %157 = getelementptr inbounds i8, ptr %26, i64 236
  %158 = getelementptr inbounds i8, ptr %26, i64 252
  %159 = getelementptr inbounds i8, ptr %26, i64 8
  %160 = getelementptr inbounds i8, ptr %26, i64 12
  %161 = getelementptr inbounds i8, ptr %26, i64 40
  %162 = getelementptr inbounds i8, ptr %26, i64 44
  %163 = add i64 %39, 1
  %164 = getelementptr inbounds i8, ptr %26, i64 64
  %165 = getelementptr inbounds i8, ptr %26, i64 68
  %166 = getelementptr inbounds i8, ptr %26, i64 96
  %167 = getelementptr inbounds i8, ptr %26, i64 100
  %168 = getelementptr inbounds i8, ptr %29, i64 4
  %169 = getelementptr inbounds i8, ptr %29, i64 8
  %170 = getelementptr inbounds i8, ptr %29, i64 12
  br i1 %132, label %.lr.ph1517.us, label %.loopexit1420

.lr.ph1517.us:                                    ; preds = %.lr.ph1529, %..loopexit1421_crit_edge.us
  %.213641527.us = phi i64 [ %561, %..loopexit1421_crit_edge.us ], [ %131, %.lr.ph1529 ]
  %171 = getelementptr inbounds i64, ptr %54, i64 %.213641527.us
  %172 = load i64, ptr %171, align 8, !tbaa !5
  %173 = add nsw i64 %172, 1
  %174 = getelementptr i64, ptr %19, i64 %.213641527.us
  %175 = load i64, ptr %174, align 8, !tbaa !5
  %176 = add nsw i64 %175, -1
  %177 = sub i64 %175, %172
  store i64 %177, ptr %28, align 8, !tbaa !5
  %178 = mul nsw i64 %172, %39
  %179 = getelementptr float, ptr %41, i64 %172
  %180 = getelementptr float, ptr %179, i64 %178
  %181 = mul nsw i64 %173, %39
  %182 = getelementptr float, ptr %179, i64 %181
  %183 = mul i64 %172, %146
  %184 = getelementptr inbounds float, ptr %50, i64 %183
  %185 = mul nsw i64 %173, %48
  %186 = getelementptr float, ptr %50, i64 %172
  %187 = getelementptr float, ptr %186, i64 %185
  %188 = getelementptr float, ptr %41, i64 %173
  %189 = getelementptr float, ptr %188, i64 %178
  %190 = getelementptr float, ptr %188, i64 %181
  %191 = getelementptr float, ptr %50, i64 %173
  %192 = getelementptr float, ptr %191, i64 %185
  %193 = mul nsw i64 %172, %42
  %gep1486.us = getelementptr float, ptr %invariant.gep1485, i64 %193
  %194 = mul nsw i64 %172, %51
  %gep1490.us = getelementptr float, ptr %invariant.gep1489, i64 %194
  %195 = icmp slt i64 %.213641527.us, %124
  %196 = mul nsw i64 %175, %39
  %197 = getelementptr float, ptr %179, i64 %196
  %198 = mul nsw i64 %175, %42
  %invariant.gep1518.us = getelementptr float, ptr %44, i64 %198
  %199 = mul nsw i64 %175, %48
  %200 = getelementptr float, ptr %186, i64 %199
  %201 = mul nsw i64 %175, %51
  %invariant.gep1520.us = getelementptr float, ptr %53, i64 %201
  %202 = mul i64 %172, %163
  %203 = getelementptr inbounds float, ptr %41, i64 %202
  %204 = mul nsw i64 %173, %42
  %205 = mul nsw i64 %173, %51
  %206 = getelementptr float, ptr %188, i64 %196
  %207 = getelementptr float, ptr %191, i64 %199
  br label %208

208:                                              ; preds = %.lr.ph1517.us, %550
  %.213681515.us = phi i64 [ %104, %.lr.ph1517.us ], [ %551, %550 ]
  %209 = getelementptr inbounds i64, ptr %54, i64 %.213681515.us
  %210 = load i64, ptr %209, align 8, !tbaa !5
  %211 = add nsw i64 %210, 1
  %212 = getelementptr i64, ptr %19, i64 %.213681515.us
  %213 = load i64, ptr %212, align 8, !tbaa !5
  %214 = sub i64 %213, %210
  store i64 %214, ptr %27, align 8, !tbaa !5
  %215 = load i64, ptr %28, align 8
  %216 = shl i64 %214, 1
  %217 = mul i64 %216, %215
  store i64 %217, ptr %31, align 8, !tbaa !5
  %218 = icmp eq i64 %214, 1
  %219 = icmp eq i64 %215, 1
  %or.cond.us = select i1 %218, i1 %219, i1 false
  br i1 %or.cond.us, label %488, label %220

220:                                              ; preds = %208
  %221 = icmp eq i64 %215, 2
  %or.cond3.us = select i1 %218, i1 %221, i1 false
  br i1 %or.cond3.us, label %404, label %222

222:                                              ; preds = %220
  %223 = icmp eq i64 %214, 2
  %or.cond5.us = select i1 %223, i1 %219, i1 false
  br i1 %or.cond5.us, label %336, label %224

224:                                              ; preds = %222
  %or.cond7.us = select i1 %223, i1 %221, i1 false
  br i1 %or.cond7.us, label %225, label %550

225:                                              ; preds = %224
  %226 = call i32 @slaset_(ptr noundef nonnull @.str.3, ptr noundef nonnull @c__8, ptr noundef nonnull @c__8, ptr noundef nonnull @c_b56, ptr noundef nonnull @c_b56, ptr noundef nonnull %26, ptr noundef nonnull @c__8) #3
  %227 = mul nsw i64 %210, %36
  %228 = getelementptr float, ptr %38, i64 %210
  %229 = getelementptr float, ptr %228, i64 %227
  %230 = load <2 x float>, ptr %229, align 4, !tbaa !9
  store <2 x float> %230, ptr %26, align 16, !tbaa !9
  %231 = mul nsw i64 %210, %45
  %232 = getelementptr float, ptr %47, i64 %210
  %233 = getelementptr float, ptr %232, i64 %231
  %234 = load float, ptr %233, align 4, !tbaa !9
  store float %234, ptr %134, align 16, !tbaa !9
  %235 = mul nsw i64 %211, %36
  %236 = getelementptr float, ptr %228, i64 %235
  %237 = load <2 x float>, ptr %236, align 4, !tbaa !9
  store <2 x float> %237, ptr %135, align 16, !tbaa !9
  %238 = mul nsw i64 %211, %45
  %239 = getelementptr float, ptr %232, i64 %238
  %240 = load <2 x float>, ptr %239, align 4, !tbaa !9
  store <2 x float> %240, ptr %137, align 16, !tbaa !9
  store <2 x float> %230, ptr %138, align 8, !tbaa !9
  store float %234, ptr %140, align 8, !tbaa !9
  store <2 x float> %237, ptr %141, align 8, !tbaa !9
  store <2 x float> %240, ptr %143, align 8, !tbaa !9
  %241 = load float, ptr %180, align 4, !tbaa !9
  %242 = fneg float %241
  store float %242, ptr %144, align 16, !tbaa !9
  %243 = load float, ptr %182, align 4, !tbaa !9
  %244 = fneg float %243
  store float %244, ptr %145, align 8, !tbaa !9
  %245 = load float, ptr %184, align 4, !tbaa !9
  %246 = fneg float %245
  store float %246, ptr %147, align 16, !tbaa !9
  %247 = load float, ptr %187, align 4, !tbaa !9
  %248 = fneg float %247
  store float %248, ptr %148, align 8, !tbaa !9
  store float %242, ptr %149, align 4, !tbaa !9
  store float %244, ptr %150, align 4, !tbaa !9
  store float %246, ptr %151, align 4, !tbaa !9
  store float %248, ptr %152, align 4, !tbaa !9
  %249 = load float, ptr %189, align 4, !tbaa !9
  %250 = fneg float %249
  store float %250, ptr %153, align 16, !tbaa !9
  %251 = load float, ptr %190, align 4, !tbaa !9
  %252 = fneg float %251
  store float %252, ptr %154, align 8, !tbaa !9
  %253 = load float, ptr %192, align 4, !tbaa !9
  %254 = fneg float %253
  store float %254, ptr %155, align 8, !tbaa !9
  store float %250, ptr %156, align 4, !tbaa !9
  store float %252, ptr %157, align 4, !tbaa !9
  store float %254, ptr %158, align 4, !tbaa !9
  %255 = load i64, ptr %27, align 8, !tbaa !5
  %256 = load i64, ptr %28, align 8, !tbaa !5
  %257 = add nsw i64 %256, -1
  store i64 %257, ptr %24, align 8, !tbaa !5
  %.not13961435.us = icmp slt i64 %256, 1
  br i1 %.not13961435.us, label %._crit_edge1441.us, label %.lr.ph1440.us

258:                                              ; preds = %.lr.ph1440.us, %258
  %.013491438.us = phi i64 [ 0, %.lr.ph1440.us ], [ %273, %258 ]
  %.013501437.us = phi i64 [ %554, %.lr.ph1440.us ], [ %272, %258 ]
  %.313611436.us = phi i64 [ 1, %.lr.ph1440.us ], [ %271, %258 ]
  %259 = add nsw i64 %.013491438.us, %172
  %260 = mul nsw i64 %259, %42
  %261 = getelementptr float, ptr %555, i64 %260
  %262 = add nsw i64 %.313611436.us, -1
  %263 = getelementptr inbounds [8 x float], ptr %29, i64 0, i64 %262
  %264 = call i32 @f2c_scopy(ptr noundef nonnull %27, ptr noundef %261, ptr noundef nonnull @c__1, ptr noundef nonnull %263, ptr noundef nonnull @c__1) #3
  %265 = mul nsw i64 %259, %51
  %266 = getelementptr float, ptr %556, i64 %265
  %267 = add nsw i64 %.013501437.us, -1
  %268 = getelementptr inbounds [8 x float], ptr %29, i64 0, i64 %267
  %269 = call i32 @f2c_scopy(ptr noundef nonnull %27, ptr noundef %266, ptr noundef nonnull @c__1, ptr noundef nonnull %268, ptr noundef nonnull @c__1) #3
  %270 = load i64, ptr %27, align 8, !tbaa !5
  %271 = add nsw i64 %270, %.313611436.us
  %272 = add nsw i64 %270, %.013501437.us
  %273 = add nuw nsw i64 %.013491438.us, 1
  %274 = load i64, ptr %24, align 8, !tbaa !5
  %.not1396.us.not = icmp slt i64 %.013491438.us, %274
  br i1 %.not1396.us.not, label %258, label %._crit_edge1441.us, !llvm.loop !11

._crit_edge1441.us:                               ; preds = %258, %225
  %275 = call i32 @sgetc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %30) #3
  %276 = load i64, ptr %30, align 8, !tbaa !5
  %277 = icmp sgt i64 %276, 0
  br i1 %277, label %278, label %279

278:                                              ; preds = %._crit_edge1441.us
  store i64 %276, ptr %21, align 8, !tbaa !5
  br label %279

279:                                              ; preds = %278, %._crit_edge1441.us
  %280 = load i64, ptr %1, align 8, !tbaa !5
  %281 = icmp eq i64 %280, 0
  br i1 %281, label %284, label %282

282:                                              ; preds = %279
  %283 = call i32 @slatdf_(ptr noundef nonnull %1, ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef %17, ptr noundef %18, ptr noundef nonnull %32, ptr noundef nonnull %33) #3
  br label %299

284:                                              ; preds = %279
  %285 = call i32 @sgesc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %35) #3
  %286 = load float, ptr %35, align 4, !tbaa !9
  %287 = fcmp une float %286, 1.000000e+00
  br i1 %287, label %288, label %299

288:                                              ; preds = %284
  %289 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %289, ptr %24, align 8, !tbaa !5
  %.not13971444.us = icmp slt i64 %289, 1
  br i1 %.not13971444.us, label %._crit_edge1448.us, label %.lr.ph1447.us

.lr.ph1447.us:                                    ; preds = %288, %.lr.ph1447.us
  %.41445.us = phi i64 [ %294, %.lr.ph1447.us ], [ 1, %288 ]
  %290 = mul nsw i64 %.41445.us, %42
  %gep.us = getelementptr float, ptr %invariant.gep1485, i64 %290
  %291 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep.us, ptr noundef nonnull @c__1) #3
  %292 = mul nsw i64 %.41445.us, %51
  %gep1443.us = getelementptr float, ptr %invariant.gep1489, i64 %292
  %293 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1443.us, ptr noundef nonnull @c__1) #3
  %294 = add nuw nsw i64 %.41445.us, 1
  %295 = load i64, ptr %24, align 8, !tbaa !5
  %.not1397.us.not = icmp slt i64 %.41445.us, %295
  br i1 %.not1397.us.not, label %.lr.ph1447.us, label %._crit_edge1448.us.loopexit, !llvm.loop !13

._crit_edge1448.us.loopexit:                      ; preds = %.lr.ph1447.us
  %.pre = load float, ptr %35, align 4, !tbaa !9
  br label %._crit_edge1448.us

._crit_edge1448.us:                               ; preds = %._crit_edge1448.us.loopexit, %288
  %296 = phi float [ %.pre, %._crit_edge1448.us.loopexit ], [ %286, %288 ]
  %297 = load float, ptr %16, align 4, !tbaa !9
  %298 = fmul float %296, %297
  store float %298, ptr %16, align 4, !tbaa !9
  br label %299

299:                                              ; preds = %._crit_edge1448.us, %284, %282
  %300 = load i64, ptr %27, align 8, !tbaa !5
  %301 = load i64, ptr %28, align 8, !tbaa !5
  %302 = add nsw i64 %301, -1
  store i64 %302, ptr %24, align 8, !tbaa !5
  %.not13981449.us = icmp slt i64 %301, 1
  br i1 %.not13981449.us, label %._crit_edge1455.us, label %.lr.ph1454.us

303:                                              ; preds = %.lr.ph1454.us, %303
  %.11452.us = phi i64 [ 0, %.lr.ph1454.us ], [ %318, %303 ]
  %.113511451.us = phi i64 [ %558, %.lr.ph1454.us ], [ %317, %303 ]
  %.51450.us = phi i64 [ 1, %.lr.ph1454.us ], [ %316, %303 ]
  %304 = add nsw i64 %.51450.us, -1
  %305 = getelementptr inbounds [8 x float], ptr %29, i64 0, i64 %304
  %306 = add nsw i64 %.11452.us, %172
  %307 = mul nsw i64 %306, %42
  %308 = getelementptr float, ptr %559, i64 %307
  %309 = call i32 @f2c_scopy(ptr noundef nonnull %27, ptr noundef nonnull %305, ptr noundef nonnull @c__1, ptr noundef %308, ptr noundef nonnull @c__1) #3
  %310 = add nsw i64 %.113511451.us, -1
  %311 = getelementptr inbounds [8 x float], ptr %29, i64 0, i64 %310
  %312 = mul nsw i64 %306, %51
  %313 = getelementptr float, ptr %560, i64 %312
  %314 = call i32 @f2c_scopy(ptr noundef nonnull %27, ptr noundef nonnull %311, ptr noundef nonnull @c__1, ptr noundef %313, ptr noundef nonnull @c__1) #3
  %315 = load i64, ptr %27, align 8, !tbaa !5
  %316 = add nsw i64 %315, %.51450.us
  %317 = add nsw i64 %315, %.113511451.us
  %318 = add nuw nsw i64 %.11452.us, 1
  %319 = load i64, ptr %24, align 8, !tbaa !5
  %.not1398.us.not = icmp slt i64 %.11452.us, %319
  br i1 %.not1398.us.not, label %303, label %._crit_edge1455.us, !llvm.loop !14

._crit_edge1455.us:                               ; preds = %303, %299
  %.not1399.us = icmp eq i64 %.213681515.us, 1
  br i1 %.not1399.us, label %324, label %320

320:                                              ; preds = %._crit_edge1455.us
  %321 = add nsw i64 %210, -1
  store i64 %321, ptr %24, align 8, !tbaa !5
  %gep1484.us = getelementptr float, ptr %invariant.gep1483, i64 %227
  %322 = call i32 @f2c_sgemm(ptr noundef nonnull @.str, ptr noundef nonnull @.str, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %27, ptr noundef nonnull @c_b27, ptr noundef %gep1484.us, ptr noundef nonnull %5, ptr noundef nonnull %29, ptr noundef nonnull %27, ptr noundef nonnull @c_b42, ptr noundef %gep1486.us, ptr noundef nonnull %9) #3
  store i64 %321, ptr %24, align 8, !tbaa !5
  %gep1488.us = getelementptr float, ptr %invariant.gep1487, i64 %231
  %323 = call i32 @f2c_sgemm(ptr noundef nonnull @.str, ptr noundef nonnull @.str, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull %27, ptr noundef nonnull @c_b27, ptr noundef %gep1488.us, ptr noundef nonnull %11, ptr noundef nonnull %29, ptr noundef nonnull %27, ptr noundef nonnull @c_b42, ptr noundef %gep1490.us, ptr noundef nonnull %15) #3
  br label %324

324:                                              ; preds = %320, %._crit_edge1455.us
  br i1 %195, label %325, label %550

325:                                              ; preds = %324
  %326 = load i64, ptr %27, align 8, !tbaa !5
  %327 = load i64, ptr %28, align 8, !tbaa !5
  %328 = mul nsw i64 %327, %326
  %329 = load i64, ptr %3, align 8, !tbaa !5
  %330 = sub nsw i64 %329, %176
  store i64 %330, ptr %24, align 8, !tbaa !5
  %331 = getelementptr inbounds [8 x float], ptr %29, i64 0, i64 %328
  %gep1519.us = getelementptr float, ptr %invariant.gep1518.us, i64 %210
  %332 = call i32 @f2c_sgemm(ptr noundef nonnull @.str, ptr noundef nonnull @.str, ptr noundef nonnull %27, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull @c_b42, ptr noundef nonnull %331, ptr noundef nonnull %27, ptr noundef %197, ptr noundef nonnull %7, ptr noundef nonnull @c_b42, ptr noundef %gep1519.us, ptr noundef nonnull %9) #3
  %333 = load i64, ptr %3, align 8, !tbaa !5
  %334 = sub nsw i64 %333, %176
  store i64 %334, ptr %24, align 8, !tbaa !5
  %gep1521.us = getelementptr float, ptr %invariant.gep1520.us, i64 %210
  %335 = call i32 @f2c_sgemm(ptr noundef nonnull @.str, ptr noundef nonnull @.str, ptr noundef nonnull %27, ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull @c_b42, ptr noundef nonnull %331, ptr noundef nonnull %27, ptr noundef %200, ptr noundef nonnull %13, ptr noundef nonnull @c_b42, ptr noundef %gep1521.us, ptr noundef nonnull %15) #3
  br label %550

336:                                              ; preds = %222
  %337 = mul nsw i64 %210, %36
  %338 = getelementptr float, ptr %38, i64 %210
  %339 = getelementptr float, ptr %338, i64 %337
  %340 = load <2 x float>, ptr %339, align 4, !tbaa !9
  store <2 x float> %340, ptr %26, align 16, !tbaa !9
  %341 = mul nsw i64 %210, %45
  %342 = getelementptr float, ptr %47, i64 %210
  %343 = getelementptr float, ptr %342, i64 %341
  %344 = load float, ptr %343, align 4, !tbaa !9
  store float %344, ptr %159, align 8, !tbaa !9
  store float 0.000000e+00, ptr %160, align 4, !tbaa !9
  %345 = mul nsw i64 %211, %36
  %346 = getelementptr float, ptr %338, i64 %345
  %347 = load <2 x float>, ptr %346, align 4, !tbaa !9
  %348 = mul nsw i64 %211, %45
  %349 = getelementptr float, ptr %342, i64 %348
  %350 = load <2 x float>, ptr %349, align 4, !tbaa !9
  %351 = shufflevector <2 x float> %347, <2 x float> %350, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  store <4 x float> %351, ptr %135, align 16, !tbaa !9
  %352 = load float, ptr %203, align 4, !tbaa !9
  %353 = fneg float %352
  store float %353, ptr %164, align 16, !tbaa !9
  store float 0.000000e+00, ptr %165, align 4, !tbaa !9
  %354 = load float, ptr %184, align 4, !tbaa !9
  %355 = fneg float %354
  store float %355, ptr %138, align 8, !tbaa !9
  store float 0.000000e+00, ptr %139, align 4, !tbaa !9
  store float 0.000000e+00, ptr %166, align 16, !tbaa !9
  store float %353, ptr %167, align 4, !tbaa !9
  store float 0.000000e+00, ptr %141, align 8, !tbaa !9
  store float %355, ptr %142, align 4, !tbaa !9
  %356 = getelementptr float, ptr %44, i64 %210
  %357 = getelementptr float, ptr %356, i64 %193
  %358 = load <2 x float>, ptr %357, align 4, !tbaa !9
  %359 = getelementptr float, ptr %53, i64 %210
  %360 = getelementptr float, ptr %359, i64 %194
  %361 = load <2 x float>, ptr %360, align 4, !tbaa !9
  %362 = shufflevector <2 x float> %358, <2 x float> %361, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  store <4 x float> %362, ptr %29, align 16, !tbaa !9
  %363 = call i32 @sgetc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %30) #3
  %364 = load i64, ptr %30, align 8, !tbaa !5
  %365 = icmp sgt i64 %364, 0
  br i1 %365, label %366, label %367

366:                                              ; preds = %336
  store i64 %364, ptr %21, align 8, !tbaa !5
  br label %367

367:                                              ; preds = %366, %336
  %368 = load i64, ptr %1, align 8, !tbaa !5
  %369 = icmp eq i64 %368, 0
  br i1 %369, label %372, label %370

370:                                              ; preds = %367
  %371 = call i32 @slatdf_(ptr noundef nonnull %1, ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef %17, ptr noundef %18, ptr noundef nonnull %32, ptr noundef nonnull %33) #3
  br label %387

372:                                              ; preds = %367
  %373 = call i32 @sgesc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %35) #3
  %374 = load float, ptr %35, align 4, !tbaa !9
  %375 = fcmp une float %374, 1.000000e+00
  br i1 %375, label %376, label %387

376:                                              ; preds = %372
  %377 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %377, ptr %24, align 8, !tbaa !5
  %.not14001460.us = icmp slt i64 %377, 1
  br i1 %.not14001460.us, label %._crit_edge1464.us, label %.lr.ph1463.us

.lr.ph1463.us:                                    ; preds = %376, %.lr.ph1463.us
  %.213601461.us = phi i64 [ %382, %.lr.ph1463.us ], [ 1, %376 ]
  %378 = mul nsw i64 %.213601461.us, %42
  %gep1457.us = getelementptr float, ptr %invariant.gep1485, i64 %378
  %379 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1457.us, ptr noundef nonnull @c__1) #3
  %380 = mul nsw i64 %.213601461.us, %51
  %gep1459.us = getelementptr float, ptr %invariant.gep1489, i64 %380
  %381 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1459.us, ptr noundef nonnull @c__1) #3
  %382 = add nuw nsw i64 %.213601461.us, 1
  %383 = load i64, ptr %24, align 8, !tbaa !5
  %.not1400.us.not = icmp slt i64 %.213601461.us, %383
  br i1 %.not1400.us.not, label %.lr.ph1463.us, label %._crit_edge1464.us.loopexit, !llvm.loop !15

._crit_edge1464.us.loopexit:                      ; preds = %.lr.ph1463.us
  %.pre1615 = load float, ptr %35, align 4, !tbaa !9
  br label %._crit_edge1464.us

._crit_edge1464.us:                               ; preds = %._crit_edge1464.us.loopexit, %376
  %384 = phi float [ %.pre1615, %._crit_edge1464.us.loopexit ], [ %374, %376 ]
  %385 = load float, ptr %16, align 4, !tbaa !9
  %386 = fmul float %384, %385
  store float %386, ptr %16, align 4, !tbaa !9
  br label %387

387:                                              ; preds = %._crit_edge1464.us, %372, %370
  %388 = load <2 x float>, ptr %29, align 16, !tbaa !9
  store <2 x float> %388, ptr %357, align 4, !tbaa !9
  %389 = load <2 x float>, ptr %169, align 8, !tbaa !9
  store <2 x float> %389, ptr %360, align 4, !tbaa !9
  %.not1401.us = icmp eq i64 %.213681515.us, 1
  br i1 %.not1401.us, label %394, label %390

390:                                              ; preds = %387
  %391 = add nsw i64 %210, -1
  store i64 %391, ptr %24, align 8, !tbaa !5
  %gep1492.us = getelementptr float, ptr %invariant.gep1483, i64 %337
  %392 = call i32 @f2c_sgemv(ptr noundef nonnull @.str, ptr noundef nonnull %24, ptr noundef nonnull %27, ptr noundef nonnull @c_b27, ptr noundef %gep1492.us, ptr noundef nonnull %5, ptr noundef nonnull %29, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b42, ptr noundef %gep1486.us, ptr noundef nonnull @c__1) #3
  store i64 %391, ptr %24, align 8, !tbaa !5
  %gep1496.us = getelementptr float, ptr %invariant.gep1487, i64 %341
  %393 = call i32 @f2c_sgemv(ptr noundef nonnull @.str, ptr noundef nonnull %24, ptr noundef nonnull %27, ptr noundef nonnull @c_b27, ptr noundef %gep1496.us, ptr noundef nonnull %11, ptr noundef nonnull %29, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b42, ptr noundef %gep1490.us, ptr noundef nonnull @c__1) #3
  br label %394

394:                                              ; preds = %390, %387
  br i1 %195, label %395, label %550

395:                                              ; preds = %394
  %396 = load i64, ptr %3, align 8, !tbaa !5
  %397 = sub nsw i64 %396, %176
  store i64 %397, ptr %24, align 8, !tbaa !5
  %398 = getelementptr float, ptr %356, i64 %198
  %399 = call i32 @f2c_sger(ptr noundef nonnull %27, ptr noundef nonnull %24, ptr noundef nonnull @c_b42, ptr noundef nonnull %169, ptr noundef nonnull @c__1, ptr noundef %197, ptr noundef nonnull %7, ptr noundef %398, ptr noundef nonnull %9) #3
  %400 = load i64, ptr %3, align 8, !tbaa !5
  %401 = sub nsw i64 %400, %176
  store i64 %401, ptr %24, align 8, !tbaa !5
  %402 = getelementptr float, ptr %359, i64 %201
  %403 = call i32 @f2c_sger(ptr noundef nonnull %27, ptr noundef nonnull %24, ptr noundef nonnull @c_b42, ptr noundef nonnull %169, ptr noundef nonnull @c__1, ptr noundef %200, ptr noundef nonnull %13, ptr noundef %402, ptr noundef nonnull %15) #3
  br label %550

404:                                              ; preds = %220
  %405 = mul nsw i64 %210, %36
  %406 = getelementptr float, ptr %38, i64 %210
  %407 = getelementptr float, ptr %406, i64 %405
  %408 = load float, ptr %407, align 4, !tbaa !9
  store float %408, ptr %26, align 16, !tbaa !9
  store float 0.000000e+00, ptr %133, align 4, !tbaa !9
  %409 = mul nsw i64 %210, %45
  %410 = getelementptr float, ptr %47, i64 %210
  %411 = getelementptr float, ptr %410, i64 %409
  %412 = load float, ptr %411, align 4, !tbaa !9
  store float %412, ptr %159, align 8, !tbaa !9
  store float 0.000000e+00, ptr %160, align 4, !tbaa !9
  store float 0.000000e+00, ptr %135, align 16, !tbaa !9
  store float %408, ptr %136, align 4, !tbaa !9
  store float 0.000000e+00, ptr %161, align 8, !tbaa !9
  store float %412, ptr %162, align 4, !tbaa !9
  %413 = load float, ptr %180, align 4, !tbaa !9
  %414 = load float, ptr %182, align 4, !tbaa !9
  %415 = load float, ptr %184, align 4, !tbaa !9
  %416 = load float, ptr %187, align 4, !tbaa !9
  %417 = insertelement <4 x float> poison, float %413, i64 0
  %418 = insertelement <4 x float> %417, float %414, i64 1
  %419 = insertelement <4 x float> %418, float %415, i64 2
  %420 = insertelement <4 x float> %419, float %416, i64 3
  %421 = fneg <4 x float> %420
  store <4 x float> %421, ptr %164, align 16, !tbaa !9
  %422 = load float, ptr %189, align 4, !tbaa !9
  %423 = load float, ptr %190, align 4, !tbaa !9
  %424 = insertelement <2 x float> poison, float %422, i64 0
  %425 = insertelement <2 x float> %424, float %423, i64 1
  %426 = fneg <2 x float> %425
  store <2 x float> %426, ptr %166, align 16, !tbaa !9
  store float 0.000000e+00, ptr %141, align 8, !tbaa !9
  %427 = load float, ptr %192, align 4, !tbaa !9
  %428 = fneg float %427
  store float %428, ptr %142, align 4, !tbaa !9
  %429 = getelementptr float, ptr %44, i64 %210
  %430 = getelementptr float, ptr %429, i64 %193
  %431 = load float, ptr %430, align 4, !tbaa !9
  store float %431, ptr %29, align 16, !tbaa !9
  %432 = getelementptr float, ptr %429, i64 %204
  %433 = load float, ptr %432, align 4, !tbaa !9
  store float %433, ptr %168, align 4, !tbaa !9
  %434 = getelementptr float, ptr %53, i64 %210
  %435 = getelementptr float, ptr %434, i64 %194
  %436 = load float, ptr %435, align 4, !tbaa !9
  store float %436, ptr %169, align 8, !tbaa !9
  %437 = getelementptr float, ptr %434, i64 %205
  %438 = load float, ptr %437, align 4, !tbaa !9
  store float %438, ptr %170, align 4, !tbaa !9
  %439 = call i32 @sgetc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %30) #3
  %440 = load i64, ptr %30, align 8, !tbaa !5
  %441 = icmp sgt i64 %440, 0
  br i1 %441, label %442, label %443

442:                                              ; preds = %404
  store i64 %440, ptr %21, align 8, !tbaa !5
  br label %443

443:                                              ; preds = %442, %404
  %444 = load i64, ptr %1, align 8, !tbaa !5
  %445 = icmp eq i64 %444, 0
  br i1 %445, label %448, label %446

446:                                              ; preds = %443
  %447 = call i32 @slatdf_(ptr noundef nonnull %1, ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef %17, ptr noundef %18, ptr noundef nonnull %32, ptr noundef nonnull %33) #3
  br label %463

448:                                              ; preds = %443
  %449 = call i32 @sgesc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %35) #3
  %450 = load float, ptr %35, align 4, !tbaa !9
  %451 = fcmp une float %450, 1.000000e+00
  br i1 %451, label %452, label %463

452:                                              ; preds = %448
  %453 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %453, ptr %24, align 8, !tbaa !5
  %.not14021469.us = icmp slt i64 %453, 1
  br i1 %.not14021469.us, label %._crit_edge1473.us, label %.lr.ph1472.us

.lr.ph1472.us:                                    ; preds = %452, %.lr.ph1472.us
  %.113591470.us = phi i64 [ %458, %.lr.ph1472.us ], [ 1, %452 ]
  %454 = mul nsw i64 %.113591470.us, %42
  %gep1466.us = getelementptr float, ptr %invariant.gep1485, i64 %454
  %455 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1466.us, ptr noundef nonnull @c__1) #3
  %456 = mul nsw i64 %.113591470.us, %51
  %gep1468.us = getelementptr float, ptr %invariant.gep1489, i64 %456
  %457 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1468.us, ptr noundef nonnull @c__1) #3
  %458 = add nuw nsw i64 %.113591470.us, 1
  %459 = load i64, ptr %24, align 8, !tbaa !5
  %.not1402.us.not = icmp slt i64 %.113591470.us, %459
  br i1 %.not1402.us.not, label %.lr.ph1472.us, label %._crit_edge1473.us.loopexit, !llvm.loop !16

._crit_edge1473.us.loopexit:                      ; preds = %.lr.ph1472.us
  %.pre1616 = load float, ptr %35, align 4, !tbaa !9
  br label %._crit_edge1473.us

._crit_edge1473.us:                               ; preds = %._crit_edge1473.us.loopexit, %452
  %460 = phi float [ %.pre1616, %._crit_edge1473.us.loopexit ], [ %450, %452 ]
  %461 = load float, ptr %16, align 4, !tbaa !9
  %462 = fmul float %460, %461
  store float %462, ptr %16, align 4, !tbaa !9
  br label %463

463:                                              ; preds = %._crit_edge1473.us, %448, %446
  %464 = load float, ptr %29, align 16, !tbaa !9
  store float %464, ptr %430, align 4, !tbaa !9
  %465 = load float, ptr %168, align 4, !tbaa !9
  store float %465, ptr %432, align 4, !tbaa !9
  %466 = load float, ptr %169, align 8, !tbaa !9
  store float %466, ptr %435, align 4, !tbaa !9
  %467 = load float, ptr %170, align 4, !tbaa !9
  store float %467, ptr %437, align 4, !tbaa !9
  %.not1403.us = icmp eq i64 %.213681515.us, 1
  br i1 %.not1403.us, label %472, label %468

468:                                              ; preds = %463
  %469 = add nsw i64 %210, -1
  store i64 %469, ptr %24, align 8, !tbaa !5
  %gep1500.us = getelementptr float, ptr %invariant.gep1483, i64 %405
  %470 = call i32 @f2c_sger(ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull @c_b27, ptr noundef %gep1500.us, ptr noundef nonnull @c__1, ptr noundef nonnull %29, ptr noundef nonnull @c__1, ptr noundef %gep1486.us, ptr noundef nonnull %9) #3
  store i64 %469, ptr %24, align 8, !tbaa !5
  %gep1504.us = getelementptr float, ptr %invariant.gep1487, i64 %409
  %471 = call i32 @f2c_sger(ptr noundef nonnull %24, ptr noundef nonnull %28, ptr noundef nonnull @c_b27, ptr noundef %gep1504.us, ptr noundef nonnull @c__1, ptr noundef nonnull %29, ptr noundef nonnull @c__1, ptr noundef %gep1490.us, ptr noundef nonnull %15) #3
  br label %472

472:                                              ; preds = %468, %463
  br i1 %195, label %473, label %550

473:                                              ; preds = %472
  %474 = load i64, ptr %3, align 8, !tbaa !5
  %475 = sub nsw i64 %474, %176
  store i64 %475, ptr %24, align 8, !tbaa !5
  %476 = getelementptr float, ptr %429, i64 %198
  %477 = call i32 @f2c_saxpy(ptr noundef nonnull %24, ptr noundef nonnull %169, ptr noundef %197, ptr noundef nonnull %7, ptr noundef %476, ptr noundef nonnull %9) #3
  %478 = load i64, ptr %3, align 8, !tbaa !5
  %479 = sub nsw i64 %478, %176
  store i64 %479, ptr %24, align 8, !tbaa !5
  %480 = getelementptr float, ptr %434, i64 %201
  %481 = call i32 @f2c_saxpy(ptr noundef nonnull %24, ptr noundef nonnull %169, ptr noundef %200, ptr noundef nonnull %13, ptr noundef %480, ptr noundef nonnull %15) #3
  %482 = load i64, ptr %3, align 8, !tbaa !5
  %483 = sub nsw i64 %482, %176
  store i64 %483, ptr %24, align 8, !tbaa !5
  %484 = call i32 @f2c_saxpy(ptr noundef nonnull %24, ptr noundef nonnull %170, ptr noundef %206, ptr noundef nonnull %7, ptr noundef %476, ptr noundef nonnull %9) #3
  %485 = load i64, ptr %3, align 8, !tbaa !5
  %486 = sub nsw i64 %485, %176
  store i64 %486, ptr %24, align 8, !tbaa !5
  %487 = call i32 @f2c_saxpy(ptr noundef nonnull %24, ptr noundef nonnull %170, ptr noundef %207, ptr noundef nonnull %13, ptr noundef %480, ptr noundef nonnull %15) #3
  br label %550

488:                                              ; preds = %208
  %489 = mul nsw i64 %210, %36
  %490 = getelementptr float, ptr %38, i64 %210
  %491 = getelementptr float, ptr %490, i64 %489
  %492 = load float, ptr %491, align 4, !tbaa !9
  store float %492, ptr %26, align 16, !tbaa !9
  %493 = mul nsw i64 %210, %45
  %494 = getelementptr float, ptr %47, i64 %210
  %495 = getelementptr float, ptr %494, i64 %493
  %496 = load float, ptr %495, align 4, !tbaa !9
  store float %496, ptr %133, align 4, !tbaa !9
  %497 = load float, ptr %203, align 4, !tbaa !9
  %498 = load float, ptr %184, align 4, !tbaa !9
  %499 = insertelement <2 x float> poison, float %497, i64 0
  %500 = insertelement <2 x float> %499, float %498, i64 1
  %501 = fneg <2 x float> %500
  store <2 x float> %501, ptr %135, align 16, !tbaa !9
  %502 = getelementptr float, ptr %44, i64 %210
  %503 = getelementptr float, ptr %502, i64 %193
  %504 = load float, ptr %503, align 4, !tbaa !9
  store float %504, ptr %29, align 16, !tbaa !9
  %505 = getelementptr float, ptr %53, i64 %210
  %506 = getelementptr float, ptr %505, i64 %194
  %507 = load float, ptr %506, align 4, !tbaa !9
  store float %507, ptr %168, align 4, !tbaa !9
  %508 = call i32 @sgetc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %30) #3
  %509 = load i64, ptr %30, align 8, !tbaa !5
  %510 = icmp sgt i64 %509, 0
  br i1 %510, label %511, label %512

511:                                              ; preds = %488
  store i64 %509, ptr %21, align 8, !tbaa !5
  br label %512

512:                                              ; preds = %511, %488
  %513 = load i64, ptr %1, align 8, !tbaa !5
  %514 = icmp eq i64 %513, 0
  br i1 %514, label %517, label %515

515:                                              ; preds = %512
  %516 = call i32 @slatdf_(ptr noundef nonnull %1, ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef %17, ptr noundef %18, ptr noundef nonnull %32, ptr noundef nonnull %33) #3
  br label %532

517:                                              ; preds = %512
  %518 = call i32 @sgesc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %35) #3
  %519 = load float, ptr %35, align 4, !tbaa !9
  %520 = fcmp une float %519, 1.000000e+00
  br i1 %520, label %521, label %532

521:                                              ; preds = %517
  %522 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %522, ptr %24, align 8, !tbaa !5
  %.not14041478.us = icmp slt i64 %522, 1
  br i1 %.not14041478.us, label %._crit_edge1482.us, label %.lr.ph1481.us

.lr.ph1481.us:                                    ; preds = %521, %.lr.ph1481.us
  %.013581479.us = phi i64 [ %527, %.lr.ph1481.us ], [ 1, %521 ]
  %523 = mul nsw i64 %.013581479.us, %42
  %gep1475.us = getelementptr float, ptr %invariant.gep1485, i64 %523
  %524 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1475.us, ptr noundef nonnull @c__1) #3
  %525 = mul nsw i64 %.013581479.us, %51
  %gep1477.us = getelementptr float, ptr %invariant.gep1489, i64 %525
  %526 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1477.us, ptr noundef nonnull @c__1) #3
  %527 = add nuw nsw i64 %.013581479.us, 1
  %528 = load i64, ptr %24, align 8, !tbaa !5
  %.not1404.us.not = icmp slt i64 %.013581479.us, %528
  br i1 %.not1404.us.not, label %.lr.ph1481.us, label %._crit_edge1482.us.loopexit, !llvm.loop !17

._crit_edge1482.us.loopexit:                      ; preds = %.lr.ph1481.us
  %.pre1617 = load float, ptr %35, align 4, !tbaa !9
  br label %._crit_edge1482.us

._crit_edge1482.us:                               ; preds = %._crit_edge1482.us.loopexit, %521
  %529 = phi float [ %.pre1617, %._crit_edge1482.us.loopexit ], [ %519, %521 ]
  %530 = load float, ptr %16, align 4, !tbaa !9
  %531 = fmul float %529, %530
  store float %531, ptr %16, align 4, !tbaa !9
  br label %532

532:                                              ; preds = %._crit_edge1482.us, %517, %515
  %533 = load float, ptr %29, align 16, !tbaa !9
  store float %533, ptr %503, align 4, !tbaa !9
  %534 = load float, ptr %168, align 4, !tbaa !9
  store float %534, ptr %506, align 4, !tbaa !9
  %.not1405.us = icmp eq i64 %.213681515.us, 1
  br i1 %.not1405.us, label %540, label %535

535:                                              ; preds = %532
  %536 = fneg float %533
  store float %536, ptr %34, align 4, !tbaa !9
  %537 = add nsw i64 %210, -1
  store i64 %537, ptr %24, align 8, !tbaa !5
  %gep1508.us = getelementptr float, ptr %invariant.gep1483, i64 %489
  %538 = call i32 @f2c_saxpy(ptr noundef nonnull %24, ptr noundef nonnull %34, ptr noundef %gep1508.us, ptr noundef nonnull @c__1, ptr noundef %gep1486.us, ptr noundef nonnull @c__1) #3
  store i64 %537, ptr %24, align 8, !tbaa !5
  %gep1512.us = getelementptr float, ptr %invariant.gep1487, i64 %493
  %539 = call i32 @f2c_saxpy(ptr noundef nonnull %24, ptr noundef nonnull %34, ptr noundef %gep1512.us, ptr noundef nonnull @c__1, ptr noundef %gep1490.us, ptr noundef nonnull @c__1) #3
  br label %540

540:                                              ; preds = %535, %532
  br i1 %195, label %541, label %550

541:                                              ; preds = %540
  %542 = load i64, ptr %3, align 8, !tbaa !5
  %543 = sub nsw i64 %542, %176
  store i64 %543, ptr %24, align 8, !tbaa !5
  %544 = getelementptr float, ptr %502, i64 %198
  %545 = call i32 @f2c_saxpy(ptr noundef nonnull %24, ptr noundef nonnull %168, ptr noundef %197, ptr noundef nonnull %7, ptr noundef %544, ptr noundef nonnull %9) #3
  %546 = load i64, ptr %3, align 8, !tbaa !5
  %547 = sub nsw i64 %546, %176
  store i64 %547, ptr %24, align 8, !tbaa !5
  %548 = getelementptr float, ptr %505, i64 %201
  %549 = call i32 @f2c_saxpy(ptr noundef nonnull %24, ptr noundef nonnull %168, ptr noundef %200, ptr noundef nonnull %13, ptr noundef %548, ptr noundef nonnull %15) #3
  br label %550

550:                                              ; preds = %541, %540, %473, %472, %395, %394, %325, %324, %224
  %551 = add nsw i64 %.213681515.us, -1
  %552 = icmp sgt i64 %.213681515.us, 1
  br i1 %552, label %208, label %..loopexit1421_crit_edge.us, !llvm.loop !18

.lr.ph1440.us:                                    ; preds = %225
  %553 = mul nsw i64 %256, %255
  %554 = add nsw i64 %553, 1
  %555 = getelementptr float, ptr %44, i64 %210
  %556 = getelementptr float, ptr %53, i64 %210
  br label %258

.lr.ph1454.us:                                    ; preds = %299
  %557 = mul nsw i64 %301, %300
  %558 = add nsw i64 %557, 1
  %559 = getelementptr float, ptr %44, i64 %210
  %560 = getelementptr float, ptr %53, i64 %210
  br label %303

..loopexit1421_crit_edge.us:                      ; preds = %550
  %561 = add nuw nsw i64 %.213641527.us, 1
  br i1 %195, label %.lr.ph1517.us, label %.loopexit1420, !llvm.loop !19

562:                                              ; preds = %._crit_edge1431
  store i64 %104, ptr %23, align 8, !tbaa !5
  %.not13871609 = icmp slt i64 %104, 1
  br i1 %.not13871609, label %.loopexit1420, label %.lr.ph1612

.lr.ph1612:                                       ; preds = %562
  %563 = add nuw nsw i64 %104, 2
  %invariant.gep1585 = getelementptr i8, ptr %41, i64 4
  %invariant.gep1587 = getelementptr i8, ptr %50, i64 4
  %564 = getelementptr inbounds i8, ptr %26, i64 4
  %565 = getelementptr inbounds i8, ptr %26, i64 16
  %566 = getelementptr inbounds i8, ptr %26, i64 24
  %567 = getelementptr inbounds i8, ptr %26, i64 32
  %568 = getelementptr inbounds i8, ptr %26, i64 36
  %569 = getelementptr inbounds i8, ptr %26, i64 52
  %570 = getelementptr inbounds i8, ptr %26, i64 60
  %571 = getelementptr inbounds i8, ptr %26, i64 72
  %572 = getelementptr inbounds i8, ptr %26, i64 76
  %573 = getelementptr inbounds i8, ptr %26, i64 80
  %574 = getelementptr inbounds i8, ptr %26, i64 88
  %575 = getelementptr inbounds i8, ptr %26, i64 104
  %576 = getelementptr inbounds i8, ptr %26, i64 108
  %577 = getelementptr inbounds i8, ptr %26, i64 116
  %578 = getelementptr inbounds i8, ptr %26, i64 124
  %579 = add i64 %45, 1
  %580 = getelementptr inbounds i8, ptr %26, i64 128
  %581 = getelementptr inbounds i8, ptr %26, i64 132
  %582 = getelementptr inbounds i8, ptr %26, i64 144
  %583 = getelementptr inbounds i8, ptr %26, i64 164
  %584 = getelementptr inbounds i8, ptr %26, i64 180
  %585 = getelementptr inbounds i8, ptr %26, i64 200
  %586 = getelementptr inbounds i8, ptr %26, i64 204
  %587 = getelementptr inbounds i8, ptr %26, i64 208
  %588 = getelementptr inbounds i8, ptr %26, i64 216
  %589 = getelementptr inbounds i8, ptr %26, i64 236
  %590 = getelementptr inbounds i8, ptr %26, i64 244
  %591 = getelementptr inbounds i8, ptr %26, i64 252
  %invariant.gep1543 = getelementptr i8, ptr %44, i64 4
  %invariant.gep1544 = getelementptr i8, ptr %53, i64 4
  %592 = getelementptr inbounds i8, ptr %26, i64 8
  %593 = getelementptr inbounds i8, ptr %26, i64 12
  %594 = getelementptr inbounds i8, ptr %26, i64 40
  %595 = getelementptr inbounds i8, ptr %26, i64 44
  %596 = getelementptr inbounds i8, ptr %26, i64 64
  %597 = getelementptr inbounds i8, ptr %26, i64 68
  %598 = getelementptr inbounds i8, ptr %26, i64 96
  %599 = getelementptr inbounds i8, ptr %26, i64 100
  %600 = getelementptr inbounds i8, ptr %29, i64 4
  %601 = getelementptr inbounds i8, ptr %29, i64 8
  %602 = getelementptr inbounds i8, ptr %29, i64 12
  %603 = add i64 %36, 1
  %.not13881605 = icmp slt i64 %124, %563
  br label %604

.loopexit:                                        ; preds = %972, %604
  %.not1387.not = icmp slt i64 %.313691610, %104
  br i1 %.not1387.not, label %604, label %.loopexit1420, !llvm.loop !20

604:                                              ; preds = %.lr.ph1612, %.loopexit
  %.313691610 = phi i64 [ 1, %.lr.ph1612 ], [ %607, %.loopexit ]
  %605 = getelementptr inbounds i64, ptr %54, i64 %.313691610
  %606 = load i64, ptr %605, align 8, !tbaa !5
  %607 = add nuw nsw i64 %.313691610, 1
  %608 = getelementptr i64, ptr %19, i64 %.313691610
  %609 = load i64, ptr %608, align 8, !tbaa !5
  %610 = add nsw i64 %609, -1
  %611 = sub i64 %609, %606
  store i64 %611, ptr %27, align 8, !tbaa !5
  store i64 %563, ptr %24, align 8, !tbaa !5
  br i1 %.not13881605, label %.loopexit, label %.lr.ph1608

.lr.ph1608:                                       ; preds = %604
  %612 = add nsw i64 %606, 1
  %613 = mul nsw i64 %606, %36
  %614 = getelementptr float, ptr %38, i64 %606
  %615 = getelementptr float, ptr %614, i64 %613
  %616 = mul nsw i64 %612, %36
  %617 = getelementptr float, ptr %614, i64 %616
  %618 = getelementptr float, ptr %38, i64 %612
  %619 = getelementptr float, ptr %618, i64 %613
  %620 = getelementptr float, ptr %618, i64 %616
  %621 = mul i64 %606, %579
  %622 = getelementptr inbounds float, ptr %47, i64 %621
  %623 = mul nsw i64 %612, %45
  %624 = getelementptr float, ptr %47, i64 %606
  %625 = getelementptr float, ptr %624, i64 %623
  %626 = getelementptr float, ptr %47, i64 %612
  %627 = getelementptr float, ptr %626, i64 %623
  %628 = getelementptr float, ptr %44, i64 %606
  %629 = getelementptr float, ptr %53, i64 %606
  %630 = getelementptr float, ptr %629, i64 %51
  %631 = icmp slt i64 %.313691610, %104
  %632 = mul nsw i64 %609, %36
  %633 = getelementptr float, ptr %614, i64 %632
  %634 = getelementptr float, ptr %44, i64 %609
  %635 = mul nsw i64 %609, %45
  %636 = getelementptr float, ptr %624, i64 %635
  %637 = mul i64 %606, %603
  %638 = getelementptr inbounds float, ptr %38, i64 %637
  br label %639

639:                                              ; preds = %.lr.ph1608, %972
  %.313651606 = phi i64 [ %124, %.lr.ph1608 ], [ %973, %972 ]
  %640 = getelementptr inbounds i64, ptr %54, i64 %.313651606
  %641 = load i64, ptr %640, align 8, !tbaa !5
  %642 = add nsw i64 %641, 1
  %643 = getelementptr i64, ptr %19, i64 %.313651606
  %644 = load i64, ptr %643, align 8, !tbaa !5
  %645 = sub i64 %644, %641
  store i64 %645, ptr %28, align 8, !tbaa !5
  %646 = load i64, ptr %27, align 8, !tbaa !5
  %647 = shl i64 %645, 1
  %648 = mul i64 %647, %646
  store i64 %648, ptr %31, align 8, !tbaa !5
  %649 = icmp eq i64 %646, 1
  %650 = icmp eq i64 %645, 1
  %or.cond9 = select i1 %649, i1 %650, i1 false
  br i1 %or.cond9, label %651, label %711

651:                                              ; preds = %639
  %652 = load float, ptr %638, align 4, !tbaa !9
  store float %652, ptr %26, align 16, !tbaa !9
  %653 = mul nsw i64 %641, %39
  %654 = getelementptr float, ptr %41, i64 %641
  %655 = getelementptr float, ptr %654, i64 %653
  %656 = load float, ptr %655, align 4, !tbaa !9
  %657 = fneg float %656
  store float %657, ptr %564, align 4, !tbaa !9
  %658 = load float, ptr %622, align 4, !tbaa !9
  store float %658, ptr %567, align 16, !tbaa !9
  %659 = mul nsw i64 %641, %48
  %660 = getelementptr float, ptr %50, i64 %641
  %661 = getelementptr float, ptr %660, i64 %659
  %662 = load float, ptr %661, align 4, !tbaa !9
  %663 = fneg float %662
  store float %663, ptr %568, align 4, !tbaa !9
  %664 = mul nsw i64 %641, %42
  %665 = getelementptr float, ptr %628, i64 %664
  %666 = load float, ptr %665, align 4, !tbaa !9
  store float %666, ptr %29, align 16, !tbaa !9
  %667 = mul nsw i64 %641, %51
  %668 = getelementptr float, ptr %629, i64 %667
  %669 = load float, ptr %668, align 4, !tbaa !9
  store float %669, ptr %600, align 4, !tbaa !9
  %670 = call i32 @sgetc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %30) #3
  %671 = load i64, ptr %30, align 8, !tbaa !5
  %672 = icmp sgt i64 %671, 0
  br i1 %672, label %673, label %674

673:                                              ; preds = %651
  store i64 %671, ptr %21, align 8, !tbaa !5
  br label %674

674:                                              ; preds = %673, %651
  %675 = call i32 @sgesc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %35) #3
  %676 = load float, ptr %35, align 4, !tbaa !9
  %677 = fcmp une float %676, 1.000000e+00
  br i1 %677, label %678, label %689

678:                                              ; preds = %674
  %679 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %679, ptr %25, align 8, !tbaa !5
  %.not13941580 = icmp slt i64 %679, 1
  br i1 %.not13941580, label %._crit_edge1584, label %.lr.ph1583

.lr.ph1583:                                       ; preds = %678, %.lr.ph1583
  %.61581 = phi i64 [ %684, %.lr.ph1583 ], [ 1, %678 ]
  %680 = mul nsw i64 %.61581, %42
  %gep1577 = getelementptr float, ptr %invariant.gep1543, i64 %680
  %681 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1577, ptr noundef nonnull @c__1) #3
  %682 = mul nsw i64 %.61581, %51
  %gep1579 = getelementptr float, ptr %invariant.gep1544, i64 %682
  %683 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1579, ptr noundef nonnull @c__1) #3
  %684 = add nuw nsw i64 %.61581, 1
  %685 = load i64, ptr %25, align 8, !tbaa !5
  %.not1394.not = icmp slt i64 %.61581, %685
  br i1 %.not1394.not, label %.lr.ph1583, label %._crit_edge1584.loopexit, !llvm.loop !21

._crit_edge1584.loopexit:                         ; preds = %.lr.ph1583
  %.pre1621 = load float, ptr %35, align 4, !tbaa !9
  br label %._crit_edge1584

._crit_edge1584:                                  ; preds = %._crit_edge1584.loopexit, %678
  %686 = phi float [ %.pre1621, %._crit_edge1584.loopexit ], [ %676, %678 ]
  %687 = load float, ptr %16, align 4, !tbaa !9
  %688 = fmul float %686, %687
  store float %688, ptr %16, align 4, !tbaa !9
  br label %689

689:                                              ; preds = %._crit_edge1584, %674
  %690 = load float, ptr %29, align 16, !tbaa !9
  store float %690, ptr %665, align 4, !tbaa !9
  %691 = load float, ptr %600, align 4, !tbaa !9
  store float %691, ptr %668, align 4, !tbaa !9
  %692 = icmp sgt i64 %.313651606, %563
  br i1 %692, label %693, label %698

693:                                              ; preds = %689
  store float %690, ptr %34, align 4, !tbaa !9
  %694 = add nsw i64 %641, -1
  store i64 %694, ptr %25, align 8, !tbaa !5
  %gep1602 = getelementptr float, ptr %invariant.gep1585, i64 %653
  %695 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %34, ptr noundef %gep1602, ptr noundef nonnull @c__1, ptr noundef %630, ptr noundef nonnull %15) #3
  %696 = load float, ptr %600, align 4, !tbaa !9
  store float %696, ptr %34, align 4, !tbaa !9
  store i64 %694, ptr %25, align 8, !tbaa !5
  %gep1604 = getelementptr float, ptr %invariant.gep1587, i64 %659
  %697 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %34, ptr noundef %gep1604, ptr noundef nonnull @c__1, ptr noundef %630, ptr noundef nonnull %15) #3
  br label %698

698:                                              ; preds = %693, %689
  br i1 %631, label %699, label %972

699:                                              ; preds = %698
  %700 = load float, ptr %29, align 16, !tbaa !9
  %701 = fneg float %700
  store float %701, ptr %34, align 4, !tbaa !9
  %702 = load i64, ptr %2, align 8, !tbaa !5
  %703 = sub nsw i64 %702, %610
  store i64 %703, ptr %25, align 8, !tbaa !5
  %704 = getelementptr float, ptr %634, i64 %664
  %705 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %34, ptr noundef %633, ptr noundef nonnull %5, ptr noundef %704, ptr noundef nonnull @c__1) #3
  %706 = load float, ptr %600, align 4, !tbaa !9
  %707 = fneg float %706
  store float %707, ptr %34, align 4, !tbaa !9
  %708 = load i64, ptr %2, align 8, !tbaa !5
  %709 = sub nsw i64 %708, %610
  store i64 %709, ptr %25, align 8, !tbaa !5
  %710 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %34, ptr noundef %636, ptr noundef nonnull %11, ptr noundef %704, ptr noundef nonnull @c__1) #3
  br label %972

711:                                              ; preds = %639
  %712 = icmp eq i64 %645, 2
  %or.cond11 = select i1 %649, i1 %712, i1 false
  br i1 %or.cond11, label %713, label %786

713:                                              ; preds = %711
  %714 = load float, ptr %638, align 4, !tbaa !9
  store float %714, ptr %26, align 16, !tbaa !9
  store float 0.000000e+00, ptr %564, align 4, !tbaa !9
  %715 = mul nsw i64 %641, %39
  %716 = getelementptr float, ptr %41, i64 %641
  %717 = getelementptr float, ptr %716, i64 %715
  %718 = load <2 x float>, ptr %717, align 4, !tbaa !9
  %719 = fneg <2 x float> %718
  store <2 x float> %719, ptr %592, align 8, !tbaa !9
  store float 0.000000e+00, ptr %567, align 16, !tbaa !9
  store float %714, ptr %568, align 4, !tbaa !9
  %720 = mul nsw i64 %642, %39
  %721 = getelementptr float, ptr %716, i64 %720
  %722 = load <2 x float>, ptr %721, align 4, !tbaa !9
  %723 = fneg <2 x float> %722
  store <2 x float> %723, ptr %594, align 8, !tbaa !9
  %724 = load float, ptr %622, align 4, !tbaa !9
  store float %724, ptr %596, align 16, !tbaa !9
  store float 0.000000e+00, ptr %597, align 4, !tbaa !9
  %725 = mul nsw i64 %641, %48
  %726 = getelementptr float, ptr %50, i64 %641
  %727 = getelementptr float, ptr %726, i64 %725
  %728 = load float, ptr %727, align 4, !tbaa !9
  %729 = fneg float %728
  store float %729, ptr %571, align 8, !tbaa !9
  store float 0.000000e+00, ptr %572, align 4, !tbaa !9
  store float 0.000000e+00, ptr %598, align 16, !tbaa !9
  store float %724, ptr %599, align 4, !tbaa !9
  %730 = mul nsw i64 %642, %48
  %731 = getelementptr float, ptr %726, i64 %730
  %732 = load <2 x float>, ptr %731, align 4, !tbaa !9
  %733 = fneg <2 x float> %732
  store <2 x float> %733, ptr %575, align 8, !tbaa !9
  %734 = mul nsw i64 %641, %42
  %735 = getelementptr float, ptr %628, i64 %734
  %736 = load float, ptr %735, align 4, !tbaa !9
  store float %736, ptr %29, align 16, !tbaa !9
  %737 = mul nsw i64 %642, %42
  %738 = getelementptr float, ptr %628, i64 %737
  %739 = load float, ptr %738, align 4, !tbaa !9
  store float %739, ptr %600, align 4, !tbaa !9
  %740 = mul nsw i64 %641, %51
  %741 = getelementptr float, ptr %629, i64 %740
  %742 = load float, ptr %741, align 4, !tbaa !9
  store float %742, ptr %601, align 8, !tbaa !9
  %743 = mul nsw i64 %642, %51
  %744 = getelementptr float, ptr %629, i64 %743
  %745 = load float, ptr %744, align 4, !tbaa !9
  store float %745, ptr %602, align 4, !tbaa !9
  %746 = call i32 @sgetc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %30) #3
  %747 = load i64, ptr %30, align 8, !tbaa !5
  %748 = icmp sgt i64 %747, 0
  br i1 %748, label %749, label %750

749:                                              ; preds = %713
  store i64 %747, ptr %21, align 8, !tbaa !5
  br label %750

750:                                              ; preds = %749, %713
  %751 = call i32 @sgesc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %35) #3
  %752 = load float, ptr %35, align 4, !tbaa !9
  %753 = fcmp une float %752, 1.000000e+00
  br i1 %753, label %754, label %765

754:                                              ; preds = %750
  %755 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %755, ptr %25, align 8, !tbaa !5
  %.not13931571 = icmp slt i64 %755, 1
  br i1 %.not13931571, label %._crit_edge1575, label %.lr.ph1574

.lr.ph1574:                                       ; preds = %754, %.lr.ph1574
  %.71572 = phi i64 [ %760, %.lr.ph1574 ], [ 1, %754 ]
  %756 = mul nsw i64 %.71572, %42
  %gep1568 = getelementptr float, ptr %invariant.gep1543, i64 %756
  %757 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1568, ptr noundef nonnull @c__1) #3
  %758 = mul nsw i64 %.71572, %51
  %gep1570 = getelementptr float, ptr %invariant.gep1544, i64 %758
  %759 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1570, ptr noundef nonnull @c__1) #3
  %760 = add nuw nsw i64 %.71572, 1
  %761 = load i64, ptr %25, align 8, !tbaa !5
  %.not1393.not = icmp slt i64 %.71572, %761
  br i1 %.not1393.not, label %.lr.ph1574, label %._crit_edge1575.loopexit, !llvm.loop !22

._crit_edge1575.loopexit:                         ; preds = %.lr.ph1574
  %.pre1620 = load float, ptr %35, align 4, !tbaa !9
  br label %._crit_edge1575

._crit_edge1575:                                  ; preds = %._crit_edge1575.loopexit, %754
  %762 = phi float [ %.pre1620, %._crit_edge1575.loopexit ], [ %752, %754 ]
  %763 = load float, ptr %16, align 4, !tbaa !9
  %764 = fmul float %762, %763
  store float %764, ptr %16, align 4, !tbaa !9
  br label %765

765:                                              ; preds = %._crit_edge1575, %750
  %766 = load float, ptr %29, align 16, !tbaa !9
  store float %766, ptr %735, align 4, !tbaa !9
  %767 = load float, ptr %600, align 4, !tbaa !9
  store float %767, ptr %738, align 4, !tbaa !9
  %768 = load float, ptr %601, align 8, !tbaa !9
  store float %768, ptr %741, align 4, !tbaa !9
  %769 = load float, ptr %602, align 4, !tbaa !9
  store float %769, ptr %744, align 4, !tbaa !9
  %770 = icmp sgt i64 %.313651606, %563
  br i1 %770, label %771, label %777

771:                                              ; preds = %765
  %772 = add nsw i64 %641, -1
  store i64 %772, ptr %25, align 8, !tbaa !5
  %gep1594 = getelementptr float, ptr %invariant.gep1585, i64 %715
  %773 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %29, ptr noundef %gep1594, ptr noundef nonnull @c__1, ptr noundef %630, ptr noundef nonnull %15) #3
  store i64 %772, ptr %25, align 8, !tbaa !5
  %gep1596 = getelementptr float, ptr %invariant.gep1585, i64 %720
  %774 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %600, ptr noundef %gep1596, ptr noundef nonnull @c__1, ptr noundef %630, ptr noundef nonnull %15) #3
  store i64 %772, ptr %25, align 8, !tbaa !5
  %gep1598 = getelementptr float, ptr %invariant.gep1587, i64 %725
  %775 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %601, ptr noundef %gep1598, ptr noundef nonnull @c__1, ptr noundef %630, ptr noundef nonnull %15) #3
  store i64 %772, ptr %25, align 8, !tbaa !5
  %gep1600 = getelementptr float, ptr %invariant.gep1587, i64 %730
  %776 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %602, ptr noundef %gep1600, ptr noundef nonnull @c__1, ptr noundef %630, ptr noundef nonnull %15) #3
  br label %777

777:                                              ; preds = %771, %765
  br i1 %631, label %778, label %972

778:                                              ; preds = %777
  %779 = load i64, ptr %2, align 8, !tbaa !5
  %780 = sub nsw i64 %779, %610
  store i64 %780, ptr %25, align 8, !tbaa !5
  %781 = getelementptr float, ptr %634, i64 %734
  %782 = call i32 @f2c_sger(ptr noundef nonnull %25, ptr noundef nonnull %28, ptr noundef nonnull @c_b27, ptr noundef %633, ptr noundef nonnull %5, ptr noundef nonnull %29, ptr noundef nonnull @c__1, ptr noundef %781, ptr noundef nonnull %9) #3
  %783 = load i64, ptr %2, align 8, !tbaa !5
  %784 = sub nsw i64 %783, %610
  store i64 %784, ptr %25, align 8, !tbaa !5
  %785 = call i32 @f2c_sger(ptr noundef nonnull %25, ptr noundef nonnull %28, ptr noundef nonnull @c_b27, ptr noundef %636, ptr noundef nonnull %11, ptr noundef nonnull %601, ptr noundef nonnull @c__1, ptr noundef %781, ptr noundef nonnull %9) #3
  br label %972

786:                                              ; preds = %711
  %787 = icmp eq i64 %646, 2
  %or.cond13 = select i1 %787, i1 %650, i1 false
  br i1 %or.cond13, label %788, label %849

788:                                              ; preds = %786
  %789 = load float, ptr %615, align 4, !tbaa !9
  store float %789, ptr %26, align 16, !tbaa !9
  %790 = load float, ptr %617, align 4, !tbaa !9
  store float %790, ptr %564, align 4, !tbaa !9
  %791 = mul nsw i64 %641, %39
  %792 = getelementptr float, ptr %41, i64 %641
  %793 = getelementptr float, ptr %792, i64 %791
  %794 = load float, ptr %793, align 4, !tbaa !9
  %795 = fneg float %794
  store float %795, ptr %592, align 8, !tbaa !9
  store float 0.000000e+00, ptr %593, align 4, !tbaa !9
  %796 = load float, ptr %619, align 4, !tbaa !9
  store float %796, ptr %567, align 16, !tbaa !9
  %797 = load float, ptr %620, align 4, !tbaa !9
  store float %797, ptr %568, align 4, !tbaa !9
  store float 0.000000e+00, ptr %594, align 8, !tbaa !9
  store float %795, ptr %595, align 4, !tbaa !9
  %798 = load float, ptr %622, align 4, !tbaa !9
  store float %798, ptr %596, align 16, !tbaa !9
  %799 = load float, ptr %625, align 4, !tbaa !9
  store float %799, ptr %597, align 4, !tbaa !9
  %800 = mul nsw i64 %641, %48
  %801 = getelementptr float, ptr %50, i64 %641
  %802 = getelementptr float, ptr %801, i64 %800
  %803 = load float, ptr %802, align 4, !tbaa !9
  %804 = fneg float %803
  store float %804, ptr %571, align 8, !tbaa !9
  store float 0.000000e+00, ptr %572, align 4, !tbaa !9
  store float 0.000000e+00, ptr %598, align 16, !tbaa !9
  %805 = load float, ptr %627, align 4, !tbaa !9
  store float %805, ptr %599, align 4, !tbaa !9
  store float 0.000000e+00, ptr %575, align 8, !tbaa !9
  store float %804, ptr %576, align 4, !tbaa !9
  %806 = mul nsw i64 %641, %42
  %807 = getelementptr float, ptr %628, i64 %806
  %808 = load <2 x float>, ptr %807, align 4, !tbaa !9
  %809 = mul nsw i64 %641, %51
  %810 = getelementptr float, ptr %629, i64 %809
  %811 = load <2 x float>, ptr %810, align 4, !tbaa !9
  %812 = shufflevector <2 x float> %808, <2 x float> %811, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  store <4 x float> %812, ptr %29, align 16, !tbaa !9
  %813 = call i32 @sgetc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %30) #3
  %814 = load i64, ptr %30, align 8, !tbaa !5
  %815 = icmp sgt i64 %814, 0
  br i1 %815, label %816, label %817

816:                                              ; preds = %788
  store i64 %814, ptr %21, align 8, !tbaa !5
  br label %817

817:                                              ; preds = %816, %788
  %818 = call i32 @sgesc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %35) #3
  %819 = load float, ptr %35, align 4, !tbaa !9
  %820 = fcmp une float %819, 1.000000e+00
  br i1 %820, label %821, label %832

821:                                              ; preds = %817
  %822 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %822, ptr %25, align 8, !tbaa !5
  %.not13921562 = icmp slt i64 %822, 1
  br i1 %.not13921562, label %._crit_edge1566, label %.lr.ph1565

.lr.ph1565:                                       ; preds = %821, %.lr.ph1565
  %.81563 = phi i64 [ %827, %.lr.ph1565 ], [ 1, %821 ]
  %823 = mul nsw i64 %.81563, %42
  %gep1559 = getelementptr float, ptr %invariant.gep1543, i64 %823
  %824 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1559, ptr noundef nonnull @c__1) #3
  %825 = mul nsw i64 %.81563, %51
  %gep1561 = getelementptr float, ptr %invariant.gep1544, i64 %825
  %826 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1561, ptr noundef nonnull @c__1) #3
  %827 = add nuw nsw i64 %.81563, 1
  %828 = load i64, ptr %25, align 8, !tbaa !5
  %.not1392.not = icmp slt i64 %.81563, %828
  br i1 %.not1392.not, label %.lr.ph1565, label %._crit_edge1566.loopexit, !llvm.loop !23

._crit_edge1566.loopexit:                         ; preds = %.lr.ph1565
  %.pre1619 = load float, ptr %35, align 4, !tbaa !9
  br label %._crit_edge1566

._crit_edge1566:                                  ; preds = %._crit_edge1566.loopexit, %821
  %829 = phi float [ %.pre1619, %._crit_edge1566.loopexit ], [ %819, %821 ]
  %830 = load float, ptr %16, align 4, !tbaa !9
  %831 = fmul float %829, %830
  store float %831, ptr %16, align 4, !tbaa !9
  br label %832

832:                                              ; preds = %._crit_edge1566, %817
  %833 = load <2 x float>, ptr %29, align 16, !tbaa !9
  store <2 x float> %833, ptr %807, align 4, !tbaa !9
  %834 = load <2 x float>, ptr %601, align 8, !tbaa !9
  store <2 x float> %834, ptr %810, align 4, !tbaa !9
  %835 = icmp sgt i64 %.313651606, %563
  br i1 %835, label %836, label %840

836:                                              ; preds = %832
  %837 = add nsw i64 %641, -1
  store i64 %837, ptr %25, align 8, !tbaa !5
  %gep1590 = getelementptr float, ptr %invariant.gep1585, i64 %791
  %838 = call i32 @f2c_sger(ptr noundef nonnull %27, ptr noundef nonnull %25, ptr noundef nonnull @c_b42, ptr noundef nonnull %29, ptr noundef nonnull @c__1, ptr noundef %gep1590, ptr noundef nonnull @c__1, ptr noundef %630, ptr noundef nonnull %15) #3
  store i64 %837, ptr %25, align 8, !tbaa !5
  %gep1592 = getelementptr float, ptr %invariant.gep1587, i64 %800
  %839 = call i32 @f2c_sger(ptr noundef nonnull %27, ptr noundef nonnull %25, ptr noundef nonnull @c_b42, ptr noundef nonnull %601, ptr noundef nonnull @c__1, ptr noundef %gep1592, ptr noundef nonnull @c__1, ptr noundef %630, ptr noundef nonnull %15) #3
  br label %840

840:                                              ; preds = %836, %832
  br i1 %631, label %841, label %972

841:                                              ; preds = %840
  %842 = load i64, ptr %2, align 8, !tbaa !5
  %843 = sub nsw i64 %842, %610
  store i64 %843, ptr %25, align 8, !tbaa !5
  %844 = getelementptr float, ptr %634, i64 %806
  %845 = call i32 @f2c_sgemv(ptr noundef nonnull @.str.1, ptr noundef nonnull %27, ptr noundef nonnull %25, ptr noundef nonnull @c_b27, ptr noundef %633, ptr noundef nonnull %5, ptr noundef nonnull %29, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b42, ptr noundef %844, ptr noundef nonnull @c__1) #3
  %846 = load i64, ptr %2, align 8, !tbaa !5
  %847 = sub nsw i64 %846, %610
  store i64 %847, ptr %25, align 8, !tbaa !5
  %848 = call i32 @f2c_sgemv(ptr noundef nonnull @.str.1, ptr noundef nonnull %27, ptr noundef nonnull %25, ptr noundef nonnull @c_b27, ptr noundef %636, ptr noundef nonnull %11, ptr noundef nonnull %601, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b42, ptr noundef %844, ptr noundef nonnull @c__1) #3
  br label %972

849:                                              ; preds = %786
  %or.cond15 = select i1 %787, i1 %712, i1 false
  br i1 %or.cond15, label %850, label %972

850:                                              ; preds = %849
  %851 = call i32 @slaset_(ptr noundef nonnull @.str.3, ptr noundef nonnull @c__8, ptr noundef nonnull @c__8, ptr noundef nonnull @c_b56, ptr noundef nonnull @c_b56, ptr noundef nonnull %26, ptr noundef nonnull @c__8) #3
  %852 = load float, ptr %615, align 4, !tbaa !9
  store float %852, ptr %26, align 16, !tbaa !9
  %853 = load float, ptr %617, align 4, !tbaa !9
  store float %853, ptr %564, align 4, !tbaa !9
  %854 = mul nsw i64 %641, %39
  %855 = getelementptr float, ptr %41, i64 %641
  %856 = getelementptr float, ptr %855, i64 %854
  %857 = load float, ptr %856, align 4, !tbaa !9
  %858 = fneg float %857
  store float %858, ptr %565, align 16, !tbaa !9
  %859 = getelementptr float, ptr %41, i64 %642
  %860 = getelementptr float, ptr %859, i64 %854
  %861 = load float, ptr %860, align 4, !tbaa !9
  %862 = fneg float %861
  store float %862, ptr %566, align 8, !tbaa !9
  %863 = load float, ptr %619, align 4, !tbaa !9
  store float %863, ptr %567, align 16, !tbaa !9
  %864 = load float, ptr %620, align 4, !tbaa !9
  store float %864, ptr %568, align 4, !tbaa !9
  store float %858, ptr %569, align 4, !tbaa !9
  store float %862, ptr %570, align 4, !tbaa !9
  store float %852, ptr %571, align 8, !tbaa !9
  store float %853, ptr %572, align 4, !tbaa !9
  %865 = mul nsw i64 %642, %39
  %866 = getelementptr float, ptr %855, i64 %865
  %867 = load float, ptr %866, align 4, !tbaa !9
  %868 = fneg float %867
  store float %868, ptr %573, align 16, !tbaa !9
  %869 = getelementptr float, ptr %859, i64 %865
  %870 = load float, ptr %869, align 4, !tbaa !9
  %871 = fneg float %870
  store float %871, ptr %574, align 8, !tbaa !9
  store float %863, ptr %575, align 8, !tbaa !9
  store float %864, ptr %576, align 4, !tbaa !9
  store float %868, ptr %577, align 4, !tbaa !9
  store float %871, ptr %578, align 4, !tbaa !9
  %872 = load float, ptr %622, align 4, !tbaa !9
  store float %872, ptr %580, align 16, !tbaa !9
  %873 = load float, ptr %625, align 4, !tbaa !9
  store float %873, ptr %581, align 4, !tbaa !9
  %874 = mul nsw i64 %641, %48
  %875 = getelementptr float, ptr %50, i64 %641
  %876 = getelementptr float, ptr %875, i64 %874
  %877 = load float, ptr %876, align 4, !tbaa !9
  %878 = fneg float %877
  store float %878, ptr %582, align 16, !tbaa !9
  %879 = load float, ptr %627, align 4, !tbaa !9
  store float %879, ptr %583, align 4, !tbaa !9
  store float %878, ptr %584, align 4, !tbaa !9
  store float %872, ptr %585, align 8, !tbaa !9
  store float %873, ptr %586, align 4, !tbaa !9
  %880 = mul nsw i64 %642, %48
  %881 = getelementptr float, ptr %875, i64 %880
  %882 = load float, ptr %881, align 4, !tbaa !9
  %883 = fneg float %882
  store float %883, ptr %587, align 16, !tbaa !9
  %884 = getelementptr float, ptr %50, i64 %642
  %885 = getelementptr float, ptr %884, i64 %880
  %886 = load float, ptr %885, align 4, !tbaa !9
  %887 = fneg float %886
  store float %887, ptr %588, align 8, !tbaa !9
  store float %879, ptr %589, align 4, !tbaa !9
  store float %883, ptr %590, align 4, !tbaa !9
  store float %887, ptr %591, align 4, !tbaa !9
  %888 = load i64, ptr %27, align 8, !tbaa !5
  %889 = load i64, ptr %28, align 8, !tbaa !5
  %890 = add nsw i64 %889, -1
  store i64 %890, ptr %25, align 8, !tbaa !5
  %.not13891536 = icmp slt i64 %889, 1
  br i1 %.not13891536, label %._crit_edge1542, label %.lr.ph1541.preheader

.lr.ph1541.preheader:                             ; preds = %850
  %891 = mul nsw i64 %889, %888
  %892 = add nsw i64 %891, 1
  br label %.lr.ph1541

.lr.ph1541:                                       ; preds = %.lr.ph1541.preheader, %.lr.ph1541
  %.21539 = phi i64 [ %907, %.lr.ph1541 ], [ 0, %.lr.ph1541.preheader ]
  %.213521538 = phi i64 [ %906, %.lr.ph1541 ], [ %892, %.lr.ph1541.preheader ]
  %.91537 = phi i64 [ %905, %.lr.ph1541 ], [ 1, %.lr.ph1541.preheader ]
  %893 = add nsw i64 %.21539, %641
  %894 = mul nsw i64 %893, %42
  %895 = getelementptr float, ptr %628, i64 %894
  %896 = add nsw i64 %.91537, -1
  %897 = getelementptr inbounds [8 x float], ptr %29, i64 0, i64 %896
  %898 = call i32 @f2c_scopy(ptr noundef nonnull %27, ptr noundef %895, ptr noundef nonnull @c__1, ptr noundef nonnull %897, ptr noundef nonnull @c__1) #3
  %899 = mul nsw i64 %893, %51
  %900 = getelementptr float, ptr %629, i64 %899
  %901 = add nsw i64 %.213521538, -1
  %902 = getelementptr inbounds [8 x float], ptr %29, i64 0, i64 %901
  %903 = call i32 @f2c_scopy(ptr noundef nonnull %27, ptr noundef %900, ptr noundef nonnull @c__1, ptr noundef nonnull %902, ptr noundef nonnull @c__1) #3
  %904 = load i64, ptr %27, align 8, !tbaa !5
  %905 = add nsw i64 %904, %.91537
  %906 = add nsw i64 %904, %.213521538
  %907 = add nuw nsw i64 %.21539, 1
  %908 = load i64, ptr %25, align 8, !tbaa !5
  %.not1389.not = icmp slt i64 %.21539, %908
  br i1 %.not1389.not, label %.lr.ph1541, label %._crit_edge1542, !llvm.loop !24

._crit_edge1542:                                  ; preds = %.lr.ph1541, %850
  %909 = call i32 @sgetc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %30) #3
  %910 = load i64, ptr %30, align 8, !tbaa !5
  %911 = icmp sgt i64 %910, 0
  br i1 %911, label %912, label %913

912:                                              ; preds = %._crit_edge1542
  store i64 %910, ptr %21, align 8, !tbaa !5
  br label %913

913:                                              ; preds = %912, %._crit_edge1542
  %914 = call i32 @sgesc2_(ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef nonnull @c__8, ptr noundef nonnull %29, ptr noundef nonnull %32, ptr noundef nonnull %33, ptr noundef nonnull %35) #3
  %915 = load float, ptr %35, align 4, !tbaa !9
  %916 = fcmp une float %915, 1.000000e+00
  br i1 %916, label %917, label %928

917:                                              ; preds = %913
  %918 = load i64, ptr %3, align 8, !tbaa !5
  store i64 %918, ptr %25, align 8, !tbaa !5
  %.not13901546 = icmp slt i64 %918, 1
  br i1 %.not13901546, label %._crit_edge1550, label %.lr.ph1549

.lr.ph1549:                                       ; preds = %917, %.lr.ph1549
  %.101547 = phi i64 [ %923, %.lr.ph1549 ], [ 1, %917 ]
  %919 = mul nsw i64 %.101547, %42
  %gep = getelementptr float, ptr %invariant.gep1543, i64 %919
  %920 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep, ptr noundef nonnull @c__1) #3
  %921 = mul nsw i64 %.101547, %51
  %gep1545 = getelementptr float, ptr %invariant.gep1544, i64 %921
  %922 = call i32 @f2c_sscal(ptr noundef nonnull %2, ptr noundef nonnull %35, ptr noundef %gep1545, ptr noundef nonnull @c__1) #3
  %923 = add nuw nsw i64 %.101547, 1
  %924 = load i64, ptr %25, align 8, !tbaa !5
  %.not1390.not = icmp slt i64 %.101547, %924
  br i1 %.not1390.not, label %.lr.ph1549, label %._crit_edge1550.loopexit, !llvm.loop !25

._crit_edge1550.loopexit:                         ; preds = %.lr.ph1549
  %.pre1618 = load float, ptr %35, align 4, !tbaa !9
  br label %._crit_edge1550

._crit_edge1550:                                  ; preds = %._crit_edge1550.loopexit, %917
  %925 = phi float [ %.pre1618, %._crit_edge1550.loopexit ], [ %915, %917 ]
  %926 = load float, ptr %16, align 4, !tbaa !9
  %927 = fmul float %925, %926
  store float %927, ptr %16, align 4, !tbaa !9
  br label %928

928:                                              ; preds = %._crit_edge1550, %913
  %929 = load i64, ptr %27, align 8, !tbaa !5
  %930 = load i64, ptr %28, align 8, !tbaa !5
  %931 = add nsw i64 %930, -1
  store i64 %931, ptr %25, align 8, !tbaa !5
  %.not13911551 = icmp slt i64 %930, 1
  br i1 %.not13911551, label %._crit_edge1557, label %.lr.ph1556.preheader

.lr.ph1556.preheader:                             ; preds = %928
  %932 = mul nsw i64 %930, %929
  %933 = add nsw i64 %932, 1
  br label %.lr.ph1556

.lr.ph1556:                                       ; preds = %.lr.ph1556.preheader, %.lr.ph1556
  %.31554 = phi i64 [ %948, %.lr.ph1556 ], [ 0, %.lr.ph1556.preheader ]
  %.313531553 = phi i64 [ %947, %.lr.ph1556 ], [ %933, %.lr.ph1556.preheader ]
  %.111552 = phi i64 [ %946, %.lr.ph1556 ], [ 1, %.lr.ph1556.preheader ]
  %934 = add nsw i64 %.111552, -1
  %935 = getelementptr inbounds [8 x float], ptr %29, i64 0, i64 %934
  %936 = add nsw i64 %.31554, %641
  %937 = mul nsw i64 %936, %42
  %938 = getelementptr float, ptr %628, i64 %937
  %939 = call i32 @f2c_scopy(ptr noundef nonnull %27, ptr noundef nonnull %935, ptr noundef nonnull @c__1, ptr noundef %938, ptr noundef nonnull @c__1) #3
  %940 = add nsw i64 %.313531553, -1
  %941 = getelementptr inbounds [8 x float], ptr %29, i64 0, i64 %940
  %942 = mul nsw i64 %936, %51
  %943 = getelementptr float, ptr %629, i64 %942
  %944 = call i32 @f2c_scopy(ptr noundef nonnull %27, ptr noundef nonnull %941, ptr noundef nonnull @c__1, ptr noundef %943, ptr noundef nonnull @c__1) #3
  %945 = load i64, ptr %27, align 8, !tbaa !5
  %946 = add nsw i64 %945, %.111552
  %947 = add nsw i64 %945, %.313531553
  %948 = add nuw nsw i64 %.31554, 1
  %949 = load i64, ptr %25, align 8, !tbaa !5
  %.not1391.not = icmp slt i64 %.31554, %949
  br i1 %.not1391.not, label %.lr.ph1556, label %._crit_edge1557, !llvm.loop !26

._crit_edge1557:                                  ; preds = %.lr.ph1556, %928
  %950 = icmp sgt i64 %.313651606, %563
  br i1 %950, label %951, label %959

951:                                              ; preds = %._crit_edge1557
  %952 = add nsw i64 %641, -1
  store i64 %952, ptr %25, align 8, !tbaa !5
  %953 = mul nsw i64 %641, %42
  %954 = getelementptr float, ptr %628, i64 %953
  %gep1586 = getelementptr float, ptr %invariant.gep1585, i64 %854
  %955 = call i32 @f2c_sgemm(ptr noundef nonnull @.str, ptr noundef nonnull @.str.1, ptr noundef nonnull %27, ptr noundef nonnull %25, ptr noundef nonnull %28, ptr noundef nonnull @c_b42, ptr noundef %954, ptr noundef nonnull %9, ptr noundef %gep1586, ptr noundef nonnull %7, ptr noundef nonnull @c_b42, ptr noundef %630, ptr noundef nonnull %15) #3
  store i64 %952, ptr %25, align 8, !tbaa !5
  %956 = mul nsw i64 %641, %51
  %957 = getelementptr float, ptr %629, i64 %956
  %gep1588 = getelementptr float, ptr %invariant.gep1587, i64 %874
  %958 = call i32 @f2c_sgemm(ptr noundef nonnull @.str, ptr noundef nonnull @.str.1, ptr noundef nonnull %27, ptr noundef nonnull %25, ptr noundef nonnull %28, ptr noundef nonnull @c_b42, ptr noundef %957, ptr noundef nonnull %15, ptr noundef %gep1588, ptr noundef nonnull %13, ptr noundef nonnull @c_b42, ptr noundef %630, ptr noundef nonnull %15) #3
  br label %959

959:                                              ; preds = %951, %._crit_edge1557
  br i1 %631, label %960, label %972

960:                                              ; preds = %959
  %961 = load i64, ptr %2, align 8, !tbaa !5
  %962 = sub nsw i64 %961, %610
  store i64 %962, ptr %25, align 8, !tbaa !5
  %963 = mul nsw i64 %641, %42
  %964 = getelementptr float, ptr %628, i64 %963
  %965 = getelementptr float, ptr %634, i64 %963
  %966 = call i32 @f2c_sgemm(ptr noundef nonnull @.str.1, ptr noundef nonnull @.str, ptr noundef nonnull %25, ptr noundef nonnull %28, ptr noundef nonnull %27, ptr noundef nonnull @c_b27, ptr noundef %633, ptr noundef nonnull %5, ptr noundef %964, ptr noundef nonnull %9, ptr noundef nonnull @c_b42, ptr noundef %965, ptr noundef nonnull %9) #3
  %967 = load i64, ptr %2, align 8, !tbaa !5
  %968 = sub nsw i64 %967, %610
  store i64 %968, ptr %25, align 8, !tbaa !5
  %969 = mul nsw i64 %641, %51
  %970 = getelementptr float, ptr %629, i64 %969
  %971 = call i32 @f2c_sgemm(ptr noundef nonnull @.str.1, ptr noundef nonnull @.str, ptr noundef nonnull %25, ptr noundef nonnull %28, ptr noundef nonnull %27, ptr noundef nonnull @c_b27, ptr noundef %636, ptr noundef nonnull %11, ptr noundef %970, ptr noundef nonnull %15, ptr noundef nonnull @c_b42, ptr noundef %965, ptr noundef nonnull %9) #3
  br label %972

972:                                              ; preds = %699, %698, %841, %840, %959, %960, %849, %777, %778
  %973 = add nsw i64 %.313651606, -1
  %974 = load i64, ptr %24, align 8, !tbaa !5
  %.not1388.not = icmp sgt i64 %.313651606, %974
  br i1 %.not1388.not, label %639, label %.loopexit, !llvm.loop !27

.loopexit1420:                                    ; preds = %..loopexit1421_crit_edge.us, %.loopexit, %.lr.ph1529, %130, %562, %.thread1415
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %33) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #3
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %26) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #3
  ret i32 0
}

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress 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 = { 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 = { nounwind }

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

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


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