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

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

%struct.complex = type { float, float }

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.2 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@.str.4 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [5 x i8], align 1
@c_b1 = external hidden global %struct.complex, align 4
@c_b2 = external hidden global %struct.complex, align 4
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [2 x i8], align 1

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

130:                                              ; preds = %17
  store i32 1, ptr %62, align 4, !tbaa !9
  store i32 0, ptr %53, align 4, !tbaa !9
  br label %138

131:                                              ; preds = %17
  %132 = load ptr, ptr %18, align 8, !tbaa !5
  %133 = call i32 @lsame_(ptr noundef %132, ptr noundef @.str.1)
  %134 = icmp ne i32 %133, 0
  br i1 %134, label %135, label %136

135:                                              ; preds = %131
  store i32 2, ptr %62, align 4, !tbaa !9
  store i32 1, ptr %53, align 4, !tbaa !9
  br label %137

136:                                              ; preds = %131
  store i32 -1, ptr %62, align 4, !tbaa !9
  store i32 0, ptr %53, align 4, !tbaa !9
  br label %137

137:                                              ; preds = %136, %135
  br label %138

138:                                              ; preds = %137, %130
  %139 = load ptr, ptr %19, align 8, !tbaa !5
  %140 = call i32 @lsame_(ptr noundef %139, ptr noundef @.str)
  %141 = icmp ne i32 %140, 0
  br i1 %141, label %142, label %143

142:                                              ; preds = %138
  store i32 1, ptr %64, align 4, !tbaa !9
  store i32 0, ptr %55, align 4, !tbaa !9
  br label %150

143:                                              ; preds = %138
  %144 = load ptr, ptr %19, align 8, !tbaa !5
  %145 = call i32 @lsame_(ptr noundef %144, ptr noundef @.str.1)
  %146 = icmp ne i32 %145, 0
  br i1 %146, label %147, label %148

147:                                              ; preds = %143
  store i32 2, ptr %64, align 4, !tbaa !9
  store i32 1, ptr %55, align 4, !tbaa !9
  br label %149

148:                                              ; preds = %143
  store i32 -1, ptr %64, align 4, !tbaa !9
  store i32 0, ptr %55, align 4, !tbaa !9
  br label %149

149:                                              ; preds = %148, %147
  br label %150

150:                                              ; preds = %149, %142
  %151 = load ptr, ptr %20, align 8, !tbaa !5
  %152 = load i32, ptr %151, align 4, !tbaa !9
  %153 = shl i32 %152, 1
  store i32 %153, ptr %43, align 4, !tbaa !9
  %154 = load i32, ptr %43, align 4, !tbaa !9
  %155 = icmp sge i32 %154, 1
  br i1 %155, label %156, label %158

156:                                              ; preds = %150
  %157 = load i32, ptr %43, align 4, !tbaa !9
  br label %159

158:                                              ; preds = %150
  br label %159

159:                                              ; preds = %158, %156
  %160 = phi i32 [ %157, %156 ], [ 1, %158 ]
  store i32 %160, ptr %66, align 4, !tbaa !9
  %161 = load i32, ptr %66, align 4, !tbaa !9
  store i32 %161, ptr %73, align 4, !tbaa !9
  %162 = load i32, ptr %73, align 4, !tbaa !9
  %163 = sitofp i32 %162 to float
  %164 = load ptr, ptr %31, align 8, !tbaa !5
  %165 = getelementptr inbounds %struct.complex, ptr %164, i64 1
  %166 = getelementptr inbounds %struct.complex, ptr %165, i32 0, i32 0
  store float %163, ptr %166, align 4, !tbaa !11
  %167 = load ptr, ptr %31, align 8, !tbaa !5
  %168 = getelementptr inbounds %struct.complex, ptr %167, i64 1
  %169 = getelementptr inbounds %struct.complex, ptr %168, i32 0, i32 1
  store float 0.000000e+00, ptr %169, align 4, !tbaa !14
  %170 = load ptr, ptr %32, align 8, !tbaa !5
  %171 = load i32, ptr %170, align 4, !tbaa !9
  %172 = icmp eq i32 %171, -1
  %173 = zext i1 %172 to i32
  store i32 %173, ptr %74, align 4, !tbaa !9
  %174 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 0, ptr %174, align 4, !tbaa !9
  %175 = load i32, ptr %62, align 4, !tbaa !9
  %176 = icmp sle i32 %175, 0
  br i1 %176, label %177, label %179

177:                                              ; preds = %159
  %178 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 -1, ptr %178, align 4, !tbaa !9
  br label %267

179:                                              ; preds = %159
  %180 = load i32, ptr %64, align 4, !tbaa !9
  %181 = icmp sle i32 %180, 0
  br i1 %181, label %182, label %184

182:                                              ; preds = %179
  %183 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 -2, ptr %183, align 4, !tbaa !9
  br label %266

184:                                              ; preds = %179
  %185 = load ptr, ptr %20, align 8, !tbaa !5
  %186 = load i32, ptr %185, align 4, !tbaa !9
  %187 = icmp slt i32 %186, 0
  br i1 %187, label %188, label %190

188:                                              ; preds = %184
  %189 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 -3, ptr %189, align 4, !tbaa !9
  br label %265

190:                                              ; preds = %184
  %191 = load ptr, ptr %22, align 8, !tbaa !5
  %192 = load i32, ptr %191, align 4, !tbaa !9
  %193 = load ptr, ptr %20, align 8, !tbaa !5
  %194 = load i32, ptr %193, align 4, !tbaa !9
  %195 = icmp sge i32 1, %194
  br i1 %195, label %196, label %197

196:                                              ; preds = %190
  br label %200

197:                                              ; preds = %190
  %198 = load ptr, ptr %20, align 8, !tbaa !5
  %199 = load i32, ptr %198, align 4, !tbaa !9
  br label %200

200:                                              ; preds = %197, %196
  %201 = phi i32 [ 1, %196 ], [ %199, %197 ]
  %202 = icmp slt i32 %192, %201
  br i1 %202, label %203, label %205

203:                                              ; preds = %200
  %204 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 -5, ptr %204, align 4, !tbaa !9
  br label %264

205:                                              ; preds = %200
  %206 = load ptr, ptr %24, align 8, !tbaa !5
  %207 = load i32, ptr %206, align 4, !tbaa !9
  %208 = load ptr, ptr %20, align 8, !tbaa !5
  %209 = load i32, ptr %208, align 4, !tbaa !9
  %210 = icmp sge i32 1, %209
  br i1 %210, label %211, label %212

211:                                              ; preds = %205
  br label %215

212:                                              ; preds = %205
  %213 = load ptr, ptr %20, align 8, !tbaa !5
  %214 = load i32, ptr %213, align 4, !tbaa !9
  br label %215

215:                                              ; preds = %212, %211
  %216 = phi i32 [ 1, %211 ], [ %214, %212 ]
  %217 = icmp slt i32 %207, %216
  br i1 %217, label %218, label %220

218:                                              ; preds = %215
  %219 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 -7, ptr %219, align 4, !tbaa !9
  br label %263

220:                                              ; preds = %215
  %221 = load ptr, ptr %28, align 8, !tbaa !5
  %222 = load i32, ptr %221, align 4, !tbaa !9
  %223 = icmp slt i32 %222, 1
  br i1 %223, label %233, label %224

224:                                              ; preds = %220
  %225 = load i32, ptr %53, align 4, !tbaa !9
  %226 = icmp ne i32 %225, 0
  br i1 %226, label %227, label %235

227:                                              ; preds = %224
  %228 = load ptr, ptr %28, align 8, !tbaa !5
  %229 = load i32, ptr %228, align 4, !tbaa !9
  %230 = load ptr, ptr %20, align 8, !tbaa !5
  %231 = load i32, ptr %230, align 4, !tbaa !9
  %232 = icmp slt i32 %229, %231
  br i1 %232, label %233, label %235

233:                                              ; preds = %227, %220
  %234 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 -11, ptr %234, align 4, !tbaa !9
  br label %262

235:                                              ; preds = %227, %224
  %236 = load ptr, ptr %30, align 8, !tbaa !5
  %237 = load i32, ptr %236, align 4, !tbaa !9
  %238 = icmp slt i32 %237, 1
  br i1 %238, label %248, label %239

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

242:                                              ; preds = %239
  %243 = load ptr, ptr %30, align 8, !tbaa !5
  %244 = load i32, ptr %243, align 4, !tbaa !9
  %245 = load ptr, ptr %20, align 8, !tbaa !5
  %246 = load i32, ptr %245, align 4, !tbaa !9
  %247 = icmp slt i32 %244, %246
  br i1 %247, label %248, label %250

248:                                              ; preds = %242, %235
  %249 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 -13, ptr %249, align 4, !tbaa !9
  br label %261

250:                                              ; preds = %242, %239
  %251 = load ptr, ptr %32, align 8, !tbaa !5
  %252 = load i32, ptr %251, align 4, !tbaa !9
  %253 = load i32, ptr %66, align 4, !tbaa !9
  %254 = icmp slt i32 %252, %253
  br i1 %254, label %255, label %260

255:                                              ; preds = %250
  %256 = load i32, ptr %74, align 4, !tbaa !9
  %257 = icmp ne i32 %256, 0
  br i1 %257, label %260, label %258

258:                                              ; preds = %255
  %259 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 -15, ptr %259, align 4, !tbaa !9
  br label %260

260:                                              ; preds = %258, %255, %250
  br label %261

261:                                              ; preds = %260, %248
  br label %262

262:                                              ; preds = %261, %233
  br label %263

263:                                              ; preds = %262, %218
  br label %264

264:                                              ; preds = %263, %203
  br label %265

265:                                              ; preds = %264, %188
  br label %266

266:                                              ; preds = %265, %182
  br label %267

267:                                              ; preds = %266, %177
  %268 = load ptr, ptr %34, align 8, !tbaa !5
  %269 = load i32, ptr %268, align 4, !tbaa !9
  %270 = icmp eq i32 %269, 0
  br i1 %270, label %271, label %314

271:                                              ; preds = %267
  %272 = load ptr, ptr %20, align 8, !tbaa !5
  %273 = load ptr, ptr %20, align 8, !tbaa !5
  %274 = call i32 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.2, ptr noundef @.str.3, ptr noundef %272, ptr noundef %273, ptr noundef @c_n1, ptr noundef @c_n1, i32 noundef 6, i32 noundef 1)
  store i32 %274, ptr %67, align 4, !tbaa !9
  %275 = load ptr, ptr %20, align 8, !tbaa !5
  %276 = load ptr, ptr %20, align 8, !tbaa !5
  %277 = load ptr, ptr %20, align 8, !tbaa !5
  %278 = call i32 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.4, ptr noundef @.str.3, ptr noundef %275, ptr noundef %276, ptr noundef %277, ptr noundef @c_n1, i32 noundef 6, i32 noundef 1)
  store i32 %278, ptr %68, align 4, !tbaa !9
  %279 = load ptr, ptr %20, align 8, !tbaa !5
  %280 = load ptr, ptr %20, align 8, !tbaa !5
  %281 = load ptr, ptr %20, align 8, !tbaa !5
  %282 = call i32 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.5, ptr noundef @.str.3, ptr noundef %279, ptr noundef %280, ptr noundef %281, ptr noundef @c_n1, i32 noundef 6, i32 noundef 1)
  store i32 %282, ptr %69, align 4, !tbaa !9
  %283 = load i32, ptr %67, align 4, !tbaa !9
  %284 = load i32, ptr %68, align 4, !tbaa !9
  %285 = icmp sge i32 %283, %284
  br i1 %285, label %286, label %288

286:                                              ; preds = %271
  %287 = load i32, ptr %67, align 4, !tbaa !9
  br label %290

288:                                              ; preds = %271
  %289 = load i32, ptr %68, align 4, !tbaa !9
  br label %290

290:                                              ; preds = %288, %286
  %291 = phi i32 [ %287, %286 ], [ %289, %288 ]
  store i32 %291, ptr %43, align 4, !tbaa !9
  %292 = load i32, ptr %43, align 4, !tbaa !9
  %293 = load i32, ptr %69, align 4, !tbaa !9
  %294 = icmp sge i32 %292, %293
  br i1 %294, label %295, label %297

295:                                              ; preds = %290
  %296 = load i32, ptr %43, align 4, !tbaa !9
  br label %299

297:                                              ; preds = %290
  %298 = load i32, ptr %69, align 4, !tbaa !9
  br label %299

299:                                              ; preds = %297, %295
  %300 = phi i32 [ %296, %295 ], [ %298, %297 ]
  store i32 %300, ptr %57, align 4, !tbaa !9
  %301 = load ptr, ptr %20, align 8, !tbaa !5
  %302 = load i32, ptr %301, align 4, !tbaa !9
  %303 = load i32, ptr %57, align 4, !tbaa !9
  %304 = add nsw i32 %303, 1
  %305 = mul nsw i32 %302, %304
  store i32 %305, ptr %49, align 4, !tbaa !9
  %306 = load i32, ptr %49, align 4, !tbaa !9
  %307 = sitofp i32 %306 to float
  %308 = load ptr, ptr %31, align 8, !tbaa !5
  %309 = getelementptr inbounds %struct.complex, ptr %308, i64 1
  %310 = getelementptr inbounds %struct.complex, ptr %309, i32 0, i32 0
  store float %307, ptr %310, align 4, !tbaa !11
  %311 = load ptr, ptr %31, align 8, !tbaa !5
  %312 = getelementptr inbounds %struct.complex, ptr %311, i64 1
  %313 = getelementptr inbounds %struct.complex, ptr %312, i32 0, i32 1
  store float 0.000000e+00, ptr %313, align 4, !tbaa !14
  br label %314

314:                                              ; preds = %299, %267
  %315 = load ptr, ptr %34, align 8, !tbaa !5
  %316 = load i32, ptr %315, align 4, !tbaa !9
  %317 = icmp ne i32 %316, 0
  br i1 %317, label %318, label %323

318:                                              ; preds = %314
  %319 = load ptr, ptr %34, align 8, !tbaa !5
  %320 = load i32, ptr %319, align 4, !tbaa !9
  %321 = sub nsw i32 0, %320
  store i32 %321, ptr %43, align 4, !tbaa !9
  %322 = call i32 @xerbla_(ptr noundef @.str.6, ptr noundef %43, i32 noundef 6)
  store i32 1, ptr %78, align 4
  br label %968

323:                                              ; preds = %314
  %324 = load i32, ptr %74, align 4, !tbaa !9
  %325 = icmp ne i32 %324, 0
  br i1 %325, label %326, label %327

326:                                              ; preds = %323
  store i32 1, ptr %78, align 4
  br label %968

327:                                              ; preds = %323
  br label %328

328:                                              ; preds = %327
  %329 = load ptr, ptr %20, align 8, !tbaa !5
  %330 = load i32, ptr %329, align 4, !tbaa !9
  %331 = icmp eq i32 %330, 0
  br i1 %331, label %332, label %333

332:                                              ; preds = %328
  store i32 1, ptr %78, align 4
  br label %968

333:                                              ; preds = %328
  %334 = call float @slamch_(ptr noundef @.str.7)
  %335 = call float @slamch_(ptr noundef @.str.8)
  %336 = fmul float %334, %335
  store float %336, ptr %77, align 4, !tbaa !15
  %337 = call float @slamch_(ptr noundef @.str.9)
  store float %337, ptr %60, align 4, !tbaa !15
  %338 = load ptr, ptr %20, align 8, !tbaa !5
  %339 = load i32, ptr %338, align 4, !tbaa !9
  %340 = sitofp i32 %339 to float
  %341 = load float, ptr %60, align 4, !tbaa !15
  %342 = fmul float %340, %341
  %343 = load float, ptr %77, align 4, !tbaa !15
  %344 = fdiv float %342, %343
  store float %344, ptr %71, align 4, !tbaa !15
  %345 = load float, ptr %71, align 4, !tbaa !15
  %346 = fdiv float 1.000000e+00, %345
  store float %346, ptr %61, align 4, !tbaa !15
  %347 = load ptr, ptr %20, align 8, !tbaa !5
  %348 = load ptr, ptr %20, align 8, !tbaa !5
  %349 = load ptr, ptr %21, align 8, !tbaa !5
  %350 = load i32, ptr %36, align 4, !tbaa !9
  %351 = sext i32 %350 to i64
  %352 = getelementptr inbounds %struct.complex, ptr %349, i64 %351
  %353 = load ptr, ptr %22, align 8, !tbaa !5
  %354 = load ptr, ptr %33, align 8, !tbaa !5
  %355 = getelementptr inbounds float, ptr %354, i64 1
  %356 = call float @clange_(ptr noundef @.str.10, ptr noundef %347, ptr noundef %348, ptr noundef %352, ptr noundef %353, ptr noundef %355)
  store float %356, ptr %46, align 4, !tbaa !15
  store i32 0, ptr %58, align 4, !tbaa !9
  %357 = load float, ptr %46, align 4, !tbaa !15
  %358 = fcmp ogt float %357, 0.000000e+00
  br i1 %358, label %359, label %365

359:                                              ; preds = %333
  %360 = load float, ptr %46, align 4, !tbaa !15
  %361 = load float, ptr %71, align 4, !tbaa !15
  %362 = fcmp olt float %360, %361
  br i1 %362, label %363, label %365

363:                                              ; preds = %359
  %364 = load float, ptr %71, align 4, !tbaa !15
  store float %364, ptr %65, align 4, !tbaa !15
  store i32 1, ptr %58, align 4, !tbaa !9
  br label %372

365:                                              ; preds = %359, %333
  %366 = load float, ptr %46, align 4, !tbaa !15
  %367 = load float, ptr %61, align 4, !tbaa !15
  %368 = fcmp ogt float %366, %367
  br i1 %368, label %369, label %371

369:                                              ; preds = %365
  %370 = load float, ptr %61, align 4, !tbaa !15
  store float %370, ptr %65, align 4, !tbaa !15
  store i32 1, ptr %58, align 4, !tbaa !9
  br label %371

371:                                              ; preds = %369, %365
  br label %372

372:                                              ; preds = %371, %363
  %373 = load i32, ptr %58, align 4, !tbaa !9
  %374 = icmp ne i32 %373, 0
  br i1 %374, label %375, label %391

375:                                              ; preds = %372
  %376 = load ptr, ptr %20, align 8, !tbaa !5
  %377 = load ptr, ptr %20, align 8, !tbaa !5
  %378 = load ptr, ptr %21, align 8, !tbaa !5
  %379 = load i32, ptr %36, align 4, !tbaa !9
  %380 = sext i32 %379 to i64
  %381 = getelementptr inbounds %struct.complex, ptr %378, i64 %380
  %382 = load ptr, ptr %22, align 8, !tbaa !5
  call void @clascl_(ptr noundef @.str.11, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef %46, ptr noundef %65, ptr noundef %376, ptr noundef %377, ptr noundef %381, ptr noundef %382, ptr noundef %51)
  %383 = load i32, ptr %51, align 4, !tbaa !9
  %384 = icmp ne i32 %383, 0
  br i1 %384, label %385, label %390

385:                                              ; preds = %375
  %386 = load ptr, ptr %20, align 8, !tbaa !5
  %387 = load i32, ptr %386, align 4, !tbaa !9
  %388 = add nsw i32 %387, 9
  %389 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %388, ptr %389, align 4, !tbaa !9
  store i32 1, ptr %78, align 4
  br label %968

390:                                              ; preds = %375
  br label %391

391:                                              ; preds = %390, %372
  %392 = load ptr, ptr %20, align 8, !tbaa !5
  %393 = load ptr, ptr %20, align 8, !tbaa !5
  %394 = load ptr, ptr %23, align 8, !tbaa !5
  %395 = load i32, ptr %38, align 4, !tbaa !9
  %396 = sext i32 %395 to i64
  %397 = getelementptr inbounds %struct.complex, ptr %394, i64 %396
  %398 = load ptr, ptr %24, align 8, !tbaa !5
  %399 = load ptr, ptr %33, align 8, !tbaa !5
  %400 = getelementptr inbounds float, ptr %399, i64 1
  %401 = call float @clange_(ptr noundef @.str.10, ptr noundef %392, ptr noundef %393, ptr noundef %397, ptr noundef %398, ptr noundef %400)
  store float %401, ptr %47, align 4, !tbaa !15
  store i32 0, ptr %59, align 4, !tbaa !9
  %402 = load float, ptr %47, align 4, !tbaa !15
  %403 = fcmp ogt float %402, 0.000000e+00
  br i1 %403, label %404, label %410

404:                                              ; preds = %391
  %405 = load float, ptr %47, align 4, !tbaa !15
  %406 = load float, ptr %71, align 4, !tbaa !15
  %407 = fcmp olt float %405, %406
  br i1 %407, label %408, label %410

408:                                              ; preds = %404
  %409 = load float, ptr %71, align 4, !tbaa !15
  store float %409, ptr %70, align 4, !tbaa !15
  store i32 1, ptr %59, align 4, !tbaa !9
  br label %417

410:                                              ; preds = %404, %391
  %411 = load float, ptr %47, align 4, !tbaa !15
  %412 = load float, ptr %61, align 4, !tbaa !15
  %413 = fcmp ogt float %411, %412
  br i1 %413, label %414, label %416

414:                                              ; preds = %410
  %415 = load float, ptr %61, align 4, !tbaa !15
  store float %415, ptr %70, align 4, !tbaa !15
  store i32 1, ptr %59, align 4, !tbaa !9
  br label %416

416:                                              ; preds = %414, %410
  br label %417

417:                                              ; preds = %416, %408
  %418 = load i32, ptr %59, align 4, !tbaa !9
  %419 = icmp ne i32 %418, 0
  br i1 %419, label %420, label %436

420:                                              ; preds = %417
  %421 = load ptr, ptr %20, align 8, !tbaa !5
  %422 = load ptr, ptr %20, align 8, !tbaa !5
  %423 = load ptr, ptr %23, align 8, !tbaa !5
  %424 = load i32, ptr %38, align 4, !tbaa !9
  %425 = sext i32 %424 to i64
  %426 = getelementptr inbounds %struct.complex, ptr %423, i64 %425
  %427 = load ptr, ptr %24, align 8, !tbaa !5
  call void @clascl_(ptr noundef @.str.11, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef %47, ptr noundef %70, ptr noundef %421, ptr noundef %422, ptr noundef %426, ptr noundef %427, ptr noundef %51)
  %428 = load i32, ptr %51, align 4, !tbaa !9
  %429 = icmp ne i32 %428, 0
  br i1 %429, label %430, label %435

430:                                              ; preds = %420
  %431 = load ptr, ptr %20, align 8, !tbaa !5
  %432 = load i32, ptr %431, align 4, !tbaa !9
  %433 = add nsw i32 %432, 9
  %434 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %433, ptr %434, align 4, !tbaa !9
  store i32 1, ptr %78, align 4
  br label %968

435:                                              ; preds = %420
  br label %436

436:                                              ; preds = %435, %417
  store i32 1, ptr %50, align 4, !tbaa !9
  %437 = load ptr, ptr %20, align 8, !tbaa !5
  %438 = load i32, ptr %437, align 4, !tbaa !9
  %439 = add nsw i32 %438, 1
  store i32 %439, ptr %63, align 4, !tbaa !9
  %440 = load i32, ptr %63, align 4, !tbaa !9
  %441 = load ptr, ptr %20, align 8, !tbaa !5
  %442 = load i32, ptr %441, align 4, !tbaa !9
  %443 = add nsw i32 %440, %442
  store i32 %443, ptr %72, align 4, !tbaa !9
  store i32 1, ptr %54, align 4, !tbaa !9
  %444 = load ptr, ptr %20, align 8, !tbaa !5
  %445 = load ptr, ptr %21, align 8, !tbaa !5
  %446 = load i32, ptr %36, align 4, !tbaa !9
  %447 = sext i32 %446 to i64
  %448 = getelementptr inbounds %struct.complex, ptr %445, i64 %447
  %449 = load ptr, ptr %22, align 8, !tbaa !5
  %450 = load ptr, ptr %23, align 8, !tbaa !5
  %451 = load i32, ptr %38, align 4, !tbaa !9
  %452 = sext i32 %451 to i64
  %453 = getelementptr inbounds %struct.complex, ptr %450, i64 %452
  %454 = load ptr, ptr %24, align 8, !tbaa !5
  %455 = load ptr, ptr %33, align 8, !tbaa !5
  %456 = load i32, ptr %50, align 4, !tbaa !9
  %457 = sext i32 %456 to i64
  %458 = getelementptr inbounds float, ptr %455, i64 %457
  %459 = load ptr, ptr %33, align 8, !tbaa !5
  %460 = load i32, ptr %63, align 4, !tbaa !9
  %461 = sext i32 %460 to i64
  %462 = getelementptr inbounds float, ptr %459, i64 %461
  %463 = load ptr, ptr %33, align 8, !tbaa !5
  %464 = load i32, ptr %72, align 4, !tbaa !9
  %465 = sext i32 %464 to i64
  %466 = getelementptr inbounds float, ptr %463, i64 %465
  call void @cggbal_(ptr noundef @.str.12, ptr noundef %444, ptr noundef %448, ptr noundef %449, ptr noundef %453, ptr noundef %454, ptr noundef %76, ptr noundef %75, ptr noundef %458, ptr noundef %462, ptr noundef %466, ptr noundef %51)
  %467 = load i32, ptr %51, align 4, !tbaa !9
  %468 = icmp ne i32 %467, 0
  br i1 %468, label %469, label %474

469:                                              ; preds = %436
  %470 = load ptr, ptr %20, align 8, !tbaa !5
  %471 = load i32, ptr %470, align 4, !tbaa !9
  %472 = add nsw i32 %471, 1
  %473 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %472, ptr %473, align 4, !tbaa !9
  br label %959

474:                                              ; preds = %436
  %475 = load i32, ptr %75, align 4, !tbaa !9
  %476 = add nsw i32 %475, 1
  %477 = load i32, ptr %76, align 4, !tbaa !9
  %478 = sub nsw i32 %476, %477
  store i32 %478, ptr %56, align 4, !tbaa !9
  %479 = load ptr, ptr %20, align 8, !tbaa !5
  %480 = load i32, ptr %479, align 4, !tbaa !9
  %481 = add nsw i32 %480, 1
  %482 = load i32, ptr %76, align 4, !tbaa !9
  %483 = sub nsw i32 %481, %482
  store i32 %483, ptr %52, align 4, !tbaa !9
  %484 = load i32, ptr %54, align 4, !tbaa !9
  store i32 %484, ptr %48, align 4, !tbaa !9
  %485 = load i32, ptr %48, align 4, !tbaa !9
  %486 = load i32, ptr %56, align 4, !tbaa !9
  %487 = add nsw i32 %485, %486
  store i32 %487, ptr %54, align 4, !tbaa !9
  %488 = load ptr, ptr %32, align 8, !tbaa !5
  %489 = load i32, ptr %488, align 4, !tbaa !9
  %490 = add nsw i32 %489, 1
  %491 = load i32, ptr %54, align 4, !tbaa !9
  %492 = sub nsw i32 %490, %491
  store i32 %492, ptr %43, align 4, !tbaa !9
  %493 = load ptr, ptr %23, align 8, !tbaa !5
  %494 = load i32, ptr %76, align 4, !tbaa !9
  %495 = load i32, ptr %76, align 4, !tbaa !9
  %496 = load i32, ptr %37, align 4, !tbaa !9
  %497 = mul nsw i32 %495, %496
  %498 = add nsw i32 %494, %497
  %499 = sext i32 %498 to i64
  %500 = getelementptr inbounds %struct.complex, ptr %493, i64 %499
  %501 = load ptr, ptr %24, align 8, !tbaa !5
  %502 = load ptr, ptr %31, align 8, !tbaa !5
  %503 = load i32, ptr %48, align 4, !tbaa !9
  %504 = sext i32 %503 to i64
  %505 = getelementptr inbounds %struct.complex, ptr %502, i64 %504
  %506 = load ptr, ptr %31, align 8, !tbaa !5
  %507 = load i32, ptr %54, align 4, !tbaa !9
  %508 = sext i32 %507 to i64
  %509 = getelementptr inbounds %struct.complex, ptr %506, i64 %508
  call void @cgeqrf_(ptr noundef %56, ptr noundef %52, ptr noundef %500, ptr noundef %501, ptr noundef %505, ptr noundef %509, ptr noundef %43, ptr noundef %51)
  %510 = load i32, ptr %51, align 4, !tbaa !9
  %511 = icmp sge i32 %510, 0
  br i1 %511, label %512, label %534

512:                                              ; preds = %474
  %513 = load i32, ptr %54, align 4, !tbaa !9
  store i32 %513, ptr %45, align 4, !tbaa !9
  %514 = load i32, ptr %73, align 4, !tbaa !9
  store i32 %514, ptr %43, align 4, !tbaa !9
  %515 = load ptr, ptr %31, align 8, !tbaa !5
  %516 = load i32, ptr %45, align 4, !tbaa !9
  %517 = sext i32 %516 to i64
  %518 = getelementptr inbounds %struct.complex, ptr %515, i64 %517
  %519 = getelementptr inbounds %struct.complex, ptr %518, i32 0, i32 0
  %520 = load float, ptr %519, align 4, !tbaa !11
  %521 = fptosi float %520 to i32
  %522 = load i32, ptr %54, align 4, !tbaa !9
  %523 = add nsw i32 %521, %522
  %524 = sub nsw i32 %523, 1
  store i32 %524, ptr %44, align 4, !tbaa !9
  %525 = load i32, ptr %43, align 4, !tbaa !9
  %526 = load i32, ptr %44, align 4, !tbaa !9
  %527 = icmp sge i32 %525, %526
  br i1 %527, label %528, label %530

528:                                              ; preds = %512
  %529 = load i32, ptr %43, align 4, !tbaa !9
  br label %532

530:                                              ; preds = %512
  %531 = load i32, ptr %44, align 4, !tbaa !9
  br label %532

532:                                              ; preds = %530, %528
  %533 = phi i32 [ %529, %528 ], [ %531, %530 ]
  store i32 %533, ptr %73, align 4, !tbaa !9
  br label %534

534:                                              ; preds = %532, %474
  %535 = load i32, ptr %51, align 4, !tbaa !9
  %536 = icmp ne i32 %535, 0
  br i1 %536, label %537, label %542

537:                                              ; preds = %534
  %538 = load ptr, ptr %20, align 8, !tbaa !5
  %539 = load i32, ptr %538, align 4, !tbaa !9
  %540 = add nsw i32 %539, 2
  %541 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %540, ptr %541, align 4, !tbaa !9
  br label %959

542:                                              ; preds = %534
  %543 = load ptr, ptr %32, align 8, !tbaa !5
  %544 = load i32, ptr %543, align 4, !tbaa !9
  %545 = add nsw i32 %544, 1
  %546 = load i32, ptr %54, align 4, !tbaa !9
  %547 = sub nsw i32 %545, %546
  store i32 %547, ptr %43, align 4, !tbaa !9
  %548 = load ptr, ptr %23, align 8, !tbaa !5
  %549 = load i32, ptr %76, align 4, !tbaa !9
  %550 = load i32, ptr %76, align 4, !tbaa !9
  %551 = load i32, ptr %37, align 4, !tbaa !9
  %552 = mul nsw i32 %550, %551
  %553 = add nsw i32 %549, %552
  %554 = sext i32 %553 to i64
  %555 = getelementptr inbounds %struct.complex, ptr %548, i64 %554
  %556 = load ptr, ptr %24, align 8, !tbaa !5
  %557 = load ptr, ptr %31, align 8, !tbaa !5
  %558 = load i32, ptr %48, align 4, !tbaa !9
  %559 = sext i32 %558 to i64
  %560 = getelementptr inbounds %struct.complex, ptr %557, i64 %559
  %561 = load ptr, ptr %21, align 8, !tbaa !5
  %562 = load i32, ptr %76, align 4, !tbaa !9
  %563 = load i32, ptr %76, align 4, !tbaa !9
  %564 = load i32, ptr %35, align 4, !tbaa !9
  %565 = mul nsw i32 %563, %564
  %566 = add nsw i32 %562, %565
  %567 = sext i32 %566 to i64
  %568 = getelementptr inbounds %struct.complex, ptr %561, i64 %567
  %569 = load ptr, ptr %22, align 8, !tbaa !5
  %570 = load ptr, ptr %31, align 8, !tbaa !5
  %571 = load i32, ptr %54, align 4, !tbaa !9
  %572 = sext i32 %571 to i64
  %573 = getelementptr inbounds %struct.complex, ptr %570, i64 %572
  call void @cunmqr_(ptr noundef @.str.13, ptr noundef @.str.14, ptr noundef %56, ptr noundef %52, ptr noundef %56, ptr noundef %555, ptr noundef %556, ptr noundef %560, ptr noundef %568, ptr noundef %569, ptr noundef %573, ptr noundef %43, ptr noundef %51)
  %574 = load i32, ptr %51, align 4, !tbaa !9
  %575 = icmp sge i32 %574, 0
  br i1 %575, label %576, label %598

576:                                              ; preds = %542
  %577 = load i32, ptr %54, align 4, !tbaa !9
  store i32 %577, ptr %45, align 4, !tbaa !9
  %578 = load i32, ptr %73, align 4, !tbaa !9
  store i32 %578, ptr %43, align 4, !tbaa !9
  %579 = load ptr, ptr %31, align 8, !tbaa !5
  %580 = load i32, ptr %45, align 4, !tbaa !9
  %581 = sext i32 %580 to i64
  %582 = getelementptr inbounds %struct.complex, ptr %579, i64 %581
  %583 = getelementptr inbounds %struct.complex, ptr %582, i32 0, i32 0
  %584 = load float, ptr %583, align 4, !tbaa !11
  %585 = fptosi float %584 to i32
  %586 = load i32, ptr %54, align 4, !tbaa !9
  %587 = add nsw i32 %585, %586
  %588 = sub nsw i32 %587, 1
  store i32 %588, ptr %44, align 4, !tbaa !9
  %589 = load i32, ptr %43, align 4, !tbaa !9
  %590 = load i32, ptr %44, align 4, !tbaa !9
  %591 = icmp sge i32 %589, %590
  br i1 %591, label %592, label %594

592:                                              ; preds = %576
  %593 = load i32, ptr %43, align 4, !tbaa !9
  br label %596

594:                                              ; preds = %576
  %595 = load i32, ptr %44, align 4, !tbaa !9
  br label %596

596:                                              ; preds = %594, %592
  %597 = phi i32 [ %593, %592 ], [ %595, %594 ]
  store i32 %597, ptr %73, align 4, !tbaa !9
  br label %598

598:                                              ; preds = %596, %542
  %599 = load i32, ptr %51, align 4, !tbaa !9
  %600 = icmp ne i32 %599, 0
  br i1 %600, label %601, label %606

601:                                              ; preds = %598
  %602 = load ptr, ptr %20, align 8, !tbaa !5
  %603 = load i32, ptr %602, align 4, !tbaa !9
  %604 = add nsw i32 %603, 3
  %605 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %604, ptr %605, align 4, !tbaa !9
  br label %959

606:                                              ; preds = %598
  %607 = load i32, ptr %53, align 4, !tbaa !9
  %608 = icmp ne i32 %607, 0
  br i1 %608, label %609, label %696

609:                                              ; preds = %606
  %610 = load ptr, ptr %20, align 8, !tbaa !5
  %611 = load ptr, ptr %20, align 8, !tbaa !5
  %612 = load ptr, ptr %27, align 8, !tbaa !5
  %613 = load i32, ptr %40, align 4, !tbaa !9
  %614 = sext i32 %613 to i64
  %615 = getelementptr inbounds %struct.complex, ptr %612, i64 %614
  %616 = load ptr, ptr %28, align 8, !tbaa !5
  call void @claset_(ptr noundef @.str.15, ptr noundef %610, ptr noundef %611, ptr noundef @c_b1, ptr noundef @c_b2, ptr noundef %615, ptr noundef %616)
  %617 = load i32, ptr %56, align 4, !tbaa !9
  %618 = sub nsw i32 %617, 1
  store i32 %618, ptr %43, align 4, !tbaa !9
  %619 = load i32, ptr %56, align 4, !tbaa !9
  %620 = sub nsw i32 %619, 1
  store i32 %620, ptr %44, align 4, !tbaa !9
  %621 = load ptr, ptr %23, align 8, !tbaa !5
  %622 = load i32, ptr %76, align 4, !tbaa !9
  %623 = add nsw i32 %622, 1
  %624 = load i32, ptr %76, align 4, !tbaa !9
  %625 = load i32, ptr %37, align 4, !tbaa !9
  %626 = mul nsw i32 %624, %625
  %627 = add nsw i32 %623, %626
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds %struct.complex, ptr %621, i64 %628
  %630 = load ptr, ptr %24, align 8, !tbaa !5
  %631 = load ptr, ptr %27, align 8, !tbaa !5
  %632 = load i32, ptr %76, align 4, !tbaa !9
  %633 = add nsw i32 %632, 1
  %634 = load i32, ptr %76, align 4, !tbaa !9
  %635 = load i32, ptr %39, align 4, !tbaa !9
  %636 = mul nsw i32 %634, %635
  %637 = add nsw i32 %633, %636
  %638 = sext i32 %637 to i64
  %639 = getelementptr inbounds %struct.complex, ptr %631, i64 %638
  %640 = load ptr, ptr %28, align 8, !tbaa !5
  call void @clacpy_(ptr noundef @.str.13, ptr noundef %43, ptr noundef %44, ptr noundef %629, ptr noundef %630, ptr noundef %639, ptr noundef %640)
  %641 = load ptr, ptr %32, align 8, !tbaa !5
  %642 = load i32, ptr %641, align 4, !tbaa !9
  %643 = add nsw i32 %642, 1
  %644 = load i32, ptr %54, align 4, !tbaa !9
  %645 = sub nsw i32 %643, %644
  store i32 %645, ptr %43, align 4, !tbaa !9
  %646 = load ptr, ptr %27, align 8, !tbaa !5
  %647 = load i32, ptr %76, align 4, !tbaa !9
  %648 = load i32, ptr %76, align 4, !tbaa !9
  %649 = load i32, ptr %39, align 4, !tbaa !9
  %650 = mul nsw i32 %648, %649
  %651 = add nsw i32 %647, %650
  %652 = sext i32 %651 to i64
  %653 = getelementptr inbounds %struct.complex, ptr %646, i64 %652
  %654 = load ptr, ptr %28, align 8, !tbaa !5
  %655 = load ptr, ptr %31, align 8, !tbaa !5
  %656 = load i32, ptr %48, align 4, !tbaa !9
  %657 = sext i32 %656 to i64
  %658 = getelementptr inbounds %struct.complex, ptr %655, i64 %657
  %659 = load ptr, ptr %31, align 8, !tbaa !5
  %660 = load i32, ptr %54, align 4, !tbaa !9
  %661 = sext i32 %660 to i64
  %662 = getelementptr inbounds %struct.complex, ptr %659, i64 %661
  call void @cungqr_(ptr noundef %56, ptr noundef %56, ptr noundef %56, ptr noundef %653, ptr noundef %654, ptr noundef %658, ptr noundef %662, ptr noundef %43, ptr noundef %51)
  %663 = load i32, ptr %51, align 4, !tbaa !9
  %664 = icmp sge i32 %663, 0
  br i1 %664, label %665, label %687

665:                                              ; preds = %609
  %666 = load i32, ptr %54, align 4, !tbaa !9
  store i32 %666, ptr %45, align 4, !tbaa !9
  %667 = load i32, ptr %73, align 4, !tbaa !9
  store i32 %667, ptr %43, align 4, !tbaa !9
  %668 = load ptr, ptr %31, align 8, !tbaa !5
  %669 = load i32, ptr %45, align 4, !tbaa !9
  %670 = sext i32 %669 to i64
  %671 = getelementptr inbounds %struct.complex, ptr %668, i64 %670
  %672 = getelementptr inbounds %struct.complex, ptr %671, i32 0, i32 0
  %673 = load float, ptr %672, align 4, !tbaa !11
  %674 = fptosi float %673 to i32
  %675 = load i32, ptr %54, align 4, !tbaa !9
  %676 = add nsw i32 %674, %675
  %677 = sub nsw i32 %676, 1
  store i32 %677, ptr %44, align 4, !tbaa !9
  %678 = load i32, ptr %43, align 4, !tbaa !9
  %679 = load i32, ptr %44, align 4, !tbaa !9
  %680 = icmp sge i32 %678, %679
  br i1 %680, label %681, label %683

681:                                              ; preds = %665
  %682 = load i32, ptr %43, align 4, !tbaa !9
  br label %685

683:                                              ; preds = %665
  %684 = load i32, ptr %44, align 4, !tbaa !9
  br label %685

685:                                              ; preds = %683, %681
  %686 = phi i32 [ %682, %681 ], [ %684, %683 ]
  store i32 %686, ptr %73, align 4, !tbaa !9
  br label %687

687:                                              ; preds = %685, %609
  %688 = load i32, ptr %51, align 4, !tbaa !9
  %689 = icmp ne i32 %688, 0
  br i1 %689, label %690, label %695

690:                                              ; preds = %687
  %691 = load ptr, ptr %20, align 8, !tbaa !5
  %692 = load i32, ptr %691, align 4, !tbaa !9
  %693 = add nsw i32 %692, 4
  %694 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %693, ptr %694, align 4, !tbaa !9
  br label %959

695:                                              ; preds = %687
  br label %696

696:                                              ; preds = %695, %606
  %697 = load i32, ptr %55, align 4, !tbaa !9
  %698 = icmp ne i32 %697, 0
  br i1 %698, label %699, label %707

699:                                              ; preds = %696
  %700 = load ptr, ptr %20, align 8, !tbaa !5
  %701 = load ptr, ptr %20, align 8, !tbaa !5
  %702 = load ptr, ptr %29, align 8, !tbaa !5
  %703 = load i32, ptr %42, align 4, !tbaa !9
  %704 = sext i32 %703 to i64
  %705 = getelementptr inbounds %struct.complex, ptr %702, i64 %704
  %706 = load ptr, ptr %30, align 8, !tbaa !5
  call void @claset_(ptr noundef @.str.15, ptr noundef %700, ptr noundef %701, ptr noundef @c_b1, ptr noundef @c_b2, ptr noundef %705, ptr noundef %706)
  br label %707

707:                                              ; preds = %699, %696
  %708 = load ptr, ptr %18, align 8, !tbaa !5
  %709 = load ptr, ptr %19, align 8, !tbaa !5
  %710 = load ptr, ptr %20, align 8, !tbaa !5
  %711 = load ptr, ptr %21, align 8, !tbaa !5
  %712 = load i32, ptr %36, align 4, !tbaa !9
  %713 = sext i32 %712 to i64
  %714 = getelementptr inbounds %struct.complex, ptr %711, i64 %713
  %715 = load ptr, ptr %22, align 8, !tbaa !5
  %716 = load ptr, ptr %23, align 8, !tbaa !5
  %717 = load i32, ptr %38, align 4, !tbaa !9
  %718 = sext i32 %717 to i64
  %719 = getelementptr inbounds %struct.complex, ptr %716, i64 %718
  %720 = load ptr, ptr %24, align 8, !tbaa !5
  %721 = load ptr, ptr %27, align 8, !tbaa !5
  %722 = load i32, ptr %40, align 4, !tbaa !9
  %723 = sext i32 %722 to i64
  %724 = getelementptr inbounds %struct.complex, ptr %721, i64 %723
  %725 = load ptr, ptr %28, align 8, !tbaa !5
  %726 = load ptr, ptr %29, align 8, !tbaa !5
  %727 = load i32, ptr %42, align 4, !tbaa !9
  %728 = sext i32 %727 to i64
  %729 = getelementptr inbounds %struct.complex, ptr %726, i64 %728
  %730 = load ptr, ptr %30, align 8, !tbaa !5
  call void @cgghrd_(ptr noundef %708, ptr noundef %709, ptr noundef %710, ptr noundef %76, ptr noundef %75, ptr noundef %714, ptr noundef %715, ptr noundef %719, ptr noundef %720, ptr noundef %724, ptr noundef %725, ptr noundef %729, ptr noundef %730, ptr noundef %51)
  %731 = load i32, ptr %51, align 4, !tbaa !9
  %732 = icmp ne i32 %731, 0
  br i1 %732, label %733, label %738

733:                                              ; preds = %707
  %734 = load ptr, ptr %20, align 8, !tbaa !5
  %735 = load i32, ptr %734, align 4, !tbaa !9
  %736 = add nsw i32 %735, 5
  %737 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %736, ptr %737, align 4, !tbaa !9
  br label %959

738:                                              ; preds = %707
  %739 = load i32, ptr %48, align 4, !tbaa !9
  store i32 %739, ptr %54, align 4, !tbaa !9
  %740 = load ptr, ptr %32, align 8, !tbaa !5
  %741 = load i32, ptr %740, align 4, !tbaa !9
  %742 = add nsw i32 %741, 1
  %743 = load i32, ptr %54, align 4, !tbaa !9
  %744 = sub nsw i32 %742, %743
  store i32 %744, ptr %43, align 4, !tbaa !9
  %745 = load ptr, ptr %18, align 8, !tbaa !5
  %746 = load ptr, ptr %19, align 8, !tbaa !5
  %747 = load ptr, ptr %20, align 8, !tbaa !5
  %748 = load ptr, ptr %21, align 8, !tbaa !5
  %749 = load i32, ptr %36, align 4, !tbaa !9
  %750 = sext i32 %749 to i64
  %751 = getelementptr inbounds %struct.complex, ptr %748, i64 %750
  %752 = load ptr, ptr %22, align 8, !tbaa !5
  %753 = load ptr, ptr %23, align 8, !tbaa !5
  %754 = load i32, ptr %38, align 4, !tbaa !9
  %755 = sext i32 %754 to i64
  %756 = getelementptr inbounds %struct.complex, ptr %753, i64 %755
  %757 = load ptr, ptr %24, align 8, !tbaa !5
  %758 = load ptr, ptr %25, align 8, !tbaa !5
  %759 = getelementptr inbounds %struct.complex, ptr %758, i64 1
  %760 = load ptr, ptr %26, align 8, !tbaa !5
  %761 = getelementptr inbounds %struct.complex, ptr %760, i64 1
  %762 = load ptr, ptr %27, align 8, !tbaa !5
  %763 = load i32, ptr %40, align 4, !tbaa !9
  %764 = sext i32 %763 to i64
  %765 = getelementptr inbounds %struct.complex, ptr %762, i64 %764
  %766 = load ptr, ptr %28, align 8, !tbaa !5
  %767 = load ptr, ptr %29, align 8, !tbaa !5
  %768 = load i32, ptr %42, align 4, !tbaa !9
  %769 = sext i32 %768 to i64
  %770 = getelementptr inbounds %struct.complex, ptr %767, i64 %769
  %771 = load ptr, ptr %30, align 8, !tbaa !5
  %772 = load ptr, ptr %31, align 8, !tbaa !5
  %773 = load i32, ptr %54, align 4, !tbaa !9
  %774 = sext i32 %773 to i64
  %775 = getelementptr inbounds %struct.complex, ptr %772, i64 %774
  %776 = load ptr, ptr %33, align 8, !tbaa !5
  %777 = load i32, ptr %72, align 4, !tbaa !9
  %778 = sext i32 %777 to i64
  %779 = getelementptr inbounds float, ptr %776, i64 %778
  call void @chgeqz_(ptr noundef @.str.9, ptr noundef %745, ptr noundef %746, ptr noundef %747, ptr noundef %76, ptr noundef %75, ptr noundef %751, ptr noundef %752, ptr noundef %756, ptr noundef %757, ptr noundef %759, ptr noundef %761, ptr noundef %765, ptr noundef %766, ptr noundef %770, ptr noundef %771, ptr noundef %775, ptr noundef %43, ptr noundef %779, ptr noundef %51)
  %780 = load i32, ptr %51, align 4, !tbaa !9
  %781 = icmp sge i32 %780, 0
  br i1 %781, label %782, label %804

782:                                              ; preds = %738
  %783 = load i32, ptr %54, align 4, !tbaa !9
  store i32 %783, ptr %45, align 4, !tbaa !9
  %784 = load i32, ptr %73, align 4, !tbaa !9
  store i32 %784, ptr %43, align 4, !tbaa !9
  %785 = load ptr, ptr %31, align 8, !tbaa !5
  %786 = load i32, ptr %45, align 4, !tbaa !9
  %787 = sext i32 %786 to i64
  %788 = getelementptr inbounds %struct.complex, ptr %785, i64 %787
  %789 = getelementptr inbounds %struct.complex, ptr %788, i32 0, i32 0
  %790 = load float, ptr %789, align 4, !tbaa !11
  %791 = fptosi float %790 to i32
  %792 = load i32, ptr %54, align 4, !tbaa !9
  %793 = add nsw i32 %791, %792
  %794 = sub nsw i32 %793, 1
  store i32 %794, ptr %44, align 4, !tbaa !9
  %795 = load i32, ptr %43, align 4, !tbaa !9
  %796 = load i32, ptr %44, align 4, !tbaa !9
  %797 = icmp sge i32 %795, %796
  br i1 %797, label %798, label %800

798:                                              ; preds = %782
  %799 = load i32, ptr %43, align 4, !tbaa !9
  br label %802

800:                                              ; preds = %782
  %801 = load i32, ptr %44, align 4, !tbaa !9
  br label %802

802:                                              ; preds = %800, %798
  %803 = phi i32 [ %799, %798 ], [ %801, %800 ]
  store i32 %803, ptr %73, align 4, !tbaa !9
  br label %804

804:                                              ; preds = %802, %738
  %805 = load i32, ptr %51, align 4, !tbaa !9
  %806 = icmp ne i32 %805, 0
  br i1 %806, label %807, label %842

807:                                              ; preds = %804
  %808 = load i32, ptr %51, align 4, !tbaa !9
  %809 = icmp sgt i32 %808, 0
  br i1 %809, label %810, label %818

810:                                              ; preds = %807
  %811 = load i32, ptr %51, align 4, !tbaa !9
  %812 = load ptr, ptr %20, align 8, !tbaa !5
  %813 = load i32, ptr %812, align 4, !tbaa !9
  %814 = icmp sle i32 %811, %813
  br i1 %814, label %815, label %818

815:                                              ; preds = %810
  %816 = load i32, ptr %51, align 4, !tbaa !9
  %817 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %816, ptr %817, align 4, !tbaa !9
  br label %841

818:                                              ; preds = %810, %807
  %819 = load i32, ptr %51, align 4, !tbaa !9
  %820 = load ptr, ptr %20, align 8, !tbaa !5
  %821 = load i32, ptr %820, align 4, !tbaa !9
  %822 = icmp sgt i32 %819, %821
  br i1 %822, label %823, label %835

823:                                              ; preds = %818
  %824 = load i32, ptr %51, align 4, !tbaa !9
  %825 = load ptr, ptr %20, align 8, !tbaa !5
  %826 = load i32, ptr %825, align 4, !tbaa !9
  %827 = shl i32 %826, 1
  %828 = icmp sle i32 %824, %827
  br i1 %828, label %829, label %835

829:                                              ; preds = %823
  %830 = load i32, ptr %51, align 4, !tbaa !9
  %831 = load ptr, ptr %20, align 8, !tbaa !5
  %832 = load i32, ptr %831, align 4, !tbaa !9
  %833 = sub nsw i32 %830, %832
  %834 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %833, ptr %834, align 4, !tbaa !9
  br label %840

835:                                              ; preds = %823, %818
  %836 = load ptr, ptr %20, align 8, !tbaa !5
  %837 = load i32, ptr %836, align 4, !tbaa !9
  %838 = add nsw i32 %837, 6
  %839 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %838, ptr %839, align 4, !tbaa !9
  br label %840

840:                                              ; preds = %835, %829
  br label %841

841:                                              ; preds = %840, %815
  br label %959

842:                                              ; preds = %804
  %843 = load i32, ptr %53, align 4, !tbaa !9
  %844 = icmp ne i32 %843, 0
  br i1 %844, label %845, label %869

845:                                              ; preds = %842
  %846 = load ptr, ptr %20, align 8, !tbaa !5
  %847 = load ptr, ptr %33, align 8, !tbaa !5
  %848 = load i32, ptr %50, align 4, !tbaa !9
  %849 = sext i32 %848 to i64
  %850 = getelementptr inbounds float, ptr %847, i64 %849
  %851 = load ptr, ptr %33, align 8, !tbaa !5
  %852 = load i32, ptr %63, align 4, !tbaa !9
  %853 = sext i32 %852 to i64
  %854 = getelementptr inbounds float, ptr %851, i64 %853
  %855 = load ptr, ptr %20, align 8, !tbaa !5
  %856 = load ptr, ptr %27, align 8, !tbaa !5
  %857 = load i32, ptr %40, align 4, !tbaa !9
  %858 = sext i32 %857 to i64
  %859 = getelementptr inbounds %struct.complex, ptr %856, i64 %858
  %860 = load ptr, ptr %28, align 8, !tbaa !5
  call void @cggbak_(ptr noundef @.str.12, ptr noundef @.str.13, ptr noundef %846, ptr noundef %76, ptr noundef %75, ptr noundef %850, ptr noundef %854, ptr noundef %855, ptr noundef %859, ptr noundef %860, ptr noundef %51)
  %861 = load i32, ptr %51, align 4, !tbaa !9
  %862 = icmp ne i32 %861, 0
  br i1 %862, label %863, label %868

863:                                              ; preds = %845
  %864 = load ptr, ptr %20, align 8, !tbaa !5
  %865 = load i32, ptr %864, align 4, !tbaa !9
  %866 = add nsw i32 %865, 7
  %867 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %866, ptr %867, align 4, !tbaa !9
  br label %959

868:                                              ; preds = %845
  br label %869

869:                                              ; preds = %868, %842
  %870 = load i32, ptr %55, align 4, !tbaa !9
  %871 = icmp ne i32 %870, 0
  br i1 %871, label %872, label %896

872:                                              ; preds = %869
  %873 = load ptr, ptr %20, align 8, !tbaa !5
  %874 = load ptr, ptr %33, align 8, !tbaa !5
  %875 = load i32, ptr %50, align 4, !tbaa !9
  %876 = sext i32 %875 to i64
  %877 = getelementptr inbounds float, ptr %874, i64 %876
  %878 = load ptr, ptr %33, align 8, !tbaa !5
  %879 = load i32, ptr %63, align 4, !tbaa !9
  %880 = sext i32 %879 to i64
  %881 = getelementptr inbounds float, ptr %878, i64 %880
  %882 = load ptr, ptr %20, align 8, !tbaa !5
  %883 = load ptr, ptr %29, align 8, !tbaa !5
  %884 = load i32, ptr %42, align 4, !tbaa !9
  %885 = sext i32 %884 to i64
  %886 = getelementptr inbounds %struct.complex, ptr %883, i64 %885
  %887 = load ptr, ptr %30, align 8, !tbaa !5
  call void @cggbak_(ptr noundef @.str.12, ptr noundef @.str.16, ptr noundef %873, ptr noundef %76, ptr noundef %75, ptr noundef %877, ptr noundef %881, ptr noundef %882, ptr noundef %886, ptr noundef %887, ptr noundef %51)
  %888 = load i32, ptr %51, align 4, !tbaa !9
  %889 = icmp ne i32 %888, 0
  br i1 %889, label %890, label %895

890:                                              ; preds = %872
  %891 = load ptr, ptr %20, align 8, !tbaa !5
  %892 = load i32, ptr %891, align 4, !tbaa !9
  %893 = add nsw i32 %892, 8
  %894 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %893, ptr %894, align 4, !tbaa !9
  br label %959

895:                                              ; preds = %872
  br label %896

896:                                              ; preds = %895, %869
  %897 = load i32, ptr %58, align 4, !tbaa !9
  %898 = icmp ne i32 %897, 0
  br i1 %898, label %899, label %927

899:                                              ; preds = %896
  %900 = load ptr, ptr %20, align 8, !tbaa !5
  %901 = load ptr, ptr %20, align 8, !tbaa !5
  %902 = load ptr, ptr %21, align 8, !tbaa !5
  %903 = load i32, ptr %36, align 4, !tbaa !9
  %904 = sext i32 %903 to i64
  %905 = getelementptr inbounds %struct.complex, ptr %902, i64 %904
  %906 = load ptr, ptr %22, align 8, !tbaa !5
  call void @clascl_(ptr noundef @.str.17, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef %65, ptr noundef %46, ptr noundef %900, ptr noundef %901, ptr noundef %905, ptr noundef %906, ptr noundef %51)
  %907 = load i32, ptr %51, align 4, !tbaa !9
  %908 = icmp ne i32 %907, 0
  br i1 %908, label %909, label %914

909:                                              ; preds = %899
  %910 = load ptr, ptr %20, align 8, !tbaa !5
  %911 = load i32, ptr %910, align 4, !tbaa !9
  %912 = add nsw i32 %911, 9
  %913 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %912, ptr %913, align 4, !tbaa !9
  store i32 1, ptr %78, align 4
  br label %968

914:                                              ; preds = %899
  %915 = load ptr, ptr %20, align 8, !tbaa !5
  %916 = load ptr, ptr %25, align 8, !tbaa !5
  %917 = getelementptr inbounds %struct.complex, ptr %916, i64 1
  %918 = load ptr, ptr %20, align 8, !tbaa !5
  call void @clascl_(ptr noundef @.str.11, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef %65, ptr noundef %46, ptr noundef %915, ptr noundef @c__1, ptr noundef %917, ptr noundef %918, ptr noundef %51)
  %919 = load i32, ptr %51, align 4, !tbaa !9
  %920 = icmp ne i32 %919, 0
  br i1 %920, label %921, label %926

921:                                              ; preds = %914
  %922 = load ptr, ptr %20, align 8, !tbaa !5
  %923 = load i32, ptr %922, align 4, !tbaa !9
  %924 = add nsw i32 %923, 9
  %925 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %924, ptr %925, align 4, !tbaa !9
  store i32 1, ptr %78, align 4
  br label %968

926:                                              ; preds = %914
  br label %927

927:                                              ; preds = %926, %896
  %928 = load i32, ptr %59, align 4, !tbaa !9
  %929 = icmp ne i32 %928, 0
  br i1 %929, label %930, label %958

930:                                              ; preds = %927
  %931 = load ptr, ptr %20, align 8, !tbaa !5
  %932 = load ptr, ptr %20, align 8, !tbaa !5
  %933 = load ptr, ptr %23, align 8, !tbaa !5
  %934 = load i32, ptr %38, align 4, !tbaa !9
  %935 = sext i32 %934 to i64
  %936 = getelementptr inbounds %struct.complex, ptr %933, i64 %935
  %937 = load ptr, ptr %24, align 8, !tbaa !5
  call void @clascl_(ptr noundef @.str.17, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef %70, ptr noundef %47, ptr noundef %931, ptr noundef %932, ptr noundef %936, ptr noundef %937, ptr noundef %51)
  %938 = load i32, ptr %51, align 4, !tbaa !9
  %939 = icmp ne i32 %938, 0
  br i1 %939, label %940, label %945

940:                                              ; preds = %930
  %941 = load ptr, ptr %20, align 8, !tbaa !5
  %942 = load i32, ptr %941, align 4, !tbaa !9
  %943 = add nsw i32 %942, 9
  %944 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %943, ptr %944, align 4, !tbaa !9
  store i32 1, ptr %78, align 4
  br label %968

945:                                              ; preds = %930
  %946 = load ptr, ptr %20, align 8, !tbaa !5
  %947 = load ptr, ptr %26, align 8, !tbaa !5
  %948 = getelementptr inbounds %struct.complex, ptr %947, i64 1
  %949 = load ptr, ptr %20, align 8, !tbaa !5
  call void @clascl_(ptr noundef @.str.11, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef %70, ptr noundef %47, ptr noundef %946, ptr noundef @c__1, ptr noundef %948, ptr noundef %949, ptr noundef %51)
  %950 = load i32, ptr %51, align 4, !tbaa !9
  %951 = icmp ne i32 %950, 0
  br i1 %951, label %952, label %957

952:                                              ; preds = %945
  %953 = load ptr, ptr %20, align 8, !tbaa !5
  %954 = load i32, ptr %953, align 4, !tbaa !9
  %955 = add nsw i32 %954, 9
  %956 = load ptr, ptr %34, align 8, !tbaa !5
  store i32 %955, ptr %956, align 4, !tbaa !9
  store i32 1, ptr %78, align 4
  br label %968

957:                                              ; preds = %945
  br label %958

958:                                              ; preds = %957, %927
  br label %959

959:                                              ; preds = %958, %890, %863, %841, %733, %690, %601, %537, %469
  %960 = load i32, ptr %73, align 4, !tbaa !9
  %961 = sitofp i32 %960 to float
  %962 = load ptr, ptr %31, align 8, !tbaa !5
  %963 = getelementptr inbounds %struct.complex, ptr %962, i64 1
  %964 = getelementptr inbounds %struct.complex, ptr %963, i32 0, i32 0
  store float %961, ptr %964, align 4, !tbaa !11
  %965 = load ptr, ptr %31, align 8, !tbaa !5
  %966 = getelementptr inbounds %struct.complex, ptr %965, i64 1
  %967 = getelementptr inbounds %struct.complex, ptr %966, i32 0, i32 1
  store float 0.000000e+00, ptr %967, align 4, !tbaa !14
  store i32 1, ptr %78, align 4
  br label %968

968:                                              ; preds = %959, %952, %940, %921, %909, %430, %385, %332, %326, %318
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #3
  ret void
}

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

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

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

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

declare float @slamch_(ptr noundef) #2

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

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

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

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

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

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

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

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

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

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

declare void @cggbak_(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 = !{!"int", !7, i64 0}
!11 = !{!12, !13, i64 0}
!12 = !{!"", !13, i64 0, !13, i64 4}
!13 = !{!"float", !7, i64 0}
!14 = !{!12, !13, i64 4}
!15 = !{!13, !13, i64 0}


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

%struct.complex = type { float, float }

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.2 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@.str.4 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [5 x i8], align 1
@c_b1 = external hidden global %struct.complex, align 4
@c_b2 = external hidden global %struct.complex, align 4
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [2 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local void @cgegs_(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 nocapture noundef readonly %14, ptr noundef %15, ptr nocapture noundef %16) local_unnamed_addr #0 {
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca float, align 4
  %21 = alloca float, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca float, align 4
  %26 = alloca float, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #4
  %29 = load i32, ptr %4, align 4, !tbaa !5
  %narrow = xor i32 %29, -1
  %30 = sext i32 %narrow to i64
  %31 = getelementptr inbounds %struct.complex, ptr %3, i64 %30
  %32 = load i32, ptr %6, align 4, !tbaa !5
  %narrow350 = xor i32 %32, -1
  %33 = sext i32 %narrow350 to i64
  %34 = getelementptr inbounds %struct.complex, ptr %5, i64 %33
  %35 = load i32, ptr %10, align 4, !tbaa !5
  %narrow362 = xor i32 %35, -1
  %36 = sext i32 %narrow362 to i64
  %37 = getelementptr inbounds %struct.complex, ptr %9, i64 %36
  %38 = getelementptr inbounds i8, ptr %13, i64 -8
  %39 = getelementptr inbounds i8, ptr %15, i64 -4
  %40 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str) #4
  %.not = icmp eq i32 %40, 0
  br i1 %.not, label %41, label %43

41:                                               ; preds = %17
  %42 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.1) #4
  %.not340 = icmp eq i32 %42, 0
  br label %43

43:                                               ; preds = %41, %17
  %.not343 = phi i1 [ true, %17 ], [ %.not340, %41 ]
  %44 = phi i1 [ false, %17 ], [ %.not340, %41 ]
  %45 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str) #4
  %.not341 = icmp eq i32 %45, 0
  br i1 %.not341, label %46, label %48

46:                                               ; preds = %43
  %47 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.1) #4
  %.not342 = icmp eq i32 %47, 0
  br label %48

48:                                               ; preds = %46, %43
  %.not344 = phi i1 [ true, %43 ], [ %.not342, %46 ]
  %49 = phi i1 [ false, %43 ], [ %.not342, %46 ]
  %50 = load i32, ptr %2, align 4, !tbaa !5
  %51 = shl i32 %50, 1
  %52 = tail call i32 @llvm.smax.i32(i32 %51, i32 1)
  %53 = uitofp nneg i32 %52 to float
  store float %53, ptr %13, align 4, !tbaa !9
  %54 = getelementptr inbounds i8, ptr %13, i64 4
  store float 0.000000e+00, ptr %54, align 4, !tbaa !12
  %55 = load i32, ptr %14, align 4, !tbaa !5
  %56 = icmp eq i32 %55, -1
  store i32 0, ptr %16, align 4, !tbaa !5
  %brmerge = select i1 %44, i1 true, i1 %49
  %.mux = select i1 %44, i32 -1, i32 -2
  br i1 %brmerge, label %.thread381.sink.split, label %57

57:                                               ; preds = %48
  %58 = load i32, ptr %2, align 4, !tbaa !5
  %59 = icmp slt i32 %58, 0
  br i1 %59, label %.thread381.sink.split, label %60

60:                                               ; preds = %57
  %61 = load i32, ptr %4, align 4, !tbaa !5
  %spec.select = tail call i32 @llvm.umax.i32(i32 %58, i32 1)
  %62 = icmp slt i32 %61, %spec.select
  br i1 %62, label %.thread381.sink.split, label %63

63:                                               ; preds = %60
  %64 = load i32, ptr %6, align 4, !tbaa !5
  %65 = icmp slt i32 %64, %spec.select
  br i1 %65, label %.thread381.sink.split, label %66

66:                                               ; preds = %63
  %67 = load i32, ptr %10, align 4, !tbaa !5
  %68 = icmp sgt i32 %67, 0
  %69 = icmp uge i32 %67, %58
  %or.cond415.not = or i1 %.not343, %69
  %or.cond420 = select i1 %68, i1 %or.cond415.not, i1 false
  br i1 %or.cond420, label %70, label %.thread381.sink.split

70:                                               ; preds = %66
  %71 = load i32, ptr %12, align 4, !tbaa !5
  %72 = icmp sgt i32 %71, 0
  %73 = icmp uge i32 %71, %58
  %or.cond416.not = or i1 %.not344, %73
  %or.cond421 = select i1 %72, i1 %or.cond416.not, i1 false
  br i1 %or.cond421, label %74, label %.thread381.sink.split

74:                                               ; preds = %70
  %75 = load i32, ptr %14, align 4, !tbaa !5
  %76 = icmp sge i32 %75, %52
  %or.cond = select i1 %76, i1 true, i1 %56
  br i1 %or.cond, label %.thread, label %.thread381.sink.split

.thread:                                          ; preds = %74
  %77 = tail call i32 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, i32 noundef 6, i32 noundef 1) #4
  %78 = tail call i32 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.3, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef nonnull @c_n1, i32 noundef 6, i32 noundef 1) #4
  %79 = tail call i32 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.3, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef nonnull @c_n1, i32 noundef 6, i32 noundef 1) #4
  %80 = tail call i32 @llvm.smax.i32(i32 %77, i32 %78)
  store i32 %80, ptr %18, align 4, !tbaa !5
  %81 = tail call i32 @llvm.smax.i32(i32 %80, i32 %79)
  %82 = load i32, ptr %2, align 4, !tbaa !5
  %83 = add nsw i32 %81, 1
  %84 = mul nsw i32 %82, %83
  %85 = sitofp i32 %84 to float
  store float %85, ptr %13, align 4, !tbaa !9
  store float 0.000000e+00, ptr %54, align 4, !tbaa !12
  %.pr380.pr = load i32, ptr %16, align 4, !tbaa !5
  %.not347 = icmp eq i32 %.pr380.pr, 0
  br i1 %.not347, label %89, label %.thread381

.thread381.sink.split:                            ; preds = %48, %74, %70, %66, %63, %60, %57
  %.sink = phi i32 [ %.mux, %48 ], [ -3, %57 ], [ -5, %60 ], [ -7, %63 ], [ -11, %66 ], [ -13, %70 ], [ -15, %74 ]
  store i32 %.sink, ptr %16, align 4, !tbaa !5
  br label %.thread381

.thread381:                                       ; preds = %.thread381.sink.split, %.thread
  %86 = phi i32 [ %.pr380.pr, %.thread ], [ %.sink, %.thread381.sink.split ]
  %87 = sub nsw i32 0, %86
  store i32 %87, ptr %18, align 4, !tbaa !5
  %88 = call i32 @xerbla_(ptr noundef nonnull @.str.6, ptr noundef nonnull %18, i32 noundef 6) #4
  br label %270

89:                                               ; preds = %.thread
  %90 = icmp eq i32 %82, 0
  %or.cond422 = select i1 %56, i1 true, i1 %90
  br i1 %or.cond422, label %270, label %91

91:                                               ; preds = %89
  %92 = tail call float @slamch_(ptr noundef nonnull @.str.7) #4
  %93 = tail call float @slamch_(ptr noundef nonnull @.str.8) #4
  %94 = fmul float %92, %93
  %95 = tail call float @slamch_(ptr noundef nonnull @.str.9) #4
  %96 = load i32, ptr %2, align 4, !tbaa !5
  %97 = sitofp i32 %96 to float
  %98 = fmul float %95, %97
  %99 = fdiv float %98, %94
  %100 = fdiv float 1.000000e+00, %99
  %101 = tail call float @clange_(ptr noundef nonnull @.str.10, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %15) #4
  store float %101, ptr %20, align 4, !tbaa !13
  %102 = fcmp ogt float %101, 0.000000e+00
  %103 = fcmp olt float %101, %99
  %or.cond376 = select i1 %102, i1 %103, i1 false
  br i1 %or.cond376, label %106, label %104

104:                                              ; preds = %91
  %105 = fcmp ogt float %101, %100
  br i1 %105, label %106, label %111

106:                                              ; preds = %104, %91
  %storemerge = phi float [ %99, %91 ], [ %100, %104 ]
  store float %storemerge, ptr %25, align 4, !tbaa !13
  call void @clascl_(ptr noundef nonnull @.str.11, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull %20, ptr noundef nonnull %25, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %22) #4
  %107 = load i32, ptr %22, align 4, !tbaa !5
  %.not349 = icmp eq i32 %107, 0
  br i1 %.not349, label %111, label %108

108:                                              ; preds = %106
  %109 = load i32, ptr %2, align 4, !tbaa !5
  %110 = add nsw i32 %109, 9
  store i32 %110, ptr %16, align 4, !tbaa !5
  br label %270

111:                                              ; preds = %104, %106
  %.not348387 = phi i1 [ false, %106 ], [ true, %104 ]
  %112 = call float @clange_(ptr noundef nonnull @.str.10, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %15) #4
  store float %112, ptr %21, align 4, !tbaa !13
  %113 = fcmp ogt float %112, 0.000000e+00
  %114 = fcmp olt float %112, %99
  %or.cond377 = select i1 %113, i1 %114, i1 false
  br i1 %or.cond377, label %117, label %115

115:                                              ; preds = %111
  %116 = fcmp ogt float %112, %100
  br i1 %116, label %117, label %122

117:                                              ; preds = %115, %111
  %storemerge419 = phi float [ %99, %111 ], [ %100, %115 ]
  store float %storemerge419, ptr %26, align 4, !tbaa !13
  call void @clascl_(ptr noundef nonnull @.str.11, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull %21, ptr noundef nonnull %26, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %22) #4
  %118 = load i32, ptr %22, align 4, !tbaa !5
  %.not352 = icmp eq i32 %118, 0
  br i1 %.not352, label %122, label %119

119:                                              ; preds = %117
  %120 = load i32, ptr %2, align 4, !tbaa !5
  %121 = add nsw i32 %120, 9
  store i32 %121, ptr %16, align 4, !tbaa !5
  br label %270

122:                                              ; preds = %115, %117
  %.not351392 = phi i1 [ false, %117 ], [ true, %115 ]
  %123 = load i32, ptr %2, align 4, !tbaa !5
  %124 = add nsw i32 %123, 1
  %125 = add nsw i32 %124, %123
  %126 = sext i32 %124 to i64
  %127 = getelementptr inbounds float, ptr %39, i64 %126
  %128 = sext i32 %125 to i64
  %129 = getelementptr inbounds float, ptr %39, i64 %128
  call void @cggbal_(ptr noundef nonnull @.str.12, ptr noundef nonnull %2, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %28, ptr noundef nonnull %27, ptr noundef %15, ptr noundef nonnull %127, ptr noundef nonnull %129, ptr noundef nonnull %22) #4
  %130 = load i32, ptr %22, align 4, !tbaa !5
  %.not353 = icmp eq i32 %130, 0
  br i1 %.not353, label %134, label %131

131:                                              ; preds = %122
  %132 = load i32, ptr %2, align 4, !tbaa !5
  %133 = add nsw i32 %132, 1
  br label %.sink.split

134:                                              ; preds = %122
  %135 = load i32, ptr %27, align 4, !tbaa !5
  %136 = add nsw i32 %135, 1
  %137 = load i32, ptr %28, align 4, !tbaa !5
  %138 = sub i32 %136, %137
  store i32 %138, ptr %24, align 4, !tbaa !5
  %139 = load i32, ptr %2, align 4, !tbaa !5
  %reass.sub = sub i32 %139, %137
  %140 = add i32 %reass.sub, 1
  store i32 %140, ptr %23, align 4, !tbaa !5
  %141 = load i32, ptr %14, align 4, !tbaa !5
  %142 = sub i32 %141, %138
  store i32 %142, ptr %18, align 4, !tbaa !5
  %143 = add i32 %32, 1
  %144 = mul i32 %137, %143
  %145 = sext i32 %144 to i64
  %146 = getelementptr inbounds %struct.complex, ptr %34, i64 %145
  %147 = sext i32 %138 to i64
  %148 = getelementptr %struct.complex, ptr %38, i64 %147
  %149 = getelementptr i8, ptr %148, i64 8
  call void @cgeqrf_(ptr noundef nonnull %24, ptr noundef nonnull %23, ptr noundef %146, ptr noundef nonnull %6, ptr noundef nonnull %13, ptr noundef nonnull %149, ptr noundef nonnull %18, ptr noundef nonnull %22) #4
  %150 = load i32, ptr %22, align 4, !tbaa !5
  %151 = icmp sgt i32 %150, -1
  br i1 %151, label %152, label %.thread393

152:                                              ; preds = %134
  %153 = load float, ptr %149, align 4, !tbaa !9
  %154 = fptosi float %153 to i32
  %155 = add i32 %138, %154
  store i32 %155, ptr %19, align 4, !tbaa !5
  %156 = call i32 @llvm.smax.i32(i32 %52, i32 %155)
  %.not355 = icmp eq i32 %150, 0
  br i1 %.not355, label %159, label %.thread393

.thread393:                                       ; preds = %134, %152
  %.0396 = phi i32 [ %156, %152 ], [ %52, %134 ]
  %157 = load i32, ptr %2, align 4, !tbaa !5
  %158 = add nsw i32 %157, 2
  br label %.sink.split

159:                                              ; preds = %152
  %160 = load i32, ptr %14, align 4, !tbaa !5
  %161 = sub i32 %160, %138
  store i32 %161, ptr %18, align 4, !tbaa !5
  %162 = load i32, ptr %28, align 4, !tbaa !5
  %163 = mul i32 %162, %143
  %164 = sext i32 %163 to i64
  %165 = getelementptr inbounds %struct.complex, ptr %34, i64 %164
  %166 = add i32 %29, 1
  %167 = mul i32 %162, %166
  %168 = sext i32 %167 to i64
  %169 = getelementptr inbounds %struct.complex, ptr %31, i64 %168
  call void @cunmqr_(ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.14, ptr noundef nonnull %24, ptr noundef nonnull %23, ptr noundef nonnull %24, ptr noundef %165, ptr noundef nonnull %6, ptr noundef nonnull %13, ptr noundef %169, ptr noundef nonnull %4, ptr noundef nonnull %149, ptr noundef nonnull %18, ptr noundef nonnull %22) #4
  %170 = load i32, ptr %22, align 4, !tbaa !5
  %171 = icmp sgt i32 %170, -1
  br i1 %171, label %172, label %.thread397

172:                                              ; preds = %159
  store i32 %156, ptr %18, align 4, !tbaa !5
  %173 = load float, ptr %149, align 4, !tbaa !9
  %174 = fptosi float %173 to i32
  %175 = add i32 %138, %174
  store i32 %175, ptr %19, align 4, !tbaa !5
  %176 = call i32 @llvm.smax.i32(i32 %156, i32 %175)
  %.not357 = icmp eq i32 %170, 0
  br i1 %.not357, label %179, label %.thread397

.thread397:                                       ; preds = %159, %172
  %.1400 = phi i32 [ %176, %172 ], [ %156, %159 ]
  %177 = load i32, ptr %2, align 4, !tbaa !5
  %178 = add nsw i32 %177, 3
  br label %.sink.split

179:                                              ; preds = %172
  br i1 %.not343, label %209, label %180

180:                                              ; preds = %179
  call void @claset_(ptr noundef nonnull @.str.15, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef nonnull @c_b1, ptr noundef nonnull @c_b2, ptr noundef %9, ptr noundef nonnull %10) #4
  %181 = load i32, ptr %24, align 4, !tbaa !5
  %182 = add nsw i32 %181, -1
  store i32 %182, ptr %18, align 4, !tbaa !5
  store i32 %182, ptr %19, align 4, !tbaa !5
  %183 = load i32, ptr %28, align 4, !tbaa !5
  %184 = add nsw i32 %183, 1
  %185 = mul nsw i32 %183, %32
  %186 = add nsw i32 %184, %185
  %187 = sext i32 %186 to i64
  %188 = getelementptr inbounds %struct.complex, ptr %34, i64 %187
  %189 = mul nsw i32 %183, %35
  %190 = add nsw i32 %184, %189
  %191 = sext i32 %190 to i64
  %192 = getelementptr inbounds %struct.complex, ptr %37, i64 %191
  call void @clacpy_(ptr noundef nonnull @.str.13, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef %188, ptr noundef nonnull %6, ptr noundef %192, ptr noundef nonnull %10) #4
  %193 = load i32, ptr %14, align 4, !tbaa !5
  %194 = sub i32 %193, %138
  store i32 %194, ptr %18, align 4, !tbaa !5
  %195 = load i32, ptr %28, align 4, !tbaa !5
  %196 = add i32 %35, 1
  %197 = mul i32 %195, %196
  %198 = sext i32 %197 to i64
  %199 = getelementptr inbounds %struct.complex, ptr %37, i64 %198
  call void @cungqr_(ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef nonnull %24, ptr noundef %199, ptr noundef nonnull %10, ptr noundef nonnull %13, ptr noundef nonnull %149, ptr noundef nonnull %18, ptr noundef nonnull %22) #4
  %200 = load i32, ptr %22, align 4, !tbaa !5
  %201 = icmp sgt i32 %200, -1
  br i1 %201, label %202, label %.thread401

202:                                              ; preds = %180
  store i32 %176, ptr %18, align 4, !tbaa !5
  %203 = load float, ptr %149, align 4, !tbaa !9
  %204 = fptosi float %203 to i32
  %205 = add i32 %138, %204
  store i32 %205, ptr %19, align 4, !tbaa !5
  %206 = call i32 @llvm.smax.i32(i32 %176, i32 %205)
  %.not360 = icmp eq i32 %200, 0
  br i1 %.not360, label %209, label %.thread401

.thread401:                                       ; preds = %180, %202
  %.2404 = phi i32 [ %206, %202 ], [ %176, %180 ]
  %207 = load i32, ptr %2, align 4, !tbaa !5
  %208 = add nsw i32 %207, 4
  br label %.sink.split

209:                                              ; preds = %202, %179
  %.3 = phi i32 [ %206, %202 ], [ %176, %179 ]
  br i1 %.not344, label %211, label %210

210:                                              ; preds = %209
  call void @claset_(ptr noundef nonnull @.str.15, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef nonnull @c_b1, ptr noundef nonnull @c_b2, ptr noundef %11, ptr noundef nonnull %12) #4
  br label %211

211:                                              ; preds = %210, %209
  call void @cgghrd_(ptr noundef %0, ptr noundef %1, ptr noundef nonnull %2, ptr noundef nonnull %28, ptr noundef nonnull %27, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %9, ptr noundef nonnull %10, ptr noundef %11, ptr noundef nonnull %12, ptr noundef nonnull %22) #4
  %212 = load i32, ptr %22, align 4, !tbaa !5
  %.not363 = icmp eq i32 %212, 0
  br i1 %.not363, label %216, label %213

213:                                              ; preds = %211
  %214 = load i32, ptr %2, align 4, !tbaa !5
  %215 = add nsw i32 %214, 5
  br label %.sink.split

216:                                              ; preds = %211
  %217 = load i32, ptr %14, align 4, !tbaa !5
  store i32 %217, ptr %18, align 4, !tbaa !5
  call void @chgeqz_(ptr noundef nonnull @.str.9, ptr noundef %0, ptr noundef %1, ptr noundef nonnull %2, ptr noundef nonnull %28, ptr noundef nonnull %27, ptr noundef %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef nonnull %10, ptr noundef %11, ptr noundef nonnull %12, ptr noundef nonnull %13, ptr noundef nonnull %18, ptr noundef nonnull %129, ptr noundef nonnull %22) #4
  %218 = load i32, ptr %22, align 4, !tbaa !5
  %219 = icmp sgt i32 %218, -1
  br i1 %219, label %220, label %._crit_edge

._crit_edge:                                      ; preds = %216
  %.pre = load i32, ptr %2, align 4, !tbaa !5
  br label %226

220:                                              ; preds = %216
  store i32 %.3, ptr %18, align 4, !tbaa !5
  %221 = load float, ptr %13, align 4, !tbaa !9
  %222 = fptosi float %221 to i32
  store i32 %222, ptr %19, align 4, !tbaa !5
  %223 = call i32 @llvm.smax.i32(i32 %.3, i32 %222)
  %.not365 = icmp eq i32 %218, 0
  br i1 %.not365, label %234, label %224

224:                                              ; preds = %220
  %225 = load i32, ptr %2, align 4, !tbaa !5
  %.not372 = icmp sgt i32 %218, %225
  br i1 %.not372, label %226, label %.sink.split

226:                                              ; preds = %._crit_edge, %224
  %227 = phi i32 [ %225, %224 ], [ %.pre, %._crit_edge ]
  %.4408412 = phi i32 [ %223, %224 ], [ %.3, %._crit_edge ]
  %228 = icmp sle i32 %218, %227
  %229 = shl i32 %227, 1
  %.not373 = icmp sgt i32 %218, %229
  %or.cond378 = or i1 %228, %.not373
  br i1 %or.cond378, label %232, label %230

230:                                              ; preds = %226
  %231 = sub nsw i32 %218, %227
  br label %.sink.split

232:                                              ; preds = %226
  %233 = add nsw i32 %227, 6
  br label %.sink.split

234:                                              ; preds = %220
  br i1 %.not343, label %240, label %235

235:                                              ; preds = %234
  call void @cggbak_(ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.13, ptr noundef nonnull %2, ptr noundef nonnull %28, ptr noundef nonnull %27, ptr noundef %15, ptr noundef nonnull %127, ptr noundef nonnull %2, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %22) #4
  %236 = load i32, ptr %22, align 4, !tbaa !5
  %.not366 = icmp eq i32 %236, 0
  br i1 %.not366, label %240, label %237

237:                                              ; preds = %235
  %238 = load i32, ptr %2, align 4, !tbaa !5
  %239 = add nsw i32 %238, 7
  br label %.sink.split

240:                                              ; preds = %235, %234
  br i1 %.not344, label %246, label %241

241:                                              ; preds = %240
  call void @cggbak_(ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.16, ptr noundef nonnull %2, ptr noundef nonnull %28, ptr noundef nonnull %27, ptr noundef %15, ptr noundef nonnull %127, ptr noundef nonnull %2, ptr noundef %11, ptr noundef nonnull %12, ptr noundef nonnull %22) #4
  %242 = load i32, ptr %22, align 4, !tbaa !5
  %.not367 = icmp eq i32 %242, 0
  br i1 %.not367, label %246, label %243

243:                                              ; preds = %241
  %244 = load i32, ptr %2, align 4, !tbaa !5
  %245 = add nsw i32 %244, 8
  br label %.sink.split

246:                                              ; preds = %241, %240
  br i1 %.not348387, label %257, label %247

247:                                              ; preds = %246
  call void @clascl_(ptr noundef nonnull @.str.17, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull %25, ptr noundef nonnull %20, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef %3, ptr noundef nonnull %4, ptr noundef nonnull %22) #4
  %248 = load i32, ptr %22, align 4, !tbaa !5
  %.not368 = icmp eq i32 %248, 0
  br i1 %.not368, label %252, label %249

249:                                              ; preds = %247
  %250 = load i32, ptr %2, align 4, !tbaa !5
  %251 = add nsw i32 %250, 9
  store i32 %251, ptr %16, align 4, !tbaa !5
  br label %270

252:                                              ; preds = %247
  call void @clascl_(ptr noundef nonnull @.str.11, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull %25, ptr noundef nonnull %20, ptr noundef nonnull %2, ptr noundef nonnull @c__1, ptr noundef %7, ptr noundef nonnull %2, ptr noundef nonnull %22) #4
  %253 = load i32, ptr %22, align 4, !tbaa !5
  %.not369 = icmp eq i32 %253, 0
  br i1 %.not369, label %257, label %254

254:                                              ; preds = %252
  %255 = load i32, ptr %2, align 4, !tbaa !5
  %256 = add nsw i32 %255, 9
  store i32 %256, ptr %16, align 4, !tbaa !5
  br label %270

257:                                              ; preds = %252, %246
  br i1 %.not351392, label %268, label %258

258:                                              ; preds = %257
  call void @clascl_(ptr noundef nonnull @.str.17, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull %26, ptr noundef nonnull %21, ptr noundef nonnull %2, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %22) #4
  %259 = load i32, ptr %22, align 4, !tbaa !5
  %.not370 = icmp eq i32 %259, 0
  br i1 %.not370, label %263, label %260

260:                                              ; preds = %258
  %261 = load i32, ptr %2, align 4, !tbaa !5
  %262 = add nsw i32 %261, 9
  store i32 %262, ptr %16, align 4, !tbaa !5
  br label %270

263:                                              ; preds = %258
  call void @clascl_(ptr noundef nonnull @.str.11, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull %26, ptr noundef nonnull %21, ptr noundef nonnull %2, ptr noundef nonnull @c__1, ptr noundef %8, ptr noundef nonnull %2, ptr noundef nonnull %22) #4
  %264 = load i32, ptr %22, align 4, !tbaa !5
  %.not371 = icmp eq i32 %264, 0
  br i1 %.not371, label %268, label %265

265:                                              ; preds = %263
  %266 = load i32, ptr %2, align 4, !tbaa !5
  %267 = add nsw i32 %266, 9
  store i32 %267, ptr %16, align 4, !tbaa !5
  br label %270

.sink.split:                                      ; preds = %224, %131, %.thread393, %.thread397, %.thread401, %213, %237, %243, %230, %232
  %.sink423 = phi i32 [ %233, %232 ], [ %231, %230 ], [ %245, %243 ], [ %239, %237 ], [ %215, %213 ], [ %208, %.thread401 ], [ %178, %.thread397 ], [ %158, %.thread393 ], [ %133, %131 ], [ %218, %224 ]
  %.5.ph = phi i32 [ %.4408412, %232 ], [ %.4408412, %230 ], [ %223, %243 ], [ %223, %237 ], [ %.3, %213 ], [ %.2404, %.thread401 ], [ %.1400, %.thread397 ], [ %.0396, %.thread393 ], [ %52, %131 ], [ %223, %224 ]
  store i32 %.sink423, ptr %16, align 4, !tbaa !5
  br label %268

268:                                              ; preds = %.sink.split, %257, %263
  %.5 = phi i32 [ %223, %263 ], [ %223, %257 ], [ %.5.ph, %.sink.split ]
  %269 = uitofp nneg i32 %.5 to float
  store float %269, ptr %13, align 4, !tbaa !9
  store float 0.000000e+00, ptr %54, align 4, !tbaa !12
  br label %270

270:                                              ; preds = %89, %268, %265, %260, %254, %249, %119, %108, %.thread381
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #4
  ret void
}

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

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

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

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

declare float @slamch_(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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