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

; 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
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 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
@c_n1 = external hidden global i32, align 4
@.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 [7 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.13 = external hidden unnamed_addr constant [2 x i8], align 1
@c__0 = external hidden global i32, align 4
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @cgedmd_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef %12, ptr noundef %13, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22, ptr noundef %23, ptr noundef %24, ptr noundef %25, ptr noundef %26, ptr noundef %27, ptr noundef %28, ptr noundef %29, ptr noundef %30) #0 {
  %32 = alloca i32, align 4
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca ptr, align 8
  %51 = alloca ptr, align 8
  %52 = alloca ptr, align 8
  %53 = alloca ptr, align 8
  %54 = alloca ptr, align 8
  %55 = alloca ptr, align 8
  %56 = alloca ptr, align 8
  %57 = alloca ptr, align 8
  %58 = alloca ptr, align 8
  %59 = alloca ptr, align 8
  %60 = alloca ptr, align 8
  %61 = alloca ptr, align 8
  %62 = alloca ptr, align 8
  %63 = alloca ptr, align 8
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca float, align 4
  %82 = alloca float, align 4
  %83 = alloca %struct.complex, align 4
  %84 = alloca %struct.complex, align 4
  %85 = alloca %struct.complex, align 4
  %86 = alloca float, align 4
  %87 = alloca float, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca float, align 4
  %91 = alloca float, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca float, align 4
  %95 = alloca i32, align 4
  %96 = alloca float, align 4
  %97 = alloca [1 x i8], align 1
  %98 = alloca i32, align 4
  %99 = alloca %struct.complex, align 4
  %100 = alloca [1 x i8], align 1
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca float, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca [1 x i8], align 1
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca [2 x float], align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca float, align 4
  %126 = alloca float, align 4
  %127 = alloca i32, align 4
  %128 = alloca { float, float }, align 4
  %129 = alloca { float, float }, align 4
  %130 = alloca { float, float }, align 4
  %131 = alloca { float, float }, align 4
  store ptr %0, ptr %33, align 8, !tbaa !5
  store ptr %1, ptr %34, align 8, !tbaa !5
  store ptr %2, ptr %35, align 8, !tbaa !5
  store ptr %3, ptr %36, align 8, !tbaa !5
  store ptr %4, ptr %37, align 8, !tbaa !5
  store ptr %5, ptr %38, align 8, !tbaa !5
  store ptr %6, ptr %39, align 8, !tbaa !5
  store ptr %7, ptr %40, align 8, !tbaa !5
  store ptr %8, ptr %41, align 8, !tbaa !5
  store ptr %9, ptr %42, align 8, !tbaa !5
  store ptr %10, ptr %43, align 8, !tbaa !5
  store ptr %11, ptr %44, align 8, !tbaa !5
  store ptr %12, ptr %45, align 8, !tbaa !5
  store ptr %13, ptr %46, align 8, !tbaa !5
  store ptr %14, ptr %47, align 8, !tbaa !5
  store ptr %15, ptr %48, align 8, !tbaa !5
  store ptr %16, ptr %49, align 8, !tbaa !5
  store ptr %17, ptr %50, align 8, !tbaa !5
  store ptr %18, ptr %51, align 8, !tbaa !5
  store ptr %19, ptr %52, align 8, !tbaa !5
  store ptr %20, ptr %53, align 8, !tbaa !5
  store ptr %21, ptr %54, align 8, !tbaa !5
  store ptr %22, ptr %55, align 8, !tbaa !5
  store ptr %23, ptr %56, align 8, !tbaa !5
  store ptr %24, ptr %57, align 8, !tbaa !5
  store ptr %25, ptr %58, align 8, !tbaa !5
  store ptr %26, ptr %59, align 8, !tbaa !5
  store ptr %27, ptr %60, align 8, !tbaa !5
  store ptr %28, ptr %61, align 8, !tbaa !5
  store ptr %29, ptr %62, align 8, !tbaa !5
  store ptr %30, ptr %63, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %97) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %100) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #6
  %132 = load ptr, ptr %41, align 8, !tbaa !5
  %133 = load i32, ptr %132, align 4, !tbaa !9
  store i32 %133, ptr %64, align 4, !tbaa !9
  %134 = load i32, ptr %64, align 4, !tbaa !9
  %135 = mul nsw i32 %134, 1
  %136 = add nsw i32 1, %135
  store i32 %136, ptr %65, align 4, !tbaa !9
  %137 = load i32, ptr %65, align 4, !tbaa !9
  %138 = load ptr, ptr %40, align 8, !tbaa !5
  %139 = sext i32 %137 to i64
  %140 = sub i64 0, %139
  %141 = getelementptr inbounds %struct.complex, ptr %138, i64 %140
  store ptr %141, ptr %40, align 8, !tbaa !5
  %142 = load ptr, ptr %43, align 8, !tbaa !5
  %143 = load i32, ptr %142, align 4, !tbaa !9
  store i32 %143, ptr %66, align 4, !tbaa !9
  %144 = load i32, ptr %66, align 4, !tbaa !9
  %145 = mul nsw i32 %144, 1
  %146 = add nsw i32 1, %145
  store i32 %146, ptr %67, align 4, !tbaa !9
  %147 = load i32, ptr %67, align 4, !tbaa !9
  %148 = load ptr, ptr %42, align 8, !tbaa !5
  %149 = sext i32 %147 to i64
  %150 = sub i64 0, %149
  %151 = getelementptr inbounds %struct.complex, ptr %148, i64 %150
  store ptr %151, ptr %42, align 8, !tbaa !5
  %152 = load ptr, ptr %47, align 8, !tbaa !5
  %153 = getelementptr inbounds %struct.complex, ptr %152, i32 -1
  store ptr %153, ptr %47, align 8, !tbaa !5
  %154 = load ptr, ptr %49, align 8, !tbaa !5
  %155 = load i32, ptr %154, align 4, !tbaa !9
  store i32 %155, ptr %68, align 4, !tbaa !9
  %156 = load i32, ptr %68, align 4, !tbaa !9
  %157 = mul nsw i32 %156, 1
  %158 = add nsw i32 1, %157
  store i32 %158, ptr %69, align 4, !tbaa !9
  %159 = load i32, ptr %69, align 4, !tbaa !9
  %160 = load ptr, ptr %48, align 8, !tbaa !5
  %161 = sext i32 %159 to i64
  %162 = sub i64 0, %161
  %163 = getelementptr inbounds %struct.complex, ptr %160, i64 %162
  store ptr %163, ptr %48, align 8, !tbaa !5
  %164 = load ptr, ptr %50, align 8, !tbaa !5
  %165 = getelementptr inbounds float, ptr %164, i32 -1
  store ptr %165, ptr %50, align 8, !tbaa !5
  %166 = load ptr, ptr %52, align 8, !tbaa !5
  %167 = load i32, ptr %166, align 4, !tbaa !9
  store i32 %167, ptr %70, align 4, !tbaa !9
  %168 = load i32, ptr %70, align 4, !tbaa !9
  %169 = mul nsw i32 %168, 1
  %170 = add nsw i32 1, %169
  store i32 %170, ptr %71, align 4, !tbaa !9
  %171 = load i32, ptr %71, align 4, !tbaa !9
  %172 = load ptr, ptr %51, align 8, !tbaa !5
  %173 = sext i32 %171 to i64
  %174 = sub i64 0, %173
  %175 = getelementptr inbounds %struct.complex, ptr %172, i64 %174
  store ptr %175, ptr %51, align 8, !tbaa !5
  %176 = load ptr, ptr %54, align 8, !tbaa !5
  %177 = load i32, ptr %176, align 4, !tbaa !9
  store i32 %177, ptr %72, align 4, !tbaa !9
  %178 = load i32, ptr %72, align 4, !tbaa !9
  %179 = mul nsw i32 %178, 1
  %180 = add nsw i32 1, %179
  store i32 %180, ptr %73, align 4, !tbaa !9
  %181 = load i32, ptr %73, align 4, !tbaa !9
  %182 = load ptr, ptr %53, align 8, !tbaa !5
  %183 = sext i32 %181 to i64
  %184 = sub i64 0, %183
  %185 = getelementptr inbounds %struct.complex, ptr %182, i64 %184
  store ptr %185, ptr %53, align 8, !tbaa !5
  %186 = load ptr, ptr %56, align 8, !tbaa !5
  %187 = load i32, ptr %186, align 4, !tbaa !9
  store i32 %187, ptr %74, align 4, !tbaa !9
  %188 = load i32, ptr %74, align 4, !tbaa !9
  %189 = mul nsw i32 %188, 1
  %190 = add nsw i32 1, %189
  store i32 %190, ptr %75, align 4, !tbaa !9
  %191 = load i32, ptr %75, align 4, !tbaa !9
  %192 = load ptr, ptr %55, align 8, !tbaa !5
  %193 = sext i32 %191 to i64
  %194 = sub i64 0, %193
  %195 = getelementptr inbounds %struct.complex, ptr %192, i64 %194
  store ptr %195, ptr %55, align 8, !tbaa !5
  %196 = load ptr, ptr %57, align 8, !tbaa !5
  %197 = getelementptr inbounds %struct.complex, ptr %196, i32 -1
  store ptr %197, ptr %57, align 8, !tbaa !5
  %198 = load ptr, ptr %59, align 8, !tbaa !5
  %199 = getelementptr inbounds float, ptr %198, i32 -1
  store ptr %199, ptr %59, align 8, !tbaa !5
  %200 = load ptr, ptr %61, align 8, !tbaa !5
  %201 = getelementptr inbounds i32, ptr %200, i32 -1
  store ptr %201, ptr %61, align 8, !tbaa !5
  store float 0.000000e+00, ptr %86, align 4, !tbaa !11
  store float 1.000000e+00, ptr %126, align 4, !tbaa !11
  %202 = getelementptr inbounds %struct.complex, ptr %99, i32 0, i32 0
  store float 0.000000e+00, ptr %202, align 4, !tbaa !13
  %203 = getelementptr inbounds %struct.complex, ptr %99, i32 0, i32 1
  store float 0.000000e+00, ptr %203, align 4, !tbaa !15
  %204 = getelementptr inbounds %struct.complex, ptr %85, i32 0, i32 0
  store float 1.000000e+00, ptr %204, align 4, !tbaa !13
  %205 = getelementptr inbounds %struct.complex, ptr %85, i32 0, i32 1
  store float 0.000000e+00, ptr %205, align 4, !tbaa !15
  %206 = load ptr, ptr %35, align 8, !tbaa !5
  %207 = call i32 @lsame_(ptr noundef %206, ptr noundef @.str)
  store i32 %207, ptr %118, align 4, !tbaa !9
  %208 = load ptr, ptr %33, align 8, !tbaa !5
  %209 = call i32 @lsame_(ptr noundef %208, ptr noundef @.str.1)
  %210 = icmp ne i32 %209, 0
  br i1 %210, label %215, label %211

211:                                              ; preds = %31
  %212 = load ptr, ptr %33, align 8, !tbaa !5
  %213 = call i32 @lsame_(ptr noundef %212, ptr noundef @.str.2)
  %214 = icmp ne i32 %213, 0
  br label %215

215:                                              ; preds = %211, %31
  %216 = phi i1 [ true, %31 ], [ %214, %211 ]
  %217 = zext i1 %216 to i32
  store i32 %217, ptr %101, align 4, !tbaa !9
  %218 = load ptr, ptr %33, align 8, !tbaa !5
  %219 = call i32 @lsame_(ptr noundef %218, ptr noundef @.str.3)
  store i32 %219, ptr %102, align 4, !tbaa !9
  %220 = load ptr, ptr %34, align 8, !tbaa !5
  %221 = call i32 @lsame_(ptr noundef %220, ptr noundef @.str.4)
  store i32 %221, ptr %107, align 4, !tbaa !9
  %222 = load ptr, ptr %36, align 8, !tbaa !5
  %223 = call i32 @lsame_(ptr noundef %222, ptr noundef @.str)
  store i32 %223, ptr %106, align 4, !tbaa !9
  %224 = load ptr, ptr %36, align 8, !tbaa !5
  %225 = call i32 @lsame_(ptr noundef %224, ptr noundef @.str.5)
  store i32 %225, ptr %98, align 4, !tbaa !9
  %226 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 0, ptr %226, align 4, !tbaa !9
  %227 = load ptr, ptr %58, align 8, !tbaa !5
  %228 = load i32, ptr %227, align 4, !tbaa !9
  %229 = icmp eq i32 %228, -1
  br i1 %229, label %238, label %230

230:                                              ; preds = %215
  %231 = load ptr, ptr %62, align 8, !tbaa !5
  %232 = load i32, ptr %231, align 4, !tbaa !9
  %233 = icmp eq i32 %232, -1
  br i1 %233, label %238, label %234

234:                                              ; preds = %230
  %235 = load ptr, ptr %60, align 8, !tbaa !5
  %236 = load i32, ptr %235, align 4, !tbaa !9
  %237 = icmp eq i32 %236, -1
  br label %238

238:                                              ; preds = %234, %230, %215
  %239 = phi i1 [ true, %230 ], [ true, %215 ], [ %237, %234 ]
  %240 = zext i1 %239 to i32
  store i32 %240, ptr %117, align 4, !tbaa !9
  %241 = load i32, ptr %101, align 4, !tbaa !9
  %242 = icmp ne i32 %241, 0
  br i1 %242, label %252, label %243

243:                                              ; preds = %238
  %244 = load i32, ptr %102, align 4, !tbaa !9
  %245 = icmp ne i32 %244, 0
  br i1 %245, label %252, label %246

246:                                              ; preds = %243
  %247 = load ptr, ptr %33, align 8, !tbaa !5
  %248 = call i32 @lsame_(ptr noundef %247, ptr noundef @.str.6)
  %249 = icmp ne i32 %248, 0
  br i1 %249, label %252, label %250

250:                                              ; preds = %246
  %251 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -1, ptr %251, align 4, !tbaa !9
  br label %428

252:                                              ; preds = %246, %243, %238
  %253 = load i32, ptr %107, align 4, !tbaa !9
  %254 = icmp ne i32 %253, 0
  br i1 %254, label %265, label %255

255:                                              ; preds = %252
  %256 = load ptr, ptr %34, align 8, !tbaa !5
  %257 = call i32 @lsame_(ptr noundef %256, ptr noundef @.str.6)
  %258 = icmp ne i32 %257, 0
  br i1 %258, label %265, label %259

259:                                              ; preds = %255
  %260 = load ptr, ptr %34, align 8, !tbaa !5
  %261 = call i32 @lsame_(ptr noundef %260, ptr noundef @.str.7)
  %262 = icmp ne i32 %261, 0
  br i1 %262, label %265, label %263

263:                                              ; preds = %259
  %264 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -2, ptr %264, align 4, !tbaa !9
  br label %427

265:                                              ; preds = %259, %255, %252
  %266 = load i32, ptr %118, align 4, !tbaa !9
  %267 = icmp ne i32 %266, 0
  br i1 %267, label %272, label %268

268:                                              ; preds = %265
  %269 = load ptr, ptr %35, align 8, !tbaa !5
  %270 = call i32 @lsame_(ptr noundef %269, ptr noundef @.str.6)
  %271 = icmp ne i32 %270, 0
  br i1 %271, label %272, label %278

272:                                              ; preds = %268, %265
  %273 = load i32, ptr %118, align 4, !tbaa !9
  %274 = icmp ne i32 %273, 0
  br i1 %274, label %275, label %280

275:                                              ; preds = %272
  %276 = load i32, ptr %107, align 4, !tbaa !9
  %277 = icmp ne i32 %276, 0
  br i1 %277, label %280, label %278

278:                                              ; preds = %275, %268
  %279 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -3, ptr %279, align 4, !tbaa !9
  br label %426

280:                                              ; preds = %275, %272
  %281 = load i32, ptr %106, align 4, !tbaa !9
  %282 = icmp ne i32 %281, 0
  br i1 %282, label %292, label %283

283:                                              ; preds = %280
  %284 = load i32, ptr %98, align 4, !tbaa !9
  %285 = icmp ne i32 %284, 0
  br i1 %285, label %292, label %286

286:                                              ; preds = %283
  %287 = load ptr, ptr %36, align 8, !tbaa !5
  %288 = call i32 @lsame_(ptr noundef %287, ptr noundef @.str.6)
  %289 = icmp ne i32 %288, 0
  br i1 %289, label %292, label %290

290:                                              ; preds = %286
  %291 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -4, ptr %291, align 4, !tbaa !9
  br label %425

292:                                              ; preds = %286, %283, %280
  %293 = load ptr, ptr %37, align 8, !tbaa !5
  %294 = load i32, ptr %293, align 4, !tbaa !9
  %295 = icmp eq i32 %294, 1
  br i1 %295, label %310, label %296

296:                                              ; preds = %292
  %297 = load ptr, ptr %37, align 8, !tbaa !5
  %298 = load i32, ptr %297, align 4, !tbaa !9
  %299 = icmp eq i32 %298, 2
  br i1 %299, label %310, label %300

300:                                              ; preds = %296
  %301 = load ptr, ptr %37, align 8, !tbaa !5
  %302 = load i32, ptr %301, align 4, !tbaa !9
  %303 = icmp eq i32 %302, 3
  br i1 %303, label %310, label %304

304:                                              ; preds = %300
  %305 = load ptr, ptr %37, align 8, !tbaa !5
  %306 = load i32, ptr %305, align 4, !tbaa !9
  %307 = icmp eq i32 %306, 4
  br i1 %307, label %310, label %308

308:                                              ; preds = %304
  %309 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -5, ptr %309, align 4, !tbaa !9
  br label %424

310:                                              ; preds = %304, %300, %296, %292
  %311 = load ptr, ptr %38, align 8, !tbaa !5
  %312 = load i32, ptr %311, align 4, !tbaa !9
  %313 = icmp slt i32 %312, 0
  br i1 %313, label %314, label %316

314:                                              ; preds = %310
  %315 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -6, ptr %315, align 4, !tbaa !9
  br label %423

316:                                              ; preds = %310
  %317 = load ptr, ptr %39, align 8, !tbaa !5
  %318 = load i32, ptr %317, align 4, !tbaa !9
  %319 = icmp slt i32 %318, 0
  br i1 %319, label %326, label %320

320:                                              ; preds = %316
  %321 = load ptr, ptr %39, align 8, !tbaa !5
  %322 = load i32, ptr %321, align 4, !tbaa !9
  %323 = load ptr, ptr %38, align 8, !tbaa !5
  %324 = load i32, ptr %323, align 4, !tbaa !9
  %325 = icmp sgt i32 %322, %324
  br i1 %325, label %326, label %328

326:                                              ; preds = %320, %316
  %327 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -7, ptr %327, align 4, !tbaa !9
  br label %422

328:                                              ; preds = %320
  %329 = load ptr, ptr %41, align 8, !tbaa !5
  %330 = load i32, ptr %329, align 4, !tbaa !9
  %331 = load ptr, ptr %38, align 8, !tbaa !5
  %332 = load i32, ptr %331, align 4, !tbaa !9
  %333 = icmp slt i32 %330, %332
  br i1 %333, label %334, label %336

334:                                              ; preds = %328
  %335 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -9, ptr %335, align 4, !tbaa !9
  br label %421

336:                                              ; preds = %328
  %337 = load ptr, ptr %43, align 8, !tbaa !5
  %338 = load i32, ptr %337, align 4, !tbaa !9
  %339 = load ptr, ptr %38, align 8, !tbaa !5
  %340 = load i32, ptr %339, align 4, !tbaa !9
  %341 = icmp slt i32 %338, %340
  br i1 %341, label %342, label %344

342:                                              ; preds = %336
  %343 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -11, ptr %343, align 4, !tbaa !9
  br label %420

344:                                              ; preds = %336
  %345 = load ptr, ptr %44, align 8, !tbaa !5
  %346 = load i32, ptr %345, align 4, !tbaa !9
  %347 = icmp eq i32 %346, -2
  br i1 %347, label %364, label %348

348:                                              ; preds = %344
  %349 = load ptr, ptr %44, align 8, !tbaa !5
  %350 = load i32, ptr %349, align 4, !tbaa !9
  %351 = icmp eq i32 %350, -1
  br i1 %351, label %364, label %352

352:                                              ; preds = %348
  %353 = load ptr, ptr %44, align 8, !tbaa !5
  %354 = load i32, ptr %353, align 4, !tbaa !9
  %355 = icmp sge i32 %354, 1
  br i1 %355, label %356, label %362

356:                                              ; preds = %352
  %357 = load ptr, ptr %44, align 8, !tbaa !5
  %358 = load i32, ptr %357, align 4, !tbaa !9
  %359 = load ptr, ptr %39, align 8, !tbaa !5
  %360 = load i32, ptr %359, align 4, !tbaa !9
  %361 = icmp sle i32 %358, %360
  br i1 %361, label %364, label %362

362:                                              ; preds = %356, %352
  %363 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -12, ptr %363, align 4, !tbaa !9
  br label %419

364:                                              ; preds = %356, %348, %344
  %365 = load ptr, ptr %45, align 8, !tbaa !5
  %366 = load float, ptr %365, align 4, !tbaa !11
  %367 = load float, ptr %86, align 4, !tbaa !11
  %368 = fcmp olt float %366, %367
  br i1 %368, label %374, label %369

369:                                              ; preds = %364
  %370 = load ptr, ptr %45, align 8, !tbaa !5
  %371 = load float, ptr %370, align 4, !tbaa !11
  %372 = load float, ptr %126, align 4, !tbaa !11
  %373 = fcmp oge float %371, %372
  br i1 %373, label %374, label %376

374:                                              ; preds = %369, %364
  %375 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -13, ptr %375, align 4, !tbaa !9
  br label %418

376:                                              ; preds = %369
  %377 = load ptr, ptr %49, align 8, !tbaa !5
  %378 = load i32, ptr %377, align 4, !tbaa !9
  %379 = load ptr, ptr %38, align 8, !tbaa !5
  %380 = load i32, ptr %379, align 4, !tbaa !9
  %381 = icmp slt i32 %378, %380
  br i1 %381, label %382, label %384

382:                                              ; preds = %376
  %383 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -17, ptr %383, align 4, !tbaa !9
  br label %417

384:                                              ; preds = %376
  %385 = load i32, ptr %106, align 4, !tbaa !9
  %386 = icmp ne i32 %385, 0
  br i1 %386, label %390, label %387

387:                                              ; preds = %384
  %388 = load i32, ptr %98, align 4, !tbaa !9
  %389 = icmp ne i32 %388, 0
  br i1 %389, label %390, label %398

390:                                              ; preds = %387, %384
  %391 = load ptr, ptr %52, align 8, !tbaa !5
  %392 = load i32, ptr %391, align 4, !tbaa !9
  %393 = load ptr, ptr %38, align 8, !tbaa !5
  %394 = load i32, ptr %393, align 4, !tbaa !9
  %395 = icmp slt i32 %392, %394
  br i1 %395, label %396, label %398

396:                                              ; preds = %390
  %397 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -20, ptr %397, align 4, !tbaa !9
  br label %416

398:                                              ; preds = %390, %387
  %399 = load ptr, ptr %54, align 8, !tbaa !5
  %400 = load i32, ptr %399, align 4, !tbaa !9
  %401 = load ptr, ptr %39, align 8, !tbaa !5
  %402 = load i32, ptr %401, align 4, !tbaa !9
  %403 = icmp slt i32 %400, %402
  br i1 %403, label %404, label %406

404:                                              ; preds = %398
  %405 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -22, ptr %405, align 4, !tbaa !9
  br label %415

406:                                              ; preds = %398
  %407 = load ptr, ptr %56, align 8, !tbaa !5
  %408 = load i32, ptr %407, align 4, !tbaa !9
  %409 = load ptr, ptr %39, align 8, !tbaa !5
  %410 = load i32, ptr %409, align 4, !tbaa !9
  %411 = icmp slt i32 %408, %410
  br i1 %411, label %412, label %414

412:                                              ; preds = %406
  %413 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -24, ptr %413, align 4, !tbaa !9
  br label %414

414:                                              ; preds = %412, %406
  br label %415

415:                                              ; preds = %414, %404
  br label %416

416:                                              ; preds = %415, %396
  br label %417

417:                                              ; preds = %416, %382
  br label %418

418:                                              ; preds = %417, %374
  br label %419

419:                                              ; preds = %418, %362
  br label %420

420:                                              ; preds = %419, %342
  br label %421

421:                                              ; preds = %420, %334
  br label %422

422:                                              ; preds = %421, %326
  br label %423

423:                                              ; preds = %422, %314
  br label %424

424:                                              ; preds = %423, %308
  br label %425

425:                                              ; preds = %424, %290
  br label %426

426:                                              ; preds = %425, %278
  br label %427

427:                                              ; preds = %426, %263
  br label %428

428:                                              ; preds = %427, %250
  %429 = load ptr, ptr %63, align 8, !tbaa !5
  %430 = load i32, ptr %429, align 4, !tbaa !9
  %431 = icmp eq i32 %430, 0
  br i1 %431, label %432, label %1221

432:                                              ; preds = %428
  %433 = load ptr, ptr %39, align 8, !tbaa !5
  %434 = load i32, ptr %433, align 4, !tbaa !9
  %435 = icmp eq i32 %434, 0
  br i1 %435, label %436, label %460

436:                                              ; preds = %432
  %437 = load i32, ptr %117, align 4, !tbaa !9
  %438 = icmp ne i32 %437, 0
  br i1 %438, label %439, label %456

439:                                              ; preds = %436
  %440 = load ptr, ptr %61, align 8, !tbaa !5
  %441 = getelementptr inbounds i32, ptr %440, i64 1
  store i32 1, ptr %441, align 4, !tbaa !9
  %442 = load ptr, ptr %59, align 8, !tbaa !5
  %443 = getelementptr inbounds float, ptr %442, i64 1
  store float 1.000000e+00, ptr %443, align 4, !tbaa !11
  %444 = load ptr, ptr %57, align 8, !tbaa !5
  %445 = getelementptr inbounds %struct.complex, ptr %444, i64 1
  %446 = getelementptr inbounds %struct.complex, ptr %445, i32 0, i32 0
  store float 2.000000e+00, ptr %446, align 4, !tbaa !13
  %447 = load ptr, ptr %57, align 8, !tbaa !5
  %448 = getelementptr inbounds %struct.complex, ptr %447, i64 1
  %449 = getelementptr inbounds %struct.complex, ptr %448, i32 0, i32 1
  store float 0.000000e+00, ptr %449, align 4, !tbaa !15
  %450 = load ptr, ptr %57, align 8, !tbaa !5
  %451 = getelementptr inbounds %struct.complex, ptr %450, i64 2
  %452 = getelementptr inbounds %struct.complex, ptr %451, i32 0, i32 0
  store float 2.000000e+00, ptr %452, align 4, !tbaa !13
  %453 = load ptr, ptr %57, align 8, !tbaa !5
  %454 = getelementptr inbounds %struct.complex, ptr %453, i64 2
  %455 = getelementptr inbounds %struct.complex, ptr %454, i32 0, i32 1
  store float 0.000000e+00, ptr %455, align 4, !tbaa !15
  br label %458

456:                                              ; preds = %436
  %457 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 0, ptr %457, align 4, !tbaa !9
  br label %458

458:                                              ; preds = %456, %439
  %459 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 1, ptr %459, align 4, !tbaa !9
  store i32 0, ptr %32, align 4
  store i32 1, ptr %127, align 4
  br label %2637

460:                                              ; preds = %432
  store i32 1, ptr %105, align 4, !tbaa !9
  %461 = load ptr, ptr %39, align 8, !tbaa !5
  %462 = load i32, ptr %461, align 4, !tbaa !9
  %463 = icmp sge i32 1, %462
  br i1 %463, label %464, label %465

464:                                              ; preds = %460
  br label %468

465:                                              ; preds = %460
  %466 = load ptr, ptr %39, align 8, !tbaa !5
  %467 = load i32, ptr %466, align 4, !tbaa !9
  br label %468

468:                                              ; preds = %465, %464
  %469 = phi i32 [ 1, %464 ], [ %467, %465 ]
  store i32 %469, ptr %116, align 4, !tbaa !9
  store i32 2, ptr %110, align 4, !tbaa !9
  store i32 2, ptr %113, align 4, !tbaa !9
  %470 = load ptr, ptr %37, align 8, !tbaa !5
  %471 = load i32, ptr %470, align 4, !tbaa !9
  %472 = icmp eq i32 %471, 1
  br i1 %472, label %473, label %588

473:                                              ; preds = %468
  store i32 1, ptr %76, align 4, !tbaa !9
  %474 = load ptr, ptr %38, align 8, !tbaa !5
  %475 = load i32, ptr %474, align 4, !tbaa !9
  %476 = load ptr, ptr %39, align 8, !tbaa !5
  %477 = load i32, ptr %476, align 4, !tbaa !9
  %478 = icmp sle i32 %475, %477
  br i1 %478, label %479, label %482

479:                                              ; preds = %473
  %480 = load ptr, ptr %38, align 8, !tbaa !5
  %481 = load i32, ptr %480, align 4, !tbaa !9
  br label %485

482:                                              ; preds = %473
  %483 = load ptr, ptr %39, align 8, !tbaa !5
  %484 = load i32, ptr %483, align 4, !tbaa !9
  br label %485

485:                                              ; preds = %482, %479
  %486 = phi i32 [ %481, %479 ], [ %484, %482 ]
  %487 = shl i32 %486, 1
  %488 = load ptr, ptr %38, align 8, !tbaa !5
  %489 = load i32, ptr %488, align 4, !tbaa !9
  %490 = load ptr, ptr %39, align 8, !tbaa !5
  %491 = load i32, ptr %490, align 4, !tbaa !9
  %492 = icmp sge i32 %489, %491
  br i1 %492, label %493, label %496

493:                                              ; preds = %485
  %494 = load ptr, ptr %38, align 8, !tbaa !5
  %495 = load i32, ptr %494, align 4, !tbaa !9
  br label %499

496:                                              ; preds = %485
  %497 = load ptr, ptr %39, align 8, !tbaa !5
  %498 = load i32, ptr %497, align 4, !tbaa !9
  br label %499

499:                                              ; preds = %496, %493
  %500 = phi i32 [ %495, %493 ], [ %498, %496 ]
  %501 = add nsw i32 %487, %500
  store i32 %501, ptr %77, align 4, !tbaa !9
  %502 = load i32, ptr %76, align 4, !tbaa !9
  %503 = load i32, ptr %77, align 4, !tbaa !9
  %504 = icmp sge i32 %502, %503
  br i1 %504, label %505, label %507

505:                                              ; preds = %499
  %506 = load i32, ptr %76, align 4, !tbaa !9
  br label %509

507:                                              ; preds = %499
  %508 = load i32, ptr %77, align 4, !tbaa !9
  br label %509

509:                                              ; preds = %507, %505
  %510 = phi i32 [ %506, %505 ], [ %508, %507 ]
  store i32 %510, ptr %115, align 4, !tbaa !9
  %511 = load i32, ptr %110, align 4, !tbaa !9
  %512 = load i32, ptr %115, align 4, !tbaa !9
  %513 = icmp sge i32 %511, %512
  br i1 %513, label %514, label %516

514:                                              ; preds = %509
  %515 = load i32, ptr %110, align 4, !tbaa !9
  br label %518

516:                                              ; preds = %509
  %517 = load i32, ptr %115, align 4, !tbaa !9
  br label %518

518:                                              ; preds = %516, %514
  %519 = phi i32 [ %515, %514 ], [ %517, %516 ]
  store i32 %519, ptr %110, align 4, !tbaa !9
  %520 = load i32, ptr %116, align 4, !tbaa !9
  store i32 %520, ptr %76, align 4, !tbaa !9
  %521 = load ptr, ptr %39, align 8, !tbaa !5
  %522 = load i32, ptr %521, align 4, !tbaa !9
  %523 = load ptr, ptr %38, align 8, !tbaa !5
  %524 = load i32, ptr %523, align 4, !tbaa !9
  %525 = load ptr, ptr %39, align 8, !tbaa !5
  %526 = load i32, ptr %525, align 4, !tbaa !9
  %527 = icmp sle i32 %524, %526
  br i1 %527, label %528, label %531

528:                                              ; preds = %518
  %529 = load ptr, ptr %38, align 8, !tbaa !5
  %530 = load i32, ptr %529, align 4, !tbaa !9
  br label %534

531:                                              ; preds = %518
  %532 = load ptr, ptr %39, align 8, !tbaa !5
  %533 = load i32, ptr %532, align 4, !tbaa !9
  br label %534

534:                                              ; preds = %531, %528
  %535 = phi i32 [ %530, %528 ], [ %533, %531 ]
  %536 = mul nsw i32 %535, 5
  %537 = add nsw i32 %522, %536
  store i32 %537, ptr %77, align 4, !tbaa !9
  %538 = load i32, ptr %76, align 4, !tbaa !9
  %539 = load i32, ptr %77, align 4, !tbaa !9
  %540 = icmp sge i32 %538, %539
  br i1 %540, label %541, label %543

541:                                              ; preds = %534
  %542 = load i32, ptr %76, align 4, !tbaa !9
  br label %545

543:                                              ; preds = %534
  %544 = load i32, ptr %77, align 4, !tbaa !9
  br label %545

545:                                              ; preds = %543, %541
  %546 = phi i32 [ %542, %541 ], [ %544, %543 ]
  store i32 %546, ptr %116, align 4, !tbaa !9
  %547 = load i32, ptr %117, align 4, !tbaa !9
  %548 = icmp ne i32 %547, 0
  br i1 %548, label %549, label %587

549:                                              ; preds = %545
  %550 = load ptr, ptr %38, align 8, !tbaa !5
  %551 = load ptr, ptr %39, align 8, !tbaa !5
  %552 = load ptr, ptr %40, align 8, !tbaa !5
  %553 = load i32, ptr %65, align 4, !tbaa !9
  %554 = sext i32 %553 to i64
  %555 = getelementptr inbounds %struct.complex, ptr %552, i64 %554
  %556 = load ptr, ptr %41, align 8, !tbaa !5
  %557 = load ptr, ptr %59, align 8, !tbaa !5
  %558 = getelementptr inbounds float, ptr %557, i64 1
  %559 = load ptr, ptr %51, align 8, !tbaa !5
  %560 = load i32, ptr %71, align 4, !tbaa !9
  %561 = sext i32 %560 to i64
  %562 = getelementptr inbounds %struct.complex, ptr %559, i64 %561
  %563 = load ptr, ptr %52, align 8, !tbaa !5
  %564 = load ptr, ptr %53, align 8, !tbaa !5
  %565 = load i32, ptr %73, align 4, !tbaa !9
  %566 = sext i32 %565 to i64
  %567 = getelementptr inbounds %struct.complex, ptr %564, i64 %566
  %568 = load ptr, ptr %54, align 8, !tbaa !5
  %569 = load ptr, ptr %57, align 8, !tbaa !5
  %570 = getelementptr inbounds %struct.complex, ptr %569, i64 1
  %571 = getelementptr inbounds [2 x float], ptr %122, i64 0, i64 0
  %572 = call i32 @cgesvd_(ptr noundef @.str.8, ptr noundef @.str.1, ptr noundef %550, ptr noundef %551, ptr noundef %555, ptr noundef %556, ptr noundef %558, ptr noundef %562, ptr noundef %563, ptr noundef %567, ptr noundef %568, ptr noundef %570, ptr noundef @c_n1, ptr noundef %571, ptr noundef %88)
  %573 = load ptr, ptr %57, align 8, !tbaa !5
  %574 = getelementptr inbounds %struct.complex, ptr %573, i64 1
  %575 = getelementptr inbounds %struct.complex, ptr %574, i32 0, i32 0
  %576 = load float, ptr %575, align 4, !tbaa !13
  %577 = fptosi float %576 to i32
  store i32 %577, ptr %114, align 4, !tbaa !9
  %578 = load i32, ptr %113, align 4, !tbaa !9
  %579 = load i32, ptr %114, align 4, !tbaa !9
  %580 = icmp sge i32 %578, %579
  br i1 %580, label %581, label %583

581:                                              ; preds = %549
  %582 = load i32, ptr %113, align 4, !tbaa !9
  br label %585

583:                                              ; preds = %549
  %584 = load i32, ptr %114, align 4, !tbaa !9
  br label %585

585:                                              ; preds = %583, %581
  %586 = phi i32 [ %582, %581 ], [ %584, %583 ]
  store i32 %586, ptr %113, align 4, !tbaa !9
  br label %587

587:                                              ; preds = %585, %545
  br label %1090

588:                                              ; preds = %468
  %589 = load ptr, ptr %37, align 8, !tbaa !5
  %590 = load i32, ptr %589, align 4, !tbaa !9
  %591 = icmp eq i32 %590, 2
  br i1 %591, label %592, label %914

592:                                              ; preds = %588
  %593 = load ptr, ptr %38, align 8, !tbaa !5
  %594 = load i32, ptr %593, align 4, !tbaa !9
  %595 = load ptr, ptr %39, align 8, !tbaa !5
  %596 = load i32, ptr %595, align 4, !tbaa !9
  %597 = icmp sle i32 %594, %596
  br i1 %597, label %598, label %601

598:                                              ; preds = %592
  %599 = load ptr, ptr %38, align 8, !tbaa !5
  %600 = load i32, ptr %599, align 4, !tbaa !9
  br label %604

601:                                              ; preds = %592
  %602 = load ptr, ptr %39, align 8, !tbaa !5
  %603 = load i32, ptr %602, align 4, !tbaa !9
  br label %604

604:                                              ; preds = %601, %598
  %605 = phi i32 [ %600, %598 ], [ %603, %601 ]
  %606 = shl i32 %605, 1
  %607 = load ptr, ptr %38, align 8, !tbaa !5
  %608 = load i32, ptr %607, align 4, !tbaa !9
  %609 = load ptr, ptr %39, align 8, !tbaa !5
  %610 = load i32, ptr %609, align 4, !tbaa !9
  %611 = icmp sle i32 %608, %610
  br i1 %611, label %612, label %615

612:                                              ; preds = %604
  %613 = load ptr, ptr %38, align 8, !tbaa !5
  %614 = load i32, ptr %613, align 4, !tbaa !9
  br label %618

615:                                              ; preds = %604
  %616 = load ptr, ptr %39, align 8, !tbaa !5
  %617 = load i32, ptr %616, align 4, !tbaa !9
  br label %618

618:                                              ; preds = %615, %612
  %619 = phi i32 [ %614, %612 ], [ %617, %615 ]
  %620 = mul nsw i32 %606, %619
  %621 = load ptr, ptr %38, align 8, !tbaa !5
  %622 = load i32, ptr %621, align 4, !tbaa !9
  %623 = load ptr, ptr %39, align 8, !tbaa !5
  %624 = load i32, ptr %623, align 4, !tbaa !9
  %625 = icmp sle i32 %622, %624
  br i1 %625, label %626, label %629

626:                                              ; preds = %618
  %627 = load ptr, ptr %38, align 8, !tbaa !5
  %628 = load i32, ptr %627, align 4, !tbaa !9
  br label %632

629:                                              ; preds = %618
  %630 = load ptr, ptr %39, align 8, !tbaa !5
  %631 = load i32, ptr %630, align 4, !tbaa !9
  br label %632

632:                                              ; preds = %629, %626
  %633 = phi i32 [ %628, %626 ], [ %631, %629 ]
  %634 = shl i32 %633, 1
  %635 = add nsw i32 %620, %634
  %636 = load ptr, ptr %38, align 8, !tbaa !5
  %637 = load i32, ptr %636, align 4, !tbaa !9
  %638 = load ptr, ptr %39, align 8, !tbaa !5
  %639 = load i32, ptr %638, align 4, !tbaa !9
  %640 = icmp sge i32 %637, %639
  br i1 %640, label %641, label %644

641:                                              ; preds = %632
  %642 = load ptr, ptr %38, align 8, !tbaa !5
  %643 = load i32, ptr %642, align 4, !tbaa !9
  br label %647

644:                                              ; preds = %632
  %645 = load ptr, ptr %39, align 8, !tbaa !5
  %646 = load i32, ptr %645, align 4, !tbaa !9
  br label %647

647:                                              ; preds = %644, %641
  %648 = phi i32 [ %643, %641 ], [ %646, %644 ]
  %649 = add nsw i32 %635, %648
  store i32 %649, ptr %104, align 4, !tbaa !9
  %650 = load i32, ptr %110, align 4, !tbaa !9
  %651 = load i32, ptr %104, align 4, !tbaa !9
  %652 = icmp sge i32 %650, %651
  br i1 %652, label %653, label %655

653:                                              ; preds = %647
  %654 = load i32, ptr %110, align 4, !tbaa !9
  br label %657

655:                                              ; preds = %647
  %656 = load i32, ptr %104, align 4, !tbaa !9
  br label %657

657:                                              ; preds = %655, %653
  %658 = phi i32 [ %654, %653 ], [ %656, %655 ]
  store i32 %658, ptr %110, align 4, !tbaa !9
  %659 = load ptr, ptr %38, align 8, !tbaa !5
  %660 = load i32, ptr %659, align 4, !tbaa !9
  %661 = load ptr, ptr %39, align 8, !tbaa !5
  %662 = load i32, ptr %661, align 4, !tbaa !9
  %663 = icmp sle i32 %660, %662
  br i1 %663, label %664, label %667

664:                                              ; preds = %657
  %665 = load ptr, ptr %38, align 8, !tbaa !5
  %666 = load i32, ptr %665, align 4, !tbaa !9
  br label %670

667:                                              ; preds = %657
  %668 = load ptr, ptr %39, align 8, !tbaa !5
  %669 = load i32, ptr %668, align 4, !tbaa !9
  br label %670

670:                                              ; preds = %667, %664
  %671 = phi i32 [ %666, %664 ], [ %669, %667 ]
  %672 = shl i32 %671, 3
  store i32 %672, ptr %105, align 4, !tbaa !9
  %673 = load ptr, ptr %38, align 8, !tbaa !5
  %674 = load i32, ptr %673, align 4, !tbaa !9
  %675 = load ptr, ptr %39, align 8, !tbaa !5
  %676 = load i32, ptr %675, align 4, !tbaa !9
  %677 = icmp sle i32 %674, %676
  br i1 %677, label %678, label %681

678:                                              ; preds = %670
  %679 = load ptr, ptr %38, align 8, !tbaa !5
  %680 = load i32, ptr %679, align 4, !tbaa !9
  br label %684

681:                                              ; preds = %670
  %682 = load ptr, ptr %39, align 8, !tbaa !5
  %683 = load i32, ptr %682, align 4, !tbaa !9
  br label %684

684:                                              ; preds = %681, %678
  %685 = phi i32 [ %680, %678 ], [ %683, %681 ]
  %686 = mul nsw i32 %685, 5
  %687 = load ptr, ptr %38, align 8, !tbaa !5
  %688 = load i32, ptr %687, align 4, !tbaa !9
  %689 = load ptr, ptr %39, align 8, !tbaa !5
  %690 = load i32, ptr %689, align 4, !tbaa !9
  %691 = icmp sle i32 %688, %690
  br i1 %691, label %692, label %695

692:                                              ; preds = %684
  %693 = load ptr, ptr %38, align 8, !tbaa !5
  %694 = load i32, ptr %693, align 4, !tbaa !9
  br label %698

695:                                              ; preds = %684
  %696 = load ptr, ptr %39, align 8, !tbaa !5
  %697 = load i32, ptr %696, align 4, !tbaa !9
  br label %698

698:                                              ; preds = %695, %692
  %699 = phi i32 [ %694, %692 ], [ %697, %695 ]
  %700 = mul nsw i32 %686, %699
  %701 = load ptr, ptr %38, align 8, !tbaa !5
  %702 = load i32, ptr %701, align 4, !tbaa !9
  %703 = load ptr, ptr %39, align 8, !tbaa !5
  %704 = load i32, ptr %703, align 4, !tbaa !9
  %705 = icmp sle i32 %702, %704
  br i1 %705, label %706, label %709

706:                                              ; preds = %698
  %707 = load ptr, ptr %38, align 8, !tbaa !5
  %708 = load i32, ptr %707, align 4, !tbaa !9
  br label %712

709:                                              ; preds = %698
  %710 = load ptr, ptr %39, align 8, !tbaa !5
  %711 = load i32, ptr %710, align 4, !tbaa !9
  br label %712

712:                                              ; preds = %709, %706
  %713 = phi i32 [ %708, %706 ], [ %711, %709 ]
  %714 = mul nsw i32 %713, 7
  %715 = add nsw i32 %700, %714
  store i32 %715, ptr %78, align 4, !tbaa !9
  %716 = load ptr, ptr %38, align 8, !tbaa !5
  %717 = load i32, ptr %716, align 4, !tbaa !9
  %718 = load ptr, ptr %39, align 8, !tbaa !5
  %719 = load i32, ptr %718, align 4, !tbaa !9
  %720 = icmp sle i32 %717, %719
  br i1 %720, label %721, label %724

721:                                              ; preds = %712
  %722 = load ptr, ptr %38, align 8, !tbaa !5
  %723 = load i32, ptr %722, align 4, !tbaa !9
  br label %727

724:                                              ; preds = %712
  %725 = load ptr, ptr %39, align 8, !tbaa !5
  %726 = load i32, ptr %725, align 4, !tbaa !9
  br label %727

727:                                              ; preds = %724, %721
  %728 = phi i32 [ %723, %721 ], [ %726, %724 ]
  %729 = mul nsw i32 %728, 5
  %730 = load ptr, ptr %38, align 8, !tbaa !5
  %731 = load i32, ptr %730, align 4, !tbaa !9
  %732 = load ptr, ptr %39, align 8, !tbaa !5
  %733 = load i32, ptr %732, align 4, !tbaa !9
  %734 = icmp sle i32 %731, %733
  br i1 %734, label %735, label %738

735:                                              ; preds = %727
  %736 = load ptr, ptr %38, align 8, !tbaa !5
  %737 = load i32, ptr %736, align 4, !tbaa !9
  br label %741

738:                                              ; preds = %727
  %739 = load ptr, ptr %39, align 8, !tbaa !5
  %740 = load i32, ptr %739, align 4, !tbaa !9
  br label %741

741:                                              ; preds = %738, %735
  %742 = phi i32 [ %737, %735 ], [ %740, %738 ]
  %743 = mul nsw i32 %729, %742
  %744 = load ptr, ptr %38, align 8, !tbaa !5
  %745 = load i32, ptr %744, align 4, !tbaa !9
  %746 = load ptr, ptr %39, align 8, !tbaa !5
  %747 = load i32, ptr %746, align 4, !tbaa !9
  %748 = icmp sle i32 %745, %747
  br i1 %748, label %749, label %752

749:                                              ; preds = %741
  %750 = load ptr, ptr %38, align 8, !tbaa !5
  %751 = load i32, ptr %750, align 4, !tbaa !9
  br label %755

752:                                              ; preds = %741
  %753 = load ptr, ptr %39, align 8, !tbaa !5
  %754 = load i32, ptr %753, align 4, !tbaa !9
  br label %755

755:                                              ; preds = %752, %749
  %756 = phi i32 [ %751, %749 ], [ %754, %752 ]
  %757 = mul nsw i32 %756, 5
  %758 = add nsw i32 %743, %757
  store i32 %758, ptr %79, align 4, !tbaa !9
  %759 = load i32, ptr %78, align 4, !tbaa !9
  %760 = load i32, ptr %79, align 4, !tbaa !9
  %761 = icmp sge i32 %759, %760
  br i1 %761, label %762, label %764

762:                                              ; preds = %755
  %763 = load i32, ptr %78, align 4, !tbaa !9
  br label %766

764:                                              ; preds = %755
  %765 = load i32, ptr %79, align 4, !tbaa !9
  br label %766

766:                                              ; preds = %764, %762
  %767 = phi i32 [ %763, %762 ], [ %765, %764 ]
  store i32 %767, ptr %78, align 4, !tbaa !9
  %768 = load ptr, ptr %38, align 8, !tbaa !5
  %769 = load i32, ptr %768, align 4, !tbaa !9
  %770 = load ptr, ptr %39, align 8, !tbaa !5
  %771 = load i32, ptr %770, align 4, !tbaa !9
  %772 = icmp sge i32 %769, %771
  br i1 %772, label %773, label %776

773:                                              ; preds = %766
  %774 = load ptr, ptr %38, align 8, !tbaa !5
  %775 = load i32, ptr %774, align 4, !tbaa !9
  br label %779

776:                                              ; preds = %766
  %777 = load ptr, ptr %39, align 8, !tbaa !5
  %778 = load i32, ptr %777, align 4, !tbaa !9
  br label %779

779:                                              ; preds = %776, %773
  %780 = phi i32 [ %775, %773 ], [ %778, %776 ]
  %781 = shl i32 %780, 1
  %782 = load ptr, ptr %38, align 8, !tbaa !5
  %783 = load i32, ptr %782, align 4, !tbaa !9
  %784 = load ptr, ptr %39, align 8, !tbaa !5
  %785 = load i32, ptr %784, align 4, !tbaa !9
  %786 = icmp sle i32 %783, %785
  br i1 %786, label %787, label %790

787:                                              ; preds = %779
  %788 = load ptr, ptr %38, align 8, !tbaa !5
  %789 = load i32, ptr %788, align 4, !tbaa !9
  br label %793

790:                                              ; preds = %779
  %791 = load ptr, ptr %39, align 8, !tbaa !5
  %792 = load i32, ptr %791, align 4, !tbaa !9
  br label %793

793:                                              ; preds = %790, %787
  %794 = phi i32 [ %789, %787 ], [ %792, %790 ]
  %795 = mul nsw i32 %781, %794
  %796 = load ptr, ptr %38, align 8, !tbaa !5
  %797 = load i32, ptr %796, align 4, !tbaa !9
  %798 = load ptr, ptr %39, align 8, !tbaa !5
  %799 = load i32, ptr %798, align 4, !tbaa !9
  %800 = icmp sle i32 %797, %799
  br i1 %800, label %801, label %804

801:                                              ; preds = %793
  %802 = load ptr, ptr %38, align 8, !tbaa !5
  %803 = load i32, ptr %802, align 4, !tbaa !9
  br label %807

804:                                              ; preds = %793
  %805 = load ptr, ptr %39, align 8, !tbaa !5
  %806 = load i32, ptr %805, align 4, !tbaa !9
  br label %807

807:                                              ; preds = %804, %801
  %808 = phi i32 [ %803, %801 ], [ %806, %804 ]
  %809 = shl i32 %808, 1
  %810 = load ptr, ptr %38, align 8, !tbaa !5
  %811 = load i32, ptr %810, align 4, !tbaa !9
  %812 = load ptr, ptr %39, 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 = %807
  %816 = load ptr, ptr %38, align 8, !tbaa !5
  %817 = load i32, ptr %816, align 4, !tbaa !9
  br label %821

818:                                              ; preds = %807
  %819 = load ptr, ptr %39, align 8, !tbaa !5
  %820 = load i32, ptr %819, align 4, !tbaa !9
  br label %821

821:                                              ; preds = %818, %815
  %822 = phi i32 [ %817, %815 ], [ %820, %818 ]
  %823 = mul nsw i32 %809, %822
  %824 = add nsw i32 %795, %823
  %825 = load ptr, ptr %38, align 8, !tbaa !5
  %826 = load i32, ptr %825, align 4, !tbaa !9
  %827 = load ptr, ptr %39, align 8, !tbaa !5
  %828 = load i32, ptr %827, align 4, !tbaa !9
  %829 = icmp sle i32 %826, %828
  br i1 %829, label %830, label %833

830:                                              ; preds = %821
  %831 = load ptr, ptr %38, align 8, !tbaa !5
  %832 = load i32, ptr %831, align 4, !tbaa !9
  br label %836

833:                                              ; preds = %821
  %834 = load ptr, ptr %39, align 8, !tbaa !5
  %835 = load i32, ptr %834, align 4, !tbaa !9
  br label %836

836:                                              ; preds = %833, %830
  %837 = phi i32 [ %832, %830 ], [ %835, %833 ]
  %838 = add nsw i32 %824, %837
  store i32 %838, ptr %79, align 4, !tbaa !9
  %839 = load i32, ptr %116, align 4, !tbaa !9
  store i32 %839, ptr %76, align 4, !tbaa !9
  %840 = load ptr, ptr %39, align 8, !tbaa !5
  %841 = load i32, ptr %840, align 4, !tbaa !9
  %842 = load i32, ptr %78, align 4, !tbaa !9
  %843 = load i32, ptr %79, align 4, !tbaa !9
  %844 = icmp sge i32 %842, %843
  br i1 %844, label %845, label %847

845:                                              ; preds = %836
  %846 = load i32, ptr %78, align 4, !tbaa !9
  br label %849

847:                                              ; preds = %836
  %848 = load i32, ptr %79, align 4, !tbaa !9
  br label %849

849:                                              ; preds = %847, %845
  %850 = phi i32 [ %846, %845 ], [ %848, %847 ]
  %851 = add nsw i32 %841, %850
  store i32 %851, ptr %77, align 4, !tbaa !9
  %852 = load i32, ptr %76, align 4, !tbaa !9
  %853 = load i32, ptr %77, align 4, !tbaa !9
  %854 = icmp sge i32 %852, %853
  br i1 %854, label %855, label %857

855:                                              ; preds = %849
  %856 = load i32, ptr %76, align 4, !tbaa !9
  br label %859

857:                                              ; preds = %849
  %858 = load i32, ptr %77, align 4, !tbaa !9
  br label %859

859:                                              ; preds = %857, %855
  %860 = phi i32 [ %856, %855 ], [ %858, %857 ]
  store i32 %860, ptr %116, align 4, !tbaa !9
  %861 = load i32, ptr %117, align 4, !tbaa !9
  %862 = icmp ne i32 %861, 0
  br i1 %862, label %863, label %913

863:                                              ; preds = %859
  %864 = load ptr, ptr %38, align 8, !tbaa !5
  %865 = load ptr, ptr %39, align 8, !tbaa !5
  %866 = load ptr, ptr %40, align 8, !tbaa !5
  %867 = load i32, ptr %65, align 4, !tbaa !9
  %868 = sext i32 %867 to i64
  %869 = getelementptr inbounds %struct.complex, ptr %866, i64 %868
  %870 = load ptr, ptr %41, align 8, !tbaa !5
  %871 = load ptr, ptr %59, align 8, !tbaa !5
  %872 = getelementptr inbounds float, ptr %871, i64 1
  %873 = load ptr, ptr %51, align 8, !tbaa !5
  %874 = load i32, ptr %71, align 4, !tbaa !9
  %875 = sext i32 %874 to i64
  %876 = getelementptr inbounds %struct.complex, ptr %873, i64 %875
  %877 = load ptr, ptr %52, align 8, !tbaa !5
  %878 = load ptr, ptr %53, align 8, !tbaa !5
  %879 = load i32, ptr %73, align 4, !tbaa !9
  %880 = sext i32 %879 to i64
  %881 = getelementptr inbounds %struct.complex, ptr %878, i64 %880
  %882 = load ptr, ptr %54, align 8, !tbaa !5
  %883 = load ptr, ptr %57, align 8, !tbaa !5
  %884 = getelementptr inbounds %struct.complex, ptr %883, i64 1
  %885 = getelementptr inbounds [2 x float], ptr %122, i64 0, i64 0
  %886 = load ptr, ptr %61, align 8, !tbaa !5
  %887 = getelementptr inbounds i32, ptr %886, i64 1
  %888 = call i32 @cgesdd_(ptr noundef @.str.8, ptr noundef %864, ptr noundef %865, ptr noundef %869, ptr noundef %870, ptr noundef %872, ptr noundef %876, ptr noundef %877, ptr noundef %881, ptr noundef %882, ptr noundef %884, ptr noundef @c_n1, ptr noundef %885, ptr noundef %887, ptr noundef %88)
  %889 = load i32, ptr %104, align 4, !tbaa !9
  store i32 %889, ptr %76, align 4, !tbaa !9
  %890 = load ptr, ptr %57, align 8, !tbaa !5
  %891 = getelementptr inbounds %struct.complex, ptr %890, i64 1
  %892 = getelementptr inbounds %struct.complex, ptr %891, i32 0, i32 0
  %893 = load float, ptr %892, align 4, !tbaa !13
  %894 = fptosi float %893 to i32
  store i32 %894, ptr %77, align 4, !tbaa !9
  %895 = load i32, ptr %76, align 4, !tbaa !9
  %896 = load i32, ptr %77, align 4, !tbaa !9
  %897 = icmp sge i32 %895, %896
  br i1 %897, label %898, label %900

898:                                              ; preds = %863
  %899 = load i32, ptr %76, align 4, !tbaa !9
  br label %902

900:                                              ; preds = %863
  %901 = load i32, ptr %77, align 4, !tbaa !9
  br label %902

902:                                              ; preds = %900, %898
  %903 = phi i32 [ %899, %898 ], [ %901, %900 ]
  store i32 %903, ptr %103, align 4, !tbaa !9
  %904 = load i32, ptr %113, align 4, !tbaa !9
  %905 = load i32, ptr %103, align 4, !tbaa !9
  %906 = icmp sge i32 %904, %905
  br i1 %906, label %907, label %909

907:                                              ; preds = %902
  %908 = load i32, ptr %113, align 4, !tbaa !9
  br label %911

909:                                              ; preds = %902
  %910 = load i32, ptr %103, align 4, !tbaa !9
  br label %911

911:                                              ; preds = %909, %907
  %912 = phi i32 [ %908, %907 ], [ %910, %909 ]
  store i32 %912, ptr %113, align 4, !tbaa !9
  br label %913

913:                                              ; preds = %911, %859
  br label %1089

914:                                              ; preds = %588
  %915 = load ptr, ptr %37, align 8, !tbaa !5
  %916 = load i32, ptr %915, align 4, !tbaa !9
  %917 = icmp eq i32 %916, 3
  br i1 %917, label %918, label %995

918:                                              ; preds = %914
  %919 = load ptr, ptr %38, align 8, !tbaa !5
  %920 = load ptr, ptr %39, align 8, !tbaa !5
  %921 = load ptr, ptr %40, align 8, !tbaa !5
  %922 = load i32, ptr %65, align 4, !tbaa !9
  %923 = sext i32 %922 to i64
  %924 = getelementptr inbounds %struct.complex, ptr %921, i64 %923
  %925 = load ptr, ptr %41, align 8, !tbaa !5
  %926 = load ptr, ptr %59, align 8, !tbaa !5
  %927 = getelementptr inbounds float, ptr %926, i64 1
  %928 = load ptr, ptr %48, align 8, !tbaa !5
  %929 = load i32, ptr %69, align 4, !tbaa !9
  %930 = sext i32 %929 to i64
  %931 = getelementptr inbounds %struct.complex, ptr %928, i64 %930
  %932 = load ptr, ptr %49, align 8, !tbaa !5
  %933 = load ptr, ptr %53, align 8, !tbaa !5
  %934 = load i32, ptr %73, align 4, !tbaa !9
  %935 = sext i32 %934 to i64
  %936 = getelementptr inbounds %struct.complex, ptr %933, i64 %935
  %937 = load ptr, ptr %54, align 8, !tbaa !5
  %938 = load ptr, ptr %61, align 8, !tbaa !5
  %939 = getelementptr inbounds i32, ptr %938, i64 1
  %940 = load ptr, ptr %57, align 8, !tbaa !5
  %941 = getelementptr inbounds %struct.complex, ptr %940, i64 1
  %942 = getelementptr inbounds [2 x float], ptr %122, i64 0, i64 0
  %943 = call i32 @cgesvdq_(ptr noundef @.str.9, ptr noundef @.str.10, ptr noundef @.str.6, ptr noundef @.str, ptr noundef @.str, ptr noundef %919, ptr noundef %920, ptr noundef %924, ptr noundef %925, ptr noundef %927, ptr noundef %931, ptr noundef %932, ptr noundef %936, ptr noundef %937, ptr noundef %112, ptr noundef %939, ptr noundef @c_n1, ptr noundef %941, ptr noundef @c_n1, ptr noundef %942, ptr noundef @c_n1, ptr noundef %88)
  %944 = load ptr, ptr %61, align 8, !tbaa !5
  %945 = getelementptr inbounds i32, ptr %944, i64 1
  %946 = load i32, ptr %945, align 4, !tbaa !9
  store i32 %946, ptr %105, align 4, !tbaa !9
  %947 = load ptr, ptr %57, align 8, !tbaa !5
  %948 = getelementptr inbounds %struct.complex, ptr %947, i64 2
  %949 = getelementptr inbounds %struct.complex, ptr %948, i32 0, i32 0
  %950 = load float, ptr %949, align 4, !tbaa !13
  %951 = fptosi float %950 to i32
  store i32 %951, ptr %124, align 4, !tbaa !9
  %952 = load i32, ptr %110, align 4, !tbaa !9
  %953 = load i32, ptr %124, align 4, !tbaa !9
  %954 = icmp sge i32 %952, %953
  br i1 %954, label %955, label %957

955:                                              ; preds = %918
  %956 = load i32, ptr %110, align 4, !tbaa !9
  br label %959

957:                                              ; preds = %918
  %958 = load i32, ptr %124, align 4, !tbaa !9
  br label %959

959:                                              ; preds = %957, %955
  %960 = phi i32 [ %956, %955 ], [ %958, %957 ]
  store i32 %960, ptr %110, align 4, !tbaa !9
  %961 = load i32, ptr %116, align 4, !tbaa !9
  store i32 %961, ptr %76, align 4, !tbaa !9
  %962 = load ptr, ptr %39, align 8, !tbaa !5
  %963 = load i32, ptr %962, align 4, !tbaa !9
  %964 = getelementptr inbounds [2 x float], ptr %122, i64 0, i64 0
  %965 = load float, ptr %964, align 4, !tbaa !11
  %966 = fptosi float %965 to i32
  %967 = add nsw i32 %963, %966
  store i32 %967, ptr %77, align 4, !tbaa !9
  %968 = load i32, ptr %76, align 4, !tbaa !9
  %969 = load i32, ptr %77, align 4, !tbaa !9
  %970 = icmp sge i32 %968, %969
  br i1 %970, label %971, label %973

971:                                              ; preds = %959
  %972 = load i32, ptr %76, align 4, !tbaa !9
  br label %975

973:                                              ; preds = %959
  %974 = load i32, ptr %77, align 4, !tbaa !9
  br label %975

975:                                              ; preds = %973, %971
  %976 = phi i32 [ %972, %971 ], [ %974, %973 ]
  store i32 %976, ptr %116, align 4, !tbaa !9
  %977 = load i32, ptr %117, align 4, !tbaa !9
  %978 = icmp ne i32 %977, 0
  br i1 %978, label %979, label %994

979:                                              ; preds = %975
  %980 = load ptr, ptr %57, align 8, !tbaa !5
  %981 = getelementptr inbounds %struct.complex, ptr %980, i64 1
  %982 = getelementptr inbounds %struct.complex, ptr %981, i32 0, i32 0
  %983 = load float, ptr %982, align 4, !tbaa !13
  %984 = fptosi float %983 to i32
  store i32 %984, ptr %123, align 4, !tbaa !9
  %985 = load i32, ptr %113, align 4, !tbaa !9
  %986 = load i32, ptr %123, align 4, !tbaa !9
  %987 = icmp sge i32 %985, %986
  br i1 %987, label %988, label %990

988:                                              ; preds = %979
  %989 = load i32, ptr %113, align 4, !tbaa !9
  br label %992

990:                                              ; preds = %979
  %991 = load i32, ptr %123, align 4, !tbaa !9
  br label %992

992:                                              ; preds = %990, %988
  %993 = phi i32 [ %989, %988 ], [ %991, %990 ]
  store i32 %993, ptr %113, align 4, !tbaa !9
  br label %994

994:                                              ; preds = %992, %975
  br label %1088

995:                                              ; preds = %914
  %996 = load ptr, ptr %37, align 8, !tbaa !5
  %997 = load i32, ptr %996, align 4, !tbaa !9
  %998 = icmp eq i32 %997, 4
  br i1 %998, label %999, label %1087

999:                                              ; preds = %995
  %1000 = getelementptr inbounds [1 x i8], ptr %119, i64 0, i64 0
  store i8 74, ptr %1000, align 1, !tbaa !16
  %1001 = getelementptr inbounds [1 x i8], ptr %119, i64 0, i64 0
  %1002 = load ptr, ptr %38, align 8, !tbaa !5
  %1003 = load ptr, ptr %39, align 8, !tbaa !5
  %1004 = load ptr, ptr %40, align 8, !tbaa !5
  %1005 = load i32, ptr %65, align 4, !tbaa !9
  %1006 = sext i32 %1005 to i64
  %1007 = getelementptr inbounds %struct.complex, ptr %1004, i64 %1006
  %1008 = load ptr, ptr %41, align 8, !tbaa !5
  %1009 = load ptr, ptr %59, align 8, !tbaa !5
  %1010 = getelementptr inbounds float, ptr %1009, i64 1
  %1011 = load ptr, ptr %48, align 8, !tbaa !5
  %1012 = load i32, ptr %69, align 4, !tbaa !9
  %1013 = sext i32 %1012 to i64
  %1014 = getelementptr inbounds %struct.complex, ptr %1011, i64 %1013
  %1015 = load ptr, ptr %49, align 8, !tbaa !5
  %1016 = load ptr, ptr %53, align 8, !tbaa !5
  %1017 = load i32, ptr %73, align 4, !tbaa !9
  %1018 = sext i32 %1017 to i64
  %1019 = getelementptr inbounds %struct.complex, ptr %1016, i64 %1018
  %1020 = load ptr, ptr %54, align 8, !tbaa !5
  %1021 = load ptr, ptr %57, align 8, !tbaa !5
  %1022 = getelementptr inbounds %struct.complex, ptr %1021, i64 1
  %1023 = getelementptr inbounds [2 x float], ptr %122, i64 0, i64 0
  %1024 = load ptr, ptr %61, align 8, !tbaa !5
  %1025 = getelementptr inbounds i32, ptr %1024, i64 1
  %1026 = call i32 @cgejsv_(ptr noundef @.str.7, ptr noundef @.str.11, ptr noundef %1001, ptr noundef @.str.6, ptr noundef @.str.6, ptr noundef @.str.10, ptr noundef %1002, ptr noundef %1003, ptr noundef %1007, ptr noundef %1008, ptr noundef %1010, ptr noundef %1014, ptr noundef %1015, ptr noundef %1019, ptr noundef %1020, ptr noundef %1022, ptr noundef @c_n1, ptr noundef %1023, ptr noundef @c_n1, ptr noundef %1025, ptr noundef %88)
  %1027 = load ptr, ptr %61, align 8, !tbaa !5
  %1028 = getelementptr inbounds i32, ptr %1027, i64 1
  %1029 = load i32, ptr %1028, align 4, !tbaa !9
  store i32 %1029, ptr %105, align 4, !tbaa !9
  %1030 = load ptr, ptr %57, align 8, !tbaa !5
  %1031 = getelementptr inbounds %struct.complex, ptr %1030, i64 2
  %1032 = getelementptr inbounds %struct.complex, ptr %1031, i32 0, i32 0
  %1033 = load float, ptr %1032, align 4, !tbaa !13
  %1034 = fptosi float %1033 to i32
  store i32 %1034, ptr %121, align 4, !tbaa !9
  %1035 = load i32, ptr %110, align 4, !tbaa !9
  %1036 = load i32, ptr %121, align 4, !tbaa !9
  %1037 = icmp sge i32 %1035, %1036
  br i1 %1037, label %1038, label %1040

1038:                                             ; preds = %999
  %1039 = load i32, ptr %110, align 4, !tbaa !9
  br label %1042

1040:                                             ; preds = %999
  %1041 = load i32, ptr %121, align 4, !tbaa !9
  br label %1042

1042:                                             ; preds = %1040, %1038
  %1043 = phi i32 [ %1039, %1038 ], [ %1041, %1040 ]
  store i32 %1043, ptr %110, align 4, !tbaa !9
  store i32 7, ptr %78, align 4, !tbaa !9
  %1044 = getelementptr inbounds [2 x float], ptr %122, i64 0, i64 0
  %1045 = load float, ptr %1044, align 4, !tbaa !11
  %1046 = fptosi float %1045 to i32
  store i32 %1046, ptr %79, align 4, !tbaa !9
  %1047 = load i32, ptr %116, align 4, !tbaa !9
  store i32 %1047, ptr %76, align 4, !tbaa !9
  %1048 = load ptr, ptr %39, align 8, !tbaa !5
  %1049 = load i32, ptr %1048, align 4, !tbaa !9
  %1050 = load i32, ptr %78, align 4, !tbaa !9
  %1051 = load i32, ptr %79, align 4, !tbaa !9
  %1052 = icmp sge i32 %1050, %1051
  br i1 %1052, label %1053, label %1055

1053:                                             ; preds = %1042
  %1054 = load i32, ptr %78, align 4, !tbaa !9
  br label %1057

1055:                                             ; preds = %1042
  %1056 = load i32, ptr %79, align 4, !tbaa !9
  br label %1057

1057:                                             ; preds = %1055, %1053
  %1058 = phi i32 [ %1054, %1053 ], [ %1056, %1055 ]
  %1059 = add nsw i32 %1049, %1058
  store i32 %1059, ptr %77, align 4, !tbaa !9
  %1060 = load i32, ptr %76, align 4, !tbaa !9
  %1061 = load i32, ptr %77, align 4, !tbaa !9
  %1062 = icmp sge i32 %1060, %1061
  br i1 %1062, label %1063, label %1065

1063:                                             ; preds = %1057
  %1064 = load i32, ptr %76, align 4, !tbaa !9
  br label %1067

1065:                                             ; preds = %1057
  %1066 = load i32, ptr %77, align 4, !tbaa !9
  br label %1067

1067:                                             ; preds = %1065, %1063
  %1068 = phi i32 [ %1064, %1063 ], [ %1066, %1065 ]
  store i32 %1068, ptr %116, align 4, !tbaa !9
  %1069 = load i32, ptr %117, align 4, !tbaa !9
  %1070 = icmp ne i32 %1069, 0
  br i1 %1070, label %1071, label %1086

1071:                                             ; preds = %1067
  %1072 = load ptr, ptr %57, align 8, !tbaa !5
  %1073 = getelementptr inbounds %struct.complex, ptr %1072, i64 1
  %1074 = getelementptr inbounds %struct.complex, ptr %1073, i32 0, i32 0
  %1075 = load float, ptr %1074, align 4, !tbaa !13
  %1076 = fptosi float %1075 to i32
  store i32 %1076, ptr %120, align 4, !tbaa !9
  %1077 = load i32, ptr %113, align 4, !tbaa !9
  %1078 = load i32, ptr %120, align 4, !tbaa !9
  %1079 = icmp sge i32 %1077, %1078
  br i1 %1079, label %1080, label %1082

1080:                                             ; preds = %1071
  %1081 = load i32, ptr %113, align 4, !tbaa !9
  br label %1084

1082:                                             ; preds = %1071
  %1083 = load i32, ptr %120, align 4, !tbaa !9
  br label %1084

1084:                                             ; preds = %1082, %1080
  %1085 = phi i32 [ %1081, %1080 ], [ %1083, %1082 ]
  store i32 %1085, ptr %113, align 4, !tbaa !9
  br label %1086

1086:                                             ; preds = %1084, %1067
  br label %1087

1087:                                             ; preds = %1086, %995
  br label %1088

1088:                                             ; preds = %1087, %994
  br label %1089

1089:                                             ; preds = %1088, %913
  br label %1090

1090:                                             ; preds = %1089, %587
  %1091 = load i32, ptr %107, align 4, !tbaa !9
  %1092 = icmp ne i32 %1091, 0
  br i1 %1092, label %1100, label %1093

1093:                                             ; preds = %1090
  %1094 = load i32, ptr %98, align 4, !tbaa !9
  %1095 = icmp ne i32 %1094, 0
  br i1 %1095, label %1100, label %1096

1096:                                             ; preds = %1093
  %1097 = load ptr, ptr %34, align 8, !tbaa !5
  %1098 = call i32 @lsame_(ptr noundef %1097, ptr noundef @.str.7)
  %1099 = icmp ne i32 %1098, 0
  br i1 %1099, label %1100, label %1102

1100:                                             ; preds = %1096, %1093, %1090
  %1101 = getelementptr inbounds [1 x i8], ptr %97, i64 0, i64 0
  store i8 86, ptr %1101, align 1, !tbaa !16
  br label %1104

1102:                                             ; preds = %1096
  %1103 = getelementptr inbounds [1 x i8], ptr %97, i64 0, i64 0
  store i8 78, ptr %1103, align 1, !tbaa !16
  br label %1104

1104:                                             ; preds = %1102, %1100
  store i32 1, ptr %76, align 4, !tbaa !9
  %1105 = load ptr, ptr %39, align 8, !tbaa !5
  %1106 = load i32, ptr %1105, align 4, !tbaa !9
  %1107 = shl i32 %1106, 1
  store i32 %1107, ptr %77, align 4, !tbaa !9
  %1108 = load i32, ptr %76, align 4, !tbaa !9
  %1109 = load i32, ptr %77, align 4, !tbaa !9
  %1110 = icmp sge i32 %1108, %1109
  br i1 %1110, label %1111, label %1113

1111:                                             ; preds = %1104
  %1112 = load i32, ptr %76, align 4, !tbaa !9
  br label %1115

1113:                                             ; preds = %1104
  %1114 = load i32, ptr %77, align 4, !tbaa !9
  br label %1115

1115:                                             ; preds = %1113, %1111
  %1116 = phi i32 [ %1112, %1111 ], [ %1114, %1113 ]
  store i32 %1116, ptr %111, align 4, !tbaa !9
  %1117 = load i32, ptr %110, align 4, !tbaa !9
  %1118 = load i32, ptr %111, align 4, !tbaa !9
  %1119 = icmp sge i32 %1117, %1118
  br i1 %1119, label %1120, label %1122

1120:                                             ; preds = %1115
  %1121 = load i32, ptr %110, align 4, !tbaa !9
  br label %1124

1122:                                             ; preds = %1115
  %1123 = load i32, ptr %111, align 4, !tbaa !9
  br label %1124

1124:                                             ; preds = %1122, %1120
  %1125 = phi i32 [ %1121, %1120 ], [ %1123, %1122 ]
  store i32 %1125, ptr %110, align 4, !tbaa !9
  %1126 = load i32, ptr %116, align 4, !tbaa !9
  store i32 %1126, ptr %76, align 4, !tbaa !9
  %1127 = load ptr, ptr %39, align 8, !tbaa !5
  %1128 = load i32, ptr %1127, align 4, !tbaa !9
  %1129 = load ptr, ptr %39, align 8, !tbaa !5
  %1130 = load i32, ptr %1129, align 4, !tbaa !9
  %1131 = shl i32 %1130, 1
  %1132 = add nsw i32 %1128, %1131
  store i32 %1132, ptr %77, align 4, !tbaa !9
  %1133 = load i32, ptr %76, align 4, !tbaa !9
  %1134 = load i32, ptr %77, align 4, !tbaa !9
  %1135 = icmp sge i32 %1133, %1134
  br i1 %1135, label %1136, label %1138

1136:                                             ; preds = %1124
  %1137 = load i32, ptr %76, align 4, !tbaa !9
  br label %1140

1138:                                             ; preds = %1124
  %1139 = load i32, ptr %77, align 4, !tbaa !9
  br label %1140

1140:                                             ; preds = %1138, %1136
  %1141 = phi i32 [ %1137, %1136 ], [ %1139, %1138 ]
  store i32 %1141, ptr %116, align 4, !tbaa !9
  %1142 = load i32, ptr %117, align 4, !tbaa !9
  %1143 = icmp ne i32 %1142, 0
  br i1 %1143, label %1144, label %1190

1144:                                             ; preds = %1140
  %1145 = getelementptr inbounds [1 x i8], ptr %97, i64 0, i64 0
  %1146 = load ptr, ptr %39, align 8, !tbaa !5
  %1147 = load ptr, ptr %55, align 8, !tbaa !5
  %1148 = load i32, ptr %75, align 4, !tbaa !9
  %1149 = sext i32 %1148 to i64
  %1150 = getelementptr inbounds %struct.complex, ptr %1147, i64 %1149
  %1151 = load ptr, ptr %56, align 8, !tbaa !5
  %1152 = load ptr, ptr %47, align 8, !tbaa !5
  %1153 = getelementptr inbounds %struct.complex, ptr %1152, i64 1
  %1154 = load ptr, ptr %53, align 8, !tbaa !5
  %1155 = load i32, ptr %73, align 4, !tbaa !9
  %1156 = sext i32 %1155 to i64
  %1157 = getelementptr inbounds %struct.complex, ptr %1154, i64 %1156
  %1158 = load ptr, ptr %54, align 8, !tbaa !5
  %1159 = load ptr, ptr %53, align 8, !tbaa !5
  %1160 = load i32, ptr %73, align 4, !tbaa !9
  %1161 = sext i32 %1160 to i64
  %1162 = getelementptr inbounds %struct.complex, ptr %1159, i64 %1161
  %1163 = load ptr, ptr %54, align 8, !tbaa !5
  %1164 = load ptr, ptr %57, align 8, !tbaa !5
  %1165 = getelementptr inbounds %struct.complex, ptr %1164, i64 1
  %1166 = load ptr, ptr %59, align 8, !tbaa !5
  %1167 = getelementptr inbounds float, ptr %1166, i64 1
  %1168 = call i32 @cgeev_(ptr noundef @.str.6, ptr noundef %1145, ptr noundef %1146, ptr noundef %1150, ptr noundef %1151, ptr noundef %1153, ptr noundef %1157, ptr noundef %1158, ptr noundef %1162, ptr noundef %1163, ptr noundef %1165, ptr noundef @c_n1, ptr noundef %1167, ptr noundef %88)
  %1169 = load ptr, ptr %57, align 8, !tbaa !5
  %1170 = getelementptr inbounds %struct.complex, ptr %1169, i64 1
  %1171 = getelementptr inbounds %struct.complex, ptr %1170, i32 0, i32 0
  %1172 = load float, ptr %1171, align 4, !tbaa !13
  %1173 = fptosi float %1172 to i32
  store i32 %1173, ptr %109, align 4, !tbaa !9
  %1174 = load i32, ptr %113, align 4, !tbaa !9
  %1175 = load i32, ptr %109, align 4, !tbaa !9
  %1176 = icmp sge i32 %1174, %1175
  br i1 %1176, label %1177, label %1179

1177:                                             ; preds = %1144
  %1178 = load i32, ptr %113, align 4, !tbaa !9
  br label %1181

1179:                                             ; preds = %1144
  %1180 = load i32, ptr %109, align 4, !tbaa !9
  br label %1181

1181:                                             ; preds = %1179, %1177
  %1182 = phi i32 [ %1178, %1177 ], [ %1180, %1179 ]
  store i32 %1182, ptr %113, align 4, !tbaa !9
  %1183 = load i32, ptr %113, align 4, !tbaa !9
  %1184 = icmp sge i32 2, %1183
  br i1 %1184, label %1185, label %1186

1185:                                             ; preds = %1181
  br label %1188

1186:                                             ; preds = %1181
  %1187 = load i32, ptr %113, align 4, !tbaa !9
  br label %1188

1188:                                             ; preds = %1186, %1185
  %1189 = phi i32 [ 2, %1185 ], [ %1187, %1186 ]
  store i32 %1189, ptr %113, align 4, !tbaa !9
  br label %1190

1190:                                             ; preds = %1188, %1140
  %1191 = load ptr, ptr %62, align 8, !tbaa !5
  %1192 = load i32, ptr %1191, align 4, !tbaa !9
  %1193 = load i32, ptr %105, align 4, !tbaa !9
  %1194 = icmp slt i32 %1192, %1193
  br i1 %1194, label %1195, label %1200

1195:                                             ; preds = %1190
  %1196 = load i32, ptr %117, align 4, !tbaa !9
  %1197 = icmp ne i32 %1196, 0
  br i1 %1197, label %1200, label %1198

1198:                                             ; preds = %1195
  %1199 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -30, ptr %1199, align 4, !tbaa !9
  br label %1200

1200:                                             ; preds = %1198, %1195, %1190
  %1201 = load ptr, ptr %60, align 8, !tbaa !5
  %1202 = load i32, ptr %1201, align 4, !tbaa !9
  %1203 = load i32, ptr %116, align 4, !tbaa !9
  %1204 = icmp slt i32 %1202, %1203
  br i1 %1204, label %1205, label %1210

1205:                                             ; preds = %1200
  %1206 = load i32, ptr %117, align 4, !tbaa !9
  %1207 = icmp ne i32 %1206, 0
  br i1 %1207, label %1210, label %1208

1208:                                             ; preds = %1205
  %1209 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -28, ptr %1209, align 4, !tbaa !9
  br label %1210

1210:                                             ; preds = %1208, %1205, %1200
  %1211 = load ptr, ptr %58, align 8, !tbaa !5
  %1212 = load i32, ptr %1211, align 4, !tbaa !9
  %1213 = load i32, ptr %110, align 4, !tbaa !9
  %1214 = icmp slt i32 %1212, %1213
  br i1 %1214, label %1215, label %1220

1215:                                             ; preds = %1210
  %1216 = load i32, ptr %117, align 4, !tbaa !9
  %1217 = icmp ne i32 %1216, 0
  br i1 %1217, label %1220, label %1218

1218:                                             ; preds = %1215
  %1219 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -26, ptr %1219, align 4, !tbaa !9
  br label %1220

1220:                                             ; preds = %1218, %1215, %1210
  br label %1221

1221:                                             ; preds = %1220, %428
  %1222 = load ptr, ptr %63, align 8, !tbaa !5
  %1223 = load i32, ptr %1222, align 4, !tbaa !9
  %1224 = icmp ne i32 %1223, 0
  br i1 %1224, label %1225, label %1230

1225:                                             ; preds = %1221
  %1226 = load ptr, ptr %63, align 8, !tbaa !5
  %1227 = load i32, ptr %1226, align 4, !tbaa !9
  %1228 = sub nsw i32 0, %1227
  store i32 %1228, ptr %76, align 4, !tbaa !9
  %1229 = call i32 @xerbla_(ptr noundef @.str.12, ptr noundef %76)
  store i32 0, ptr %32, align 4
  store i32 1, ptr %127, align 4
  br label %2637

1230:                                             ; preds = %1221
  %1231 = load i32, ptr %117, align 4, !tbaa !9
  %1232 = icmp ne i32 %1231, 0
  br i1 %1232, label %1233, label %1257

1233:                                             ; preds = %1230
  %1234 = load i32, ptr %105, align 4, !tbaa !9
  %1235 = load ptr, ptr %61, align 8, !tbaa !5
  %1236 = getelementptr inbounds i32, ptr %1235, i64 1
  store i32 %1234, ptr %1236, align 4, !tbaa !9
  %1237 = load i32, ptr %116, align 4, !tbaa !9
  %1238 = sitofp i32 %1237 to float
  %1239 = load ptr, ptr %59, align 8, !tbaa !5
  %1240 = getelementptr inbounds float, ptr %1239, i64 1
  store float %1238, ptr %1240, align 4, !tbaa !11
  %1241 = load i32, ptr %110, align 4, !tbaa !9
  %1242 = sitofp i32 %1241 to float
  %1243 = load ptr, ptr %57, align 8, !tbaa !5
  %1244 = getelementptr inbounds %struct.complex, ptr %1243, i64 1
  %1245 = getelementptr inbounds %struct.complex, ptr %1244, i32 0, i32 0
  store float %1242, ptr %1245, align 4, !tbaa !13
  %1246 = load ptr, ptr %57, align 8, !tbaa !5
  %1247 = getelementptr inbounds %struct.complex, ptr %1246, i64 1
  %1248 = getelementptr inbounds %struct.complex, ptr %1247, i32 0, i32 1
  store float 0.000000e+00, ptr %1248, align 4, !tbaa !15
  %1249 = load i32, ptr %113, align 4, !tbaa !9
  %1250 = sitofp i32 %1249 to float
  %1251 = load ptr, ptr %57, align 8, !tbaa !5
  %1252 = getelementptr inbounds %struct.complex, ptr %1251, i64 2
  %1253 = getelementptr inbounds %struct.complex, ptr %1252, i32 0, i32 0
  store float %1250, ptr %1253, align 4, !tbaa !13
  %1254 = load ptr, ptr %57, align 8, !tbaa !5
  %1255 = getelementptr inbounds %struct.complex, ptr %1254, i64 2
  %1256 = getelementptr inbounds %struct.complex, ptr %1255, i32 0, i32 1
  store float 0.000000e+00, ptr %1256, align 4, !tbaa !15
  store i32 0, ptr %32, align 4
  store i32 1, ptr %127, align 4
  br label %2637

1257:                                             ; preds = %1230
  br label %1258

1258:                                             ; preds = %1257
  %1259 = call float @slamch_(ptr noundef @.str.8)
  %1260 = call float @slamch_(ptr noundef @.str.10)
  %1261 = fmul float %1259, %1260
  store float %1261, ptr %125, align 4, !tbaa !11
  %1262 = call float @slamch_(ptr noundef @.str.1)
  store float %1262, ptr %96, align 4, !tbaa !11
  store i32 0, ptr %95, align 4, !tbaa !9
  %1263 = load i32, ptr %101, align 4, !tbaa !9
  %1264 = icmp ne i32 %1263, 0
  br i1 %1264, label %1265, label %1501

1265:                                             ; preds = %1258
  %1266 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 0, ptr %1266, align 4, !tbaa !9
  %1267 = load ptr, ptr %39, align 8, !tbaa !5
  %1268 = load i32, ptr %1267, align 4, !tbaa !9
  store i32 %1268, ptr %76, align 4, !tbaa !9
  store i32 1, ptr %92, align 4, !tbaa !9
  br label %1269

1269:                                             ; preds = %1373, %1265
  %1270 = load i32, ptr %92, align 4, !tbaa !9
  %1271 = load i32, ptr %76, align 4, !tbaa !9
  %1272 = icmp sle i32 %1270, %1271
  br i1 %1272, label %1273, label %1376

1273:                                             ; preds = %1269
  %1274 = load float, ptr %86, align 4, !tbaa !11
  store float %1274, ptr %94, align 4, !tbaa !11
  %1275 = load ptr, ptr %38, align 8, !tbaa !5
  %1276 = load ptr, ptr %40, align 8, !tbaa !5
  %1277 = load i32, ptr %92, align 4, !tbaa !9
  %1278 = load i32, ptr %64, align 4, !tbaa !9
  %1279 = mul nsw i32 %1277, %1278
  %1280 = add nsw i32 %1279, 1
  %1281 = sext i32 %1280 to i64
  %1282 = getelementptr inbounds %struct.complex, ptr %1276, i64 %1281
  %1283 = call i32 @classq_(ptr noundef %1275, ptr noundef %1282, ptr noundef @c__1, ptr noundef %94, ptr noundef %87)
  %1284 = call i32 @sisnan_(ptr noundef %94)
  %1285 = icmp ne i32 %1284, 0
  br i1 %1285, label %1289, label %1286

1286:                                             ; preds = %1273
  %1287 = call i32 @sisnan_(ptr noundef %87)
  %1288 = icmp ne i32 %1287, 0
  br i1 %1288, label %1289, label %1296

1289:                                             ; preds = %1286, %1273
  %1290 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 0, ptr %1290, align 4, !tbaa !9
  %1291 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -8, ptr %1291, align 4, !tbaa !9
  %1292 = load ptr, ptr %63, align 8, !tbaa !5
  %1293 = load i32, ptr %1292, align 4, !tbaa !9
  %1294 = sub nsw i32 0, %1293
  store i32 %1294, ptr %77, align 4, !tbaa !9
  %1295 = call i32 @xerbla_(ptr noundef @.str.12, ptr noundef %77)
  br label %1296

1296:                                             ; preds = %1289, %1286
  %1297 = load float, ptr %94, align 4, !tbaa !11
  %1298 = load float, ptr %86, align 4, !tbaa !11
  %1299 = fcmp une float %1297, %1298
  br i1 %1299, label %1300, label %1363

1300:                                             ; preds = %1296
  %1301 = load float, ptr %87, align 4, !tbaa !11
  %1302 = load float, ptr %86, align 4, !tbaa !11
  %1303 = fcmp une float %1301, %1302
  br i1 %1303, label %1304, label %1363

1304:                                             ; preds = %1300
  %1305 = load float, ptr %87, align 4, !tbaa !11
  %1306 = fpext float %1305 to double
  %1307 = call double @sqrt(double noundef %1306) #6
  %1308 = fptrunc double %1307 to float
  store float %1308, ptr %108, align 4, !tbaa !11
  %1309 = load float, ptr %94, align 4, !tbaa !11
  %1310 = load float, ptr %125, align 4, !tbaa !11
  %1311 = load float, ptr %108, align 4, !tbaa !11
  %1312 = fdiv float %1310, %1311
  %1313 = fcmp oge float %1309, %1312
  br i1 %1313, label %1314, label %1340

1314:                                             ; preds = %1304
  %1315 = load float, ptr %126, align 4, !tbaa !11
  %1316 = load float, ptr %108, align 4, !tbaa !11
  %1317 = fdiv float %1315, %1316
  store float %1317, ptr %81, align 4, !tbaa !11
  %1318 = load ptr, ptr %38, align 8, !tbaa !5
  %1319 = load ptr, ptr %40, align 8, !tbaa !5
  %1320 = load i32, ptr %92, align 4, !tbaa !9
  %1321 = load i32, ptr %64, align 4, !tbaa !9
  %1322 = mul nsw i32 %1320, %1321
  %1323 = add nsw i32 %1322, 1
  %1324 = sext i32 %1323 to i64
  %1325 = getelementptr inbounds %struct.complex, ptr %1319, i64 %1324
  %1326 = load ptr, ptr %41, align 8, !tbaa !5
  %1327 = call i32 @clascl_(ptr noundef @.str.13, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %94, ptr noundef %81, ptr noundef %1318, ptr noundef @c__1, ptr noundef %1325, ptr noundef %1326, ptr noundef %89)
  %1328 = load float, ptr %94, align 4, !tbaa !11
  %1329 = fneg float %1328
  %1330 = load float, ptr %108, align 4, !tbaa !11
  %1331 = load ptr, ptr %38, align 8, !tbaa !5
  %1332 = load i32, ptr %1331, align 4, !tbaa !9
  %1333 = sitofp i32 %1332 to float
  %1334 = fdiv float %1330, %1333
  %1335 = fmul float %1329, %1334
  %1336 = load ptr, ptr %59, align 8, !tbaa !5
  %1337 = load i32, ptr %92, align 4, !tbaa !9
  %1338 = sext i32 %1337 to i64
  %1339 = getelementptr inbounds float, ptr %1336, i64 %1338
  store float %1335, ptr %1339, align 4, !tbaa !11
  br label %1362

1340:                                             ; preds = %1304
  %1341 = load float, ptr %94, align 4, !tbaa !11
  %1342 = load float, ptr %108, align 4, !tbaa !11
  %1343 = fmul float %1341, %1342
  %1344 = load ptr, ptr %59, align 8, !tbaa !5
  %1345 = load i32, ptr %92, align 4, !tbaa !9
  %1346 = sext i32 %1345 to i64
  %1347 = getelementptr inbounds float, ptr %1344, i64 %1346
  store float %1343, ptr %1347, align 4, !tbaa !11
  %1348 = load ptr, ptr %59, align 8, !tbaa !5
  %1349 = load i32, ptr %92, align 4, !tbaa !9
  %1350 = sext i32 %1349 to i64
  %1351 = getelementptr inbounds float, ptr %1348, i64 %1350
  %1352 = load ptr, ptr %38, align 8, !tbaa !5
  %1353 = load ptr, ptr %40, align 8, !tbaa !5
  %1354 = load i32, ptr %92, align 4, !tbaa !9
  %1355 = load i32, ptr %64, align 4, !tbaa !9
  %1356 = mul nsw i32 %1354, %1355
  %1357 = add nsw i32 %1356, 1
  %1358 = sext i32 %1357 to i64
  %1359 = getelementptr inbounds %struct.complex, ptr %1353, i64 %1358
  %1360 = load ptr, ptr %41, align 8, !tbaa !5
  %1361 = call i32 @clascl_(ptr noundef @.str.13, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %1351, ptr noundef %126, ptr noundef %1352, ptr noundef @c__1, ptr noundef %1359, ptr noundef %1360, ptr noundef %89)
  br label %1362

1362:                                             ; preds = %1340, %1314
  br label %1372

1363:                                             ; preds = %1300, %1296
  %1364 = load float, ptr %86, align 4, !tbaa !11
  %1365 = load ptr, ptr %59, align 8, !tbaa !5
  %1366 = load i32, ptr %92, align 4, !tbaa !9
  %1367 = sext i32 %1366 to i64
  %1368 = getelementptr inbounds float, ptr %1365, i64 %1367
  store float %1364, ptr %1368, align 4, !tbaa !11
  %1369 = load ptr, ptr %46, align 8, !tbaa !5
  %1370 = load i32, ptr %1369, align 4, !tbaa !9
  %1371 = add nsw i32 %1370, 1
  store i32 %1371, ptr %1369, align 4, !tbaa !9
  br label %1372

1372:                                             ; preds = %1363, %1362
  br label %1373

1373:                                             ; preds = %1372
  %1374 = load i32, ptr %92, align 4, !tbaa !9
  %1375 = add nsw i32 %1374, 1
  store i32 %1375, ptr %92, align 4, !tbaa !9
  br label %1269, !llvm.loop !17

1376:                                             ; preds = %1269
  %1377 = load ptr, ptr %46, align 8, !tbaa !5
  %1378 = load i32, ptr %1377, align 4, !tbaa !9
  %1379 = load ptr, ptr %39, align 8, !tbaa !5
  %1380 = load i32, ptr %1379, align 4, !tbaa !9
  %1381 = icmp eq i32 %1378, %1380
  br i1 %1381, label %1382, label %1389

1382:                                             ; preds = %1376
  %1383 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 0, ptr %1383, align 4, !tbaa !9
  %1384 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -8, ptr %1384, align 4, !tbaa !9
  %1385 = load ptr, ptr %63, align 8, !tbaa !5
  %1386 = load i32, ptr %1385, align 4, !tbaa !9
  %1387 = sub nsw i32 0, %1386
  store i32 %1387, ptr %76, align 4, !tbaa !9
  %1388 = call i32 @xerbla_(ptr noundef @.str.12, ptr noundef %76)
  store i32 0, ptr %32, align 4
  store i32 1, ptr %127, align 4
  br label %2637

1389:                                             ; preds = %1376
  %1390 = load ptr, ptr %39, align 8, !tbaa !5
  %1391 = load i32, ptr %1390, align 4, !tbaa !9
  store i32 %1391, ptr %76, align 4, !tbaa !9
  store i32 1, ptr %92, align 4, !tbaa !9
  br label %1392

1392:                                             ; preds = %1497, %1389
  %1393 = load i32, ptr %92, align 4, !tbaa !9
  %1394 = load i32, ptr %76, align 4, !tbaa !9
  %1395 = icmp sle i32 %1393, %1394
  br i1 %1395, label %1396, label %1500

1396:                                             ; preds = %1392
  %1397 = load ptr, ptr %59, align 8, !tbaa !5
  %1398 = load i32, ptr %92, align 4, !tbaa !9
  %1399 = sext i32 %1398 to i64
  %1400 = getelementptr inbounds float, ptr %1397, i64 %1399
  %1401 = load float, ptr %1400, align 4, !tbaa !11
  %1402 = load float, ptr %86, align 4, !tbaa !11
  %1403 = fcmp ogt float %1401, %1402
  br i1 %1403, label %1404, label %1421

1404:                                             ; preds = %1396
  %1405 = load float, ptr %126, align 4, !tbaa !11
  %1406 = load ptr, ptr %59, align 8, !tbaa !5
  %1407 = load i32, ptr %92, align 4, !tbaa !9
  %1408 = sext i32 %1407 to i64
  %1409 = getelementptr inbounds float, ptr %1406, i64 %1408
  %1410 = load float, ptr %1409, align 4, !tbaa !11
  %1411 = fdiv float %1405, %1410
  store float %1411, ptr %81, align 4, !tbaa !11
  %1412 = load ptr, ptr %38, align 8, !tbaa !5
  %1413 = load ptr, ptr %42, align 8, !tbaa !5
  %1414 = load i32, ptr %92, align 4, !tbaa !9
  %1415 = load i32, ptr %66, align 4, !tbaa !9
  %1416 = mul nsw i32 %1414, %1415
  %1417 = add nsw i32 %1416, 1
  %1418 = sext i32 %1417 to i64
  %1419 = getelementptr inbounds %struct.complex, ptr %1413, i64 %1418
  %1420 = call i32 @csscal_(ptr noundef %1412, ptr noundef %81, ptr noundef %1419, ptr noundef @c__1)
  br label %1496

1421:                                             ; preds = %1396
  %1422 = load ptr, ptr %59, align 8, !tbaa !5
  %1423 = load i32, ptr %92, align 4, !tbaa !9
  %1424 = sext i32 %1423 to i64
  %1425 = getelementptr inbounds float, ptr %1422, i64 %1424
  %1426 = load float, ptr %1425, align 4, !tbaa !11
  %1427 = load float, ptr %86, align 4, !tbaa !11
  %1428 = fcmp olt float %1426, %1427
  br i1 %1428, label %1429, label %1451

1429:                                             ; preds = %1421
  %1430 = load ptr, ptr %59, align 8, !tbaa !5
  %1431 = load i32, ptr %92, align 4, !tbaa !9
  %1432 = sext i32 %1431 to i64
  %1433 = getelementptr inbounds float, ptr %1430, i64 %1432
  %1434 = load float, ptr %1433, align 4, !tbaa !11
  %1435 = fneg float %1434
  store float %1435, ptr %81, align 4, !tbaa !11
  %1436 = load float, ptr %126, align 4, !tbaa !11
  %1437 = load ptr, ptr %38, align 8, !tbaa !5
  %1438 = load i32, ptr %1437, align 4, !tbaa !9
  %1439 = sitofp i32 %1438 to float
  %1440 = fdiv float %1436, %1439
  store float %1440, ptr %82, align 4, !tbaa !11
  %1441 = load ptr, ptr %38, align 8, !tbaa !5
  %1442 = load ptr, ptr %42, align 8, !tbaa !5
  %1443 = load i32, ptr %92, align 4, !tbaa !9
  %1444 = load i32, ptr %66, align 4, !tbaa !9
  %1445 = mul nsw i32 %1443, %1444
  %1446 = add nsw i32 %1445, 1
  %1447 = sext i32 %1446 to i64
  %1448 = getelementptr inbounds %struct.complex, ptr %1442, i64 %1447
  %1449 = load ptr, ptr %43, align 8, !tbaa !5
  %1450 = call i32 @clascl_(ptr noundef @.str.13, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %81, ptr noundef %82, ptr noundef %1441, ptr noundef @c__1, ptr noundef %1448, ptr noundef %1449, ptr noundef %89)
  br label %1495

1451:                                             ; preds = %1421
  %1452 = load ptr, ptr %42, align 8, !tbaa !5
  %1453 = load ptr, ptr %38, align 8, !tbaa !5
  %1454 = load ptr, ptr %42, align 8, !tbaa !5
  %1455 = load i32, ptr %92, align 4, !tbaa !9
  %1456 = load i32, ptr %66, align 4, !tbaa !9
  %1457 = mul nsw i32 %1455, %1456
  %1458 = add nsw i32 %1457, 1
  %1459 = sext i32 %1458 to i64
  %1460 = getelementptr inbounds %struct.complex, ptr %1454, i64 %1459
  %1461 = call i32 @icamax_(ptr noundef %1453, ptr noundef %1460, ptr noundef @c__1)
  %1462 = load i32, ptr %92, align 4, !tbaa !9
  %1463 = load i32, ptr %66, align 4, !tbaa !9
  %1464 = mul nsw i32 %1462, %1463
  %1465 = add nsw i32 %1461, %1464
  %1466 = sext i32 %1465 to i64
  %1467 = getelementptr inbounds %struct.complex, ptr %1452, i64 %1466
  %1468 = call <2 x float> @Cf(ptr noundef %1467)
  store <2 x float> %1468, ptr %128, align 4
  %1469 = getelementptr inbounds { float, float }, ptr %128, i32 0, i32 0
  %1470 = load float, ptr %1469, align 4
  %1471 = getelementptr inbounds { float, float }, ptr %128, i32 0, i32 1
  %1472 = load float, ptr %1471, align 4
  %1473 = getelementptr inbounds { float, float }, ptr %129, i32 0, i32 0
  %1474 = getelementptr inbounds { float, float }, ptr %129, i32 0, i32 1
  store float %1470, ptr %1473, align 4
  store float %1472, ptr %1474, align 4
  %1475 = load <2 x float>, ptr %129, align 4
  %1476 = call float @cabsf(<2 x float> noundef %1475) #6
  %1477 = load float, ptr %86, align 4, !tbaa !11
  %1478 = fcmp une float %1476, %1477
  br i1 %1478, label %1479, label %1494

1479:                                             ; preds = %1451
  store i32 1, ptr %95, align 4, !tbaa !9
  %1480 = load ptr, ptr %33, align 8, !tbaa !5
  %1481 = call i32 @lsame_(ptr noundef %1480, ptr noundef @.str.2)
  %1482 = icmp ne i32 %1481, 0
  br i1 %1482, label %1483, label %1493

1483:                                             ; preds = %1479
  %1484 = load ptr, ptr %38, align 8, !tbaa !5
  %1485 = load ptr, ptr %42, align 8, !tbaa !5
  %1486 = load i32, ptr %92, align 4, !tbaa !9
  %1487 = load i32, ptr %66, align 4, !tbaa !9
  %1488 = mul nsw i32 %1486, %1487
  %1489 = add nsw i32 %1488, 1
  %1490 = sext i32 %1489 to i64
  %1491 = getelementptr inbounds %struct.complex, ptr %1485, i64 %1490
  %1492 = call i32 @csscal_(ptr noundef %1484, ptr noundef %86, ptr noundef %1491, ptr noundef @c__1)
  br label %1493

1493:                                             ; preds = %1483, %1479
  br label %1494

1494:                                             ; preds = %1493, %1451
  br label %1495

1495:                                             ; preds = %1494, %1429
  br label %1496

1496:                                             ; preds = %1495, %1404
  br label %1497

1497:                                             ; preds = %1496
  %1498 = load i32, ptr %92, align 4, !tbaa !9
  %1499 = add nsw i32 %1498, 1
  store i32 %1499, ptr %92, align 4, !tbaa !9
  br label %1392, !llvm.loop !19

1500:                                             ; preds = %1392
  br label %1501

1501:                                             ; preds = %1500, %1258
  %1502 = load i32, ptr %102, align 4, !tbaa !9
  %1503 = icmp ne i32 %1502, 0
  br i1 %1503, label %1504, label %1709

1504:                                             ; preds = %1501
  %1505 = load ptr, ptr %39, align 8, !tbaa !5
  %1506 = load i32, ptr %1505, align 4, !tbaa !9
  store i32 %1506, ptr %76, align 4, !tbaa !9
  store i32 1, ptr %92, align 4, !tbaa !9
  br label %1507

1507:                                             ; preds = %1608, %1504
  %1508 = load i32, ptr %92, align 4, !tbaa !9
  %1509 = load i32, ptr %76, align 4, !tbaa !9
  %1510 = icmp sle i32 %1508, %1509
  br i1 %1510, label %1511, label %1611

1511:                                             ; preds = %1507
  %1512 = load float, ptr %86, align 4, !tbaa !11
  store float %1512, ptr %94, align 4, !tbaa !11
  %1513 = load ptr, ptr %38, align 8, !tbaa !5
  %1514 = load ptr, ptr %42, align 8, !tbaa !5
  %1515 = load i32, ptr %92, align 4, !tbaa !9
  %1516 = load i32, ptr %66, align 4, !tbaa !9
  %1517 = mul nsw i32 %1515, %1516
  %1518 = add nsw i32 %1517, 1
  %1519 = sext i32 %1518 to i64
  %1520 = getelementptr inbounds %struct.complex, ptr %1514, i64 %1519
  %1521 = call i32 @classq_(ptr noundef %1513, ptr noundef %1520, ptr noundef @c__1, ptr noundef %94, ptr noundef %87)
  %1522 = call i32 @sisnan_(ptr noundef %94)
  %1523 = icmp ne i32 %1522, 0
  br i1 %1523, label %1527, label %1524

1524:                                             ; preds = %1511
  %1525 = call i32 @sisnan_(ptr noundef %87)
  %1526 = icmp ne i32 %1525, 0
  br i1 %1526, label %1527, label %1534

1527:                                             ; preds = %1524, %1511
  %1528 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 0, ptr %1528, align 4, !tbaa !9
  %1529 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -10, ptr %1529, align 4, !tbaa !9
  %1530 = load ptr, ptr %63, align 8, !tbaa !5
  %1531 = load i32, ptr %1530, align 4, !tbaa !9
  %1532 = sub nsw i32 0, %1531
  store i32 %1532, ptr %77, align 4, !tbaa !9
  %1533 = call i32 @xerbla_(ptr noundef @.str.12, ptr noundef %77)
  br label %1534

1534:                                             ; preds = %1527, %1524
  %1535 = load float, ptr %94, align 4, !tbaa !11
  %1536 = load float, ptr %86, align 4, !tbaa !11
  %1537 = fcmp une float %1535, %1536
  br i1 %1537, label %1538, label %1601

1538:                                             ; preds = %1534
  %1539 = load float, ptr %87, align 4, !tbaa !11
  %1540 = load float, ptr %86, align 4, !tbaa !11
  %1541 = fcmp une float %1539, %1540
  br i1 %1541, label %1542, label %1601

1542:                                             ; preds = %1538
  %1543 = load float, ptr %87, align 4, !tbaa !11
  %1544 = fpext float %1543 to double
  %1545 = call double @sqrt(double noundef %1544) #6
  %1546 = fptrunc double %1545 to float
  store float %1546, ptr %108, align 4, !tbaa !11
  %1547 = load float, ptr %94, align 4, !tbaa !11
  %1548 = load float, ptr %125, align 4, !tbaa !11
  %1549 = load float, ptr %108, align 4, !tbaa !11
  %1550 = fdiv float %1548, %1549
  %1551 = fcmp oge float %1547, %1550
  br i1 %1551, label %1552, label %1578

1552:                                             ; preds = %1542
  %1553 = load float, ptr %126, align 4, !tbaa !11
  %1554 = load float, ptr %108, align 4, !tbaa !11
  %1555 = fdiv float %1553, %1554
  store float %1555, ptr %81, align 4, !tbaa !11
  %1556 = load ptr, ptr %38, align 8, !tbaa !5
  %1557 = load ptr, ptr %42, align 8, !tbaa !5
  %1558 = load i32, ptr %92, align 4, !tbaa !9
  %1559 = load i32, ptr %66, align 4, !tbaa !9
  %1560 = mul nsw i32 %1558, %1559
  %1561 = add nsw i32 %1560, 1
  %1562 = sext i32 %1561 to i64
  %1563 = getelementptr inbounds %struct.complex, ptr %1557, i64 %1562
  %1564 = load ptr, ptr %43, align 8, !tbaa !5
  %1565 = call i32 @clascl_(ptr noundef @.str.13, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %94, ptr noundef %81, ptr noundef %1556, ptr noundef @c__1, ptr noundef %1563, ptr noundef %1564, ptr noundef %89)
  %1566 = load float, ptr %94, align 4, !tbaa !11
  %1567 = fneg float %1566
  %1568 = load float, ptr %108, align 4, !tbaa !11
  %1569 = load ptr, ptr %38, align 8, !tbaa !5
  %1570 = load i32, ptr %1569, align 4, !tbaa !9
  %1571 = sitofp i32 %1570 to float
  %1572 = fdiv float %1568, %1571
  %1573 = fmul float %1567, %1572
  %1574 = load ptr, ptr %59, align 8, !tbaa !5
  %1575 = load i32, ptr %92, align 4, !tbaa !9
  %1576 = sext i32 %1575 to i64
  %1577 = getelementptr inbounds float, ptr %1574, i64 %1576
  store float %1573, ptr %1577, align 4, !tbaa !11
  br label %1600

1578:                                             ; preds = %1542
  %1579 = load float, ptr %94, align 4, !tbaa !11
  %1580 = load float, ptr %108, align 4, !tbaa !11
  %1581 = fmul float %1579, %1580
  %1582 = load ptr, ptr %59, align 8, !tbaa !5
  %1583 = load i32, ptr %92, align 4, !tbaa !9
  %1584 = sext i32 %1583 to i64
  %1585 = getelementptr inbounds float, ptr %1582, i64 %1584
  store float %1581, ptr %1585, align 4, !tbaa !11
  %1586 = load ptr, ptr %59, align 8, !tbaa !5
  %1587 = load i32, ptr %92, align 4, !tbaa !9
  %1588 = sext i32 %1587 to i64
  %1589 = getelementptr inbounds float, ptr %1586, i64 %1588
  %1590 = load ptr, ptr %38, align 8, !tbaa !5
  %1591 = load ptr, ptr %42, align 8, !tbaa !5
  %1592 = load i32, ptr %92, align 4, !tbaa !9
  %1593 = load i32, ptr %66, align 4, !tbaa !9
  %1594 = mul nsw i32 %1592, %1593
  %1595 = add nsw i32 %1594, 1
  %1596 = sext i32 %1595 to i64
  %1597 = getelementptr inbounds %struct.complex, ptr %1591, i64 %1596
  %1598 = load ptr, ptr %43, align 8, !tbaa !5
  %1599 = call i32 @clascl_(ptr noundef @.str.13, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %1589, ptr noundef %126, ptr noundef %1590, ptr noundef @c__1, ptr noundef %1597, ptr noundef %1598, ptr noundef %89)
  br label %1600

1600:                                             ; preds = %1578, %1552
  br label %1607

1601:                                             ; preds = %1538, %1534
  %1602 = load float, ptr %86, align 4, !tbaa !11
  %1603 = load ptr, ptr %59, align 8, !tbaa !5
  %1604 = load i32, ptr %92, align 4, !tbaa !9
  %1605 = sext i32 %1604 to i64
  %1606 = getelementptr inbounds float, ptr %1603, i64 %1605
  store float %1602, ptr %1606, align 4, !tbaa !11
  br label %1607

1607:                                             ; preds = %1601, %1600
  br label %1608

1608:                                             ; preds = %1607
  %1609 = load i32, ptr %92, align 4, !tbaa !9
  %1610 = add nsw i32 %1609, 1
  store i32 %1610, ptr %92, align 4, !tbaa !9
  br label %1507, !llvm.loop !20

1611:                                             ; preds = %1507
  %1612 = load ptr, ptr %39, align 8, !tbaa !5
  %1613 = load i32, ptr %1612, align 4, !tbaa !9
  store i32 %1613, ptr %76, align 4, !tbaa !9
  store i32 1, ptr %92, align 4, !tbaa !9
  br label %1614

1614:                                             ; preds = %1705, %1611
  %1615 = load i32, ptr %92, align 4, !tbaa !9
  %1616 = load i32, ptr %76, align 4, !tbaa !9
  %1617 = icmp sle i32 %1615, %1616
  br i1 %1617, label %1618, label %1708

1618:                                             ; preds = %1614
  %1619 = load ptr, ptr %59, align 8, !tbaa !5
  %1620 = load i32, ptr %92, align 4, !tbaa !9
  %1621 = sext i32 %1620 to i64
  %1622 = getelementptr inbounds float, ptr %1619, i64 %1621
  %1623 = load float, ptr %1622, align 4, !tbaa !11
  %1624 = load float, ptr %86, align 4, !tbaa !11
  %1625 = fcmp ogt float %1623, %1624
  br i1 %1625, label %1626, label %1643

1626:                                             ; preds = %1618
  %1627 = load float, ptr %126, align 4, !tbaa !11
  %1628 = load ptr, ptr %59, align 8, !tbaa !5
  %1629 = load i32, ptr %92, align 4, !tbaa !9
  %1630 = sext i32 %1629 to i64
  %1631 = getelementptr inbounds float, ptr %1628, i64 %1630
  %1632 = load float, ptr %1631, align 4, !tbaa !11
  %1633 = fdiv float %1627, %1632
  store float %1633, ptr %81, align 4, !tbaa !11
  %1634 = load ptr, ptr %38, align 8, !tbaa !5
  %1635 = load ptr, ptr %40, align 8, !tbaa !5
  %1636 = load i32, ptr %92, align 4, !tbaa !9
  %1637 = load i32, ptr %64, align 4, !tbaa !9
  %1638 = mul nsw i32 %1636, %1637
  %1639 = add nsw i32 %1638, 1
  %1640 = sext i32 %1639 to i64
  %1641 = getelementptr inbounds %struct.complex, ptr %1635, i64 %1640
  %1642 = call i32 @csscal_(ptr noundef %1634, ptr noundef %81, ptr noundef %1641, ptr noundef @c__1)
  br label %1704

1643:                                             ; preds = %1618
  %1644 = load ptr, ptr %59, align 8, !tbaa !5
  %1645 = load i32, ptr %92, align 4, !tbaa !9
  %1646 = sext i32 %1645 to i64
  %1647 = getelementptr inbounds float, ptr %1644, i64 %1646
  %1648 = load float, ptr %1647, align 4, !tbaa !11
  %1649 = load float, ptr %86, align 4, !tbaa !11
  %1650 = fcmp olt float %1648, %1649
  br i1 %1650, label %1651, label %1673

1651:                                             ; preds = %1643
  %1652 = load ptr, ptr %59, align 8, !tbaa !5
  %1653 = load i32, ptr %92, align 4, !tbaa !9
  %1654 = sext i32 %1653 to i64
  %1655 = getelementptr inbounds float, ptr %1652, i64 %1654
  %1656 = load float, ptr %1655, align 4, !tbaa !11
  %1657 = fneg float %1656
  store float %1657, ptr %81, align 4, !tbaa !11
  %1658 = load float, ptr %126, align 4, !tbaa !11
  %1659 = load ptr, ptr %38, align 8, !tbaa !5
  %1660 = load i32, ptr %1659, align 4, !tbaa !9
  %1661 = sitofp i32 %1660 to float
  %1662 = fdiv float %1658, %1661
  store float %1662, ptr %82, align 4, !tbaa !11
  %1663 = load ptr, ptr %38, align 8, !tbaa !5
  %1664 = load ptr, ptr %40, align 8, !tbaa !5
  %1665 = load i32, ptr %92, align 4, !tbaa !9
  %1666 = load i32, ptr %64, align 4, !tbaa !9
  %1667 = mul nsw i32 %1665, %1666
  %1668 = add nsw i32 %1667, 1
  %1669 = sext i32 %1668 to i64
  %1670 = getelementptr inbounds %struct.complex, ptr %1664, i64 %1669
  %1671 = load ptr, ptr %41, align 8, !tbaa !5
  %1672 = call i32 @clascl_(ptr noundef @.str.13, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %81, ptr noundef %82, ptr noundef %1663, ptr noundef @c__1, ptr noundef %1670, ptr noundef %1671, ptr noundef %89)
  br label %1703

1673:                                             ; preds = %1643
  %1674 = load ptr, ptr %40, align 8, !tbaa !5
  %1675 = load ptr, ptr %38, align 8, !tbaa !5
  %1676 = load ptr, ptr %40, align 8, !tbaa !5
  %1677 = load i32, ptr %92, align 4, !tbaa !9
  %1678 = load i32, ptr %64, align 4, !tbaa !9
  %1679 = mul nsw i32 %1677, %1678
  %1680 = add nsw i32 %1679, 1
  %1681 = sext i32 %1680 to i64
  %1682 = getelementptr inbounds %struct.complex, ptr %1676, i64 %1681
  %1683 = call i32 @icamax_(ptr noundef %1675, ptr noundef %1682, ptr noundef @c__1)
  %1684 = load i32, ptr %92, align 4, !tbaa !9
  %1685 = load i32, ptr %64, align 4, !tbaa !9
  %1686 = mul nsw i32 %1684, %1685
  %1687 = add nsw i32 %1683, %1686
  %1688 = sext i32 %1687 to i64
  %1689 = getelementptr inbounds %struct.complex, ptr %1674, i64 %1688
  %1690 = call <2 x float> @Cf(ptr noundef %1689)
  store <2 x float> %1690, ptr %130, align 4
  %1691 = getelementptr inbounds { float, float }, ptr %130, i32 0, i32 0
  %1692 = load float, ptr %1691, align 4
  %1693 = getelementptr inbounds { float, float }, ptr %130, i32 0, i32 1
  %1694 = load float, ptr %1693, align 4
  %1695 = getelementptr inbounds { float, float }, ptr %131, i32 0, i32 0
  %1696 = getelementptr inbounds { float, float }, ptr %131, i32 0, i32 1
  store float %1692, ptr %1695, align 4
  store float %1694, ptr %1696, align 4
  %1697 = load <2 x float>, ptr %131, align 4
  %1698 = call float @cabsf(<2 x float> noundef %1697) #6
  %1699 = load float, ptr %86, align 4, !tbaa !11
  %1700 = fcmp une float %1698, %1699
  br i1 %1700, label %1701, label %1702

1701:                                             ; preds = %1673
  store i32 1, ptr %95, align 4, !tbaa !9
  br label %1702

1702:                                             ; preds = %1701, %1673
  br label %1703

1703:                                             ; preds = %1702, %1651
  br label %1704

1704:                                             ; preds = %1703, %1626
  br label %1705

1705:                                             ; preds = %1704
  %1706 = load i32, ptr %92, align 4, !tbaa !9
  %1707 = add nsw i32 %1706, 1
  store i32 %1707, ptr %92, align 4, !tbaa !9
  br label %1614, !llvm.loop !21

1708:                                             ; preds = %1614
  br label %1709

1709:                                             ; preds = %1708, %1501
  %1710 = load ptr, ptr %39, align 8, !tbaa !5
  %1711 = load i32, ptr %1710, align 4, !tbaa !9
  store i32 %1711, ptr %112, align 4, !tbaa !9
  %1712 = load ptr, ptr %37, align 8, !tbaa !5
  %1713 = load i32, ptr %1712, align 4, !tbaa !9
  %1714 = icmp eq i32 %1713, 1
  br i1 %1714, label %1715, label %1746

1715:                                             ; preds = %1709
  %1716 = load ptr, ptr %38, align 8, !tbaa !5
  %1717 = load ptr, ptr %39, align 8, !tbaa !5
  %1718 = load ptr, ptr %40, align 8, !tbaa !5
  %1719 = load i32, ptr %65, align 4, !tbaa !9
  %1720 = sext i32 %1719 to i64
  %1721 = getelementptr inbounds %struct.complex, ptr %1718, i64 %1720
  %1722 = load ptr, ptr %41, align 8, !tbaa !5
  %1723 = load ptr, ptr %59, align 8, !tbaa !5
  %1724 = getelementptr inbounds float, ptr %1723, i64 1
  %1725 = load ptr, ptr %51, align 8, !tbaa !5
  %1726 = load i32, ptr %71, align 4, !tbaa !9
  %1727 = sext i32 %1726 to i64
  %1728 = getelementptr inbounds %struct.complex, ptr %1725, i64 %1727
  %1729 = load ptr, ptr %52, align 8, !tbaa !5
  %1730 = load ptr, ptr %53, align 8, !tbaa !5
  %1731 = load i32, ptr %73, align 4, !tbaa !9
  %1732 = sext i32 %1731 to i64
  %1733 = getelementptr inbounds %struct.complex, ptr %1730, i64 %1732
  %1734 = load ptr, ptr %54, align 8, !tbaa !5
  %1735 = load ptr, ptr %57, align 8, !tbaa !5
  %1736 = getelementptr inbounds %struct.complex, ptr %1735, i64 1
  %1737 = load ptr, ptr %58, align 8, !tbaa !5
  %1738 = load ptr, ptr %59, align 8, !tbaa !5
  %1739 = load ptr, ptr %39, align 8, !tbaa !5
  %1740 = load i32, ptr %1739, align 4, !tbaa !9
  %1741 = add nsw i32 %1740, 1
  %1742 = sext i32 %1741 to i64
  %1743 = getelementptr inbounds float, ptr %1738, i64 %1742
  %1744 = call i32 @cgesvd_(ptr noundef @.str.8, ptr noundef @.str.1, ptr noundef %1716, ptr noundef %1717, ptr noundef %1721, ptr noundef %1722, ptr noundef %1724, ptr noundef %1728, ptr noundef %1729, ptr noundef %1733, ptr noundef %1734, ptr noundef %1736, ptr noundef %1737, ptr noundef %1743, ptr noundef %88)
  %1745 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  store i8 67, ptr %1745, align 1, !tbaa !16
  br label %1924

1746:                                             ; preds = %1709
  %1747 = load ptr, ptr %37, align 8, !tbaa !5
  %1748 = load i32, ptr %1747, align 4, !tbaa !9
  %1749 = icmp eq i32 %1748, 2
  br i1 %1749, label %1750, label %1783

1750:                                             ; preds = %1746
  %1751 = load ptr, ptr %38, align 8, !tbaa !5
  %1752 = load ptr, ptr %39, align 8, !tbaa !5
  %1753 = load ptr, ptr %40, align 8, !tbaa !5
  %1754 = load i32, ptr %65, align 4, !tbaa !9
  %1755 = sext i32 %1754 to i64
  %1756 = getelementptr inbounds %struct.complex, ptr %1753, i64 %1755
  %1757 = load ptr, ptr %41, align 8, !tbaa !5
  %1758 = load ptr, ptr %59, align 8, !tbaa !5
  %1759 = getelementptr inbounds float, ptr %1758, i64 1
  %1760 = load ptr, ptr %51, align 8, !tbaa !5
  %1761 = load i32, ptr %71, align 4, !tbaa !9
  %1762 = sext i32 %1761 to i64
  %1763 = getelementptr inbounds %struct.complex, ptr %1760, i64 %1762
  %1764 = load ptr, ptr %52, align 8, !tbaa !5
  %1765 = load ptr, ptr %53, align 8, !tbaa !5
  %1766 = load i32, ptr %73, align 4, !tbaa !9
  %1767 = sext i32 %1766 to i64
  %1768 = getelementptr inbounds %struct.complex, ptr %1765, i64 %1767
  %1769 = load ptr, ptr %54, align 8, !tbaa !5
  %1770 = load ptr, ptr %57, align 8, !tbaa !5
  %1771 = getelementptr inbounds %struct.complex, ptr %1770, i64 1
  %1772 = load ptr, ptr %58, align 8, !tbaa !5
  %1773 = load ptr, ptr %59, align 8, !tbaa !5
  %1774 = load ptr, ptr %39, align 8, !tbaa !5
  %1775 = load i32, ptr %1774, align 4, !tbaa !9
  %1776 = add nsw i32 %1775, 1
  %1777 = sext i32 %1776 to i64
  %1778 = getelementptr inbounds float, ptr %1773, i64 %1777
  %1779 = load ptr, ptr %61, align 8, !tbaa !5
  %1780 = getelementptr inbounds i32, ptr %1779, i64 1
  %1781 = call i32 @cgesdd_(ptr noundef @.str.8, ptr noundef %1751, ptr noundef %1752, ptr noundef %1756, ptr noundef %1757, ptr noundef %1759, ptr noundef %1763, ptr noundef %1764, ptr noundef %1768, ptr noundef %1769, ptr noundef %1771, ptr noundef %1772, ptr noundef %1778, ptr noundef %1780, ptr noundef %88)
  %1782 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  store i8 67, ptr %1782, align 1, !tbaa !16
  br label %1923

1783:                                             ; preds = %1746
  %1784 = load ptr, ptr %37, align 8, !tbaa !5
  %1785 = load i32, ptr %1784, align 4, !tbaa !9
  %1786 = icmp eq i32 %1785, 3
  br i1 %1786, label %1787, label %1838

1787:                                             ; preds = %1783
  %1788 = load ptr, ptr %60, align 8, !tbaa !5
  %1789 = load i32, ptr %1788, align 4, !tbaa !9
  %1790 = load ptr, ptr %39, align 8, !tbaa !5
  %1791 = load i32, ptr %1790, align 4, !tbaa !9
  %1792 = sub nsw i32 %1789, %1791
  store i32 %1792, ptr %76, align 4, !tbaa !9
  %1793 = load ptr, ptr %38, align 8, !tbaa !5
  %1794 = load ptr, ptr %39, align 8, !tbaa !5
  %1795 = load ptr, ptr %40, align 8, !tbaa !5
  %1796 = load i32, ptr %65, align 4, !tbaa !9
  %1797 = sext i32 %1796 to i64
  %1798 = getelementptr inbounds %struct.complex, ptr %1795, i64 %1797
  %1799 = load ptr, ptr %41, align 8, !tbaa !5
  %1800 = load ptr, ptr %59, align 8, !tbaa !5
  %1801 = getelementptr inbounds float, ptr %1800, i64 1
  %1802 = load ptr, ptr %48, align 8, !tbaa !5
  %1803 = load i32, ptr %69, align 4, !tbaa !9
  %1804 = sext i32 %1803 to i64
  %1805 = getelementptr inbounds %struct.complex, ptr %1802, i64 %1804
  %1806 = load ptr, ptr %49, align 8, !tbaa !5
  %1807 = load ptr, ptr %53, align 8, !tbaa !5
  %1808 = load i32, ptr %73, align 4, !tbaa !9
  %1809 = sext i32 %1808 to i64
  %1810 = getelementptr inbounds %struct.complex, ptr %1807, i64 %1809
  %1811 = load ptr, ptr %54, align 8, !tbaa !5
  %1812 = load ptr, ptr %61, align 8, !tbaa !5
  %1813 = getelementptr inbounds i32, ptr %1812, i64 1
  %1814 = load ptr, ptr %62, align 8, !tbaa !5
  %1815 = load ptr, ptr %57, align 8, !tbaa !5
  %1816 = getelementptr inbounds %struct.complex, ptr %1815, i64 1
  %1817 = load ptr, ptr %58, align 8, !tbaa !5
  %1818 = load ptr, ptr %59, align 8, !tbaa !5
  %1819 = load ptr, ptr %39, align 8, !tbaa !5
  %1820 = load i32, ptr %1819, align 4, !tbaa !9
  %1821 = add nsw i32 %1820, 1
  %1822 = sext i32 %1821 to i64
  %1823 = getelementptr inbounds float, ptr %1818, i64 %1822
  %1824 = call i32 @cgesvdq_(ptr noundef @.str.9, ptr noundef @.str.10, ptr noundef @.str.6, ptr noundef @.str, ptr noundef @.str, ptr noundef %1793, ptr noundef %1794, ptr noundef %1798, ptr noundef %1799, ptr noundef %1801, ptr noundef %1805, ptr noundef %1806, ptr noundef %1810, ptr noundef %1811, ptr noundef %112, ptr noundef %1813, ptr noundef %1814, ptr noundef %1816, ptr noundef %1817, ptr noundef %1823, ptr noundef %76, ptr noundef %88)
  %1825 = load ptr, ptr %38, align 8, !tbaa !5
  %1826 = load ptr, ptr %48, align 8, !tbaa !5
  %1827 = load i32, ptr %69, align 4, !tbaa !9
  %1828 = sext i32 %1827 to i64
  %1829 = getelementptr inbounds %struct.complex, ptr %1826, i64 %1828
  %1830 = load ptr, ptr %49, align 8, !tbaa !5
  %1831 = load ptr, ptr %40, align 8, !tbaa !5
  %1832 = load i32, ptr %65, align 4, !tbaa !9
  %1833 = sext i32 %1832 to i64
  %1834 = getelementptr inbounds %struct.complex, ptr %1831, i64 %1833
  %1835 = load ptr, ptr %41, align 8, !tbaa !5
  %1836 = call i32 @clacpy_(ptr noundef @.str.14, ptr noundef %1825, ptr noundef %112, ptr noundef %1829, ptr noundef %1830, ptr noundef %1834, ptr noundef %1835)
  %1837 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  store i8 67, ptr %1837, align 1, !tbaa !16
  br label %1922

1838:                                             ; preds = %1783
  %1839 = load ptr, ptr %37, align 8, !tbaa !5
  %1840 = load i32, ptr %1839, align 4, !tbaa !9
  %1841 = icmp eq i32 %1840, 4
  br i1 %1841, label %1842, label %1921

1842:                                             ; preds = %1838
  %1843 = load ptr, ptr %60, align 8, !tbaa !5
  %1844 = load i32, ptr %1843, align 4, !tbaa !9
  %1845 = load ptr, ptr %39, align 8, !tbaa !5
  %1846 = load i32, ptr %1845, align 4, !tbaa !9
  %1847 = sub nsw i32 %1844, %1846
  store i32 %1847, ptr %76, align 4, !tbaa !9
  %1848 = getelementptr inbounds [1 x i8], ptr %119, i64 0, i64 0
  %1849 = load ptr, ptr %38, align 8, !tbaa !5
  %1850 = load ptr, ptr %39, align 8, !tbaa !5
  %1851 = load ptr, ptr %40, align 8, !tbaa !5
  %1852 = load i32, ptr %65, align 4, !tbaa !9
  %1853 = sext i32 %1852 to i64
  %1854 = getelementptr inbounds %struct.complex, ptr %1851, i64 %1853
  %1855 = load ptr, ptr %41, align 8, !tbaa !5
  %1856 = load ptr, ptr %59, align 8, !tbaa !5
  %1857 = getelementptr inbounds float, ptr %1856, i64 1
  %1858 = load ptr, ptr %48, align 8, !tbaa !5
  %1859 = load i32, ptr %69, align 4, !tbaa !9
  %1860 = sext i32 %1859 to i64
  %1861 = getelementptr inbounds %struct.complex, ptr %1858, i64 %1860
  %1862 = load ptr, ptr %49, align 8, !tbaa !5
  %1863 = load ptr, ptr %53, align 8, !tbaa !5
  %1864 = load i32, ptr %73, align 4, !tbaa !9
  %1865 = sext i32 %1864 to i64
  %1866 = getelementptr inbounds %struct.complex, ptr %1863, i64 %1865
  %1867 = load ptr, ptr %54, align 8, !tbaa !5
  %1868 = load ptr, ptr %57, align 8, !tbaa !5
  %1869 = getelementptr inbounds %struct.complex, ptr %1868, i64 1
  %1870 = load ptr, ptr %58, align 8, !tbaa !5
  %1871 = load ptr, ptr %59, align 8, !tbaa !5
  %1872 = load ptr, ptr %39, align 8, !tbaa !5
  %1873 = load i32, ptr %1872, align 4, !tbaa !9
  %1874 = add nsw i32 %1873, 1
  %1875 = sext i32 %1874 to i64
  %1876 = getelementptr inbounds float, ptr %1871, i64 %1875
  %1877 = load ptr, ptr %61, align 8, !tbaa !5
  %1878 = getelementptr inbounds i32, ptr %1877, i64 1
  %1879 = call i32 @cgejsv_(ptr noundef @.str.7, ptr noundef @.str.11, ptr noundef %1848, ptr noundef @.str.6, ptr noundef @.str.6, ptr noundef @.str.10, ptr noundef %1849, ptr noundef %1850, ptr noundef %1854, ptr noundef %1855, ptr noundef %1857, ptr noundef %1861, ptr noundef %1862, ptr noundef %1866, ptr noundef %1867, ptr noundef %1869, ptr noundef %1870, ptr noundef %1876, ptr noundef %76, ptr noundef %1878, ptr noundef %88)
  %1880 = load ptr, ptr %38, align 8, !tbaa !5
  %1881 = load ptr, ptr %39, align 8, !tbaa !5
  %1882 = load ptr, ptr %48, align 8, !tbaa !5
  %1883 = load i32, ptr %69, align 4, !tbaa !9
  %1884 = sext i32 %1883 to i64
  %1885 = getelementptr inbounds %struct.complex, ptr %1882, i64 %1884
  %1886 = load ptr, ptr %49, align 8, !tbaa !5
  %1887 = load ptr, ptr %40, align 8, !tbaa !5
  %1888 = load i32, ptr %65, align 4, !tbaa !9
  %1889 = sext i32 %1888 to i64
  %1890 = getelementptr inbounds %struct.complex, ptr %1887, i64 %1889
  %1891 = load ptr, ptr %41, align 8, !tbaa !5
  %1892 = call i32 @clacpy_(ptr noundef @.str.14, ptr noundef %1880, ptr noundef %1881, ptr noundef %1885, ptr noundef %1886, ptr noundef %1890, ptr noundef %1891)
  %1893 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  store i8 78, ptr %1893, align 1, !tbaa !16
  %1894 = load ptr, ptr %59, align 8, !tbaa !5
  %1895 = load ptr, ptr %39, align 8, !tbaa !5
  %1896 = load i32, ptr %1895, align 4, !tbaa !9
  %1897 = add nsw i32 %1896, 1
  %1898 = sext i32 %1897 to i64
  %1899 = getelementptr inbounds float, ptr %1894, i64 %1898
  %1900 = load float, ptr %1899, align 4, !tbaa !11
  store float %1900, ptr %90, align 4, !tbaa !11
  %1901 = load ptr, ptr %59, align 8, !tbaa !5
  %1902 = load ptr, ptr %39, align 8, !tbaa !5
  %1903 = load i32, ptr %1902, align 4, !tbaa !9
  %1904 = add nsw i32 %1903, 2
  %1905 = sext i32 %1904 to i64
  %1906 = getelementptr inbounds float, ptr %1901, i64 %1905
  %1907 = load float, ptr %1906, align 4, !tbaa !11
  store float %1907, ptr %91, align 4, !tbaa !11
  %1908 = load float, ptr %90, align 4, !tbaa !11
  %1909 = load float, ptr %91, align 4, !tbaa !11
  %1910 = fcmp une float %1908, %1909
  br i1 %1910, label %1911, label %1920

1911:                                             ; preds = %1842
  %1912 = load ptr, ptr %38, align 8, !tbaa !5
  %1913 = load ptr, ptr %39, align 8, !tbaa !5
  %1914 = load ptr, ptr %42, align 8, !tbaa !5
  %1915 = load i32, ptr %67, align 4, !tbaa !9
  %1916 = sext i32 %1915 to i64
  %1917 = getelementptr inbounds %struct.complex, ptr %1914, i64 %1916
  %1918 = load ptr, ptr %43, align 8, !tbaa !5
  %1919 = call i32 @clascl_(ptr noundef @.str.13, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %90, ptr noundef %91, ptr noundef %1912, ptr noundef %1913, ptr noundef %1917, ptr noundef %1918, ptr noundef %89)
  br label %1920

1920:                                             ; preds = %1911, %1842
  br label %1921

1921:                                             ; preds = %1920, %1838
  br label %1922

1922:                                             ; preds = %1921, %1787
  br label %1923

1923:                                             ; preds = %1922, %1750
  br label %1924

1924:                                             ; preds = %1923, %1715
  %1925 = load i32, ptr %88, align 4, !tbaa !9
  %1926 = icmp sgt i32 %1925, 0
  br i1 %1926, label %1927, label %1929

1927:                                             ; preds = %1924
  %1928 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 2, ptr %1928, align 4, !tbaa !9
  store i32 0, ptr %32, align 4
  store i32 1, ptr %127, align 4
  br label %2637

1929:                                             ; preds = %1924
  %1930 = load ptr, ptr %59, align 8, !tbaa !5
  %1931 = getelementptr inbounds float, ptr %1930, i64 1
  %1932 = load float, ptr %1931, align 4, !tbaa !11
  %1933 = load float, ptr %86, align 4, !tbaa !11
  %1934 = fcmp oeq float %1932, %1933
  br i1 %1934, label %1935, label %1942

1935:                                             ; preds = %1929
  %1936 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 0, ptr %1936, align 4, !tbaa !9
  %1937 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 -8, ptr %1937, align 4, !tbaa !9
  %1938 = load ptr, ptr %63, align 8, !tbaa !5
  %1939 = load i32, ptr %1938, align 4, !tbaa !9
  %1940 = sub nsw i32 0, %1939
  store i32 %1940, ptr %76, align 4, !tbaa !9
  %1941 = call i32 @xerbla_(ptr noundef @.str.12, ptr noundef %76)
  store i32 0, ptr %32, align 4
  store i32 1, ptr %127, align 4
  br label %2637

1942:                                             ; preds = %1929
  %1943 = load ptr, ptr %44, align 8, !tbaa !5
  %1944 = load i32, ptr %1943, align 4, !tbaa !9
  %1945 = icmp eq i32 %1944, -1
  br i1 %1945, label %1946, label %1983

1946:                                             ; preds = %1942
  %1947 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 1, ptr %1947, align 4, !tbaa !9
  %1948 = load i32, ptr %112, align 4, !tbaa !9
  store i32 %1948, ptr %76, align 4, !tbaa !9
  store i32 2, ptr %92, align 4, !tbaa !9
  br label %1949

1949:                                             ; preds = %1979, %1946
  %1950 = load i32, ptr %92, align 4, !tbaa !9
  %1951 = load i32, ptr %76, align 4, !tbaa !9
  %1952 = icmp sle i32 %1950, %1951
  br i1 %1952, label %1953, label %1982

1953:                                             ; preds = %1949
  %1954 = load ptr, ptr %59, align 8, !tbaa !5
  %1955 = load i32, ptr %92, align 4, !tbaa !9
  %1956 = sext i32 %1955 to i64
  %1957 = getelementptr inbounds float, ptr %1954, i64 %1956
  %1958 = load float, ptr %1957, align 4, !tbaa !11
  %1959 = load ptr, ptr %59, align 8, !tbaa !5
  %1960 = getelementptr inbounds float, ptr %1959, i64 1
  %1961 = load float, ptr %1960, align 4, !tbaa !11
  %1962 = load ptr, ptr %45, align 8, !tbaa !5
  %1963 = load float, ptr %1962, align 4, !tbaa !11
  %1964 = fmul float %1961, %1963
  %1965 = fcmp ole float %1958, %1964
  br i1 %1965, label %1974, label %1966

1966:                                             ; preds = %1953
  %1967 = load ptr, ptr %59, align 8, !tbaa !5
  %1968 = load i32, ptr %92, align 4, !tbaa !9
  %1969 = sext i32 %1968 to i64
  %1970 = getelementptr inbounds float, ptr %1967, i64 %1969
  %1971 = load float, ptr %1970, align 4, !tbaa !11
  %1972 = load float, ptr %96, align 4, !tbaa !11
  %1973 = fcmp ole float %1971, %1972
  br i1 %1973, label %1974, label %1975

1974:                                             ; preds = %1966, %1953
  br label %1982

1975:                                             ; preds = %1966
  %1976 = load ptr, ptr %46, align 8, !tbaa !5
  %1977 = load i32, ptr %1976, align 4, !tbaa !9
  %1978 = add nsw i32 %1977, 1
  store i32 %1978, ptr %1976, align 4, !tbaa !9
  br label %1979

1979:                                             ; preds = %1975
  %1980 = load i32, ptr %92, align 4, !tbaa !9
  %1981 = add nsw i32 %1980, 1
  store i32 %1981, ptr %92, align 4, !tbaa !9
  br label %1949, !llvm.loop !22

1982:                                             ; preds = %1974, %1949
  br label %2054

1983:                                             ; preds = %1942
  %1984 = load ptr, ptr %44, align 8, !tbaa !5
  %1985 = load i32, ptr %1984, align 4, !tbaa !9
  %1986 = icmp eq i32 %1985, -2
  br i1 %1986, label %1987, label %2028

1987:                                             ; preds = %1983
  %1988 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 1, ptr %1988, align 4, !tbaa !9
  %1989 = load i32, ptr %112, align 4, !tbaa !9
  %1990 = sub nsw i32 %1989, 1
  store i32 %1990, ptr %76, align 4, !tbaa !9
  store i32 1, ptr %92, align 4, !tbaa !9
  br label %1991

1991:                                             ; preds = %2024, %1987
  %1992 = load i32, ptr %92, align 4, !tbaa !9
  %1993 = load i32, ptr %76, align 4, !tbaa !9
  %1994 = icmp sle i32 %1992, %1993
  br i1 %1994, label %1995, label %2027

1995:                                             ; preds = %1991
  %1996 = load ptr, ptr %59, align 8, !tbaa !5
  %1997 = load i32, ptr %92, align 4, !tbaa !9
  %1998 = add nsw i32 %1997, 1
  %1999 = sext i32 %1998 to i64
  %2000 = getelementptr inbounds float, ptr %1996, i64 %1999
  %2001 = load float, ptr %2000, align 4, !tbaa !11
  %2002 = load ptr, ptr %59, align 8, !tbaa !5
  %2003 = load i32, ptr %92, align 4, !tbaa !9
  %2004 = sext i32 %2003 to i64
  %2005 = getelementptr inbounds float, ptr %2002, i64 %2004
  %2006 = load float, ptr %2005, align 4, !tbaa !11
  %2007 = load ptr, ptr %45, align 8, !tbaa !5
  %2008 = load float, ptr %2007, align 4, !tbaa !11
  %2009 = fmul float %2006, %2008
  %2010 = fcmp ole float %2001, %2009
  br i1 %2010, label %2019, label %2011

2011:                                             ; preds = %1995
  %2012 = load ptr, ptr %59, align 8, !tbaa !5
  %2013 = load i32, ptr %92, align 4, !tbaa !9
  %2014 = sext i32 %2013 to i64
  %2015 = getelementptr inbounds float, ptr %2012, i64 %2014
  %2016 = load float, ptr %2015, align 4, !tbaa !11
  %2017 = load float, ptr %96, align 4, !tbaa !11
  %2018 = fcmp ole float %2016, %2017
  br i1 %2018, label %2019, label %2020

2019:                                             ; preds = %2011, %1995
  br label %2027

2020:                                             ; preds = %2011
  %2021 = load ptr, ptr %46, align 8, !tbaa !5
  %2022 = load i32, ptr %2021, align 4, !tbaa !9
  %2023 = add nsw i32 %2022, 1
  store i32 %2023, ptr %2021, align 4, !tbaa !9
  br label %2024

2024:                                             ; preds = %2020
  %2025 = load i32, ptr %92, align 4, !tbaa !9
  %2026 = add nsw i32 %2025, 1
  store i32 %2026, ptr %92, align 4, !tbaa !9
  br label %1991, !llvm.loop !23

2027:                                             ; preds = %2019, %1991
  br label %2053

2028:                                             ; preds = %1983
  %2029 = load ptr, ptr %46, align 8, !tbaa !5
  store i32 1, ptr %2029, align 4, !tbaa !9
  %2030 = load ptr, ptr %44, align 8, !tbaa !5
  %2031 = load i32, ptr %2030, align 4, !tbaa !9
  store i32 %2031, ptr %76, align 4, !tbaa !9
  store i32 2, ptr %92, align 4, !tbaa !9
  br label %2032

2032:                                             ; preds = %2049, %2028
  %2033 = load i32, ptr %92, align 4, !tbaa !9
  %2034 = load i32, ptr %76, align 4, !tbaa !9
  %2035 = icmp sle i32 %2033, %2034
  br i1 %2035, label %2036, label %2052

2036:                                             ; preds = %2032
  %2037 = load ptr, ptr %59, align 8, !tbaa !5
  %2038 = load i32, ptr %92, align 4, !tbaa !9
  %2039 = sext i32 %2038 to i64
  %2040 = getelementptr inbounds float, ptr %2037, i64 %2039
  %2041 = load float, ptr %2040, align 4, !tbaa !11
  %2042 = load float, ptr %96, align 4, !tbaa !11
  %2043 = fcmp ole float %2041, %2042
  br i1 %2043, label %2044, label %2045

2044:                                             ; preds = %2036
  br label %2052

2045:                                             ; preds = %2036
  %2046 = load ptr, ptr %46, align 8, !tbaa !5
  %2047 = load i32, ptr %2046, align 4, !tbaa !9
  %2048 = add nsw i32 %2047, 1
  store i32 %2048, ptr %2046, align 4, !tbaa !9
  br label %2049

2049:                                             ; preds = %2045
  %2050 = load i32, ptr %92, align 4, !tbaa !9
  %2051 = add nsw i32 %2050, 1
  store i32 %2051, ptr %92, align 4, !tbaa !9
  br label %2032, !llvm.loop !24

2052:                                             ; preds = %2044, %2032
  br label %2053

2053:                                             ; preds = %2052, %2027
  br label %2054

2054:                                             ; preds = %2053, %1982
  %2055 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  %2056 = call i32 @lsame_(ptr noundef %2055, ptr noundef @.str.6)
  %2057 = icmp ne i32 %2056, 0
  br i1 %2057, label %2058, label %2086

2058:                                             ; preds = %2054
  %2059 = load ptr, ptr %46, align 8, !tbaa !5
  %2060 = load i32, ptr %2059, align 4, !tbaa !9
  store i32 %2060, ptr %76, align 4, !tbaa !9
  store i32 1, ptr %92, align 4, !tbaa !9
  br label %2061

2061:                                             ; preds = %2082, %2058
  %2062 = load i32, ptr %92, align 4, !tbaa !9
  %2063 = load i32, ptr %76, align 4, !tbaa !9
  %2064 = icmp sle i32 %2062, %2063
  br i1 %2064, label %2065, label %2085

2065:                                             ; preds = %2061
  %2066 = load float, ptr %126, align 4, !tbaa !11
  %2067 = load ptr, ptr %59, align 8, !tbaa !5
  %2068 = load i32, ptr %92, align 4, !tbaa !9
  %2069 = sext i32 %2068 to i64
  %2070 = getelementptr inbounds float, ptr %2067, i64 %2069
  %2071 = load float, ptr %2070, align 4, !tbaa !11
  %2072 = fdiv float %2066, %2071
  store float %2072, ptr %81, align 4, !tbaa !11
  %2073 = load ptr, ptr %39, align 8, !tbaa !5
  %2074 = load ptr, ptr %53, align 8, !tbaa !5
  %2075 = load i32, ptr %92, align 4, !tbaa !9
  %2076 = load i32, ptr %72, align 4, !tbaa !9
  %2077 = mul nsw i32 %2075, %2076
  %2078 = add nsw i32 %2077, 1
  %2079 = sext i32 %2078 to i64
  %2080 = getelementptr inbounds %struct.complex, ptr %2074, i64 %2079
  %2081 = call i32 @csscal_(ptr noundef %2073, ptr noundef %81, ptr noundef %2080, ptr noundef @c__1)
  br label %2082

2082:                                             ; preds = %2065
  %2083 = load i32, ptr %92, align 4, !tbaa !9
  %2084 = add nsw i32 %2083, 1
  store i32 %2084, ptr %92, align 4, !tbaa !9
  br label %2061, !llvm.loop !25

2085:                                             ; preds = %2061
  br label %2209

2086:                                             ; preds = %2054
  %2087 = load ptr, ptr %46, align 8, !tbaa !5
  %2088 = load i32, ptr %2087, align 4, !tbaa !9
  store i32 %2088, ptr %76, align 4, !tbaa !9
  store i32 1, ptr %92, align 4, !tbaa !9
  br label %2089

2089:                                             ; preds = %2108, %2086
  %2090 = load i32, ptr %92, align 4, !tbaa !9
  %2091 = load i32, ptr %76, align 4, !tbaa !9
  %2092 = icmp sle i32 %2090, %2091
  br i1 %2092, label %2093, label %2111

2093:                                             ; preds = %2089
  %2094 = load float, ptr %126, align 4, !tbaa !11
  %2095 = load ptr, ptr %59, align 8, !tbaa !5
  %2096 = load i32, ptr %92, align 4, !tbaa !9
  %2097 = sext i32 %2096 to i64
  %2098 = getelementptr inbounds float, ptr %2095, i64 %2097
  %2099 = load float, ptr %2098, align 4, !tbaa !11
  %2100 = fdiv float %2094, %2099
  %2101 = load ptr, ptr %59, align 8, !tbaa !5
  %2102 = load ptr, ptr %39, align 8, !tbaa !5
  %2103 = load i32, ptr %2102, align 4, !tbaa !9
  %2104 = load i32, ptr %92, align 4, !tbaa !9
  %2105 = add nsw i32 %2103, %2104
  %2106 = sext i32 %2105 to i64
  %2107 = getelementptr inbounds float, ptr %2101, i64 %2106
  store float %2100, ptr %2107, align 4, !tbaa !11
  br label %2108

2108:                                             ; preds = %2093
  %2109 = load i32, ptr %92, align 4, !tbaa !9
  %2110 = add nsw i32 %2109, 1
  store i32 %2110, ptr %92, align 4, !tbaa !9
  br label %2089, !llvm.loop !26

2111:                                             ; preds = %2089
  %2112 = load ptr, ptr %39, align 8, !tbaa !5
  %2113 = load i32, ptr %2112, align 4, !tbaa !9
  store i32 %2113, ptr %76, align 4, !tbaa !9
  store i32 1, ptr %93, align 4, !tbaa !9
  br label %2114

2114:                                             ; preds = %2205, %2111
  %2115 = load i32, ptr %93, align 4, !tbaa !9
  %2116 = load i32, ptr %76, align 4, !tbaa !9
  %2117 = icmp sle i32 %2115, %2116
  br i1 %2117, label %2118, label %2208

2118:                                             ; preds = %2114
  %2119 = load ptr, ptr %46, align 8, !tbaa !5
  %2120 = load i32, ptr %2119, align 4, !tbaa !9
  store i32 %2120, ptr %77, align 4, !tbaa !9
  store i32 1, ptr %92, align 4, !tbaa !9
  br label %2121

2121:                                             ; preds = %2201, %2118
  %2122 = load i32, ptr %92, align 4, !tbaa !9
  %2123 = load i32, ptr %77, align 4, !tbaa !9
  %2124 = icmp sle i32 %2122, %2123
  br i1 %2124, label %2125, label %2204

2125:                                             ; preds = %2121
  %2126 = load i32, ptr %92, align 4, !tbaa !9
  %2127 = load i32, ptr %93, align 4, !tbaa !9
  %2128 = load i32, ptr %72, align 4, !tbaa !9
  %2129 = mul nsw i32 %2127, %2128
  %2130 = add nsw i32 %2126, %2129
  store i32 %2130, ptr %78, align 4, !tbaa !9
  %2131 = load ptr, ptr %39, align 8, !tbaa !5
  %2132 = load i32, ptr %2131, align 4, !tbaa !9
  %2133 = load i32, ptr %92, align 4, !tbaa !9
  %2134 = add nsw i32 %2132, %2133
  store i32 %2134, ptr %79, align 4, !tbaa !9
  %2135 = load ptr, ptr %59, align 8, !tbaa !5
  %2136 = load i32, ptr %79, align 4, !tbaa !9
  %2137 = sext i32 %2136 to i64
  %2138 = getelementptr inbounds float, ptr %2135, i64 %2137
  %2139 = load float, ptr %2138, align 4, !tbaa !11
  %2140 = getelementptr inbounds %struct.complex, ptr %84, i32 0, i32 0
  store float %2139, ptr %2140, align 4, !tbaa !13
  %2141 = load float, ptr %86, align 4, !tbaa !11
  %2142 = getelementptr inbounds %struct.complex, ptr %84, i32 0, i32 1
  store float %2141, ptr %2142, align 4, !tbaa !15
  %2143 = load i32, ptr %92, align 4, !tbaa !9
  %2144 = load i32, ptr %93, align 4, !tbaa !9
  %2145 = load i32, ptr %72, align 4, !tbaa !9
  %2146 = mul nsw i32 %2144, %2145
  %2147 = add nsw i32 %2143, %2146
  store i32 %2147, ptr %80, align 4, !tbaa !9
  %2148 = getelementptr inbounds %struct.complex, ptr %84, i32 0, i32 0
  %2149 = load float, ptr %2148, align 4, !tbaa !13
  %2150 = load ptr, ptr %53, align 8, !tbaa !5
  %2151 = load i32, ptr %80, align 4, !tbaa !9
  %2152 = sext i32 %2151 to i64
  %2153 = getelementptr inbounds %struct.complex, ptr %2150, i64 %2152
  %2154 = getelementptr inbounds %struct.complex, ptr %2153, i32 0, i32 0
  %2155 = load float, ptr %2154, align 4, !tbaa !13
  %2156 = getelementptr inbounds %struct.complex, ptr %84, i32 0, i32 1
  %2157 = load float, ptr %2156, align 4, !tbaa !15
  %2158 = load ptr, ptr %53, align 8, !tbaa !5
  %2159 = load i32, ptr %80, align 4, !tbaa !9
  %2160 = sext i32 %2159 to i64
  %2161 = getelementptr inbounds %struct.complex, ptr %2158, i64 %2160
  %2162 = getelementptr inbounds %struct.complex, ptr %2161, i32 0, i32 1
  %2163 = load float, ptr %2162, align 4, !tbaa !15
  %2164 = fmul float %2157, %2163
  %2165 = fneg float %2164
  %2166 = call float @llvm.fmuladd.f32(float %2149, float %2155, float %2165)
  %2167 = getelementptr inbounds %struct.complex, ptr %83, i32 0, i32 0
  store float %2166, ptr %2167, align 4, !tbaa !13
  %2168 = getelementptr inbounds %struct.complex, ptr %84, i32 0, i32 0
  %2169 = load float, ptr %2168, align 4, !tbaa !13
  %2170 = load ptr, ptr %53, align 8, !tbaa !5
  %2171 = load i32, ptr %80, align 4, !tbaa !9
  %2172 = sext i32 %2171 to i64
  %2173 = getelementptr inbounds %struct.complex, ptr %2170, i64 %2172
  %2174 = getelementptr inbounds %struct.complex, ptr %2173, i32 0, i32 1
  %2175 = load float, ptr %2174, align 4, !tbaa !15
  %2176 = getelementptr inbounds %struct.complex, ptr %84, i32 0, i32 1
  %2177 = load float, ptr %2176, align 4, !tbaa !15
  %2178 = load ptr, ptr %53, align 8, !tbaa !5
  %2179 = load i32, ptr %80, align 4, !tbaa !9
  %2180 = sext i32 %2179 to i64
  %2181 = getelementptr inbounds %struct.complex, ptr %2178, i64 %2180
  %2182 = getelementptr inbounds %struct.complex, ptr %2181, i32 0, i32 0
  %2183 = load float, ptr %2182, align 4, !tbaa !13
  %2184 = fmul float %2177, %2183
  %2185 = call float @llvm.fmuladd.f32(float %2169, float %2175, float %2184)
  %2186 = getelementptr inbounds %struct.complex, ptr %83, i32 0, i32 1
  store float %2185, ptr %2186, align 4, !tbaa !15
  %2187 = getelementptr inbounds %struct.complex, ptr %83, i32 0, i32 0
  %2188 = load float, ptr %2187, align 4, !tbaa !13
  %2189 = load ptr, ptr %53, align 8, !tbaa !5
  %2190 = load i32, ptr %78, align 4, !tbaa !9
  %2191 = sext i32 %2190 to i64
  %2192 = getelementptr inbounds %struct.complex, ptr %2189, i64 %2191
  %2193 = getelementptr inbounds %struct.complex, ptr %2192, i32 0, i32 0
  store float %2188, ptr %2193, align 4, !tbaa !13
  %2194 = getelementptr inbounds %struct.complex, ptr %83, i32 0, i32 1
  %2195 = load float, ptr %2194, align 4, !tbaa !15
  %2196 = load ptr, ptr %53, align 8, !tbaa !5
  %2197 = load i32, ptr %78, align 4, !tbaa !9
  %2198 = sext i32 %2197 to i64
  %2199 = getelementptr inbounds %struct.complex, ptr %2196, i64 %2198
  %2200 = getelementptr inbounds %struct.complex, ptr %2199, i32 0, i32 1
  store float %2195, ptr %2200, align 4, !tbaa !15
  br label %2201

2201:                                             ; preds = %2125
  %2202 = load i32, ptr %92, align 4, !tbaa !9
  %2203 = add nsw i32 %2202, 1
  store i32 %2203, ptr %92, align 4, !tbaa !9
  br label %2121, !llvm.loop !27

2204:                                             ; preds = %2121
  br label %2205

2205:                                             ; preds = %2204
  %2206 = load i32, ptr %93, align 4, !tbaa !9
  %2207 = add nsw i32 %2206, 1
  store i32 %2207, ptr %93, align 4, !tbaa !9
  br label %2114, !llvm.loop !28

2208:                                             ; preds = %2114
  br label %2209

2209:                                             ; preds = %2208, %2085
  %2210 = load i32, ptr %106, align 4, !tbaa !9
  %2211 = icmp ne i32 %2210, 0
  br i1 %2211, label %2212, label %2265

2212:                                             ; preds = %2209
  %2213 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  %2214 = load ptr, ptr %38, align 8, !tbaa !5
  %2215 = load ptr, ptr %46, align 8, !tbaa !5
  %2216 = load ptr, ptr %39, align 8, !tbaa !5
  %2217 = load ptr, ptr %42, align 8, !tbaa !5
  %2218 = load i32, ptr %67, align 4, !tbaa !9
  %2219 = sext i32 %2218 to i64
  %2220 = getelementptr inbounds %struct.complex, ptr %2217, i64 %2219
  %2221 = load ptr, ptr %43, align 8, !tbaa !5
  %2222 = load ptr, ptr %53, align 8, !tbaa !5
  %2223 = load i32, ptr %73, align 4, !tbaa !9
  %2224 = sext i32 %2223 to i64
  %2225 = getelementptr inbounds %struct.complex, ptr %2222, i64 %2224
  %2226 = load ptr, ptr %54, align 8, !tbaa !5
  %2227 = load ptr, ptr %48, align 8, !tbaa !5
  %2228 = load i32, ptr %69, align 4, !tbaa !9
  %2229 = sext i32 %2228 to i64
  %2230 = getelementptr inbounds %struct.complex, ptr %2227, i64 %2229
  %2231 = load ptr, ptr %49, align 8, !tbaa !5
  %2232 = call i32 @cgemm_(ptr noundef @.str.6, ptr noundef %2213, ptr noundef %2214, ptr noundef %2215, ptr noundef %2216, ptr noundef %85, ptr noundef %2220, ptr noundef %2221, ptr noundef %2225, ptr noundef %2226, ptr noundef %99, ptr noundef %2230, ptr noundef %2231)
  %2233 = load ptr, ptr %38, align 8, !tbaa !5
  %2234 = load ptr, ptr %46, align 8, !tbaa !5
  %2235 = load ptr, ptr %48, align 8, !tbaa !5
  %2236 = load i32, ptr %69, align 4, !tbaa !9
  %2237 = sext i32 %2236 to i64
  %2238 = getelementptr inbounds %struct.complex, ptr %2235, i64 %2237
  %2239 = load ptr, ptr %49, align 8, !tbaa !5
  %2240 = load ptr, ptr %51, align 8, !tbaa !5
  %2241 = load i32, ptr %71, align 4, !tbaa !9
  %2242 = sext i32 %2241 to i64
  %2243 = getelementptr inbounds %struct.complex, ptr %2240, i64 %2242
  %2244 = load ptr, ptr %52, align 8, !tbaa !5
  %2245 = call i32 @clacpy_(ptr noundef @.str.14, ptr noundef %2233, ptr noundef %2234, ptr noundef %2238, ptr noundef %2239, ptr noundef %2243, ptr noundef %2244)
  %2246 = load ptr, ptr %46, align 8, !tbaa !5
  %2247 = load ptr, ptr %46, align 8, !tbaa !5
  %2248 = load ptr, ptr %38, align 8, !tbaa !5
  %2249 = load ptr, ptr %40, align 8, !tbaa !5
  %2250 = load i32, ptr %65, align 4, !tbaa !9
  %2251 = sext i32 %2250 to i64
  %2252 = getelementptr inbounds %struct.complex, ptr %2249, i64 %2251
  %2253 = load ptr, ptr %41, align 8, !tbaa !5
  %2254 = load ptr, ptr %48, align 8, !tbaa !5
  %2255 = load i32, ptr %69, align 4, !tbaa !9
  %2256 = sext i32 %2255 to i64
  %2257 = getelementptr inbounds %struct.complex, ptr %2254, i64 %2256
  %2258 = load ptr, ptr %49, align 8, !tbaa !5
  %2259 = load ptr, ptr %55, align 8, !tbaa !5
  %2260 = load i32, ptr %75, align 4, !tbaa !9
  %2261 = sext i32 %2260 to i64
  %2262 = getelementptr inbounds %struct.complex, ptr %2259, i64 %2261
  %2263 = load ptr, ptr %56, align 8, !tbaa !5
  %2264 = call i32 @cgemm_(ptr noundef @.str.2, ptr noundef @.str.6, ptr noundef %2246, ptr noundef %2247, ptr noundef %2248, ptr noundef %85, ptr noundef %2252, ptr noundef %2253, ptr noundef %2257, ptr noundef %2258, ptr noundef %99, ptr noundef %2262, ptr noundef %2263)
  br label %2344

2265:                                             ; preds = %2209
  %2266 = load ptr, ptr %46, align 8, !tbaa !5
  %2267 = load ptr, ptr %39, align 8, !tbaa !5
  %2268 = load ptr, ptr %38, align 8, !tbaa !5
  %2269 = load ptr, ptr %40, align 8, !tbaa !5
  %2270 = load i32, ptr %65, align 4, !tbaa !9
  %2271 = sext i32 %2270 to i64
  %2272 = getelementptr inbounds %struct.complex, ptr %2269, i64 %2271
  %2273 = load ptr, ptr %41, align 8, !tbaa !5
  %2274 = load ptr, ptr %42, align 8, !tbaa !5
  %2275 = load i32, ptr %67, align 4, !tbaa !9
  %2276 = sext i32 %2275 to i64
  %2277 = getelementptr inbounds %struct.complex, ptr %2274, i64 %2276
  %2278 = load ptr, ptr %43, align 8, !tbaa !5
  %2279 = load ptr, ptr %48, align 8, !tbaa !5
  %2280 = load i32, ptr %69, align 4, !tbaa !9
  %2281 = sext i32 %2280 to i64
  %2282 = getelementptr inbounds %struct.complex, ptr %2279, i64 %2281
  %2283 = load ptr, ptr %49, align 8, !tbaa !5
  %2284 = call i32 @cgemm_(ptr noundef @.str.2, ptr noundef @.str.6, ptr noundef %2266, ptr noundef %2267, ptr noundef %2268, ptr noundef %85, ptr noundef %2272, ptr noundef %2273, ptr noundef %2277, ptr noundef %2278, ptr noundef %99, ptr noundef %2282, ptr noundef %2283)
  %2285 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  %2286 = load ptr, ptr %46, align 8, !tbaa !5
  %2287 = load ptr, ptr %46, align 8, !tbaa !5
  %2288 = load ptr, ptr %39, align 8, !tbaa !5
  %2289 = load ptr, ptr %48, align 8, !tbaa !5
  %2290 = load i32, ptr %69, align 4, !tbaa !9
  %2291 = sext i32 %2290 to i64
  %2292 = getelementptr inbounds %struct.complex, ptr %2289, i64 %2291
  %2293 = load ptr, ptr %49, align 8, !tbaa !5
  %2294 = load ptr, ptr %53, align 8, !tbaa !5
  %2295 = load i32, ptr %73, align 4, !tbaa !9
  %2296 = sext i32 %2295 to i64
  %2297 = getelementptr inbounds %struct.complex, ptr %2294, i64 %2296
  %2298 = load ptr, ptr %54, align 8, !tbaa !5
  %2299 = load ptr, ptr %55, align 8, !tbaa !5
  %2300 = load i32, ptr %75, align 4, !tbaa !9
  %2301 = sext i32 %2300 to i64
  %2302 = getelementptr inbounds %struct.complex, ptr %2299, i64 %2301
  %2303 = load ptr, ptr %56, align 8, !tbaa !5
  %2304 = call i32 @cgemm_(ptr noundef @.str.6, ptr noundef %2285, ptr noundef %2286, ptr noundef %2287, ptr noundef %2288, ptr noundef %85, ptr noundef %2292, ptr noundef %2293, ptr noundef %2297, ptr noundef %2298, ptr noundef %99, ptr noundef %2302, ptr noundef %2303)
  %2305 = load i32, ptr %118, align 4, !tbaa !9
  %2306 = icmp ne i32 %2305, 0
  br i1 %2306, label %2310, label %2307

2307:                                             ; preds = %2265
  %2308 = load i32, ptr %98, align 4, !tbaa !9
  %2309 = icmp ne i32 %2308, 0
  br i1 %2309, label %2310, label %2343

2310:                                             ; preds = %2307, %2265
  %2311 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  %2312 = call i32 @lsame_(ptr noundef %2311, ptr noundef @.str.6)
  %2313 = icmp ne i32 %2312, 0
  br i1 %2313, label %2314, label %2328

2314:                                             ; preds = %2310
  %2315 = load ptr, ptr %39, align 8, !tbaa !5
  %2316 = load ptr, ptr %46, align 8, !tbaa !5
  %2317 = load ptr, ptr %53, align 8, !tbaa !5
  %2318 = load i32, ptr %73, align 4, !tbaa !9
  %2319 = sext i32 %2318 to i64
  %2320 = getelementptr inbounds %struct.complex, ptr %2317, i64 %2319
  %2321 = load ptr, ptr %54, align 8, !tbaa !5
  %2322 = load ptr, ptr %48, align 8, !tbaa !5
  %2323 = load i32, ptr %69, align 4, !tbaa !9
  %2324 = sext i32 %2323 to i64
  %2325 = getelementptr inbounds %struct.complex, ptr %2322, i64 %2324
  %2326 = load ptr, ptr %49, align 8, !tbaa !5
  %2327 = call i32 @clacpy_(ptr noundef @.str.14, ptr noundef %2315, ptr noundef %2316, ptr noundef %2320, ptr noundef %2321, ptr noundef %2325, ptr noundef %2326)
  br label %2342

2328:                                             ; preds = %2310
  %2329 = load ptr, ptr %46, align 8, !tbaa !5
  %2330 = load ptr, ptr %39, align 8, !tbaa !5
  %2331 = load ptr, ptr %53, align 8, !tbaa !5
  %2332 = load i32, ptr %73, align 4, !tbaa !9
  %2333 = sext i32 %2332 to i64
  %2334 = getelementptr inbounds %struct.complex, ptr %2331, i64 %2333
  %2335 = load ptr, ptr %54, align 8, !tbaa !5
  %2336 = load ptr, ptr %48, align 8, !tbaa !5
  %2337 = load i32, ptr %69, align 4, !tbaa !9
  %2338 = sext i32 %2337 to i64
  %2339 = getelementptr inbounds %struct.complex, ptr %2336, i64 %2338
  %2340 = load ptr, ptr %49, align 8, !tbaa !5
  %2341 = call i32 @clacpy_(ptr noundef @.str.14, ptr noundef %2329, ptr noundef %2330, ptr noundef %2334, ptr noundef %2335, ptr noundef %2339, ptr noundef %2340)
  br label %2342

2342:                                             ; preds = %2328, %2314
  br label %2343

2343:                                             ; preds = %2342, %2307
  br label %2344

2344:                                             ; preds = %2343, %2212
  %2345 = getelementptr inbounds [1 x i8], ptr %97, i64 0, i64 0
  %2346 = load ptr, ptr %46, align 8, !tbaa !5
  %2347 = load ptr, ptr %55, align 8, !tbaa !5
  %2348 = load i32, ptr %75, align 4, !tbaa !9
  %2349 = sext i32 %2348 to i64
  %2350 = getelementptr inbounds %struct.complex, ptr %2347, i64 %2349
  %2351 = load ptr, ptr %56, align 8, !tbaa !5
  %2352 = load ptr, ptr %47, align 8, !tbaa !5
  %2353 = getelementptr inbounds %struct.complex, ptr %2352, i64 1
  %2354 = load ptr, ptr %53, align 8, !tbaa !5
  %2355 = load i32, ptr %73, align 4, !tbaa !9
  %2356 = sext i32 %2355 to i64
  %2357 = getelementptr inbounds %struct.complex, ptr %2354, i64 %2356
  %2358 = load ptr, ptr %54, align 8, !tbaa !5
  %2359 = load ptr, ptr %53, align 8, !tbaa !5
  %2360 = load i32, ptr %73, align 4, !tbaa !9
  %2361 = sext i32 %2360 to i64
  %2362 = getelementptr inbounds %struct.complex, ptr %2359, i64 %2361
  %2363 = load ptr, ptr %54, align 8, !tbaa !5
  %2364 = load ptr, ptr %57, align 8, !tbaa !5
  %2365 = getelementptr inbounds %struct.complex, ptr %2364, i64 1
  %2366 = load ptr, ptr %58, align 8, !tbaa !5
  %2367 = load ptr, ptr %59, align 8, !tbaa !5
  %2368 = load ptr, ptr %39, align 8, !tbaa !5
  %2369 = load i32, ptr %2368, align 4, !tbaa !9
  %2370 = add nsw i32 %2369, 1
  %2371 = sext i32 %2370 to i64
  %2372 = getelementptr inbounds float, ptr %2367, i64 %2371
  %2373 = call i32 @cgeev_(ptr noundef @.str.6, ptr noundef %2345, ptr noundef %2346, ptr noundef %2350, ptr noundef %2351, ptr noundef %2353, ptr noundef %2357, ptr noundef %2358, ptr noundef %2362, ptr noundef %2363, ptr noundef %2365, ptr noundef %2366, ptr noundef %2372, ptr noundef %88)
  %2374 = load i32, ptr %88, align 4, !tbaa !9
  %2375 = icmp sgt i32 %2374, 0
  br i1 %2375, label %2376, label %2378

2376:                                             ; preds = %2344
  %2377 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 3, ptr %2377, align 4, !tbaa !9
  store i32 0, ptr %32, align 4
  store i32 1, ptr %127, align 4
  br label %2637

2378:                                             ; preds = %2344
  %2379 = load i32, ptr %107, align 4, !tbaa !9
  %2380 = icmp ne i32 %2379, 0
  br i1 %2380, label %2384, label %2381

2381:                                             ; preds = %2378
  %2382 = load i32, ptr %98, align 4, !tbaa !9
  %2383 = icmp ne i32 %2382, 0
  br i1 %2383, label %2384, label %2610

2384:                                             ; preds = %2381, %2378
  %2385 = load i32, ptr %118, align 4, !tbaa !9
  %2386 = icmp ne i32 %2385, 0
  br i1 %2386, label %2387, label %2481

2387:                                             ; preds = %2384
  %2388 = load i32, ptr %106, align 4, !tbaa !9
  %2389 = icmp ne i32 %2388, 0
  br i1 %2389, label %2390, label %2410

2390:                                             ; preds = %2387
  %2391 = load ptr, ptr %38, align 8, !tbaa !5
  %2392 = load ptr, ptr %46, align 8, !tbaa !5
  %2393 = load ptr, ptr %46, align 8, !tbaa !5
  %2394 = load ptr, ptr %48, align 8, !tbaa !5
  %2395 = load i32, ptr %69, align 4, !tbaa !9
  %2396 = sext i32 %2395 to i64
  %2397 = getelementptr inbounds %struct.complex, ptr %2394, i64 %2396
  %2398 = load ptr, ptr %49, align 8, !tbaa !5
  %2399 = load ptr, ptr %53, align 8, !tbaa !5
  %2400 = load i32, ptr %73, align 4, !tbaa !9
  %2401 = sext i32 %2400 to i64
  %2402 = getelementptr inbounds %struct.complex, ptr %2399, i64 %2401
  %2403 = load ptr, ptr %54, align 8, !tbaa !5
  %2404 = load ptr, ptr %42, align 8, !tbaa !5
  %2405 = load i32, ptr %67, align 4, !tbaa !9
  %2406 = sext i32 %2405 to i64
  %2407 = getelementptr inbounds %struct.complex, ptr %2404, i64 %2406
  %2408 = load ptr, ptr %43, align 8, !tbaa !5
  %2409 = call i32 @cgemm_(ptr noundef @.str.6, ptr noundef @.str.6, ptr noundef %2391, ptr noundef %2392, ptr noundef %2393, ptr noundef %85, ptr noundef %2397, ptr noundef %2398, ptr noundef %2402, ptr noundef %2403, ptr noundef %99, ptr noundef %2407, ptr noundef %2408)
  br label %2480

2410:                                             ; preds = %2387
  %2411 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  %2412 = load ptr, ptr %39, align 8, !tbaa !5
  %2413 = load ptr, ptr %46, align 8, !tbaa !5
  %2414 = load ptr, ptr %46, align 8, !tbaa !5
  %2415 = load ptr, ptr %48, align 8, !tbaa !5
  %2416 = load i32, ptr %69, align 4, !tbaa !9
  %2417 = sext i32 %2416 to i64
  %2418 = getelementptr inbounds %struct.complex, ptr %2415, i64 %2417
  %2419 = load ptr, ptr %49, align 8, !tbaa !5
  %2420 = load ptr, ptr %53, align 8, !tbaa !5
  %2421 = load i32, ptr %73, align 4, !tbaa !9
  %2422 = sext i32 %2421 to i64
  %2423 = getelementptr inbounds %struct.complex, ptr %2420, i64 %2422
  %2424 = load ptr, ptr %54, align 8, !tbaa !5
  %2425 = load ptr, ptr %55, align 8, !tbaa !5
  %2426 = load i32, ptr %75, align 4, !tbaa !9
  %2427 = sext i32 %2426 to i64
  %2428 = getelementptr inbounds %struct.complex, ptr %2425, i64 %2427
  %2429 = load ptr, ptr %56, align 8, !tbaa !5
  %2430 = call i32 @cgemm_(ptr noundef %2411, ptr noundef @.str.6, ptr noundef %2412, ptr noundef %2413, ptr noundef %2414, ptr noundef %85, ptr noundef %2418, ptr noundef %2419, ptr noundef %2423, ptr noundef %2424, ptr noundef %99, ptr noundef %2428, ptr noundef %2429)
  %2431 = load ptr, ptr %38, align 8, !tbaa !5
  %2432 = load ptr, ptr %46, align 8, !tbaa !5
  %2433 = load ptr, ptr %39, align 8, !tbaa !5
  %2434 = load ptr, ptr %42, align 8, !tbaa !5
  %2435 = load i32, ptr %67, align 4, !tbaa !9
  %2436 = sext i32 %2435 to i64
  %2437 = getelementptr inbounds %struct.complex, ptr %2434, i64 %2436
  %2438 = load ptr, ptr %43, align 8, !tbaa !5
  %2439 = load ptr, ptr %55, align 8, !tbaa !5
  %2440 = load i32, ptr %75, align 4, !tbaa !9
  %2441 = sext i32 %2440 to i64
  %2442 = getelementptr inbounds %struct.complex, ptr %2439, i64 %2441
  %2443 = load ptr, ptr %56, align 8, !tbaa !5
  %2444 = load ptr, ptr %48, align 8, !tbaa !5
  %2445 = load i32, ptr %69, align 4, !tbaa !9
  %2446 = sext i32 %2445 to i64
  %2447 = getelementptr inbounds %struct.complex, ptr %2444, i64 %2446
  %2448 = load ptr, ptr %49, align 8, !tbaa !5
  %2449 = call i32 @cgemm_(ptr noundef @.str.6, ptr noundef @.str.6, ptr noundef %2431, ptr noundef %2432, ptr noundef %2433, ptr noundef %85, ptr noundef %2437, ptr noundef %2438, ptr noundef %2442, ptr noundef %2443, ptr noundef %99, ptr noundef %2447, ptr noundef %2448)
  %2450 = load ptr, ptr %38, align 8, !tbaa !5
  %2451 = load ptr, ptr %46, align 8, !tbaa !5
  %2452 = load ptr, ptr %48, align 8, !tbaa !5
  %2453 = load i32, ptr %69, align 4, !tbaa !9
  %2454 = sext i32 %2453 to i64
  %2455 = getelementptr inbounds %struct.complex, ptr %2452, i64 %2454
  %2456 = load ptr, ptr %49, align 8, !tbaa !5
  %2457 = load ptr, ptr %42, align 8, !tbaa !5
  %2458 = load i32, ptr %67, align 4, !tbaa !9
  %2459 = sext i32 %2458 to i64
  %2460 = getelementptr inbounds %struct.complex, ptr %2457, i64 %2459
  %2461 = load ptr, ptr %43, align 8, !tbaa !5
  %2462 = call i32 @clacpy_(ptr noundef @.str.14, ptr noundef %2450, ptr noundef %2451, ptr noundef %2455, ptr noundef %2456, ptr noundef %2460, ptr noundef %2461)
  %2463 = load i32, ptr %98, align 4, !tbaa !9
  %2464 = icmp ne i32 %2463, 0
  br i1 %2464, label %2465, label %2479

2465:                                             ; preds = %2410
  %2466 = load ptr, ptr %38, align 8, !tbaa !5
  %2467 = load ptr, ptr %46, align 8, !tbaa !5
  %2468 = load ptr, ptr %48, align 8, !tbaa !5
  %2469 = load i32, ptr %69, align 4, !tbaa !9
  %2470 = sext i32 %2469 to i64
  %2471 = getelementptr inbounds %struct.complex, ptr %2468, i64 %2470
  %2472 = load ptr, ptr %49, align 8, !tbaa !5
  %2473 = load ptr, ptr %51, align 8, !tbaa !5
  %2474 = load i32, ptr %71, align 4, !tbaa !9
  %2475 = sext i32 %2474 to i64
  %2476 = getelementptr inbounds %struct.complex, ptr %2473, i64 %2475
  %2477 = load ptr, ptr %52, align 8, !tbaa !5
  %2478 = call i32 @clacpy_(ptr noundef @.str.14, ptr noundef %2466, ptr noundef %2467, ptr noundef %2471, ptr noundef %2472, ptr noundef %2476, ptr noundef %2477)
  br label %2479

2479:                                             ; preds = %2465, %2410
  br label %2480

2480:                                             ; preds = %2479, %2390
  br label %2525

2481:                                             ; preds = %2384
  %2482 = load i32, ptr %98, align 4, !tbaa !9
  %2483 = icmp ne i32 %2482, 0
  br i1 %2483, label %2484, label %2524

2484:                                             ; preds = %2481
  %2485 = getelementptr inbounds [1 x i8], ptr %100, i64 0, i64 0
  %2486 = load ptr, ptr %39, align 8, !tbaa !5
  %2487 = load ptr, ptr %46, align 8, !tbaa !5
  %2488 = load ptr, ptr %46, align 8, !tbaa !5
  %2489 = load ptr, ptr %48, align 8, !tbaa !5
  %2490 = load i32, ptr %69, align 4, !tbaa !9
  %2491 = sext i32 %2490 to i64
  %2492 = getelementptr inbounds %struct.complex, ptr %2489, i64 %2491
  %2493 = load ptr, ptr %49, align 8, !tbaa !5
  %2494 = load ptr, ptr %53, align 8, !tbaa !5
  %2495 = load i32, ptr %73, align 4, !tbaa !9
  %2496 = sext i32 %2495 to i64
  %2497 = getelementptr inbounds %struct.complex, ptr %2494, i64 %2496
  %2498 = load ptr, ptr %54, align 8, !tbaa !5
  %2499 = load ptr, ptr %55, align 8, !tbaa !5
  %2500 = load i32, ptr %75, align 4, !tbaa !9
  %2501 = sext i32 %2500 to i64
  %2502 = getelementptr inbounds %struct.complex, ptr %2499, i64 %2501
  %2503 = load ptr, ptr %56, align 8, !tbaa !5
  %2504 = call i32 @cgemm_(ptr noundef %2485, ptr noundef @.str.6, ptr noundef %2486, ptr noundef %2487, ptr noundef %2488, ptr noundef %85, ptr noundef %2492, ptr noundef %2493, ptr noundef %2497, ptr noundef %2498, ptr noundef %99, ptr noundef %2502, ptr noundef %2503)
  %2505 = load ptr, ptr %38, align 8, !tbaa !5
  %2506 = load ptr, ptr %46, align 8, !tbaa !5
  %2507 = load ptr, ptr %39, align 8, !tbaa !5
  %2508 = load ptr, ptr %42, align 8, !tbaa !5
  %2509 = load i32, ptr %67, align 4, !tbaa !9
  %2510 = sext i32 %2509 to i64
  %2511 = getelementptr inbounds %struct.complex, ptr %2508, i64 %2510
  %2512 = load ptr, ptr %43, align 8, !tbaa !5
  %2513 = load ptr, ptr %55, align 8, !tbaa !5
  %2514 = load i32, ptr %75, align 4, !tbaa !9
  %2515 = sext i32 %2514 to i64
  %2516 = getelementptr inbounds %struct.complex, ptr %2513, i64 %2515
  %2517 = load ptr, ptr %56, align 8, !tbaa !5
  %2518 = load ptr, ptr %51, align 8, !tbaa !5
  %2519 = load i32, ptr %71, align 4, !tbaa !9
  %2520 = sext i32 %2519 to i64
  %2521 = getelementptr inbounds %struct.complex, ptr %2518, i64 %2520
  %2522 = load ptr, ptr %52, align 8, !tbaa !5
  %2523 = call i32 @cgemm_(ptr noundef @.str.6, ptr noundef @.str.6, ptr noundef %2505, ptr noundef %2506, ptr noundef %2507, ptr noundef %85, ptr noundef %2511, ptr noundef %2512, ptr noundef %2516, ptr noundef %2517, ptr noundef %99, ptr noundef %2521, ptr noundef %2522)
  br label %2524

2524:                                             ; preds = %2484, %2481
  br label %2525

2525:                                             ; preds = %2524, %2480
  %2526 = load i32, ptr %107, align 4, !tbaa !9
  %2527 = icmp ne i32 %2526, 0
  br i1 %2527, label %2528, label %2548

2528:                                             ; preds = %2525
  %2529 = load ptr, ptr %38, align 8, !tbaa !5
  %2530 = load ptr, ptr %46, align 8, !tbaa !5
  %2531 = load ptr, ptr %46, align 8, !tbaa !5
  %2532 = load ptr, ptr %40, align 8, !tbaa !5
  %2533 = load i32, ptr %65, align 4, !tbaa !9
  %2534 = sext i32 %2533 to i64
  %2535 = getelementptr inbounds %struct.complex, ptr %2532, i64 %2534
  %2536 = load ptr, ptr %41, align 8, !tbaa !5
  %2537 = load ptr, ptr %53, align 8, !tbaa !5
  %2538 = load i32, ptr %73, align 4, !tbaa !9
  %2539 = sext i32 %2538 to i64
  %2540 = getelementptr inbounds %struct.complex, ptr %2537, i64 %2539
  %2541 = load ptr, ptr %54, align 8, !tbaa !5
  %2542 = load ptr, ptr %48, align 8, !tbaa !5
  %2543 = load i32, ptr %69, align 4, !tbaa !9
  %2544 = sext i32 %2543 to i64
  %2545 = getelementptr inbounds %struct.complex, ptr %2542, i64 %2544
  %2546 = load ptr, ptr %49, align 8, !tbaa !5
  %2547 = call i32 @cgemm_(ptr noundef @.str.6, ptr noundef @.str.6, ptr noundef %2529, ptr noundef %2530, ptr noundef %2531, ptr noundef %85, ptr noundef %2535, ptr noundef %2536, ptr noundef %2540, ptr noundef %2541, ptr noundef %99, ptr noundef %2545, ptr noundef %2546)
  br label %2548

2548:                                             ; preds = %2528, %2525
  %2549 = load i32, ptr %118, align 4, !tbaa !9
  %2550 = icmp ne i32 %2549, 0
  br i1 %2550, label %2551, label %2609

2551:                                             ; preds = %2548
  %2552 = load ptr, ptr %46, align 8, !tbaa !5
  %2553 = load i32, ptr %2552, align 4, !tbaa !9
  store i32 %2553, ptr %76, align 4, !tbaa !9
  store i32 1, ptr %92, align 4, !tbaa !9
  br label %2554

2554:                                             ; preds = %2605, %2551
  %2555 = load i32, ptr %92, align 4, !tbaa !9
  %2556 = load i32, ptr %76, align 4, !tbaa !9
  %2557 = icmp sle i32 %2555, %2556
  br i1 %2557, label %2558, label %2608

2558:                                             ; preds = %2554
  %2559 = load i32, ptr %92, align 4, !tbaa !9
  store i32 %2559, ptr %77, align 4, !tbaa !9
  %2560 = load ptr, ptr %47, align 8, !tbaa !5
  %2561 = load i32, ptr %77, align 4, !tbaa !9
  %2562 = sext i32 %2561 to i64
  %2563 = getelementptr inbounds %struct.complex, ptr %2560, i64 %2562
  %2564 = getelementptr inbounds %struct.complex, ptr %2563, i32 0, i32 0
  %2565 = load float, ptr %2564, align 4, !tbaa !13
  %2566 = fneg float %2565
  %2567 = getelementptr inbounds %struct.complex, ptr %83, i32 0, i32 0
  store float %2566, ptr %2567, align 4, !tbaa !13
  %2568 = load ptr, ptr %47, align 8, !tbaa !5
  %2569 = load i32, ptr %77, align 4, !tbaa !9
  %2570 = sext i32 %2569 to i64
  %2571 = getelementptr inbounds %struct.complex, ptr %2568, i64 %2570
  %2572 = getelementptr inbounds %struct.complex, ptr %2571, i32 0, i32 1
  %2573 = load float, ptr %2572, align 4, !tbaa !15
  %2574 = fneg float %2573
  %2575 = getelementptr inbounds %struct.complex, ptr %83, i32 0, i32 1
  store float %2574, ptr %2575, align 4, !tbaa !15
  %2576 = load ptr, ptr %38, align 8, !tbaa !5
  %2577 = load ptr, ptr %48, align 8, !tbaa !5
  %2578 = load i32, ptr %92, align 4, !tbaa !9
  %2579 = load i32, ptr %68, align 4, !tbaa !9
  %2580 = mul nsw i32 %2578, %2579
  %2581 = add nsw i32 %2580, 1
  %2582 = sext i32 %2581 to i64
  %2583 = getelementptr inbounds %struct.complex, ptr %2577, i64 %2582
  %2584 = load ptr, ptr %42, align 8, !tbaa !5
  %2585 = load i32, ptr %92, align 4, !tbaa !9
  %2586 = load i32, ptr %66, align 4, !tbaa !9
  %2587 = mul nsw i32 %2585, %2586
  %2588 = add nsw i32 %2587, 1
  %2589 = sext i32 %2588 to i64
  %2590 = getelementptr inbounds %struct.complex, ptr %2584, i64 %2589
  %2591 = call i32 @caxpy_(ptr noundef %2576, ptr noundef %83, ptr noundef %2583, ptr noundef @c__1, ptr noundef %2590, ptr noundef @c__1)
  %2592 = load ptr, ptr %38, align 8, !tbaa !5
  %2593 = load ptr, ptr %42, align 8, !tbaa !5
  %2594 = load i32, ptr %92, align 4, !tbaa !9
  %2595 = load i32, ptr %66, align 4, !tbaa !9
  %2596 = mul nsw i32 %2594, %2595
  %2597 = add nsw i32 %2596, 1
  %2598 = sext i32 %2597 to i64
  %2599 = getelementptr inbounds %struct.complex, ptr %2593, i64 %2598
  %2600 = call float @scnrm2_(ptr noundef %2592, ptr noundef %2599, ptr noundef @c__1)
  %2601 = load ptr, ptr %50, align 8, !tbaa !5
  %2602 = load i32, ptr %92, align 4, !tbaa !9
  %2603 = sext i32 %2602 to i64
  %2604 = getelementptr inbounds float, ptr %2601, i64 %2603
  store float %2600, ptr %2604, align 4, !tbaa !11
  br label %2605

2605:                                             ; preds = %2558
  %2606 = load i32, ptr %92, align 4, !tbaa !9
  %2607 = add nsw i32 %2606, 1
  store i32 %2607, ptr %92, align 4, !tbaa !9
  br label %2554, !llvm.loop !29

2608:                                             ; preds = %2554
  br label %2609

2609:                                             ; preds = %2608, %2548
  br label %2610

2610:                                             ; preds = %2609, %2381
  %2611 = load ptr, ptr %37, align 8, !tbaa !5
  %2612 = load i32, ptr %2611, align 4, !tbaa !9
  %2613 = icmp eq i32 %2612, 4
  br i1 %2613, label %2614, label %2629

2614:                                             ; preds = %2610
  %2615 = load float, ptr %90, align 4, !tbaa !11
  %2616 = load ptr, ptr %59, align 8, !tbaa !5
  %2617 = load ptr, ptr %39, align 8, !tbaa !5
  %2618 = load i32, ptr %2617, align 4, !tbaa !9
  %2619 = add nsw i32 %2618, 1
  %2620 = sext i32 %2619 to i64
  %2621 = getelementptr inbounds float, ptr %2616, i64 %2620
  store float %2615, ptr %2621, align 4, !tbaa !11
  %2622 = load float, ptr %91, align 4, !tbaa !11
  %2623 = load ptr, ptr %59, align 8, !tbaa !5
  %2624 = load ptr, ptr %39, align 8, !tbaa !5
  %2625 = load i32, ptr %2624, align 4, !tbaa !9
  %2626 = add nsw i32 %2625, 2
  %2627 = sext i32 %2626 to i64
  %2628 = getelementptr inbounds float, ptr %2623, i64 %2627
  store float %2622, ptr %2628, align 4, !tbaa !11
  br label %2629

2629:                                             ; preds = %2614, %2610
  %2630 = load i32, ptr %95, align 4, !tbaa !9
  %2631 = icmp ne i32 %2630, 0
  br i1 %2631, label %2634, label %2632

2632:                                             ; preds = %2629
  %2633 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 0, ptr %2633, align 4, !tbaa !9
  br label %2636

2634:                                             ; preds = %2629
  %2635 = load ptr, ptr %63, align 8, !tbaa !5
  store i32 4, ptr %2635, align 4, !tbaa !9
  br label %2636

2636:                                             ; preds = %2634, %2632
  store i32 0, ptr %32, align 4
  store i32 1, ptr %127, align 4
  br label %2637

2637:                                             ; preds = %2636, %2376, %1935, %1927, %1382, %1233, %1225, %458
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #6
  %2638 = load i32, ptr %32, align 4
  ret i32 %2638
}

; 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 @cgesvd_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

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

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

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

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

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

declare float @slamch_(ptr noundef) #2

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

declare i32 @sisnan_(ptr noundef) #2

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

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

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

; Function Attrs: nounwind
declare float @cabsf(<2 x float> noundef) #3

; Function Attrs: inlinehint nounwind uwtable
declare hidden <2 x float> @Cf(ptr noundef) #4

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #5

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

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

declare float @scnrm2_(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"="64" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint nounwind uwtable "min-legal-vector-width"="64" "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 #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { nounwind }

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

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


; 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
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 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
@c_n1 = external hidden global i32, align 4
@.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 [7 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.13 = external hidden unnamed_addr constant [2 x i8], align 1
@c__0 = external hidden global i32, align 4
@.str.14 = external hidden unnamed_addr constant [2 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @cgedmd_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr nocapture noundef readonly %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr nocapture noundef readonly %11, ptr nocapture noundef readonly %12, ptr noundef %13, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr nocapture noundef writeonly %17, ptr noundef %18, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22, ptr noundef %23, ptr noundef %24, ptr noundef %25, ptr noundef %26, ptr nocapture noundef readonly %27, ptr noundef %28, ptr noundef %29, ptr nocapture noundef %30) local_unnamed_addr #0 {
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca float, align 4
  %35 = alloca float, align 4
  %36 = alloca %struct.complex, align 8
  %37 = alloca %struct.complex, align 8
  %38 = alloca float, align 4
  %39 = alloca float, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca float, align 4
  %43 = alloca float, align 4
  %44 = alloca float, align 4
  %45 = alloca [1 x i8], align 1
  %46 = alloca %struct.complex, align 8
  %47 = alloca [1 x i8], align 1
  %48 = alloca i32, align 4
  %49 = alloca [1 x i8], align 1
  %50 = alloca [2 x float], align 4
  %51 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %49) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #6
  %52 = load i32, ptr %8, align 4, !tbaa !5
  %narrow1066 = xor i32 %52, -1
  %53 = sext i32 %narrow1066 to i64
  %54 = getelementptr inbounds %struct.complex, ptr %7, i64 %53
  %55 = load i32, ptr %10, align 4, !tbaa !5
  %narrow1065 = xor i32 %55, -1
  %56 = sext i32 %narrow1065 to i64
  %57 = getelementptr inbounds %struct.complex, ptr %9, i64 %56
  %58 = getelementptr inbounds i8, ptr %14, i64 -8
  %59 = load i32, ptr %16, align 4, !tbaa !5
  %narrow1067 = xor i32 %59, -1
  %60 = sext i32 %narrow1067 to i64
  %61 = getelementptr inbounds %struct.complex, ptr %15, i64 %60
  %62 = getelementptr inbounds i8, ptr %17, i64 -4
  %63 = load i32, ptr %21, align 4, !tbaa !5
  %narrow = xor i32 %63, -1
  %64 = sext i32 %narrow to i64
  %65 = getelementptr inbounds %struct.complex, ptr %20, i64 %64
  %66 = getelementptr inbounds i8, ptr %26, i64 -4
  store float 0.000000e+00, ptr %38, align 4, !tbaa !9
  store float 1.000000e+00, ptr %51, align 4, !tbaa !9
  store <2 x float> zeroinitializer, ptr %46, align 8, !tbaa !9
  store <2 x float> <float 1.000000e+00, float 0.000000e+00>, ptr %37, align 8, !tbaa !9
  %67 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str) #6
  %68 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.1) #6
  %.not = icmp eq i32 %68, 0
  br i1 %.not, label %69, label %72

69:                                               ; preds = %31
  %70 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.2) #6
  %71 = icmp ne i32 %70, 0
  br label %72

72:                                               ; preds = %69, %31
  %73 = phi i1 [ true, %31 ], [ %71, %69 ]
  %74 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.3) #6
  %75 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.4) #6
  %76 = tail call i32 @lsame_(ptr noundef %3, ptr noundef nonnull @.str) #6
  %77 = tail call i32 @lsame_(ptr noundef %3, ptr noundef nonnull @.str.5) #6
  store i32 0, ptr %30, align 4, !tbaa !5
  %78 = load i32, ptr %25, align 4, !tbaa !5
  %79 = icmp eq i32 %78, -1
  br i1 %79, label %86, label %80

80:                                               ; preds = %72
  %81 = load i32, ptr %29, align 4, !tbaa !5
  %82 = icmp eq i32 %81, -1
  br i1 %82, label %86, label %83

83:                                               ; preds = %80
  %84 = load i32, ptr %27, align 4, !tbaa !5
  %85 = icmp eq i32 %84, -1
  br label %86

86:                                               ; preds = %83, %80, %72
  %87 = phi i1 [ true, %80 ], [ true, %72 ], [ %85, %83 ]
  %88 = icmp ne i32 %74, 0
  %or.cond = select i1 %73, i1 true, i1 %88
  br i1 %or.cond, label %91, label %89

89:                                               ; preds = %86
  %90 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.6) #6
  %.not1011 = icmp eq i32 %90, 0
  br i1 %.not1011, label %.thread1114.sink.split, label %91

91:                                               ; preds = %89, %86
  %.not1152 = icmp eq i32 %75, 0
  br i1 %.not1152, label %92, label %.thread

92:                                               ; preds = %91
  %93 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.6) #6
  %.not1012 = icmp eq i32 %93, 0
  br i1 %.not1012, label %94, label %96

94:                                               ; preds = %92
  %95 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.7) #6
  %.not1013 = icmp eq i32 %95, 0
  br i1 %.not1013, label %.thread1114.sink.split, label %96

96:                                               ; preds = %94, %92
  %.not1014 = icmp eq i32 %67, 0
  br i1 %.not1014, label %97, label %.thread1114.sink.split

.thread:                                          ; preds = %91
  %.not10141093 = icmp eq i32 %67, 0
  br i1 %.not10141093, label %97, label %.thread1094

97:                                               ; preds = %.thread, %96
  %98 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.6) #6
  %.not1015.not = icmp eq i32 %98, 0
  br i1 %.not1015.not, label %.thread1114.sink.split, label %.thread1094

.thread1094:                                      ; preds = %.thread, %97
  %99 = icmp ne i32 %76, 0
  %100 = icmp ne i32 %77, 0
  %or.cond5 = select i1 %99, i1 true, i1 %100
  br i1 %or.cond5, label %103, label %101

101:                                              ; preds = %.thread1094
  %102 = tail call i32 @lsame_(ptr noundef %3, ptr noundef nonnull @.str.6) #6
  %.not1016 = icmp eq i32 %102, 0
  br i1 %.not1016, label %.thread1114.sink.split, label %103

103:                                              ; preds = %101, %.thread1094
  %104 = load i32, ptr %4, align 4, !tbaa !5
  %.off = add i32 %104, -1
  %switch = icmp ult i32 %.off, 4
  br i1 %switch, label %105, label %.thread1114.sink.split

105:                                              ; preds = %103
  %106 = load i32, ptr %5, align 4, !tbaa !5
  %107 = icmp slt i32 %106, 0
  br i1 %107, label %.thread1114.sink.split, label %108

108:                                              ; preds = %105
  %109 = load i32, ptr %6, align 4, !tbaa !5
  %or.cond1079 = icmp ugt i32 %109, %106
  br i1 %or.cond1079, label %.thread1114.sink.split, label %110

110:                                              ; preds = %108
  %111 = load i32, ptr %8, align 4, !tbaa !5
  %112 = icmp slt i32 %111, %106
  br i1 %112, label %.thread1114.sink.split, label %113

113:                                              ; preds = %110
  %114 = load i32, ptr %10, align 4, !tbaa !5
  %115 = icmp slt i32 %114, %106
  br i1 %115, label %.thread1114.sink.split, label %116

116:                                              ; preds = %113
  %117 = load i32, ptr %11, align 4, !tbaa !5
  %switch1091 = icmp ugt i32 %117, -3
  br i1 %switch1091, label %120, label %118

118:                                              ; preds = %116
  %119 = icmp slt i32 %117, 1
  %.not1017 = icmp sgt i32 %117, %109
  %or.cond1080 = or i1 %119, %.not1017
  br i1 %or.cond1080, label %.thread1114.sink.split, label %120

120:                                              ; preds = %116, %118
  %121 = load float, ptr %12, align 4, !tbaa !9
  %122 = fcmp uge float %121, 0.000000e+00
  %123 = fcmp ult float %121, 1.000000e+00
  %or.cond1083 = and i1 %122, %123
  br i1 %or.cond1083, label %124, label %.thread1114.sink.split

124:                                              ; preds = %120
  %125 = load i32, ptr %16, align 4, !tbaa !5
  %126 = icmp slt i32 %125, %106
  br i1 %126, label %.thread1114.sink.split, label %127

127:                                              ; preds = %124
  br i1 %or.cond5, label %128, label %131

128:                                              ; preds = %127
  %129 = load i32, ptr %19, align 4, !tbaa !5
  %130 = icmp slt i32 %129, %106
  br i1 %130, label %.thread1114.sink.split, label %131

131:                                              ; preds = %127, %128
  %132 = load i32, ptr %21, align 4, !tbaa !5
  %133 = icmp slt i32 %132, %109
  br i1 %133, label %.thread1114.sink.split, label %134

134:                                              ; preds = %131
  %135 = load i32, ptr %23, align 4, !tbaa !5
  %136 = icmp slt i32 %135, %109
  br i1 %136, label %.thread1114.sink.split, label %137

137:                                              ; preds = %134
  %.pr = load i32, ptr %30, align 4, !tbaa !5
  %138 = icmp eq i32 %.pr, 0
  br i1 %138, label %139, label %.thread1114

139:                                              ; preds = %137
  %140 = icmp eq i32 %109, 0
  br i1 %140, label %141, label %145

141:                                              ; preds = %139
  br i1 %87, label %142, label %143

142:                                              ; preds = %141
  store i32 1, ptr %28, align 4, !tbaa !5
  store float 1.000000e+00, ptr %26, align 4, !tbaa !9
  store <4 x float> <float 2.000000e+00, float 0.000000e+00, float 2.000000e+00, float 0.000000e+00>, ptr %24, align 4, !tbaa !9
  br label %144

143:                                              ; preds = %141
  store i32 0, ptr %13, align 4, !tbaa !5
  br label %144

144:                                              ; preds = %143, %142
  store i32 1, ptr %30, align 4, !tbaa !5
  br label %682

145:                                              ; preds = %139
  switch i32 %104, label %default.unreachable [
    i32 1, label %146
    i32 2, label %159
    i32 3, label %187
    i32 4, label %203
  ]

146:                                              ; preds = %145
  %147 = tail call i32 @llvm.umin.i32(i32 %106, i32 %109)
  %148 = shl nuw i32 %147, 1
  %149 = tail call i32 @llvm.umax.i32(i32 %106, i32 %109)
  %150 = add nsw i32 %148, %149
  %151 = tail call i32 @llvm.smax.i32(i32 %150, i32 2)
  store i32 %109, ptr %32, align 4, !tbaa !5
  %152 = mul nuw nsw i32 %147, 5
  %153 = add nuw nsw i32 %152, %109
  store i32 %153, ptr %33, align 4, !tbaa !5
  br i1 %87, label %154, label %220

154:                                              ; preds = %146
  %155 = call i32 @cgesvd_(ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %26, ptr noundef %18, ptr noundef nonnull %19, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %50, ptr noundef nonnull %40) #6
  %156 = load float, ptr %24, align 4, !tbaa !11
  %157 = fptosi float %156 to i32
  %158 = call i32 @llvm.smax.i32(i32 %157, i32 2)
  br label %220

159:                                              ; preds = %145
  %160 = tail call i32 @llvm.umin.i32(i32 %106, i32 %109)
  %161 = shl nuw i32 %160, 1
  %162 = add i32 %161, 2
  %163 = mul i32 %162, %160
  %164 = tail call i32 @llvm.umax.i32(i32 %106, i32 %109)
  %165 = add nsw i32 %163, %164
  %166 = tail call i32 @llvm.smax.i32(i32 %165, i32 2)
  %167 = shl i32 %160, 3
  %168 = mul nuw nsw i32 %160, 5
  %169 = add nuw i32 %168, 7
  %170 = mul i32 %169, %160
  %171 = add nuw i32 %168, 5
  %172 = mul i32 %171, %160
  %173 = tail call i32 @llvm.smax.i32(i32 %170, i32 %172)
  %174 = add nuw i32 %106, %109
  %175 = shl i32 %174, 1
  %176 = or disjoint i32 %175, 1
  %177 = mul i32 %176, %160
  store i32 %109, ptr %32, align 4, !tbaa !5
  %178 = tail call i32 @llvm.smax.i32(i32 %173, i32 %177)
  %179 = add nsw i32 %178, %109
  store i32 %179, ptr %33, align 4, !tbaa !5
  %180 = tail call i32 @llvm.smax.i32(i32 %109, i32 %179)
  br i1 %87, label %181, label %220

181:                                              ; preds = %159
  %182 = call i32 @cgesdd_(ptr noundef nonnull @.str.8, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %26, ptr noundef %18, ptr noundef nonnull %19, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %50, ptr noundef %28, ptr noundef nonnull %40) #6
  store i32 %165, ptr %32, align 4, !tbaa !5
  %183 = load float, ptr %24, align 4, !tbaa !11
  %184 = fptosi float %183 to i32
  store i32 %184, ptr %33, align 4, !tbaa !5
  %185 = call i32 @llvm.smax.i32(i32 %165, i32 %184)
  %186 = call i32 @llvm.smax.i32(i32 %185, i32 2)
  br label %220

187:                                              ; preds = %145
  %188 = call i32 @cgesvdq_(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str, ptr noundef nonnull @.str, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %26, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %20, ptr noundef nonnull %21, ptr noundef nonnull %48, ptr noundef %28, ptr noundef nonnull @c_n1, ptr noundef %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %50, ptr noundef nonnull @c_n1, ptr noundef nonnull %40) #6
  %189 = load i32, ptr %28, align 4, !tbaa !5
  %190 = getelementptr inbounds i8, ptr %24, i64 8
  %191 = load float, ptr %190, align 4, !tbaa !11
  %192 = fptosi float %191 to i32
  %193 = call i32 @llvm.smax.i32(i32 %192, i32 2)
  store i32 %109, ptr %32, align 4, !tbaa !5
  %194 = load i32, ptr %6, align 4, !tbaa !5
  %195 = load float, ptr %50, align 4, !tbaa !9
  %196 = fptosi float %195 to i32
  %197 = add nsw i32 %194, %196
  store i32 %197, ptr %33, align 4, !tbaa !5
  %198 = call i32 @llvm.smax.i32(i32 %109, i32 %197)
  br i1 %87, label %199, label %220

199:                                              ; preds = %187
  %200 = load float, ptr %24, align 4, !tbaa !11
  %201 = fptosi float %200 to i32
  %202 = call i32 @llvm.smax.i32(i32 %201, i32 2)
  br label %220

203:                                              ; preds = %145
  store i8 74, ptr %49, align 1, !tbaa !13
  %204 = call i32 @cgejsv_(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.11, ptr noundef nonnull %49, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.10, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %26, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %24, ptr noundef nonnull @c_n1, ptr noundef nonnull %50, ptr noundef nonnull @c_n1, ptr noundef %28, ptr noundef nonnull %40) #6
  %205 = load i32, ptr %28, align 4, !tbaa !5
  %206 = getelementptr inbounds i8, ptr %24, i64 8
  %207 = load float, ptr %206, align 4, !tbaa !11
  %208 = fptosi float %207 to i32
  %209 = call i32 @llvm.smax.i32(i32 %208, i32 2)
  %210 = load float, ptr %50, align 4, !tbaa !9
  %211 = fptosi float %210 to i32
  store i32 %109, ptr %32, align 4, !tbaa !5
  %212 = load i32, ptr %6, align 4, !tbaa !5
  %213 = call i32 @llvm.smax.i32(i32 %211, i32 7)
  %214 = add nsw i32 %212, %213
  store i32 %214, ptr %33, align 4, !tbaa !5
  %215 = call i32 @llvm.smax.i32(i32 %109, i32 %214)
  br i1 %87, label %216, label %220

216:                                              ; preds = %203
  %217 = load float, ptr %24, align 4, !tbaa !11
  %218 = fptosi float %217 to i32
  %219 = call i32 @llvm.smax.i32(i32 %218, i32 2)
  br label %220

default.unreachable:                              ; preds = %145
  unreachable

220:                                              ; preds = %181, %159, %216, %203, %187, %199, %146, %154
  %.0938 = phi i32 [ 1, %154 ], [ 1, %146 ], [ %167, %181 ], [ %167, %159 ], [ %189, %199 ], [ %189, %187 ], [ %205, %216 ], [ %205, %203 ]
  %.0933 = phi i32 [ %151, %154 ], [ %151, %146 ], [ %166, %181 ], [ %166, %159 ], [ %193, %199 ], [ %193, %187 ], [ %209, %216 ], [ %209, %203 ]
  %.0931 = phi i32 [ %158, %154 ], [ 2, %146 ], [ %186, %181 ], [ 2, %159 ], [ %202, %199 ], [ 2, %187 ], [ %219, %216 ], [ 2, %203 ]
  %.0930 = phi i32 [ %153, %154 ], [ %153, %146 ], [ %180, %181 ], [ %180, %159 ], [ %198, %199 ], [ %198, %187 ], [ %215, %216 ], [ %215, %203 ]
  %221 = icmp ne i32 %75, 0
  %or.cond9 = select i1 %221, i1 true, i1 %100
  br i1 %or.cond9, label %224, label %222

222:                                              ; preds = %220
  %223 = call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.7) #6
  %.not1045 = icmp eq i32 %223, 0
  %spec.select1092 = select i1 %.not1045, i8 78, i8 86
  br label %224

224:                                              ; preds = %222, %220
  %storemerge = phi i8 [ 86, %220 ], [ %spec.select1092, %222 ]
  store i8 %storemerge, ptr %45, align 1, !tbaa !13
  %225 = load i32, ptr %6, align 4, !tbaa !5
  %226 = shl i32 %225, 1
  %227 = call i32 @llvm.smax.i32(i32 %226, i32 1)
  %228 = call i32 @llvm.umax.i32(i32 %.0933, i32 %227)
  store i32 %.0930, ptr %32, align 4, !tbaa !5
  %229 = mul i32 %225, 3
  store i32 %229, ptr %33, align 4, !tbaa !5
  %230 = call i32 @llvm.smax.i32(i32 %.0930, i32 %229)
  br i1 %87, label %.thread1136, label %231

231:                                              ; preds = %224
  %232 = load i32, ptr %29, align 4, !tbaa !5
  %.not1300 = icmp slt i32 %232, %.0938
  br i1 %.not1300, label %233, label %234

233:                                              ; preds = %231
  store i32 -30, ptr %30, align 4, !tbaa !5
  br label %234

234:                                              ; preds = %233, %231
  %235 = load i32, ptr %27, align 4, !tbaa !5
  %.not1301 = icmp slt i32 %235, %230
  br i1 %.not1301, label %236, label %237

236:                                              ; preds = %234
  store i32 -28, ptr %30, align 4, !tbaa !5
  br label %237

237:                                              ; preds = %236, %234
  %238 = load i32, ptr %25, align 4, !tbaa !5
  %.not1302 = icmp slt i32 %238, %228
  br i1 %.not1302, label %.thread1114.sink.split, label %.thread1120

.thread1136:                                      ; preds = %224
  %239 = call i32 @cgeev_(ptr noundef nonnull @.str.6, ptr noundef nonnull %45, ptr noundef nonnull %6, ptr noundef %22, ptr noundef nonnull %23, ptr noundef %14, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %24, ptr noundef nonnull @c_n1, ptr noundef %26, ptr noundef nonnull %40) #6
  %.pr11081141 = load i32, ptr %30, align 4, !tbaa !5
  %.not10491142 = icmp eq i32 %.pr11081141, 0
  br i1 %.not10491142, label %.thread1143, label %.thread1114

.thread1120:                                      ; preds = %237
  %.pr11081125 = load i32, ptr %30, align 4, !tbaa !5
  %.not10491126 = icmp eq i32 %.pr11081125, 0
  br i1 %.not10491126, label %.thread1131, label %.thread1114

.thread1114.sink.split:                           ; preds = %237, %134, %131, %128, %124, %120, %118, %113, %110, %108, %105, %103, %101, %97, %96, %94, %89
  %.sink = phi i32 [ -1, %89 ], [ -2, %94 ], [ -3, %96 ], [ -3, %97 ], [ -4, %101 ], [ -5, %103 ], [ -6, %105 ], [ -7, %108 ], [ -9, %110 ], [ -11, %113 ], [ -12, %118 ], [ -13, %120 ], [ -17, %124 ], [ -20, %128 ], [ -22, %131 ], [ -24, %134 ], [ -26, %237 ]
  store i32 %.sink, ptr %30, align 4, !tbaa !5
  br label %.thread1114

.thread1114:                                      ; preds = %.thread1114.sink.split, %137, %.thread1136, %.thread1120
  %240 = phi i32 [ %.pr11081125, %.thread1120 ], [ %.pr11081141, %.thread1136 ], [ %.pr, %137 ], [ %.sink, %.thread1114.sink.split ]
  %241 = sub nsw i32 0, %240
  store i32 %241, ptr %32, align 4, !tbaa !5
  %242 = call i32 @xerbla_(ptr noundef nonnull @.str.12, ptr noundef nonnull %32) #6
  br label %682

.thread1143:                                      ; preds = %.thread1136
  %243 = load float, ptr %24, align 4, !tbaa !11
  %244 = fptosi float %243 to i32
  %245 = call i32 @llvm.smax.i32(i32 %.0931, i32 %244)
  store i32 %.0938, ptr %28, align 4, !tbaa !5
  %246 = uitofp nneg i32 %230 to float
  store float %246, ptr %26, align 4, !tbaa !9
  %247 = uitofp nneg i32 %228 to float
  store float %247, ptr %24, align 4, !tbaa !11
  %248 = getelementptr inbounds i8, ptr %24, i64 4
  store float 0.000000e+00, ptr %248, align 4, !tbaa !14
  %249 = uitofp nneg i32 %245 to float
  %250 = getelementptr inbounds i8, ptr %24, i64 8
  store float %249, ptr %250, align 4, !tbaa !11
  %251 = getelementptr inbounds i8, ptr %24, i64 12
  store float 0.000000e+00, ptr %251, align 4, !tbaa !14
  br label %682

.thread1131:                                      ; preds = %.thread1120
  %252 = call float @slamch_(ptr noundef nonnull @.str.8) #6
  %253 = call float @slamch_(ptr noundef nonnull @.str.10) #6
  %254 = fmul float %252, %253
  %255 = call float @slamch_(ptr noundef nonnull @.str.1) #6
  br i1 %73, label %256, label %.loopexit1159

256:                                              ; preds = %.thread1131
  store i32 0, ptr %13, align 4, !tbaa !5
  %257 = load i32, ptr %6, align 4, !tbaa !5
  store i32 %257, ptr %32, align 4, !tbaa !5
  %invariant.gep = getelementptr i8, ptr %54, i64 8
  %.not10501160 = icmp slt i32 %257, 1
  br i1 %.not10501160, label %._crit_edge, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %256
  %258 = sext i32 %52 to i64
  br label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.preheader, %297
  %indvars.iv = phi i64 [ 1, %.lr.ph.preheader ], [ %indvars.iv.next, %297 ]
  %259 = load float, ptr %38, align 4, !tbaa !9
  store float %259, ptr %44, align 4, !tbaa !9
  %260 = mul nsw i64 %indvars.iv, %258
  %gep = getelementptr %struct.complex, ptr %invariant.gep, i64 %260
  %261 = call i32 @classq_(ptr noundef nonnull %5, ptr noundef %gep, ptr noundef nonnull @c__1, ptr noundef nonnull %44, ptr noundef nonnull %39) #6
  %262 = call i32 @sisnan_(ptr noundef nonnull %44) #6
  %.not1074 = icmp eq i32 %262, 0
  br i1 %.not1074, label %263, label %265

263:                                              ; preds = %.lr.ph
  %264 = call i32 @sisnan_(ptr noundef nonnull %39) #6
  %.not1075 = icmp eq i32 %264, 0
  br i1 %.not1075, label %267, label %265

265:                                              ; preds = %263, %.lr.ph
  store i32 0, ptr %13, align 4, !tbaa !5
  store i32 -8, ptr %30, align 4, !tbaa !5
  store i32 8, ptr %33, align 4, !tbaa !5
  %266 = call i32 @xerbla_(ptr noundef nonnull @.str.12, ptr noundef nonnull %33) #6
  br label %267

267:                                              ; preds = %265, %263
  %268 = load float, ptr %44, align 4, !tbaa !9
  %269 = load float, ptr %38, align 4, !tbaa !9
  %270 = fcmp une float %268, %269
  br i1 %270, label %271, label %293

271:                                              ; preds = %267
  %272 = load float, ptr %39, align 4, !tbaa !9
  %273 = fcmp une float %272, %269
  br i1 %273, label %274, label %293

274:                                              ; preds = %271
  %sqrtf1076 = call float @sqrtf(float noundef %272) #7
  %275 = load float, ptr %44, align 4, !tbaa !9
  %276 = fdiv float %254, %sqrtf1076
  %277 = fcmp ult float %275, %276
  br i1 %277, label %289, label %278

278:                                              ; preds = %274
  %279 = load float, ptr %51, align 4, !tbaa !9
  %280 = fdiv float %279, %sqrtf1076
  store float %280, ptr %34, align 4, !tbaa !9
  %281 = call i32 @clascl_(ptr noundef nonnull @.str.13, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %44, ptr noundef nonnull %34, ptr noundef nonnull %5, ptr noundef nonnull @c__1, ptr noundef %gep, ptr noundef nonnull %8, ptr noundef nonnull %41) #6
  %282 = load float, ptr %44, align 4, !tbaa !9
  %283 = fneg float %282
  %284 = load i32, ptr %5, align 4, !tbaa !5
  %285 = sitofp i32 %284 to float
  %286 = fdiv float %sqrtf1076, %285
  %287 = fmul float %286, %283
  %288 = getelementptr inbounds float, ptr %66, i64 %indvars.iv
  store float %287, ptr %288, align 4, !tbaa !9
  br label %297

289:                                              ; preds = %274
  %290 = fmul float %sqrtf1076, %275
  %291 = getelementptr inbounds float, ptr %66, i64 %indvars.iv
  store float %290, ptr %291, align 4, !tbaa !9
  %292 = call i32 @clascl_(ptr noundef nonnull @.str.13, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %291, ptr noundef nonnull %51, ptr noundef nonnull %5, ptr noundef nonnull @c__1, ptr noundef %gep, ptr noundef nonnull %8, ptr noundef nonnull %41) #6
  br label %297

293:                                              ; preds = %271, %267
  %294 = getelementptr inbounds float, ptr %66, i64 %indvars.iv
  store float %269, ptr %294, align 4, !tbaa !9
  %295 = load i32, ptr %13, align 4, !tbaa !5
  %296 = add nsw i32 %295, 1
  store i32 %296, ptr %13, align 4, !tbaa !5
  br label %297

297:                                              ; preds = %293, %289, %278
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %298 = load i32, ptr %32, align 4, !tbaa !5
  %299 = sext i32 %298 to i64
  %.not1050.not = icmp slt i64 %indvars.iv, %299
  br i1 %.not1050.not, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !15

._crit_edge.loopexit:                             ; preds = %297
  %.pre = load i32, ptr %13, align 4, !tbaa !5
  %.pre1294 = load i32, ptr %6, align 4, !tbaa !5
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.loopexit, %256
  %300 = phi i32 [ %.pre1294, %._crit_edge.loopexit ], [ %257, %256 ]
  %301 = phi i32 [ %.pre, %._crit_edge.loopexit ], [ 0, %256 ]
  %302 = icmp eq i32 %301, %300
  br i1 %302, label %303, label %305

303:                                              ; preds = %._crit_edge
  store i32 0, ptr %13, align 4, !tbaa !5
  store i32 -8, ptr %30, align 4, !tbaa !5
  store i32 8, ptr %32, align 4, !tbaa !5
  %304 = call i32 @xerbla_(ptr noundef nonnull @.str.12, ptr noundef nonnull %32) #6
  br label %682

305:                                              ; preds = %._crit_edge
  store i32 %300, ptr %32, align 4, !tbaa !5
  %invariant.gep1162 = getelementptr i8, ptr %57, i64 8
  %.not10511168 = icmp slt i32 %300, 1
  br i1 %.not10511168, label %.loopexit1159, label %.lr.ph1173.preheader

.lr.ph1173.preheader:                             ; preds = %305
  %306 = sext i32 %55 to i64
  br label %.lr.ph1173

.lr.ph1173:                                       ; preds = %.lr.ph1173.preheader, %340
  %indvars.iv1251 = phi i64 [ 1, %.lr.ph1173.preheader ], [ %indvars.iv.next1252, %340 ]
  %.09411169 = phi i32 [ 0, %.lr.ph1173.preheader ], [ %.1942, %340 ]
  %307 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1251
  %308 = load float, ptr %307, align 4, !tbaa !9
  %309 = load float, ptr %38, align 4, !tbaa !9
  %310 = fcmp ogt float %308, %309
  br i1 %310, label %311, label %316

311:                                              ; preds = %.lr.ph1173
  %312 = load float, ptr %51, align 4, !tbaa !9
  %313 = fdiv float %312, %308
  store float %313, ptr %34, align 4, !tbaa !9
  %314 = mul nsw i64 %indvars.iv1251, %306
  %gep1167 = getelementptr %struct.complex, ptr %invariant.gep1162, i64 %314
  %315 = call i32 @csscal_(ptr noundef nonnull %5, ptr noundef nonnull %34, ptr noundef %gep1167, ptr noundef nonnull @c__1) #6
  br label %340

316:                                              ; preds = %.lr.ph1173
  %317 = fcmp olt float %308, %309
  br i1 %317, label %318, label %326

318:                                              ; preds = %316
  %319 = fneg float %308
  store float %319, ptr %34, align 4, !tbaa !9
  %320 = load float, ptr %51, align 4, !tbaa !9
  %321 = load i32, ptr %5, align 4, !tbaa !5
  %322 = sitofp i32 %321 to float
  %323 = fdiv float %320, %322
  store float %323, ptr %35, align 4, !tbaa !9
  %324 = mul nsw i64 %indvars.iv1251, %306
  %gep1165 = getelementptr %struct.complex, ptr %invariant.gep1162, i64 %324
  %325 = call i32 @clascl_(ptr noundef nonnull @.str.13, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %5, ptr noundef nonnull @c__1, ptr noundef %gep1165, ptr noundef nonnull %10, ptr noundef nonnull %41) #6
  br label %340

326:                                              ; preds = %316
  %327 = mul nsw i64 %indvars.iv1251, %306
  %gep1163 = getelementptr %struct.complex, ptr %invariant.gep1162, i64 %327
  %328 = call i32 @icamax_(ptr noundef nonnull %5, ptr noundef %gep1163, ptr noundef nonnull @c__1) #6
  %329 = sext i32 %328 to i64
  %330 = getelementptr %struct.complex, ptr %57, i64 %327
  %331 = getelementptr %struct.complex, ptr %330, i64 %329
  %332 = call <2 x float> @Cf(ptr noundef %331)
  %333 = call float @cabsf(<2 x float> noundef %332) #6
  %334 = load float, ptr %38, align 4, !tbaa !9
  %335 = fcmp une float %333, %334
  br i1 %335, label %336, label %340

336:                                              ; preds = %326
  %337 = call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.2) #6
  %.not1073 = icmp eq i32 %337, 0
  br i1 %.not1073, label %340, label %338

338:                                              ; preds = %336
  %339 = call i32 @csscal_(ptr noundef nonnull %5, ptr noundef nonnull %38, ptr noundef %gep1163, ptr noundef nonnull @c__1) #6
  br label %340

340:                                              ; preds = %311, %326, %338, %336, %318
  %.1942 = phi i32 [ %.09411169, %311 ], [ %.09411169, %318 ], [ 1, %338 ], [ 1, %336 ], [ %.09411169, %326 ]
  %indvars.iv.next1252 = add nuw nsw i64 %indvars.iv1251, 1
  %341 = load i32, ptr %32, align 4, !tbaa !5
  %342 = sext i32 %341 to i64
  %.not1051.not = icmp slt i64 %indvars.iv1251, %342
  br i1 %.not1051.not, label %.lr.ph1173, label %.loopexit1159, !llvm.loop !17

.loopexit1159:                                    ; preds = %340, %305, %.thread1131
  %.2943 = phi i32 [ 0, %.thread1131 ], [ 0, %305 ], [ %.1942, %340 ]
  %.pre1297 = load i32, ptr %6, align 4, !tbaa !5
  br i1 %88, label %343, label %.loopexit1158

343:                                              ; preds = %.loopexit1159
  store i32 %.pre1297, ptr %32, align 4, !tbaa !5
  %invariant.gep1174 = getelementptr i8, ptr %57, i64 8
  %.not10521176 = icmp slt i32 %.pre1297, 1
  br i1 %.not10521176, label %.loopexit1158, label %.lr.ph1179.preheader

.lr.ph1179.preheader:                             ; preds = %343
  %344 = sext i32 %55 to i64
  br label %.lr.ph1179

.lr.ph1179:                                       ; preds = %.lr.ph1179.preheader, %381
  %indvars.iv1254 = phi i64 [ 1, %.lr.ph1179.preheader ], [ %indvars.iv.next1255, %381 ]
  %345 = load float, ptr %38, align 4, !tbaa !9
  store float %345, ptr %44, align 4, !tbaa !9
  %346 = mul nsw i64 %indvars.iv1254, %344
  %gep1175 = getelementptr %struct.complex, ptr %invariant.gep1174, i64 %346
  %347 = call i32 @classq_(ptr noundef nonnull %5, ptr noundef %gep1175, ptr noundef nonnull @c__1, ptr noundef nonnull %44, ptr noundef nonnull %39) #6
  %348 = call i32 @sisnan_(ptr noundef nonnull %44) #6
  %.not1071 = icmp eq i32 %348, 0
  br i1 %.not1071, label %349, label %351

349:                                              ; preds = %.lr.ph1179
  %350 = call i32 @sisnan_(ptr noundef nonnull %39) #6
  %.not1072 = icmp eq i32 %350, 0
  br i1 %.not1072, label %353, label %351

351:                                              ; preds = %349, %.lr.ph1179
  store i32 0, ptr %13, align 4, !tbaa !5
  store i32 -10, ptr %30, align 4, !tbaa !5
  store i32 10, ptr %33, align 4, !tbaa !5
  %352 = call i32 @xerbla_(ptr noundef nonnull @.str.12, ptr noundef nonnull %33) #6
  br label %353

353:                                              ; preds = %351, %349
  %354 = load float, ptr %44, align 4, !tbaa !9
  %355 = load float, ptr %38, align 4, !tbaa !9
  %356 = fcmp une float %354, %355
  br i1 %356, label %357, label %379

357:                                              ; preds = %353
  %358 = load float, ptr %39, align 4, !tbaa !9
  %359 = fcmp une float %358, %355
  br i1 %359, label %360, label %379

360:                                              ; preds = %357
  %sqrtf = call float @sqrtf(float noundef %358) #7
  %361 = load float, ptr %44, align 4, !tbaa !9
  %362 = fdiv float %254, %sqrtf
  %363 = fcmp ult float %361, %362
  br i1 %363, label %375, label %364

364:                                              ; preds = %360
  %365 = load float, ptr %51, align 4, !tbaa !9
  %366 = fdiv float %365, %sqrtf
  store float %366, ptr %34, align 4, !tbaa !9
  %367 = call i32 @clascl_(ptr noundef nonnull @.str.13, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %44, ptr noundef nonnull %34, ptr noundef nonnull %5, ptr noundef nonnull @c__1, ptr noundef %gep1175, ptr noundef nonnull %10, ptr noundef nonnull %41) #6
  %368 = load float, ptr %44, align 4, !tbaa !9
  %369 = fneg float %368
  %370 = load i32, ptr %5, align 4, !tbaa !5
  %371 = sitofp i32 %370 to float
  %372 = fdiv float %sqrtf, %371
  %373 = fmul float %372, %369
  %374 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1254
  store float %373, ptr %374, align 4, !tbaa !9
  br label %381

375:                                              ; preds = %360
  %376 = fmul float %sqrtf, %361
  %377 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1254
  store float %376, ptr %377, align 4, !tbaa !9
  %378 = call i32 @clascl_(ptr noundef nonnull @.str.13, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %377, ptr noundef nonnull %51, ptr noundef nonnull %5, ptr noundef nonnull @c__1, ptr noundef %gep1175, ptr noundef nonnull %10, ptr noundef nonnull %41) #6
  br label %381

379:                                              ; preds = %357, %353
  %380 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1254
  store float %355, ptr %380, align 4, !tbaa !9
  br label %381

381:                                              ; preds = %379, %375, %364
  %indvars.iv.next1255 = add nuw nsw i64 %indvars.iv1254, 1
  %382 = load i32, ptr %32, align 4, !tbaa !5
  %383 = sext i32 %382 to i64
  %.not1052.not = icmp slt i64 %indvars.iv1254, %383
  br i1 %.not1052.not, label %.lr.ph1179, label %._crit_edge1180, !llvm.loop !18

._crit_edge1180:                                  ; preds = %381
  %.pre1295 = load i32, ptr %6, align 4, !tbaa !5
  store i32 %.pre1295, ptr %32, align 4, !tbaa !5
  %invariant.gep1181 = getelementptr i8, ptr %54, i64 8
  %.not10531187 = icmp slt i32 %.pre1295, 1
  br i1 %.not10531187, label %.loopexit1158, label %.lr.ph1192.preheader

.lr.ph1192.preheader:                             ; preds = %._crit_edge1180
  %384 = sext i32 %52 to i64
  br label %.lr.ph1192

.lr.ph1192:                                       ; preds = %.lr.ph1192.preheader, %415
  %indvars.iv1257 = phi i64 [ 1, %.lr.ph1192.preheader ], [ %indvars.iv.next1258, %415 ]
  %.39441188 = phi i32 [ %.2943, %.lr.ph1192.preheader ], [ %.4945, %415 ]
  %385 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1257
  %386 = load float, ptr %385, align 4, !tbaa !9
  %387 = load float, ptr %38, align 4, !tbaa !9
  %388 = fcmp ogt float %386, %387
  br i1 %388, label %389, label %394

389:                                              ; preds = %.lr.ph1192
  %390 = load float, ptr %51, align 4, !tbaa !9
  %391 = fdiv float %390, %386
  store float %391, ptr %34, align 4, !tbaa !9
  %392 = mul nsw i64 %indvars.iv1257, %384
  %gep1186 = getelementptr %struct.complex, ptr %invariant.gep1181, i64 %392
  %393 = call i32 @csscal_(ptr noundef nonnull %5, ptr noundef nonnull %34, ptr noundef %gep1186, ptr noundef nonnull @c__1) #6
  br label %415

394:                                              ; preds = %.lr.ph1192
  %395 = fcmp olt float %386, %387
  br i1 %395, label %396, label %404

396:                                              ; preds = %394
  %397 = fneg float %386
  store float %397, ptr %34, align 4, !tbaa !9
  %398 = load float, ptr %51, align 4, !tbaa !9
  %399 = load i32, ptr %5, align 4, !tbaa !5
  %400 = sitofp i32 %399 to float
  %401 = fdiv float %398, %400
  store float %401, ptr %35, align 4, !tbaa !9
  %402 = mul nsw i64 %indvars.iv1257, %384
  %gep1184 = getelementptr %struct.complex, ptr %invariant.gep1181, i64 %402
  %403 = call i32 @clascl_(ptr noundef nonnull @.str.13, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %34, ptr noundef nonnull %35, ptr noundef nonnull %5, ptr noundef nonnull @c__1, ptr noundef %gep1184, ptr noundef nonnull %8, ptr noundef nonnull %41) #6
  br label %415

404:                                              ; preds = %394
  %405 = mul nsw i64 %indvars.iv1257, %384
  %gep1182 = getelementptr %struct.complex, ptr %invariant.gep1181, i64 %405
  %406 = call i32 @icamax_(ptr noundef nonnull %5, ptr noundef %gep1182, ptr noundef nonnull @c__1) #6
  %407 = sext i32 %406 to i64
  %408 = getelementptr %struct.complex, ptr %54, i64 %405
  %409 = getelementptr %struct.complex, ptr %408, i64 %407
  %410 = call <2 x float> @Cf(ptr noundef %409)
  %411 = call float @cabsf(<2 x float> noundef %410) #6
  %412 = load float, ptr %38, align 4, !tbaa !9
  %413 = fcmp une float %411, %412
  br i1 %413, label %414, label %415

414:                                              ; preds = %404
  br label %415

415:                                              ; preds = %389, %404, %414, %396
  %.4945 = phi i32 [ %.39441188, %389 ], [ %.39441188, %396 ], [ 1, %414 ], [ %.39441188, %404 ]
  %indvars.iv.next1258 = add nuw nsw i64 %indvars.iv1257, 1
  %416 = load i32, ptr %32, align 4, !tbaa !5
  %417 = sext i32 %416 to i64
  %.not1053.not = icmp slt i64 %indvars.iv1257, %417
  br i1 %.not1053.not, label %.lr.ph1192, label %.loopexit1158.loopexit, !llvm.loop !19

.loopexit1158.loopexit:                           ; preds = %415
  %.pre1296 = load i32, ptr %6, align 4, !tbaa !5
  br label %.loopexit1158

.loopexit1158:                                    ; preds = %343, %.loopexit1158.loopexit, %._crit_edge1180, %.loopexit1159
  %418 = phi i32 [ %.pre1297, %.loopexit1159 ], [ %.pre1295, %._crit_edge1180 ], [ %.pre1296, %.loopexit1158.loopexit ], [ %.pre1297, %343 ]
  %.5946 = phi i32 [ %.2943, %.loopexit1159 ], [ %.2943, %._crit_edge1180 ], [ %.4945, %.loopexit1158.loopexit ], [ %.2943, %343 ]
  store i32 %418, ptr %48, align 4, !tbaa !5
  %419 = load i32, ptr %4, align 4, !tbaa !5
  switch i32 %419, label %456 [
    i32 1, label %420
    i32 2, label %425
    i32 3, label %430
    i32 4, label %438
  ]

420:                                              ; preds = %.loopexit1158
  %421 = sext i32 %418 to i64
  %422 = getelementptr float, ptr %66, i64 %421
  %423 = getelementptr i8, ptr %422, i64 4
  %424 = call i32 @cgesvd_(ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %26, ptr noundef %18, ptr noundef nonnull %19, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %24, ptr noundef nonnull %25, ptr noundef %423, ptr noundef nonnull %40) #6
  store i8 67, ptr %47, align 1, !tbaa !13
  br label %456

425:                                              ; preds = %.loopexit1158
  %426 = sext i32 %418 to i64
  %427 = getelementptr float, ptr %66, i64 %426
  %428 = getelementptr i8, ptr %427, i64 4
  %429 = call i32 @cgesdd_(ptr noundef nonnull @.str.8, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %26, ptr noundef %18, ptr noundef nonnull %19, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %24, ptr noundef nonnull %25, ptr noundef %428, ptr noundef %28, ptr noundef nonnull %40) #6
  store i8 67, ptr %47, align 1, !tbaa !13
  br label %456

430:                                              ; preds = %.loopexit1158
  %431 = load i32, ptr %27, align 4, !tbaa !5
  %432 = sub nsw i32 %431, %418
  store i32 %432, ptr %32, align 4, !tbaa !5
  %433 = sext i32 %418 to i64
  %434 = getelementptr float, ptr %66, i64 %433
  %435 = getelementptr i8, ptr %434, i64 4
  %436 = call i32 @cgesvdq_(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str, ptr noundef nonnull @.str, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %26, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %20, ptr noundef nonnull %21, ptr noundef nonnull %48, ptr noundef %28, ptr noundef nonnull %29, ptr noundef %24, ptr noundef nonnull %25, ptr noundef %435, ptr noundef nonnull %32, ptr noundef nonnull %40) #6
  %437 = call i32 @clacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %5, ptr noundef nonnull %48, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %7, ptr noundef nonnull %8) #6
  store i8 67, ptr %47, align 1, !tbaa !13
  br label %456

438:                                              ; preds = %.loopexit1158
  %439 = load i32, ptr %27, align 4, !tbaa !5
  %440 = sub nsw i32 %439, %418
  store i32 %440, ptr %32, align 4, !tbaa !5
  %441 = sext i32 %418 to i64
  %442 = getelementptr float, ptr %66, i64 %441
  %443 = getelementptr i8, ptr %442, i64 4
  %444 = call i32 @cgejsv_(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.11, ptr noundef nonnull %49, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.10, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %26, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %24, ptr noundef nonnull %25, ptr noundef %443, ptr noundef nonnull %32, ptr noundef %28, ptr noundef nonnull %40) #6
  %445 = call i32 @clacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %7, ptr noundef nonnull %8) #6
  store i8 78, ptr %47, align 1, !tbaa !13
  %446 = load i32, ptr %6, align 4, !tbaa !5
  %447 = sext i32 %446 to i64
  %448 = getelementptr float, ptr %66, i64 %447
  %449 = getelementptr i8, ptr %448, i64 4
  %450 = load float, ptr %449, align 4, !tbaa !9
  store float %450, ptr %42, align 4, !tbaa !9
  %451 = getelementptr i8, ptr %448, i64 8
  %452 = load float, ptr %451, align 4, !tbaa !9
  store float %452, ptr %43, align 4, !tbaa !9
  %453 = fcmp une float %450, %452
  br i1 %453, label %454, label %456

454:                                              ; preds = %438
  %455 = call i32 @clascl_(ptr noundef nonnull @.str.13, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %42, ptr noundef nonnull %43, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %41) #6
  br label %456

456:                                              ; preds = %.loopexit1158, %425, %454, %438, %430, %420
  %457 = load i32, ptr %40, align 4, !tbaa !5
  %458 = icmp sgt i32 %457, 0
  br i1 %458, label %459, label %460

459:                                              ; preds = %456
  store i32 2, ptr %30, align 4, !tbaa !5
  br label %682

460:                                              ; preds = %456
  %461 = load float, ptr %26, align 4, !tbaa !9
  %462 = load float, ptr %38, align 4, !tbaa !9
  %463 = fcmp oeq float %461, %462
  br i1 %463, label %464, label %466

464:                                              ; preds = %460
  store i32 0, ptr %13, align 4, !tbaa !5
  store i32 -8, ptr %30, align 4, !tbaa !5
  store i32 8, ptr %32, align 4, !tbaa !5
  %465 = call i32 @xerbla_(ptr noundef nonnull @.str.12, ptr noundef nonnull %32) #6
  br label %682

466:                                              ; preds = %460
  %467 = load i32, ptr %11, align 4, !tbaa !5
  store i32 1, ptr %13, align 4, !tbaa !5
  switch i32 %467, label %495 [
    i32 -1, label %468
    i32 -2, label %481
  ]

468:                                              ; preds = %466
  %469 = load i32, ptr %48, align 4, !tbaa !5
  store i32 %469, ptr %32, align 4, !tbaa !5
  %.not10561199 = icmp slt i32 %469, 2
  br i1 %.not10561199, label %.loopexit1155, label %.lr.ph1202

.lr.ph1202:                                       ; preds = %468
  %470 = load float, ptr %12, align 4, !tbaa !9
  %471 = fmul float %461, %470
  %472 = add nuw i32 %469, 1
  %wide.trip.count1266 = zext i32 %472 to i64
  br label %473

473:                                              ; preds = %.lr.ph1202, %479
  %474 = phi i32 [ 1, %.lr.ph1202 ], [ %480, %479 ]
  %indvars.iv1263 = phi i64 [ 2, %.lr.ph1202 ], [ %indvars.iv.next1264, %479 ]
  %475 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1263
  %476 = load float, ptr %475, align 4, !tbaa !9
  %477 = fcmp ugt float %476, %471
  %478 = fcmp ugt float %476, %255
  %or.cond1086 = select i1 %477, i1 %478, i1 false
  br i1 %or.cond1086, label %479, label %.loopexit1155

479:                                              ; preds = %473
  %480 = add nuw nsw i32 %474, 1
  store i32 %480, ptr %13, align 4, !tbaa !5
  %indvars.iv.next1264 = add nuw nsw i64 %indvars.iv1263, 1
  %exitcond1267.not = icmp eq i64 %indvars.iv.next1264, %wide.trip.count1266
  br i1 %exitcond1267.not, label %.loopexit1155, label %473, !llvm.loop !20

481:                                              ; preds = %466
  %482 = load i32, ptr %48, align 4, !tbaa !5
  %483 = add nsw i32 %482, -1
  store i32 %483, ptr %32, align 4, !tbaa !5
  %.not1055.not1194 = icmp sgt i32 %482, 1
  br i1 %.not1055.not1194, label %.lr.ph1197, label %.loopexit1155

.lr.ph1197:                                       ; preds = %481
  %484 = load float, ptr %12, align 4, !tbaa !9
  %wide.trip.count = zext nneg i32 %482 to i64
  br label %485

485:                                              ; preds = %.lr.ph1197, %493
  %486 = phi i32 [ 1, %.lr.ph1197 ], [ %494, %493 ]
  %487 = phi float [ %461, %.lr.ph1197 ], [ %489, %493 ]
  %indvars.iv1260 = phi i64 [ 1, %.lr.ph1197 ], [ %indvars.iv.next1261, %493 ]
  %488 = getelementptr float, ptr %26, i64 %indvars.iv1260
  %489 = load float, ptr %488, align 4, !tbaa !9
  %490 = fmul float %487, %484
  %491 = fcmp ugt float %489, %490
  %492 = fcmp ugt float %487, %255
  %or.cond1088 = select i1 %491, i1 %492, i1 false
  br i1 %or.cond1088, label %493, label %.loopexit1155

493:                                              ; preds = %485
  %indvars.iv.next1261 = add nuw nsw i64 %indvars.iv1260, 1
  %494 = add nuw nsw i32 %486, 1
  store i32 %494, ptr %13, align 4, !tbaa !5
  %exitcond.not = icmp eq i64 %indvars.iv.next1261, %wide.trip.count
  br i1 %exitcond.not, label %.loopexit1155, label %485, !llvm.loop !21

495:                                              ; preds = %466
  %496 = load i32, ptr %11, align 4, !tbaa !5
  store i32 %496, ptr %32, align 4, !tbaa !5
  %.not10541204 = icmp slt i32 %496, 2
  br i1 %.not10541204, label %.loopexit1155, label %.lr.ph1207.preheader

.lr.ph1207.preheader:                             ; preds = %495
  %497 = add nuw i32 %496, 1
  %wide.trip.count1271 = zext i32 %497 to i64
  br label %.lr.ph1207

.lr.ph1207:                                       ; preds = %.lr.ph1207.preheader, %502
  %498 = phi i32 [ 1, %.lr.ph1207.preheader ], [ %503, %502 ]
  %indvars.iv1268 = phi i64 [ 2, %.lr.ph1207.preheader ], [ %indvars.iv.next1269, %502 ]
  %499 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1268
  %500 = load float, ptr %499, align 4, !tbaa !9
  %501 = fcmp ugt float %500, %255
  br i1 %501, label %502, label %.loopexit1155

502:                                              ; preds = %.lr.ph1207
  %503 = add nuw nsw i32 %498, 1
  store i32 %503, ptr %13, align 4, !tbaa !5
  %indvars.iv.next1269 = add nuw nsw i64 %indvars.iv1268, 1
  %exitcond1272.not = icmp eq i64 %indvars.iv.next1269, %wide.trip.count1271
  br i1 %exitcond1272.not, label %.loopexit1155, label %.lr.ph1207, !llvm.loop !22

.loopexit1155:                                    ; preds = %493, %485, %473, %479, %502, %.lr.ph1207, %481, %468, %495
  %504 = call i32 @lsame_(ptr noundef nonnull %47, ptr noundef nonnull @.str.6) #6
  %.not1057 = icmp eq i32 %504, 0
  %505 = load i32, ptr %13, align 4, !tbaa !5
  br i1 %.not1057, label %516, label %506

506:                                              ; preds = %.loopexit1155
  store i32 %505, ptr %32, align 4, !tbaa !5
  %invariant.gep1209 = getelementptr i8, ptr %65, i64 8
  %.not10611211 = icmp slt i32 %505, 1
  br i1 %.not10611211, label %.loopexit1154, label %.lr.ph1214.preheader

.lr.ph1214.preheader:                             ; preds = %506
  %507 = sext i32 %63 to i64
  br label %.lr.ph1214

.lr.ph1214:                                       ; preds = %.lr.ph1214.preheader, %.lr.ph1214
  %indvars.iv1273 = phi i64 [ 1, %.lr.ph1214.preheader ], [ %indvars.iv.next1274, %.lr.ph1214 ]
  %508 = load float, ptr %51, align 4, !tbaa !9
  %509 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1273
  %510 = load float, ptr %509, align 4, !tbaa !9
  %511 = fdiv float %508, %510
  store float %511, ptr %34, align 4, !tbaa !9
  %512 = mul nsw i64 %indvars.iv1273, %507
  %gep1210 = getelementptr %struct.complex, ptr %invariant.gep1209, i64 %512
  %513 = call i32 @csscal_(ptr noundef nonnull %6, ptr noundef nonnull %34, ptr noundef %gep1210, ptr noundef nonnull @c__1) #6
  %indvars.iv.next1274 = add nuw nsw i64 %indvars.iv1273, 1
  %514 = load i32, ptr %32, align 4, !tbaa !5
  %515 = sext i32 %514 to i64
  %.not1061.not = icmp slt i64 %indvars.iv1273, %515
  br i1 %.not1061.not, label %.lr.ph1214, label %.loopexit1154, !llvm.loop !23

516:                                              ; preds = %.loopexit1155
  %.not10581215 = icmp slt i32 %505, 1
  %.pre1299 = load i32, ptr %6, align 4, !tbaa !5
  br i1 %.not10581215, label %._crit_edge1219.thread, label %.lr.ph1218

.lr.ph1218:                                       ; preds = %516
  %517 = load float, ptr %51, align 4, !tbaa !9
  %518 = sext i32 %.pre1299 to i64
  %519 = add nuw i32 %505, 1
  %wide.trip.count1279 = zext i32 %519 to i64
  %invariant.gep1309 = getelementptr float, ptr %66, i64 %518
  %520 = zext nneg i32 %505 to i64
  %min.iters.check = icmp ult i32 %505, 4
  %521 = and i64 %518, 4611686018427387900
  %diff.check = icmp eq i64 %521, 0
  %or.cond1341 = select i1 %min.iters.check, i1 true, i1 %diff.check
  br i1 %or.cond1341, label %scalar.ph.preheader, label %vector.ph

vector.ph:                                        ; preds = %.lr.ph1218
  %n.vec = and i64 %520, 2147483644
  %ind.end = or disjoint i64 %n.vec, 1
  %broadcast.splatinsert = insertelement <4 x float> poison, float %517, i64 0
  %broadcast.splat = shufflevector <4 x float> %broadcast.splatinsert, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %offset.idx = or disjoint i64 %index, 1
  %522 = getelementptr float, ptr %26, i64 %index
  %wide.load = load <4 x float>, ptr %522, align 4, !tbaa !9
  %523 = fdiv <4 x float> %broadcast.splat, %wide.load
  %524 = getelementptr float, ptr %invariant.gep1309, i64 %offset.idx
  store <4 x float> %523, ptr %524, align 4, !tbaa !9
  %index.next = add nuw i64 %index, 4
  %525 = icmp eq i64 %index.next, %n.vec
  br i1 %525, label %middle.block, label %vector.body, !llvm.loop !24

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %n.vec, %520
  br i1 %cmp.n, label %._crit_edge1219, label %scalar.ph.preheader

scalar.ph.preheader:                              ; preds = %middle.block, %.lr.ph1218
  %indvars.iv1276.ph = phi i64 [ 1, %.lr.ph1218 ], [ %ind.end, %middle.block ]
  %526 = sub nsw i64 %wide.trip.count1279, %indvars.iv1276.ph
  %527 = zext nneg i32 %505 to i64
  %528 = sub nsw i64 %527, %indvars.iv1276.ph
  %xtraiter = and i64 %526, 3
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %scalar.ph.prol.loopexit, label %scalar.ph.prol

scalar.ph.prol:                                   ; preds = %scalar.ph.preheader, %scalar.ph.prol
  %indvars.iv1276.prol = phi i64 [ %indvars.iv.next1277.prol, %scalar.ph.prol ], [ %indvars.iv1276.ph, %scalar.ph.preheader ]
  %prol.iter = phi i64 [ %prol.iter.next, %scalar.ph.prol ], [ 0, %scalar.ph.preheader ]
  %529 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1276.prol
  %530 = load float, ptr %529, align 4, !tbaa !9
  %531 = fdiv float %517, %530
  %gep1310.prol = getelementptr float, ptr %invariant.gep1309, i64 %indvars.iv1276.prol
  store float %531, ptr %gep1310.prol, align 4, !tbaa !9
  %indvars.iv.next1277.prol = add nuw nsw i64 %indvars.iv1276.prol, 1
  %prol.iter.next = add i64 %prol.iter, 1
  %prol.iter.cmp.not = icmp eq i64 %prol.iter.next, %xtraiter
  br i1 %prol.iter.cmp.not, label %scalar.ph.prol.loopexit, label %scalar.ph.prol, !llvm.loop !27

scalar.ph.prol.loopexit:                          ; preds = %scalar.ph.prol, %scalar.ph.preheader
  %indvars.iv1276.unr = phi i64 [ %indvars.iv1276.ph, %scalar.ph.preheader ], [ %indvars.iv.next1277.prol, %scalar.ph.prol ]
  %532 = icmp ult i64 %528, 3
  br i1 %532, label %._crit_edge1219, label %scalar.ph.preheader.new

scalar.ph.preheader.new:                          ; preds = %scalar.ph.prol.loopexit
  %invariant.gep1353 = getelementptr i8, ptr %invariant.gep1309, i64 4
  br label %scalar.ph

scalar.ph:                                        ; preds = %scalar.ph, %scalar.ph.preheader.new
  %indvars.iv1276 = phi i64 [ %indvars.iv1276.unr, %scalar.ph.preheader.new ], [ %indvars.iv.next1277.3, %scalar.ph ]
  %533 = getelementptr inbounds float, ptr %66, i64 %indvars.iv1276
  %534 = load float, ptr %533, align 4, !tbaa !9
  %535 = fdiv float %517, %534
  %gep1310 = getelementptr float, ptr %invariant.gep1309, i64 %indvars.iv1276
  store float %535, ptr %gep1310, align 4, !tbaa !9
  %536 = getelementptr float, ptr %26, i64 %indvars.iv1276
  %537 = load float, ptr %536, align 4, !tbaa !9
  %538 = fdiv float %517, %537
  %gep1354 = getelementptr float, ptr %invariant.gep1353, i64 %indvars.iv1276
  store float %538, ptr %gep1354, align 4, !tbaa !9
  %indvars.iv.next1277.1 = add nuw nsw i64 %indvars.iv1276, 2
  %539 = getelementptr inbounds float, ptr %66, i64 %indvars.iv.next1277.1
  %540 = load float, ptr %539, align 4, !tbaa !9
  %541 = fdiv float %517, %540
  %gep1310.2 = getelementptr float, ptr %invariant.gep1309, i64 %indvars.iv.next1277.1
  store float %541, ptr %gep1310.2, align 4, !tbaa !9
  %indvars.iv.next1277.2 = add nuw nsw i64 %indvars.iv1276, 3
  %542 = getelementptr inbounds float, ptr %66, i64 %indvars.iv.next1277.2
  %543 = load float, ptr %542, align 4, !tbaa !9
  %544 = fdiv float %517, %543
  %gep1310.3 = getelementptr float, ptr %invariant.gep1309, i64 %indvars.iv.next1277.2
  store float %544, ptr %gep1310.3, align 4, !tbaa !9
  %indvars.iv.next1277.3 = add nuw nsw i64 %indvars.iv1276, 4
  %exitcond1280.not.3 = icmp eq i64 %indvars.iv.next1277.3, %wide.trip.count1279
  br i1 %exitcond1280.not.3, label %._crit_edge1219, label %scalar.ph, !llvm.loop !29

._crit_edge1219:                                  ; preds = %scalar.ph.prol.loopexit, %scalar.ph, %middle.block
  store i32 %.pre1299, ptr %32, align 4, !tbaa !5
  %.not10591229 = icmp slt i32 %.pre1299, 1
  br i1 %.not10591229, label %.loopexit1153, label %.lr.ph1233

._crit_edge1219.thread:                           ; preds = %516
  store i32 %.pre1299, ptr %32, align 4, !tbaa !5
  %.not105912291305 = icmp slt i32 %.pre1299, 1
  br i1 %.not105912291305, label %.loopexit1153, label %.lr.ph1233.thread

.lr.ph1233.thread:                                ; preds = %._crit_edge1219.thread
  %545 = getelementptr inbounds i8, ptr %36, i64 4
  br label %..loopexit1153_crit_edge

.lr.ph1233:                                       ; preds = %._crit_edge1219
  %546 = load float, ptr %38, align 4
  %547 = fneg float %546
  %548 = getelementptr inbounds i8, ptr %36, i64 4
  br i1 %.not10581215, label %..loopexit1153_crit_edge, label %.lr.ph1223.preheader

.lr.ph1223.preheader:                             ; preds = %.lr.ph1233
  %549 = zext nneg i32 %.pre1299 to i64
  %550 = add nuw i32 %505, 1
  %551 = sext i32 %63 to i64
  %552 = add nuw i32 %.pre1299, 1
  %wide.trip.count1289 = zext i32 %552 to i64
  %wide.trip.count1284 = zext i32 %550 to i64
  %invariant.gep1311 = getelementptr inbounds float, ptr %66, i64 %549
  %553 = shl nsw i64 %551, 3
  %554 = shl nsw i64 %64, 3
  %555 = getelementptr i8, ptr %20, i64 %553
  %556 = getelementptr i8, ptr %555, i64 %554
  %scevgep = getelementptr i8, ptr %556, i64 8
  %557 = shl nuw nsw i64 %wide.trip.count1289, 3
  %558 = add nsw i64 %557, -8
  %559 = mul i64 %558, %551
  %560 = shl nuw nsw i64 %wide.trip.count1279, 3
  %561 = getelementptr i8, ptr %20, i64 %559
  %562 = getelementptr i8, ptr %561, i64 %554
  %scevgep1319 = getelementptr i8, ptr %562, i64 %560
  %563 = shl nuw nsw i64 %549, 2
  %scevgep1320 = getelementptr i8, ptr %26, i64 %563
  %564 = add nuw nsw i64 %549, %wide.trip.count1279
  %565 = shl nuw nsw i64 %564, 2
  %566 = getelementptr i8, ptr %26, i64 %565
  %scevgep1321 = getelementptr i8, ptr %566, i64 -4
  %567 = zext nneg i32 %505 to i64
  %568 = zext nneg i32 %505 to i64
  %min.iters.check1324 = icmp ult i32 %505, 4
  %bound0 = icmp ult ptr %scevgep, %scevgep1321
  %bound1 = icmp ult ptr %scevgep1320, %scevgep1319
  %found.conflict = and i1 %bound0, %bound1
  %stride.check = icmp slt i32 %63, 0
  %569 = or i1 %found.conflict, %stride.check
  %n.vec1327 = and i64 %567, 2147483644
  %ind.end1328 = or disjoint i64 %n.vec1327, 1
  %broadcast.splatinsert1335 = insertelement <4 x float> poison, float %547, i64 0
  %broadcast.splat1336 = shufflevector <4 x float> %broadcast.splatinsert1335, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert1337 = insertelement <4 x float> poison, float %546, i64 0
  %broadcast.splat1338 = shufflevector <4 x float> %broadcast.splatinsert1337, <4 x float> poison, <4 x i32> zeroinitializer
  %cmp.n1340 = icmp eq i64 %n.vec1327, %567
  %570 = and i32 %505, 1
  %lcmp.mod1348.not = icmp eq i32 %570, 0
  %571 = insertelement <2 x float> poison, float %546, i64 0
  %572 = insertelement <2 x float> %571, float %547, i64 1
  %573 = insertelement <2 x float> poison, float %546, i64 0
  %574 = insertelement <2 x float> %573, float %547, i64 1
  %575 = insertelement <2 x float> poison, float %546, i64 0
  %576 = insertelement <2 x float> %575, float %547, i64 1
  br label %.lr.ph1223

.lr.ph1223:                                       ; preds = %.lr.ph1223.preheader, %._crit_edge1224
  %indvars.iv1286 = phi i64 [ 1, %.lr.ph1223.preheader ], [ %indvars.iv.next1287, %._crit_edge1224 ]
  %577 = mul nsw i64 %indvars.iv1286, %551
  %invariant.gep1313 = getelementptr %struct.complex, ptr %65, i64 %577
  %brmerge = select i1 %min.iters.check1324, i1 true, i1 %569
  br i1 %brmerge, label %scalar.ph1323.preheader, label %vector.body1330

vector.body1330:                                  ; preds = %.lr.ph1223, %vector.body1330
  %index1331 = phi i64 [ %index.next1339, %vector.body1330 ], [ 0, %.lr.ph1223 ]
  %offset.idx1332 = or disjoint i64 %index1331, 1
  %578 = getelementptr inbounds float, ptr %invariant.gep1311, i64 %offset.idx1332
  %wide.load1333 = load <4 x float>, ptr %578, align 4, !tbaa !9, !alias.scope !30
  %579 = getelementptr %struct.complex, ptr %invariant.gep1313, i64 %offset.idx1332
  %wide.vec = load <8 x float>, ptr %579, align 4, !tbaa !9
  %strided.vec = shufflevector <8 x float> %wide.vec, <8 x float> poison, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
  %strided.vec1334 = shufflevector <8 x float> %wide.vec, <8 x float> poison, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
  %580 = fmul <4 x float> %strided.vec1334, %broadcast.splat1336
  %581 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %wide.load1333, <4 x float> %strided.vec, <4 x float> %580)
  %582 = fmul <4 x float> %broadcast.splat1338, %strided.vec
  %583 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %wide.load1333, <4 x float> %strided.vec1334, <4 x float> %582)
  %interleaved.vec = shufflevector <4 x float> %581, <4 x float> %583, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec, ptr %579, align 4, !tbaa !9
  %index.next1339 = add nuw i64 %index1331, 4
  %584 = icmp eq i64 %index.next1339, %n.vec1327
  br i1 %584, label %middle.block1322, label %vector.body1330, !llvm.loop !33

middle.block1322:                                 ; preds = %vector.body1330
  %585 = shufflevector <4 x float> %581, <4 x float> %583, <2 x i32> <i32 3, i32 7>
  br i1 %cmp.n1340, label %._crit_edge1224, label %scalar.ph1323.preheader

scalar.ph1323.preheader:                          ; preds = %.lr.ph1223, %middle.block1322
  %indvars.iv1281.ph = phi i64 [ 1, %.lr.ph1223 ], [ %ind.end1328, %middle.block1322 ]
  br i1 %lcmp.mod1348.not, label %scalar.ph1323.prol.loopexit, label %scalar.ph1323.prol

scalar.ph1323.prol:                               ; preds = %scalar.ph1323.preheader
  %gep1312.prol = getelementptr inbounds float, ptr %invariant.gep1311, i64 %indvars.iv1281.ph
  %586 = load float, ptr %gep1312.prol, align 4, !tbaa !9
  %gep1314.prol = getelementptr %struct.complex, ptr %invariant.gep1313, i64 %indvars.iv1281.ph
  %587 = load <2 x float>, ptr %gep1314.prol, align 4, !tbaa !9
  %588 = fmul <2 x float> %572, %587
  %589 = shufflevector <2 x float> %588, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %590 = insertelement <2 x float> poison, float %586, i64 0
  %591 = shufflevector <2 x float> %590, <2 x float> poison, <2 x i32> zeroinitializer
  %592 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %591, <2 x float> %587, <2 x float> %589)
  store <2 x float> %592, ptr %gep1314.prol, align 4, !tbaa !9
  %indvars.iv.next1282.prol = add nuw nsw i64 %indvars.iv1281.ph, 1
  br label %scalar.ph1323.prol.loopexit

scalar.ph1323.prol.loopexit:                      ; preds = %scalar.ph1323.prol, %scalar.ph1323.preheader
  %.lcssa1343.unr = phi <2 x float> [ poison, %scalar.ph1323.preheader ], [ %592, %scalar.ph1323.prol ]
  %indvars.iv1281.unr = phi i64 [ %indvars.iv1281.ph, %scalar.ph1323.preheader ], [ %indvars.iv.next1282.prol, %scalar.ph1323.prol ]
  %593 = icmp eq i64 %indvars.iv1281.ph, %568
  br i1 %593, label %._crit_edge1224, label %scalar.ph1323

scalar.ph1323:                                    ; preds = %scalar.ph1323.prol.loopexit, %scalar.ph1323
  %indvars.iv1281 = phi i64 [ %indvars.iv.next1282.1, %scalar.ph1323 ], [ %indvars.iv1281.unr, %scalar.ph1323.prol.loopexit ]
  %gep1312 = getelementptr inbounds float, ptr %invariant.gep1311, i64 %indvars.iv1281
  %594 = load float, ptr %gep1312, align 4, !tbaa !9
  %gep1314 = getelementptr %struct.complex, ptr %invariant.gep1313, i64 %indvars.iv1281
  %595 = load <2 x float>, ptr %gep1314, align 4, !tbaa !9
  %596 = fmul <2 x float> %574, %595
  %597 = shufflevector <2 x float> %596, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %598 = insertelement <2 x float> poison, float %594, i64 0
  %599 = shufflevector <2 x float> %598, <2 x float> poison, <2 x i32> zeroinitializer
  %600 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %599, <2 x float> %595, <2 x float> %597)
  store <2 x float> %600, ptr %gep1314, align 4, !tbaa !9
  %indvars.iv.next1282 = add nuw nsw i64 %indvars.iv1281, 1
  %gep1312.1 = getelementptr inbounds float, ptr %invariant.gep1311, i64 %indvars.iv.next1282
  %601 = load float, ptr %gep1312.1, align 4, !tbaa !9
  %gep1314.1 = getelementptr %struct.complex, ptr %invariant.gep1313, i64 %indvars.iv.next1282
  %602 = load <2 x float>, ptr %gep1314.1, align 4, !tbaa !9
  %603 = fmul <2 x float> %576, %602
  %604 = shufflevector <2 x float> %603, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %605 = insertelement <2 x float> poison, float %601, i64 0
  %606 = shufflevector <2 x float> %605, <2 x float> poison, <2 x i32> zeroinitializer
  %607 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %606, <2 x float> %602, <2 x float> %604)
  store <2 x float> %607, ptr %gep1314.1, align 4, !tbaa !9
  %indvars.iv.next1282.1 = add nuw nsw i64 %indvars.iv1281, 2
  %exitcond1285.not.1 = icmp eq i64 %indvars.iv.next1282.1, %wide.trip.count1284
  br i1 %exitcond1285.not.1, label %._crit_edge1224, label %scalar.ph1323, !llvm.loop !34

._crit_edge1224:                                  ; preds = %scalar.ph1323.prol.loopexit, %scalar.ph1323, %middle.block1322
  %608 = phi <2 x float> [ %585, %middle.block1322 ], [ %.lcssa1343.unr, %scalar.ph1323.prol.loopexit ], [ %607, %scalar.ph1323 ]
  %indvars.iv.next1287 = add nuw nsw i64 %indvars.iv1286, 1
  %exitcond1290.not = icmp eq i64 %indvars.iv.next1287, %wide.trip.count1289
  br i1 %exitcond1290.not, label %..loopexit1153_crit_edge, label %.lr.ph1223, !llvm.loop !35

..loopexit1153_crit_edge:                         ; preds = %._crit_edge1224, %.lr.ph1233, %.lr.ph1233.thread
  %609 = phi ptr [ %545, %.lr.ph1233.thread ], [ %548, %.lr.ph1233 ], [ %548, %._crit_edge1224 ]
  %610 = phi <2 x float> [ undef, %.lr.ph1233.thread ], [ undef, %.lr.ph1233 ], [ %608, %._crit_edge1224 ]
  store i32 %505, ptr %33, align 4, !tbaa !5
  %611 = extractelement <2 x float> %610, i64 1
  store float %611, ptr %609, align 1, !tbaa !14
  %612 = extractelement <2 x float> %610, i64 0
  br label %.loopexit1153

.loopexit1153:                                    ; preds = %._crit_edge1219.thread, %..loopexit1153_crit_edge, %._crit_edge1219
  %.lcssa1228.lcssa = phi float [ %612, %..loopexit1153_crit_edge ], [ undef, %._crit_edge1219 ], [ undef, %._crit_edge1219.thread ]
  store float %.lcssa1228.lcssa, ptr %36, align 8, !tbaa !11
  br label %.loopexit1154

.loopexit1154:                                    ; preds = %.lr.ph1214, %506, %.loopexit1153
  %.not1062 = icmp eq i32 %76, 0
  br i1 %.not1062, label %617, label %613

613:                                              ; preds = %.loopexit1154
  %614 = call i32 @cgemm_(ptr noundef nonnull @.str.6, ptr noundef nonnull %47, ptr noundef nonnull %5, ptr noundef nonnull %13, ptr noundef nonnull %6, ptr noundef nonnull %37, ptr noundef %9, ptr noundef nonnull %10, ptr noundef %20, ptr noundef nonnull %21, ptr noundef nonnull %46, ptr noundef %15, ptr noundef nonnull %16) #6
  %615 = call i32 @clacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %5, ptr noundef nonnull %13, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %18, ptr noundef nonnull %19) #6
  %616 = call i32 @cgemm_(ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.6, ptr noundef nonnull %13, ptr noundef nonnull %13, ptr noundef nonnull %5, ptr noundef nonnull %37, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %15, ptr noundef nonnull %16, ptr noundef nonnull %46, ptr noundef %22, ptr noundef nonnull %23) #6
  br label %627

617:                                              ; preds = %.loopexit1154
  %618 = call i32 @cgemm_(ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.6, ptr noundef nonnull %13, ptr noundef nonnull %6, ptr noundef nonnull %5, ptr noundef nonnull %37, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %46, ptr noundef %15, ptr noundef nonnull %16) #6
  %619 = call i32 @cgemm_(ptr noundef nonnull @.str.6, ptr noundef nonnull %47, ptr noundef nonnull %13, ptr noundef nonnull %13, ptr noundef nonnull %6, ptr noundef nonnull %37, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %20, ptr noundef nonnull %21, ptr noundef nonnull %46, ptr noundef %22, ptr noundef nonnull %23) #6
  %620 = icmp ne i32 %67, 0
  %or.cond17 = select i1 %620, i1 true, i1 %100
  br i1 %or.cond17, label %621, label %627

621:                                              ; preds = %617
  %622 = call i32 @lsame_(ptr noundef nonnull %47, ptr noundef nonnull @.str.6) #6
  %.not1063 = icmp eq i32 %622, 0
  br i1 %.not1063, label %625, label %623

623:                                              ; preds = %621
  %624 = call i32 @clacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %6, ptr noundef nonnull %13, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %15, ptr noundef nonnull %16) #6
  br label %627

625:                                              ; preds = %621
  %626 = call i32 @clacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %13, ptr noundef nonnull %6, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %15, ptr noundef nonnull %16) #6
  br label %627

627:                                              ; preds = %617, %625, %623, %613
  %628 = load i32, ptr %6, align 4, !tbaa !5
  %629 = sext i32 %628 to i64
  %630 = getelementptr float, ptr %66, i64 %629
  %631 = getelementptr i8, ptr %630, i64 4
  %632 = call i32 @cgeev_(ptr noundef nonnull @.str.6, ptr noundef nonnull %45, ptr noundef nonnull %13, ptr noundef %22, ptr noundef nonnull %23, ptr noundef %14, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %20, ptr noundef nonnull %21, ptr noundef %24, ptr noundef nonnull %25, ptr noundef %631, ptr noundef nonnull %40) #6
  %633 = load i32, ptr %40, align 4, !tbaa !5
  %634 = icmp sgt i32 %633, 0
  br i1 %634, label %635, label %636

635:                                              ; preds = %627
  store i32 3, ptr %30, align 4, !tbaa !5
  br label %682

636:                                              ; preds = %627
  br i1 %or.cond9, label %637, label %.loopexit

637:                                              ; preds = %636
  %.not1064 = icmp eq i32 %67, 0
  br i1 %.not1064, label %647, label %638

638:                                              ; preds = %637
  br i1 %.not1062, label %641, label %639

639:                                              ; preds = %638
  %640 = call i32 @cgemm_(ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.6, ptr noundef nonnull %5, ptr noundef nonnull %13, ptr noundef nonnull %13, ptr noundef nonnull %37, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %20, ptr noundef nonnull %21, ptr noundef nonnull %46, ptr noundef %9, ptr noundef nonnull %10) #6
  br label %651

641:                                              ; preds = %638
  %642 = call i32 @cgemm_(ptr noundef nonnull %47, ptr noundef nonnull @.str.6, ptr noundef nonnull %6, ptr noundef nonnull %13, ptr noundef nonnull %13, ptr noundef nonnull %37, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %20, ptr noundef nonnull %21, ptr noundef nonnull %46, ptr noundef %22, ptr noundef nonnull %23) #6
  %643 = call i32 @cgemm_(ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.6, ptr noundef nonnull %5, ptr noundef nonnull %13, ptr noundef nonnull %6, ptr noundef nonnull %37, ptr noundef %9, ptr noundef nonnull %10, ptr noundef %22, ptr noundef nonnull %23, ptr noundef nonnull %46, ptr noundef %15, ptr noundef nonnull %16) #6
  %644 = call i32 @clacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %5, ptr noundef nonnull %13, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %9, ptr noundef nonnull %10) #6
  br i1 %100, label %645, label %651

645:                                              ; preds = %641
  %646 = call i32 @clacpy_(ptr noundef nonnull @.str.14, ptr noundef nonnull %5, ptr noundef nonnull %13, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %18, ptr noundef %19) #6
  br label %651

647:                                              ; preds = %637
  br i1 %100, label %648, label %651

648:                                              ; preds = %647
  %649 = call i32 @cgemm_(ptr noundef nonnull %47, ptr noundef nonnull @.str.6, ptr noundef nonnull %6, ptr noundef nonnull %13, ptr noundef nonnull %13, ptr noundef nonnull %37, ptr noundef %15, ptr noundef nonnull %16, ptr noundef %20, ptr noundef nonnull %21, ptr noundef nonnull %46, ptr noundef %22, ptr noundef nonnull %23) #6
  %650 = call i32 @cgemm_(ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.6, ptr noundef nonnull %5, ptr noundef nonnull %13, ptr noundef nonnull %6, ptr noundef nonnull %37, ptr noundef %9, ptr noundef nonnull %10, ptr noundef %22, ptr noundef nonnull %23, ptr noundef nonnull %46, ptr noundef %18, ptr noundef nonnull %19) #6
  br label %651

651:                                              ; preds = %647, %648, %639, %645, %641
  br i1 %221, label %652, label %654

652:                                              ; preds = %651
  %653 = call i32 @cgemm_(ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.6, ptr noundef nonnull %5, ptr noundef nonnull %13, ptr noundef nonnull %13, ptr noundef nonnull %37, ptr noundef %7, ptr noundef nonnull %8, ptr noundef %20, ptr noundef nonnull %21, ptr noundef nonnull %46, ptr noundef %15, ptr noundef nonnull %16) #6
  br label %654

654:                                              ; preds = %652, %651
  br i1 %.not1064, label %.loopexit, label %655

655:                                              ; preds = %654
  %656 = load i32, ptr %13, align 4, !tbaa !5
  store i32 %656, ptr %32, align 4, !tbaa !5
  %invariant.gep1238 = getelementptr i8, ptr %61, i64 8
  %invariant.gep1240 = getelementptr i8, ptr %57, i64 8
  %.not10681242 = icmp slt i32 %656, 1
  br i1 %.not10681242, label %.loopexit, label %.lr.ph1245

.lr.ph1245:                                       ; preds = %655
  %657 = sext i32 %59 to i64
  %658 = sext i32 %55 to i64
  br label %659

659:                                              ; preds = %.lr.ph1245, %659
  %indvars.iv1291 = phi i64 [ 1, %.lr.ph1245 ], [ %indvars.iv.next1292, %659 ]
  %660 = trunc nuw nsw i64 %indvars.iv1291 to i32
  store i32 %660, ptr %33, align 4, !tbaa !5
  %661 = getelementptr inbounds %struct.complex, ptr %58, i64 %indvars.iv1291
  %662 = load <2 x float>, ptr %661, align 4, !tbaa !9
  %663 = fneg <2 x float> %662
  store <2 x float> %663, ptr %36, align 8, !tbaa !9
  %664 = mul nsw i64 %indvars.iv1291, %657
  %gep1239 = getelementptr %struct.complex, ptr %invariant.gep1238, i64 %664
  %665 = mul nsw i64 %indvars.iv1291, %658
  %gep1241 = getelementptr %struct.complex, ptr %invariant.gep1240, i64 %665
  %666 = call i32 @caxpy_(ptr noundef nonnull %5, ptr noundef nonnull %36, ptr noundef %gep1239, ptr noundef nonnull @c__1, ptr noundef %gep1241, ptr noundef nonnull @c__1) #6
  %667 = call float @scnrm2_(ptr noundef nonnull %5, ptr noundef %gep1241, ptr noundef nonnull @c__1) #6
  %668 = getelementptr inbounds float, ptr %62, i64 %indvars.iv1291
  store float %667, ptr %668, align 4, !tbaa !9
  %indvars.iv.next1292 = add nuw nsw i64 %indvars.iv1291, 1
  %669 = load i32, ptr %32, align 4, !tbaa !5
  %670 = sext i32 %669 to i64
  %.not1068.not = icmp slt i64 %indvars.iv1291, %670
  br i1 %.not1068.not, label %659, label %.loopexit, !llvm.loop !36

.loopexit:                                        ; preds = %659, %655, %654, %636
  %671 = load i32, ptr %4, align 4, !tbaa !5
  %672 = icmp eq i32 %671, 4
  br i1 %672, label %673, label %681

673:                                              ; preds = %.loopexit
  %674 = load float, ptr %42, align 4, !tbaa !9
  %675 = load i32, ptr %6, align 4, !tbaa !5
  %676 = sext i32 %675 to i64
  %677 = getelementptr float, ptr %66, i64 %676
  %678 = getelementptr i8, ptr %677, i64 4
  store float %674, ptr %678, align 4, !tbaa !9
  %679 = load float, ptr %43, align 4, !tbaa !9
  %680 = getelementptr i8, ptr %677, i64 8
  store float %679, ptr %680, align 4, !tbaa !9
  br label %681

681:                                              ; preds = %673, %.loopexit
  %.not1069 = icmp eq i32 %.5946, 0
  %.1089 = select i1 %.not1069, i32 0, i32 4
  store i32 %.1089, ptr %30, align 4, !tbaa !5
  br label %682

682:                                              ; preds = %681, %635, %464, %459, %303, %.thread1143, %.thread1114, %144
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #6
  ret i32 0
}

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

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

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

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

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

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

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

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

declare float @slamch_(ptr noundef) local_unnamed_addr #2

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

declare i32 @sisnan_(ptr noundef) local_unnamed_addr #2

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

; Function Attrs: nounwind
declare float @cabsf(<2 x float> noundef) local_unnamed_addr #3

; Function Attrs: inlinehint nounwind uwtable
declare hidden <2 x float> @Cf(ptr noundef) local_unnamed_addr #4

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

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

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

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

declare float @scnrm2_(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) #5

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

declare float @sqrtf(float) local_unnamed_addr

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <4 x float> @llvm.fmuladd.v4f32(<4 x float>, <4 x float>, <4 x float>) #5

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <2 x float> @llvm.fmuladd.v2f32(<2 x float>, <2 x float>, <2 x float>) #5

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

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

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


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