; LLVM IR from niuyishuai/PDCABB :: LAPACK_BLAS/BLAS/TESTING (cblat2)

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

%union.anon = type { %struct.anon }
%struct.anon = type { i64, i64, i64, i64 }
%struct.cilist = type { i64, i64, i64, ptr, i64 }
%struct.alist = type { i64, i64 }
%struct.complex = type { float, float }

@c__1 = external hidden global i64, align 8
@infoc_ = external dso_local global %union.anon, align 8
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__2 = external hidden global i64, align 8
@c_true = external hidden global i64, align 8
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [3 x i8], align 1
@c__0 = external hidden global i64, align 8
@cchk2_.ich = external hidden global [2 x i8], align 1
@cchk2_.io___189 = external hidden global %struct.cilist, align 8
@cchk2_.io___190 = external hidden global %struct.cilist, align 8
@cchk2_.io___191 = external hidden global %struct.cilist, align 8
@cchk2_.io___192 = external hidden global %struct.cilist, align 8
@cchk2_.io___195 = external hidden global %struct.cilist, align 8
@cchk2_.io___197 = external hidden global %struct.cilist, align 8
@cchk2_.io___198 = external hidden global %struct.cilist, align 8
@cchk2_.io___199 = external hidden global %struct.cilist, align 8
@cchk2_.io___200 = external hidden global %struct.cilist, align 8
@cchk2_.io___201 = external hidden global %struct.cilist, align 8
@cchk2_.io___202 = external hidden global %struct.cilist, align 8

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

declare i64 @s_wsfe(ptr noundef) #1

declare i64 @do_fio(ptr noundef, ptr noundef, i64 noundef) #1

declare i64 @e_wsfe() #1

; Function Attrs: nounwind uwtable
declare dso_local i32 @cmvch_(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, i64 noundef) #2

; Function Attrs: nounwind uwtable
declare dso_local i64 @lce_(ptr noundef, ptr noundef, ptr noundef) #2

; Function Attrs: nounwind uwtable
define dso_local i32 @cchk2_(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, i64 noundef %31) #2 {
  %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 i64, align 8
  %65 = alloca i64, align 8
  %66 = alloca i64, align 8
  %67 = alloca i64, align 8
  %68 = alloca i64, align 8
  %69 = alloca i64, align 8
  %70 = alloca i64, align 8
  %71 = alloca i64, align 8
  %72 = alloca i64, align 8
  %73 = alloca i64, align 8
  %74 = alloca i64, align 8
  %75 = alloca i64, align 8
  %76 = alloca %struct.alist, align 8
  %77 = alloca i64, align 8
  %78 = alloca i64, align 8
  %79 = alloca i64, align 8
  %80 = alloca i64, align 8
  %81 = alloca i64, align 8
  %82 = alloca i64, align 8
  %83 = alloca i64, align 8
  %84 = alloca i64, align 8
  %85 = alloca i64, align 8
  %86 = alloca i64, align 8
  %87 = alloca i64, align 8
  %88 = alloca i64, align 8
  %89 = alloca i64, align 8
  %90 = alloca i64, align 8
  %91 = alloca i64, align 8
  %92 = alloca i64, align 8
  %93 = alloca i64, align 8
  %94 = alloca i64, align 8
  %95 = alloca %struct.complex, align 4
  %96 = alloca %struct.complex, align 4
  %97 = alloca float, align 4
  %98 = alloca %struct.complex, align 4
  %99 = alloca i64, align 8
  %100 = alloca i64, align 8
  %101 = alloca i64, align 8
  %102 = alloca i64, align 8
  %103 = alloca i64, align 8
  %104 = alloca i64, align 8
  %105 = alloca [1 x i8], align 1
  %106 = alloca %struct.complex, align 4
  %107 = alloca [13 x i64], align 16
  %108 = alloca i64, align 8
  %109 = alloca i64, align 8
  %110 = alloca i64, align 8
  %111 = alloca i64, align 8
  %112 = alloca [1 x i8], align 1
  %113 = alloca i64, align 8
  %114 = alloca i64, align 8
  %115 = alloca float, align 4
  %116 = alloca %struct.complex, 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
  store i64 %31, ptr %64, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #3
  call void @llvm.lifetime.start.p0(i64 16, ptr %76) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %105) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #3
  call void @llvm.lifetime.start.p0(i64 104, ptr %107) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #3
  %117 = load ptr, ptr %42, align 8, !tbaa !5
  %118 = getelementptr inbounds i64, ptr %117, i32 -1
  store ptr %118, ptr %42, align 8, !tbaa !5
  %119 = load ptr, ptr %44, align 8, !tbaa !5
  %120 = getelementptr inbounds i64, ptr %119, i32 -1
  store ptr %120, ptr %44, align 8, !tbaa !5
  %121 = load ptr, ptr %46, align 8, !tbaa !5
  %122 = getelementptr inbounds %struct.complex, ptr %121, i32 -1
  store ptr %122, ptr %46, align 8, !tbaa !5
  %123 = load ptr, ptr %48, align 8, !tbaa !5
  %124 = getelementptr inbounds %struct.complex, ptr %123, i32 -1
  store ptr %124, ptr %48, align 8, !tbaa !5
  %125 = load ptr, ptr %50, align 8, !tbaa !5
  %126 = getelementptr inbounds i64, ptr %125, i32 -1
  store ptr %126, ptr %50, align 8, !tbaa !5
  %127 = load ptr, ptr %63, align 8, !tbaa !5
  %128 = getelementptr inbounds float, ptr %127, i32 -1
  store ptr %128, ptr %63, align 8, !tbaa !5
  %129 = load ptr, ptr %62, align 8, !tbaa !5
  %130 = getelementptr inbounds %struct.complex, ptr %129, i32 -1
  store ptr %130, ptr %62, align 8, !tbaa !5
  %131 = load ptr, ptr %59, align 8, !tbaa !5
  %132 = getelementptr inbounds %struct.complex, ptr %131, i32 -1
  store ptr %132, ptr %59, align 8, !tbaa !5
  %133 = load ptr, ptr %56, align 8, !tbaa !5
  %134 = getelementptr inbounds %struct.complex, ptr %133, i32 -1
  store ptr %134, ptr %56, align 8, !tbaa !5
  %135 = load ptr, ptr %55, align 8, !tbaa !5
  %136 = getelementptr inbounds %struct.complex, ptr %135, i32 -1
  store ptr %136, ptr %55, align 8, !tbaa !5
  %137 = load ptr, ptr %54, align 8, !tbaa !5
  %138 = getelementptr inbounds %struct.complex, ptr %137, i32 -1
  store ptr %138, ptr %54, align 8, !tbaa !5
  %139 = load ptr, ptr %51, align 8, !tbaa !5
  %140 = load i64, ptr %139, align 8, !tbaa !9
  store i64 %140, ptr %65, align 8, !tbaa !9
  %141 = load i64, ptr %65, align 8, !tbaa !9
  %142 = add nsw i64 1, %141
  store i64 %142, ptr %66, align 8, !tbaa !9
  %143 = load i64, ptr %66, align 8, !tbaa !9
  %144 = load ptr, ptr %53, align 8, !tbaa !5
  %145 = sub i64 0, %143
  %146 = getelementptr inbounds %struct.complex, ptr %144, i64 %145
  store ptr %146, ptr %53, align 8, !tbaa !5
  %147 = load ptr, ptr %61, align 8, !tbaa !5
  %148 = getelementptr inbounds %struct.complex, ptr %147, i32 -1
  store ptr %148, ptr %61, align 8, !tbaa !5
  %149 = load ptr, ptr %60, align 8, !tbaa !5
  %150 = getelementptr inbounds %struct.complex, ptr %149, i32 -1
  store ptr %150, ptr %60, align 8, !tbaa !5
  %151 = load ptr, ptr %58, align 8, !tbaa !5
  %152 = getelementptr inbounds %struct.complex, ptr %151, i32 -1
  store ptr %152, ptr %58, align 8, !tbaa !5
  %153 = load ptr, ptr %57, align 8, !tbaa !5
  %154 = getelementptr inbounds %struct.complex, ptr %153, i32 -1
  store ptr %154, ptr %57, align 8, !tbaa !5
  %155 = load ptr, ptr %33, align 8, !tbaa !5
  %156 = getelementptr inbounds i8, ptr %155, i64 2
  %157 = load i8, ptr %156, align 1, !tbaa !11
  %158 = zext i8 %157 to i32
  %159 = icmp eq i32 %158, 69
  %160 = zext i1 %159 to i32
  %161 = sext i32 %160 to i64
  store i64 %161, ptr %103, align 8, !tbaa !9
  %162 = load ptr, ptr %33, align 8, !tbaa !5
  %163 = getelementptr inbounds i8, ptr %162, i64 2
  %164 = load i8, ptr %163, align 1, !tbaa !11
  %165 = zext i8 %164 to i32
  %166 = icmp eq i32 %165, 66
  %167 = zext i1 %166 to i32
  %168 = sext i32 %167 to i64
  store i64 %168, ptr %113, align 8, !tbaa !9
  %169 = load ptr, ptr %33, align 8, !tbaa !5
  %170 = getelementptr inbounds i8, ptr %169, i64 2
  %171 = load i8, ptr %170, align 1, !tbaa !11
  %172 = zext i8 %171 to i32
  %173 = icmp eq i32 %172, 80
  %174 = zext i1 %173 to i32
  %175 = sext i32 %174 to i64
  store i64 %175, ptr %114, align 8, !tbaa !9
  %176 = load i64, ptr %103, align 8, !tbaa !9
  %177 = icmp ne i64 %176, 0
  br i1 %177, label %178, label %179

178:                                              ; preds = %32
  store i64 10, ptr %108, align 8, !tbaa !9
  br label %189

179:                                              ; preds = %32
  %180 = load i64, ptr %113, align 8, !tbaa !9
  %181 = icmp ne i64 %180, 0
  br i1 %181, label %182, label %183

182:                                              ; preds = %179
  store i64 11, ptr %108, align 8, !tbaa !9
  br label %188

183:                                              ; preds = %179
  %184 = load i64, ptr %114, align 8, !tbaa !9
  %185 = icmp ne i64 %184, 0
  br i1 %185, label %186, label %187

186:                                              ; preds = %183
  store i64 9, ptr %108, align 8, !tbaa !9
  br label %187

187:                                              ; preds = %186, %183
  br label %188

188:                                              ; preds = %187, %182
  br label %189

189:                                              ; preds = %188, %178
  store i64 0, ptr %83, align 8, !tbaa !9
  store i64 1, ptr %109, align 8, !tbaa !9
  store float 0.000000e+00, ptr %115, align 4, !tbaa !12
  %190 = load ptr, ptr %41, align 8, !tbaa !5
  %191 = load i64, ptr %190, align 8, !tbaa !9
  store i64 %191, ptr %67, align 8, !tbaa !9
  store i64 1, ptr %85, align 8, !tbaa !9
  br label %192

192:                                              ; preds = %1088, %189
  %193 = load i64, ptr %85, align 8, !tbaa !9
  %194 = load i64, ptr %67, align 8, !tbaa !9
  %195 = icmp sle i64 %193, %194
  br i1 %195, label %196, label %1091

196:                                              ; preds = %192
  %197 = load ptr, ptr %42, align 8, !tbaa !5
  %198 = load i64, ptr %85, align 8, !tbaa !9
  %199 = getelementptr inbounds i64, ptr %197, i64 %198
  %200 = load i64, ptr %199, align 8, !tbaa !9
  store i64 %200, ptr %79, align 8, !tbaa !9
  %201 = load i64, ptr %113, align 8, !tbaa !9
  %202 = icmp ne i64 %201, 0
  br i1 %202, label %203, label %206

203:                                              ; preds = %196
  %204 = load ptr, ptr %43, align 8, !tbaa !5
  %205 = load i64, ptr %204, align 8, !tbaa !9
  store i64 %205, ptr %86, align 8, !tbaa !9
  br label %207

206:                                              ; preds = %196
  store i64 1, ptr %86, align 8, !tbaa !9
  br label %207

207:                                              ; preds = %206, %203
  %208 = load i64, ptr %86, align 8, !tbaa !9
  store i64 %208, ptr %68, align 8, !tbaa !9
  store i64 1, ptr %84, align 8, !tbaa !9
  br label %209

209:                                              ; preds = %1083, %207
  %210 = load i64, ptr %84, align 8, !tbaa !9
  %211 = load i64, ptr %68, align 8, !tbaa !9
  %212 = icmp sle i64 %210, %211
  br i1 %212, label %213, label %1086

213:                                              ; preds = %209
  %214 = load i64, ptr %113, align 8, !tbaa !9
  %215 = icmp ne i64 %214, 0
  br i1 %215, label %216, label %221

216:                                              ; preds = %213
  %217 = load ptr, ptr %44, align 8, !tbaa !5
  %218 = load i64, ptr %84, align 8, !tbaa !9
  %219 = getelementptr inbounds i64, ptr %217, i64 %218
  %220 = load i64, ptr %219, align 8, !tbaa !9
  store i64 %220, ptr %78, align 8, !tbaa !9
  br label %224

221:                                              ; preds = %213
  %222 = load i64, ptr %79, align 8, !tbaa !9
  %223 = sub nsw i64 %222, 1
  store i64 %223, ptr %78, align 8, !tbaa !9
  br label %224

224:                                              ; preds = %221, %216
  %225 = load i64, ptr %113, align 8, !tbaa !9
  %226 = icmp ne i64 %225, 0
  br i1 %226, label %227, label %230

227:                                              ; preds = %224
  %228 = load i64, ptr %78, align 8, !tbaa !9
  %229 = add nsw i64 %228, 1
  store i64 %229, ptr %94, align 8, !tbaa !9
  br label %232

230:                                              ; preds = %224
  %231 = load i64, ptr %79, align 8, !tbaa !9
  store i64 %231, ptr %94, align 8, !tbaa !9
  br label %232

232:                                              ; preds = %230, %227
  %233 = load i64, ptr %94, align 8, !tbaa !9
  %234 = load ptr, ptr %51, align 8, !tbaa !5
  %235 = load i64, ptr %234, align 8, !tbaa !9
  %236 = icmp slt i64 %233, %235
  br i1 %236, label %237, label %240

237:                                              ; preds = %232
  %238 = load i64, ptr %94, align 8, !tbaa !9
  %239 = add nsw i64 %238, 1
  store i64 %239, ptr %94, align 8, !tbaa !9
  br label %240

240:                                              ; preds = %237, %232
  %241 = load i64, ptr %94, align 8, !tbaa !9
  %242 = load ptr, ptr %51, align 8, !tbaa !5
  %243 = load i64, ptr %242, align 8, !tbaa !9
  %244 = icmp sgt i64 %241, %243
  br i1 %244, label %245, label %246

245:                                              ; preds = %240
  br label %1082

246:                                              ; preds = %240
  %247 = load i64, ptr %114, align 8, !tbaa !9
  %248 = icmp ne i64 %247, 0
  br i1 %248, label %249, label %255

249:                                              ; preds = %246
  %250 = load i64, ptr %79, align 8, !tbaa !9
  %251 = load i64, ptr %79, align 8, !tbaa !9
  %252 = add nsw i64 %251, 1
  %253 = mul nsw i64 %250, %252
  %254 = sdiv i64 %253, 2
  store i64 %254, ptr %93, align 8, !tbaa !9
  br label %259

255:                                              ; preds = %246
  %256 = load i64, ptr %94, align 8, !tbaa !9
  %257 = load i64, ptr %79, align 8, !tbaa !9
  %258 = mul nsw i64 %256, %257
  store i64 %258, ptr %93, align 8, !tbaa !9
  br label %259

259:                                              ; preds = %255, %249
  %260 = load i64, ptr %79, align 8, !tbaa !9
  %261 = icmp sle i64 %260, 0
  %262 = zext i1 %261 to i32
  %263 = sext i32 %262 to i64
  store i64 %263, ptr %104, align 8, !tbaa !9
  store i64 1, ptr %82, align 8, !tbaa !9
  br label %264

264:                                              ; preds = %1078, %259
  %265 = load i64, ptr %82, align 8, !tbaa !9
  %266 = icmp sle i64 %265, 2
  br i1 %266, label %267, label %1081

267:                                              ; preds = %264
  %268 = load i64, ptr %82, align 8, !tbaa !9
  %269 = sub nsw i64 %268, 1
  %270 = getelementptr inbounds [2 x i8], ptr @cchk2_.ich, i64 0, i64 %269
  %271 = load i8, ptr %270, align 1, !tbaa !11
  %272 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  store i8 %271, ptr %272, align 1, !tbaa !11
  %273 = getelementptr inbounds %struct.complex, ptr %116, i32 0, i32 0
  store float 0.000000e+00, ptr %273, align 4, !tbaa !14
  %274 = getelementptr inbounds %struct.complex, ptr %116, i32 0, i32 1
  store float 0.000000e+00, ptr %274, align 4, !tbaa !16
  %275 = load ptr, ptr %33, align 8, !tbaa !5
  %276 = getelementptr inbounds i8, ptr %275, i64 1
  %277 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %278 = load ptr, ptr %53, align 8, !tbaa !5
  %279 = load i64, ptr %66, align 8, !tbaa !9
  %280 = getelementptr inbounds %struct.complex, ptr %278, i64 %279
  %281 = load ptr, ptr %51, align 8, !tbaa !5
  %282 = load ptr, ptr %54, align 8, !tbaa !5
  %283 = getelementptr inbounds %struct.complex, ptr %282, i64 1
  %284 = call i32 @cmake_(ptr noundef %276, ptr noundef %277, ptr noundef @.str.7, ptr noundef %79, ptr noundef %79, ptr noundef %280, ptr noundef %281, ptr noundef %283, ptr noundef %94, ptr noundef %78, ptr noundef %78, ptr noundef %109, ptr noundef %116, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  %285 = load ptr, ptr %49, align 8, !tbaa !5
  %286 = load i64, ptr %285, align 8, !tbaa !9
  store i64 %286, ptr %69, align 8, !tbaa !9
  store i64 1, ptr %88, align 8, !tbaa !9
  br label %287

287:                                              ; preds = %1074, %267
  %288 = load i64, ptr %88, align 8, !tbaa !9
  %289 = load i64, ptr %69, align 8, !tbaa !9
  %290 = icmp sle i64 %288, %289
  br i1 %290, label %291, label %1077

291:                                              ; preds = %287
  %292 = load ptr, ptr %50, align 8, !tbaa !5
  %293 = load i64, ptr %88, align 8, !tbaa !9
  %294 = getelementptr inbounds i64, ptr %292, i64 %293
  %295 = load i64, ptr %294, align 8, !tbaa !9
  store i64 %295, ptr %101, align 8, !tbaa !9
  %296 = load i64, ptr %101, align 8, !tbaa !9
  %297 = icmp sge i64 %296, 0
  br i1 %297, label %298, label %300

298:                                              ; preds = %291
  %299 = load i64, ptr %101, align 8, !tbaa !9
  br label %303

300:                                              ; preds = %291
  %301 = load i64, ptr %101, align 8, !tbaa !9
  %302 = sub nsw i64 0, %301
  br label %303

303:                                              ; preds = %300, %298
  %304 = phi i64 [ %299, %298 ], [ %302, %300 ]
  %305 = load i64, ptr %79, align 8, !tbaa !9
  %306 = mul nsw i64 %304, %305
  store i64 %306, ptr %91, align 8, !tbaa !9
  %307 = getelementptr inbounds %struct.complex, ptr %116, i32 0, i32 0
  store float 5.000000e-01, ptr %307, align 4, !tbaa !14
  %308 = getelementptr inbounds %struct.complex, ptr %116, i32 0, i32 1
  store float 0.000000e+00, ptr %308, align 4, !tbaa !16
  %309 = load i64, ptr %101, align 8, !tbaa !9
  %310 = icmp sge i64 %309, 0
  br i1 %310, label %311, label %313

311:                                              ; preds = %303
  %312 = load i64, ptr %101, align 8, !tbaa !9
  br label %316

313:                                              ; preds = %303
  %314 = load i64, ptr %101, align 8, !tbaa !9
  %315 = sub nsw i64 0, %314
  br label %316

316:                                              ; preds = %313, %311
  %317 = phi i64 [ %312, %311 ], [ %315, %313 ]
  store i64 %317, ptr %70, align 8, !tbaa !9
  %318 = load i64, ptr %79, align 8, !tbaa !9
  %319 = sub nsw i64 %318, 1
  store i64 %319, ptr %71, align 8, !tbaa !9
  %320 = load ptr, ptr %56, align 8, !tbaa !5
  %321 = getelementptr inbounds %struct.complex, ptr %320, i64 1
  %322 = load ptr, ptr %57, align 8, !tbaa !5
  %323 = getelementptr inbounds %struct.complex, ptr %322, i64 1
  %324 = call i32 @cmake_(ptr noundef @.str.8, ptr noundef @.str.7, ptr noundef @.str.7, ptr noundef @c__1, ptr noundef %79, ptr noundef %321, ptr noundef @c__1, ptr noundef %323, ptr noundef %70, ptr noundef @c__0, ptr noundef %71, ptr noundef %109, ptr noundef %116, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  %325 = load i64, ptr %79, align 8, !tbaa !9
  %326 = icmp sgt i64 %325, 1
  br i1 %326, label %327, label %360

327:                                              ; preds = %316
  %328 = load i64, ptr %79, align 8, !tbaa !9
  %329 = sdiv i64 %328, 2
  store i64 %329, ptr %70, align 8, !tbaa !9
  %330 = load ptr, ptr %56, align 8, !tbaa !5
  %331 = load i64, ptr %70, align 8, !tbaa !9
  %332 = getelementptr inbounds %struct.complex, ptr %330, i64 %331
  %333 = getelementptr inbounds %struct.complex, ptr %332, i32 0, i32 0
  store float 0.000000e+00, ptr %333, align 4, !tbaa !14
  %334 = load ptr, ptr %56, align 8, !tbaa !5
  %335 = load i64, ptr %70, align 8, !tbaa !9
  %336 = getelementptr inbounds %struct.complex, ptr %334, i64 %335
  %337 = getelementptr inbounds %struct.complex, ptr %336, i32 0, i32 1
  store float 0.000000e+00, ptr %337, align 4, !tbaa !16
  %338 = load i64, ptr %101, align 8, !tbaa !9
  %339 = icmp sge i64 %338, 0
  br i1 %339, label %340, label %342

340:                                              ; preds = %327
  %341 = load i64, ptr %101, align 8, !tbaa !9
  br label %345

342:                                              ; preds = %327
  %343 = load i64, ptr %101, align 8, !tbaa !9
  %344 = sub nsw i64 0, %343
  br label %345

345:                                              ; preds = %342, %340
  %346 = phi i64 [ %341, %340 ], [ %344, %342 ]
  %347 = load i64, ptr %79, align 8, !tbaa !9
  %348 = sdiv i64 %347, 2
  %349 = sub nsw i64 %348, 1
  %350 = mul nsw i64 %346, %349
  %351 = add nsw i64 %350, 1
  store i64 %351, ptr %70, align 8, !tbaa !9
  %352 = load ptr, ptr %57, align 8, !tbaa !5
  %353 = load i64, ptr %70, align 8, !tbaa !9
  %354 = getelementptr inbounds %struct.complex, ptr %352, i64 %353
  %355 = getelementptr inbounds %struct.complex, ptr %354, i32 0, i32 0
  store float 0.000000e+00, ptr %355, align 4, !tbaa !14
  %356 = load ptr, ptr %57, align 8, !tbaa !5
  %357 = load i64, ptr %70, align 8, !tbaa !9
  %358 = getelementptr inbounds %struct.complex, ptr %356, i64 %357
  %359 = getelementptr inbounds %struct.complex, ptr %358, i32 0, i32 1
  store float 0.000000e+00, ptr %359, align 4, !tbaa !16
  br label %360

360:                                              ; preds = %345, %316
  %361 = load ptr, ptr %49, align 8, !tbaa !5
  %362 = load i64, ptr %361, align 8, !tbaa !9
  store i64 %362, ptr %70, align 8, !tbaa !9
  store i64 1, ptr %89, align 8, !tbaa !9
  br label %363

363:                                              ; preds = %1070, %360
  %364 = load i64, ptr %89, align 8, !tbaa !9
  %365 = load i64, ptr %70, align 8, !tbaa !9
  %366 = icmp sle i64 %364, %365
  br i1 %366, label %367, label %1073

367:                                              ; preds = %363
  %368 = load ptr, ptr %50, align 8, !tbaa !5
  %369 = load i64, ptr %89, align 8, !tbaa !9
  %370 = getelementptr inbounds i64, ptr %368, i64 %369
  %371 = load i64, ptr %370, align 8, !tbaa !9
  store i64 %371, ptr %102, align 8, !tbaa !9
  %372 = load i64, ptr %102, align 8, !tbaa !9
  %373 = icmp sge i64 %372, 0
  br i1 %373, label %374, label %376

374:                                              ; preds = %367
  %375 = load i64, ptr %102, align 8, !tbaa !9
  br label %379

376:                                              ; preds = %367
  %377 = load i64, ptr %102, align 8, !tbaa !9
  %378 = sub nsw i64 0, %377
  br label %379

379:                                              ; preds = %376, %374
  %380 = phi i64 [ %375, %374 ], [ %378, %376 ]
  %381 = load i64, ptr %79, align 8, !tbaa !9
  %382 = mul nsw i64 %380, %381
  store i64 %382, ptr %92, align 8, !tbaa !9
  %383 = load ptr, ptr %45, align 8, !tbaa !5
  %384 = load i64, ptr %383, align 8, !tbaa !9
  store i64 %384, ptr %71, align 8, !tbaa !9
  store i64 1, ptr %80, align 8, !tbaa !9
  br label %385

385:                                              ; preds = %1066, %379
  %386 = load i64, ptr %80, align 8, !tbaa !9
  %387 = load i64, ptr %71, align 8, !tbaa !9
  %388 = icmp sle i64 %386, %387
  br i1 %388, label %389, label %1069

389:                                              ; preds = %385
  %390 = load i64, ptr %80, align 8, !tbaa !9
  store i64 %390, ptr %72, align 8, !tbaa !9
  %391 = load ptr, ptr %46, align 8, !tbaa !5
  %392 = load i64, ptr %72, align 8, !tbaa !9
  %393 = getelementptr inbounds %struct.complex, ptr %391, i64 %392
  %394 = getelementptr inbounds %struct.complex, ptr %393, i32 0, i32 0
  %395 = load float, ptr %394, align 4, !tbaa !14
  %396 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 0
  store float %395, ptr %396, align 4, !tbaa !14
  %397 = load ptr, ptr %46, align 8, !tbaa !5
  %398 = load i64, ptr %72, align 8, !tbaa !9
  %399 = getelementptr inbounds %struct.complex, ptr %397, i64 %398
  %400 = getelementptr inbounds %struct.complex, ptr %399, i32 0, i32 1
  %401 = load float, ptr %400, align 4, !tbaa !16
  %402 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 1
  store float %401, ptr %402, align 4, !tbaa !16
  %403 = load ptr, ptr %47, align 8, !tbaa !5
  %404 = load i64, ptr %403, align 8, !tbaa !9
  store i64 %404, ptr %72, align 8, !tbaa !9
  store i64 1, ptr %81, align 8, !tbaa !9
  br label %405

405:                                              ; preds = %1062, %389
  %406 = load i64, ptr %81, align 8, !tbaa !9
  %407 = load i64, ptr %72, align 8, !tbaa !9
  %408 = icmp sle i64 %406, %407
  br i1 %408, label %409, label %1065

409:                                              ; preds = %405
  %410 = load i64, ptr %81, align 8, !tbaa !9
  store i64 %410, ptr %73, align 8, !tbaa !9
  %411 = load ptr, ptr %48, align 8, !tbaa !5
  %412 = load i64, ptr %73, align 8, !tbaa !9
  %413 = getelementptr inbounds %struct.complex, ptr %411, i64 %412
  %414 = getelementptr inbounds %struct.complex, ptr %413, i32 0, i32 0
  %415 = load float, ptr %414, align 4, !tbaa !14
  %416 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 0
  store float %415, ptr %416, align 4, !tbaa !14
  %417 = load ptr, ptr %48, align 8, !tbaa !5
  %418 = load i64, ptr %73, align 8, !tbaa !9
  %419 = getelementptr inbounds %struct.complex, ptr %417, i64 %418
  %420 = getelementptr inbounds %struct.complex, ptr %419, i32 0, i32 1
  %421 = load float, ptr %420, align 4, !tbaa !16
  %422 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 1
  store float %421, ptr %422, align 4, !tbaa !16
  %423 = getelementptr inbounds %struct.complex, ptr %116, i32 0, i32 0
  store float 0.000000e+00, ptr %423, align 4, !tbaa !14
  %424 = getelementptr inbounds %struct.complex, ptr %116, i32 0, i32 1
  store float 0.000000e+00, ptr %424, align 4, !tbaa !16
  %425 = load i64, ptr %102, align 8, !tbaa !9
  %426 = icmp sge i64 %425, 0
  br i1 %426, label %427, label %429

427:                                              ; preds = %409
  %428 = load i64, ptr %102, align 8, !tbaa !9
  br label %432

429:                                              ; preds = %409
  %430 = load i64, ptr %102, align 8, !tbaa !9
  %431 = sub nsw i64 0, %430
  br label %432

432:                                              ; preds = %429, %427
  %433 = phi i64 [ %428, %427 ], [ %431, %429 ]
  store i64 %433, ptr %73, align 8, !tbaa !9
  %434 = load i64, ptr %79, align 8, !tbaa !9
  %435 = sub nsw i64 %434, 1
  store i64 %435, ptr %74, align 8, !tbaa !9
  %436 = load ptr, ptr %59, align 8, !tbaa !5
  %437 = getelementptr inbounds %struct.complex, ptr %436, i64 1
  %438 = load ptr, ptr %60, align 8, !tbaa !5
  %439 = getelementptr inbounds %struct.complex, ptr %438, i64 1
  %440 = call i32 @cmake_(ptr noundef @.str.8, ptr noundef @.str.7, ptr noundef @.str.7, ptr noundef @c__1, ptr noundef %79, ptr noundef %437, ptr noundef @c__1, ptr noundef %439, ptr noundef %73, ptr noundef @c__0, ptr noundef %74, ptr noundef %109, ptr noundef %116, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  %441 = load i64, ptr %83, align 8, !tbaa !9
  %442 = add nsw i64 %441, 1
  store i64 %442, ptr %83, align 8, !tbaa !9
  %443 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %444 = load i8, ptr %443, align 1, !tbaa !11
  %445 = getelementptr inbounds [1 x i8], ptr %112, i64 0, i64 0
  store i8 %444, ptr %445, align 1, !tbaa !11
  %446 = load i64, ptr %79, align 8, !tbaa !9
  store i64 %446, ptr %90, align 8, !tbaa !9
  %447 = load i64, ptr %78, align 8, !tbaa !9
  store i64 %447, ptr %87, align 8, !tbaa !9
  %448 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 0
  %449 = load float, ptr %448, align 4, !tbaa !14
  %450 = getelementptr inbounds %struct.complex, ptr %95, i32 0, i32 0
  store float %449, ptr %450, align 4, !tbaa !14
  %451 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 1
  %452 = load float, ptr %451, align 4, !tbaa !16
  %453 = getelementptr inbounds %struct.complex, ptr %95, i32 0, i32 1
  store float %452, ptr %453, align 4, !tbaa !16
  %454 = load i64, ptr %93, align 8, !tbaa !9
  store i64 %454, ptr %73, align 8, !tbaa !9
  store i64 1, ptr %77, align 8, !tbaa !9
  br label %455

455:                                              ; preds = %480, %432
  %456 = load i64, ptr %77, align 8, !tbaa !9
  %457 = load i64, ptr %73, align 8, !tbaa !9
  %458 = icmp sle i64 %456, %457
  br i1 %458, label %459, label %483

459:                                              ; preds = %455
  %460 = load i64, ptr %77, align 8, !tbaa !9
  store i64 %460, ptr %74, align 8, !tbaa !9
  %461 = load i64, ptr %77, align 8, !tbaa !9
  store i64 %461, ptr %75, align 8, !tbaa !9
  %462 = load ptr, ptr %54, align 8, !tbaa !5
  %463 = load i64, ptr %75, align 8, !tbaa !9
  %464 = getelementptr inbounds %struct.complex, ptr %462, i64 %463
  %465 = getelementptr inbounds %struct.complex, ptr %464, i32 0, i32 0
  %466 = load float, ptr %465, align 4, !tbaa !14
  %467 = load ptr, ptr %55, align 8, !tbaa !5
  %468 = load i64, ptr %74, align 8, !tbaa !9
  %469 = getelementptr inbounds %struct.complex, ptr %467, i64 %468
  %470 = getelementptr inbounds %struct.complex, ptr %469, i32 0, i32 0
  store float %466, ptr %470, align 4, !tbaa !14
  %471 = load ptr, ptr %54, align 8, !tbaa !5
  %472 = load i64, ptr %75, align 8, !tbaa !9
  %473 = getelementptr inbounds %struct.complex, ptr %471, i64 %472
  %474 = getelementptr inbounds %struct.complex, ptr %473, i32 0, i32 1
  %475 = load float, ptr %474, align 4, !tbaa !16
  %476 = load ptr, ptr %55, align 8, !tbaa !5
  %477 = load i64, ptr %74, align 8, !tbaa !9
  %478 = getelementptr inbounds %struct.complex, ptr %476, i64 %477
  %479 = getelementptr inbounds %struct.complex, ptr %478, i32 0, i32 1
  store float %475, ptr %479, align 4, !tbaa !16
  br label %480

480:                                              ; preds = %459
  %481 = load i64, ptr %77, align 8, !tbaa !9
  %482 = add nsw i64 %481, 1
  store i64 %482, ptr %77, align 8, !tbaa !9
  br label %455, !llvm.loop !17

483:                                              ; preds = %455
  %484 = load i64, ptr %94, align 8, !tbaa !9
  store i64 %484, ptr %99, align 8, !tbaa !9
  %485 = load i64, ptr %91, align 8, !tbaa !9
  store i64 %485, ptr %73, align 8, !tbaa !9
  store i64 1, ptr %77, align 8, !tbaa !9
  br label %486

486:                                              ; preds = %511, %483
  %487 = load i64, ptr %77, align 8, !tbaa !9
  %488 = load i64, ptr %73, align 8, !tbaa !9
  %489 = icmp sle i64 %487, %488
  br i1 %489, label %490, label %514

490:                                              ; preds = %486
  %491 = load i64, ptr %77, align 8, !tbaa !9
  store i64 %491, ptr %74, align 8, !tbaa !9
  %492 = load i64, ptr %77, align 8, !tbaa !9
  store i64 %492, ptr %75, align 8, !tbaa !9
  %493 = load ptr, ptr %57, align 8, !tbaa !5
  %494 = load i64, ptr %75, align 8, !tbaa !9
  %495 = getelementptr inbounds %struct.complex, ptr %493, i64 %494
  %496 = getelementptr inbounds %struct.complex, ptr %495, i32 0, i32 0
  %497 = load float, ptr %496, align 4, !tbaa !14
  %498 = load ptr, ptr %58, align 8, !tbaa !5
  %499 = load i64, ptr %74, align 8, !tbaa !9
  %500 = getelementptr inbounds %struct.complex, ptr %498, i64 %499
  %501 = getelementptr inbounds %struct.complex, ptr %500, i32 0, i32 0
  store float %497, ptr %501, align 4, !tbaa !14
  %502 = load ptr, ptr %57, align 8, !tbaa !5
  %503 = load i64, ptr %75, align 8, !tbaa !9
  %504 = getelementptr inbounds %struct.complex, ptr %502, i64 %503
  %505 = getelementptr inbounds %struct.complex, ptr %504, i32 0, i32 1
  %506 = load float, ptr %505, align 4, !tbaa !16
  %507 = load ptr, ptr %58, align 8, !tbaa !5
  %508 = load i64, ptr %74, align 8, !tbaa !9
  %509 = getelementptr inbounds %struct.complex, ptr %507, i64 %508
  %510 = getelementptr inbounds %struct.complex, ptr %509, i32 0, i32 1
  store float %506, ptr %510, align 4, !tbaa !16
  br label %511

511:                                              ; preds = %490
  %512 = load i64, ptr %77, align 8, !tbaa !9
  %513 = add nsw i64 %512, 1
  store i64 %513, ptr %77, align 8, !tbaa !9
  br label %486, !llvm.loop !19

514:                                              ; preds = %486
  %515 = load i64, ptr %101, align 8, !tbaa !9
  store i64 %515, ptr %110, align 8, !tbaa !9
  %516 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 0
  %517 = load float, ptr %516, align 4, !tbaa !14
  %518 = getelementptr inbounds %struct.complex, ptr %96, i32 0, i32 0
  store float %517, ptr %518, align 4, !tbaa !14
  %519 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 1
  %520 = load float, ptr %519, align 4, !tbaa !16
  %521 = getelementptr inbounds %struct.complex, ptr %96, i32 0, i32 1
  store float %520, ptr %521, align 4, !tbaa !16
  %522 = load i64, ptr %92, align 8, !tbaa !9
  store i64 %522, ptr %73, align 8, !tbaa !9
  store i64 1, ptr %77, align 8, !tbaa !9
  br label %523

523:                                              ; preds = %548, %514
  %524 = load i64, ptr %77, align 8, !tbaa !9
  %525 = load i64, ptr %73, align 8, !tbaa !9
  %526 = icmp sle i64 %524, %525
  br i1 %526, label %527, label %551

527:                                              ; preds = %523
  %528 = load i64, ptr %77, align 8, !tbaa !9
  store i64 %528, ptr %74, align 8, !tbaa !9
  %529 = load i64, ptr %77, align 8, !tbaa !9
  store i64 %529, ptr %75, align 8, !tbaa !9
  %530 = load ptr, ptr %60, align 8, !tbaa !5
  %531 = load i64, ptr %75, align 8, !tbaa !9
  %532 = getelementptr inbounds %struct.complex, ptr %530, i64 %531
  %533 = getelementptr inbounds %struct.complex, ptr %532, i32 0, i32 0
  %534 = load float, ptr %533, align 4, !tbaa !14
  %535 = load ptr, ptr %61, align 8, !tbaa !5
  %536 = load i64, ptr %74, align 8, !tbaa !9
  %537 = getelementptr inbounds %struct.complex, ptr %535, i64 %536
  %538 = getelementptr inbounds %struct.complex, ptr %537, i32 0, i32 0
  store float %534, ptr %538, align 4, !tbaa !14
  %539 = load ptr, ptr %60, align 8, !tbaa !5
  %540 = load i64, ptr %75, align 8, !tbaa !9
  %541 = getelementptr inbounds %struct.complex, ptr %539, i64 %540
  %542 = getelementptr inbounds %struct.complex, ptr %541, i32 0, i32 1
  %543 = load float, ptr %542, align 4, !tbaa !16
  %544 = load ptr, ptr %61, align 8, !tbaa !5
  %545 = load i64, ptr %74, align 8, !tbaa !9
  %546 = getelementptr inbounds %struct.complex, ptr %544, i64 %545
  %547 = getelementptr inbounds %struct.complex, ptr %546, i32 0, i32 1
  store float %543, ptr %547, align 4, !tbaa !16
  br label %548

548:                                              ; preds = %527
  %549 = load i64, ptr %77, align 8, !tbaa !9
  %550 = add nsw i64 %549, 1
  store i64 %550, ptr %77, align 8, !tbaa !9
  br label %523, !llvm.loop !20

551:                                              ; preds = %523
  %552 = load i64, ptr %102, align 8, !tbaa !9
  store i64 %552, ptr %111, align 8, !tbaa !9
  %553 = load i64, ptr %103, align 8, !tbaa !9
  %554 = icmp ne i64 %553, 0
  br i1 %554, label %555, label %594

555:                                              ; preds = %551
  %556 = load ptr, ptr %38, align 8, !tbaa !5
  %557 = load i64, ptr %556, align 8, !tbaa !9
  %558 = icmp ne i64 %557, 0
  br i1 %558, label %559, label %575

559:                                              ; preds = %555
  %560 = load ptr, ptr %37, align 8, !tbaa !5
  %561 = load i64, ptr %560, align 8, !tbaa !9
  store i64 %561, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___189, i32 0, i32 1), align 8, !tbaa !21
  %562 = call i64 @s_wsfe(ptr noundef @cchk2_.io___189)
  %563 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %83, i64 noundef 8)
  %564 = load ptr, ptr %33, align 8, !tbaa !5
  %565 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %564, i64 noundef 6)
  %566 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %567 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %566, i64 noundef 1)
  %568 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %79, i64 noundef 8)
  %569 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %106, i64 noundef 4)
  %570 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %94, i64 noundef 8)
  %571 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %101, i64 noundef 8)
  %572 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %98, i64 noundef 4)
  %573 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %102, i64 noundef 8)
  %574 = call i64 @e_wsfe()
  br label %575

575:                                              ; preds = %559, %555
  %576 = load ptr, ptr %39, align 8, !tbaa !5
  %577 = load i64, ptr %576, align 8, !tbaa !9
  %578 = icmp ne i64 %577, 0
  br i1 %578, label %579, label %585

579:                                              ; preds = %575
  %580 = getelementptr inbounds %struct.alist, ptr %76, i32 0, i32 0
  store i64 0, ptr %580, align 8, !tbaa !23
  %581 = load ptr, ptr %37, align 8, !tbaa !5
  %582 = load i64, ptr %581, align 8, !tbaa !9
  %583 = getelementptr inbounds %struct.alist, ptr %76, i32 0, i32 1
  store i64 %582, ptr %583, align 8, !tbaa !25
  %584 = call i64 @f_rew(ptr noundef %76)
  br label %585

585:                                              ; preds = %579, %575
  %586 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %587 = load ptr, ptr %54, align 8, !tbaa !5
  %588 = getelementptr inbounds %struct.complex, ptr %587, i64 1
  %589 = load ptr, ptr %57, align 8, !tbaa !5
  %590 = getelementptr inbounds %struct.complex, ptr %589, i64 1
  %591 = load ptr, ptr %60, align 8, !tbaa !5
  %592 = getelementptr inbounds %struct.complex, ptr %591, i64 1
  %593 = call i32 @f2c_chemv(ptr noundef %586, ptr noundef %79, ptr noundef %106, ptr noundef %588, ptr noundef %94, ptr noundef %590, ptr noundef %101, ptr noundef %98, ptr noundef %592, ptr noundef %102)
  br label %680

594:                                              ; preds = %551
  %595 = load i64, ptr %113, align 8, !tbaa !9
  %596 = icmp ne i64 %595, 0
  br i1 %596, label %597, label %637

597:                                              ; preds = %594
  %598 = load ptr, ptr %38, align 8, !tbaa !5
  %599 = load i64, ptr %598, align 8, !tbaa !9
  %600 = icmp ne i64 %599, 0
  br i1 %600, label %601, label %618

601:                                              ; preds = %597
  %602 = load ptr, ptr %37, align 8, !tbaa !5
  %603 = load i64, ptr %602, align 8, !tbaa !9
  store i64 %603, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___190, i32 0, i32 1), align 8, !tbaa !21
  %604 = call i64 @s_wsfe(ptr noundef @cchk2_.io___190)
  %605 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %83, i64 noundef 8)
  %606 = load ptr, ptr %33, align 8, !tbaa !5
  %607 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %606, i64 noundef 6)
  %608 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %609 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %608, i64 noundef 1)
  %610 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %79, i64 noundef 8)
  %611 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %78, i64 noundef 8)
  %612 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %106, i64 noundef 4)
  %613 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %94, i64 noundef 8)
  %614 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %101, i64 noundef 8)
  %615 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %98, i64 noundef 4)
  %616 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %102, i64 noundef 8)
  %617 = call i64 @e_wsfe()
  br label %618

618:                                              ; preds = %601, %597
  %619 = load ptr, ptr %39, align 8, !tbaa !5
  %620 = load i64, ptr %619, align 8, !tbaa !9
  %621 = icmp ne i64 %620, 0
  br i1 %621, label %622, label %628

622:                                              ; preds = %618
  %623 = getelementptr inbounds %struct.alist, ptr %76, i32 0, i32 0
  store i64 0, ptr %623, align 8, !tbaa !23
  %624 = load ptr, ptr %37, align 8, !tbaa !5
  %625 = load i64, ptr %624, align 8, !tbaa !9
  %626 = getelementptr inbounds %struct.alist, ptr %76, i32 0, i32 1
  store i64 %625, ptr %626, align 8, !tbaa !25
  %627 = call i64 @f_rew(ptr noundef %76)
  br label %628

628:                                              ; preds = %622, %618
  %629 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %630 = load ptr, ptr %54, align 8, !tbaa !5
  %631 = getelementptr inbounds %struct.complex, ptr %630, i64 1
  %632 = load ptr, ptr %57, align 8, !tbaa !5
  %633 = getelementptr inbounds %struct.complex, ptr %632, i64 1
  %634 = load ptr, ptr %60, align 8, !tbaa !5
  %635 = getelementptr inbounds %struct.complex, ptr %634, i64 1
  %636 = call i32 @f2c_chbmv(ptr noundef %629, ptr noundef %79, ptr noundef %78, ptr noundef %106, ptr noundef %631, ptr noundef %94, ptr noundef %633, ptr noundef %101, ptr noundef %98, ptr noundef %635, ptr noundef %102)
  br label %679

637:                                              ; preds = %594
  %638 = load i64, ptr %114, align 8, !tbaa !9
  %639 = icmp ne i64 %638, 0
  br i1 %639, label %640, label %678

640:                                              ; preds = %637
  %641 = load ptr, ptr %38, align 8, !tbaa !5
  %642 = load i64, ptr %641, align 8, !tbaa !9
  %643 = icmp ne i64 %642, 0
  br i1 %643, label %644, label %659

644:                                              ; preds = %640
  %645 = load ptr, ptr %37, align 8, !tbaa !5
  %646 = load i64, ptr %645, align 8, !tbaa !9
  store i64 %646, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___191, i32 0, i32 1), align 8, !tbaa !21
  %647 = call i64 @s_wsfe(ptr noundef @cchk2_.io___191)
  %648 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %83, i64 noundef 8)
  %649 = load ptr, ptr %33, align 8, !tbaa !5
  %650 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %649, i64 noundef 6)
  %651 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %652 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %651, i64 noundef 1)
  %653 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %79, i64 noundef 8)
  %654 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %106, i64 noundef 4)
  %655 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %101, i64 noundef 8)
  %656 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %98, i64 noundef 4)
  %657 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %102, i64 noundef 8)
  %658 = call i64 @e_wsfe()
  br label %659

659:                                              ; preds = %644, %640
  %660 = load ptr, ptr %39, align 8, !tbaa !5
  %661 = load i64, ptr %660, align 8, !tbaa !9
  %662 = icmp ne i64 %661, 0
  br i1 %662, label %663, label %669

663:                                              ; preds = %659
  %664 = getelementptr inbounds %struct.alist, ptr %76, i32 0, i32 0
  store i64 0, ptr %664, align 8, !tbaa !23
  %665 = load ptr, ptr %37, align 8, !tbaa !5
  %666 = load i64, ptr %665, align 8, !tbaa !9
  %667 = getelementptr inbounds %struct.alist, ptr %76, i32 0, i32 1
  store i64 %666, ptr %667, align 8, !tbaa !25
  %668 = call i64 @f_rew(ptr noundef %76)
  br label %669

669:                                              ; preds = %663, %659
  %670 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %671 = load ptr, ptr %54, align 8, !tbaa !5
  %672 = getelementptr inbounds %struct.complex, ptr %671, i64 1
  %673 = load ptr, ptr %57, align 8, !tbaa !5
  %674 = getelementptr inbounds %struct.complex, ptr %673, i64 1
  %675 = load ptr, ptr %60, align 8, !tbaa !5
  %676 = getelementptr inbounds %struct.complex, ptr %675, i64 1
  %677 = call i32 @f2c_chpmv(ptr noundef %670, ptr noundef %79, ptr noundef %106, ptr noundef %672, ptr noundef %674, ptr noundef %101, ptr noundef %98, ptr noundef %676, ptr noundef %102)
  br label %678

678:                                              ; preds = %669, %637
  br label %679

679:                                              ; preds = %678, %628
  br label %680

680:                                              ; preds = %679, %585
  %681 = load i64, ptr getelementptr inbounds (%struct.anon, ptr @infoc_, i32 0, i32 2), align 8, !tbaa !11
  %682 = icmp ne i64 %681, 0
  br i1 %682, label %689, label %683

683:                                              ; preds = %680
  %684 = load ptr, ptr %36, align 8, !tbaa !5
  %685 = load i64, ptr %684, align 8, !tbaa !9
  store i64 %685, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___192, i32 0, i32 1), align 8, !tbaa !21
  %686 = call i64 @s_wsfe(ptr noundef @cchk2_.io___192)
  %687 = call i64 @e_wsfe()
  %688 = load ptr, ptr %40, align 8, !tbaa !5
  store i64 1, ptr %688, align 8, !tbaa !9
  br label %1114

689:                                              ; preds = %680
  %690 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %691 = load i8, ptr %690, align 1, !tbaa !11
  %692 = zext i8 %691 to i32
  %693 = getelementptr inbounds [1 x i8], ptr %112, i64 0, i64 0
  %694 = load i8, ptr %693, align 1, !tbaa !11
  %695 = zext i8 %694 to i32
  %696 = icmp eq i32 %692, %695
  %697 = zext i1 %696 to i32
  %698 = sext i32 %697 to i64
  %699 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 0
  store i64 %698, ptr %699, align 16, !tbaa !9
  %700 = load i64, ptr %90, align 8, !tbaa !9
  %701 = load i64, ptr %79, align 8, !tbaa !9
  %702 = icmp eq i64 %700, %701
  %703 = zext i1 %702 to i32
  %704 = sext i32 %703 to i64
  %705 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 1
  store i64 %704, ptr %705, align 8, !tbaa !9
  %706 = load i64, ptr %103, align 8, !tbaa !9
  %707 = icmp ne i64 %706, 0
  br i1 %707, label %708, label %797

708:                                              ; preds = %689
  %709 = getelementptr inbounds %struct.complex, ptr %95, i32 0, i32 0
  %710 = load float, ptr %709, align 4, !tbaa !14
  %711 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 0
  %712 = load float, ptr %711, align 4, !tbaa !14
  %713 = fcmp oeq float %710, %712
  br i1 %713, label %714, label %720

714:                                              ; preds = %708
  %715 = getelementptr inbounds %struct.complex, ptr %95, i32 0, i32 1
  %716 = load float, ptr %715, align 4, !tbaa !16
  %717 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 1
  %718 = load float, ptr %717, align 4, !tbaa !16
  %719 = fcmp oeq float %716, %718
  br label %720

720:                                              ; preds = %714, %708
  %721 = phi i1 [ false, %708 ], [ %719, %714 ]
  %722 = zext i1 %721 to i32
  %723 = sext i32 %722 to i64
  %724 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 2
  store i64 %723, ptr %724, align 16, !tbaa !9
  %725 = load ptr, ptr %55, align 8, !tbaa !5
  %726 = getelementptr inbounds %struct.complex, ptr %725, i64 1
  %727 = load ptr, ptr %54, align 8, !tbaa !5
  %728 = getelementptr inbounds %struct.complex, ptr %727, i64 1
  %729 = call i64 @lce_(ptr noundef %726, ptr noundef %728, ptr noundef %93)
  %730 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 3
  store i64 %729, ptr %730, align 8, !tbaa !9
  %731 = load i64, ptr %99, align 8, !tbaa !9
  %732 = load i64, ptr %94, align 8, !tbaa !9
  %733 = icmp eq i64 %731, %732
  %734 = zext i1 %733 to i32
  %735 = sext i32 %734 to i64
  %736 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 4
  store i64 %735, ptr %736, align 16, !tbaa !9
  %737 = load ptr, ptr %58, align 8, !tbaa !5
  %738 = getelementptr inbounds %struct.complex, ptr %737, i64 1
  %739 = load ptr, ptr %57, align 8, !tbaa !5
  %740 = getelementptr inbounds %struct.complex, ptr %739, i64 1
  %741 = call i64 @lce_(ptr noundef %738, ptr noundef %740, ptr noundef %91)
  %742 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 5
  store i64 %741, ptr %742, align 8, !tbaa !9
  %743 = load i64, ptr %110, align 8, !tbaa !9
  %744 = load i64, ptr %101, align 8, !tbaa !9
  %745 = icmp eq i64 %743, %744
  %746 = zext i1 %745 to i32
  %747 = sext i32 %746 to i64
  %748 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 6
  store i64 %747, ptr %748, align 16, !tbaa !9
  %749 = getelementptr inbounds %struct.complex, ptr %96, i32 0, i32 0
  %750 = load float, ptr %749, align 4, !tbaa !14
  %751 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 0
  %752 = load float, ptr %751, align 4, !tbaa !14
  %753 = fcmp oeq float %750, %752
  br i1 %753, label %754, label %760

754:                                              ; preds = %720
  %755 = getelementptr inbounds %struct.complex, ptr %96, i32 0, i32 1
  %756 = load float, ptr %755, align 4, !tbaa !16
  %757 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 1
  %758 = load float, ptr %757, align 4, !tbaa !16
  %759 = fcmp oeq float %756, %758
  br label %760

760:                                              ; preds = %754, %720
  %761 = phi i1 [ false, %720 ], [ %759, %754 ]
  %762 = zext i1 %761 to i32
  %763 = sext i32 %762 to i64
  %764 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 7
  store i64 %763, ptr %764, align 8, !tbaa !9
  %765 = load i64, ptr %104, align 8, !tbaa !9
  %766 = icmp ne i64 %765, 0
  br i1 %766, label %767, label %774

767:                                              ; preds = %760
  %768 = load ptr, ptr %61, align 8, !tbaa !5
  %769 = getelementptr inbounds %struct.complex, ptr %768, i64 1
  %770 = load ptr, ptr %60, align 8, !tbaa !5
  %771 = getelementptr inbounds %struct.complex, ptr %770, i64 1
  %772 = call i64 @lce_(ptr noundef %769, ptr noundef %771, ptr noundef %92)
  %773 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 8
  store i64 %772, ptr %773, align 16, !tbaa !9
  br label %790

774:                                              ; preds = %760
  %775 = load i64, ptr %102, align 8, !tbaa !9
  %776 = icmp sge i64 %775, 0
  br i1 %776, label %777, label %779

777:                                              ; preds = %774
  %778 = load i64, ptr %102, align 8, !tbaa !9
  br label %782

779:                                              ; preds = %774
  %780 = load i64, ptr %102, align 8, !tbaa !9
  %781 = sub nsw i64 0, %780
  br label %782

782:                                              ; preds = %779, %777
  %783 = phi i64 [ %778, %777 ], [ %781, %779 ]
  store i64 %783, ptr %73, align 8, !tbaa !9
  %784 = load ptr, ptr %61, align 8, !tbaa !5
  %785 = getelementptr inbounds %struct.complex, ptr %784, i64 1
  %786 = load ptr, ptr %60, align 8, !tbaa !5
  %787 = getelementptr inbounds %struct.complex, ptr %786, i64 1
  %788 = call i64 @lceres_(ptr noundef @.str.8, ptr noundef @.str.7, ptr noundef @c__1, ptr noundef %79, ptr noundef %785, ptr noundef %787, ptr noundef %73, i64 noundef 2, i64 noundef 1)
  %789 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 8
  store i64 %788, ptr %789, align 16, !tbaa !9
  br label %790

790:                                              ; preds = %782, %767
  %791 = load i64, ptr %111, align 8, !tbaa !9
  %792 = load i64, ptr %102, align 8, !tbaa !9
  %793 = icmp eq i64 %791, %792
  %794 = zext i1 %793 to i32
  %795 = sext i32 %794 to i64
  %796 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 9
  store i64 %795, ptr %796, align 8, !tbaa !9
  br label %983

797:                                              ; preds = %689
  %798 = load i64, ptr %113, align 8, !tbaa !9
  %799 = icmp ne i64 %798, 0
  br i1 %799, label %800, label %895

800:                                              ; preds = %797
  %801 = load i64, ptr %87, align 8, !tbaa !9
  %802 = load i64, ptr %78, align 8, !tbaa !9
  %803 = icmp eq i64 %801, %802
  %804 = zext i1 %803 to i32
  %805 = sext i32 %804 to i64
  %806 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 2
  store i64 %805, ptr %806, align 16, !tbaa !9
  %807 = getelementptr inbounds %struct.complex, ptr %95, i32 0, i32 0
  %808 = load float, ptr %807, align 4, !tbaa !14
  %809 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 0
  %810 = load float, ptr %809, align 4, !tbaa !14
  %811 = fcmp oeq float %808, %810
  br i1 %811, label %812, label %818

812:                                              ; preds = %800
  %813 = getelementptr inbounds %struct.complex, ptr %95, i32 0, i32 1
  %814 = load float, ptr %813, align 4, !tbaa !16
  %815 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 1
  %816 = load float, ptr %815, align 4, !tbaa !16
  %817 = fcmp oeq float %814, %816
  br label %818

818:                                              ; preds = %812, %800
  %819 = phi i1 [ false, %800 ], [ %817, %812 ]
  %820 = zext i1 %819 to i32
  %821 = sext i32 %820 to i64
  %822 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 3
  store i64 %821, ptr %822, align 8, !tbaa !9
  %823 = load ptr, ptr %55, align 8, !tbaa !5
  %824 = getelementptr inbounds %struct.complex, ptr %823, i64 1
  %825 = load ptr, ptr %54, align 8, !tbaa !5
  %826 = getelementptr inbounds %struct.complex, ptr %825, i64 1
  %827 = call i64 @lce_(ptr noundef %824, ptr noundef %826, ptr noundef %93)
  %828 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 4
  store i64 %827, ptr %828, align 16, !tbaa !9
  %829 = load i64, ptr %99, align 8, !tbaa !9
  %830 = load i64, ptr %94, align 8, !tbaa !9
  %831 = icmp eq i64 %829, %830
  %832 = zext i1 %831 to i32
  %833 = sext i32 %832 to i64
  %834 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 5
  store i64 %833, ptr %834, align 8, !tbaa !9
  %835 = load ptr, ptr %58, align 8, !tbaa !5
  %836 = getelementptr inbounds %struct.complex, ptr %835, i64 1
  %837 = load ptr, ptr %57, align 8, !tbaa !5
  %838 = getelementptr inbounds %struct.complex, ptr %837, i64 1
  %839 = call i64 @lce_(ptr noundef %836, ptr noundef %838, ptr noundef %91)
  %840 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 6
  store i64 %839, ptr %840, align 16, !tbaa !9
  %841 = load i64, ptr %110, align 8, !tbaa !9
  %842 = load i64, ptr %101, align 8, !tbaa !9
  %843 = icmp eq i64 %841, %842
  %844 = zext i1 %843 to i32
  %845 = sext i32 %844 to i64
  %846 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 7
  store i64 %845, ptr %846, align 8, !tbaa !9
  %847 = getelementptr inbounds %struct.complex, ptr %96, i32 0, i32 0
  %848 = load float, ptr %847, align 4, !tbaa !14
  %849 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 0
  %850 = load float, ptr %849, align 4, !tbaa !14
  %851 = fcmp oeq float %848, %850
  br i1 %851, label %852, label %858

852:                                              ; preds = %818
  %853 = getelementptr inbounds %struct.complex, ptr %96, i32 0, i32 1
  %854 = load float, ptr %853, align 4, !tbaa !16
  %855 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 1
  %856 = load float, ptr %855, align 4, !tbaa !16
  %857 = fcmp oeq float %854, %856
  br label %858

858:                                              ; preds = %852, %818
  %859 = phi i1 [ false, %818 ], [ %857, %852 ]
  %860 = zext i1 %859 to i32
  %861 = sext i32 %860 to i64
  %862 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 8
  store i64 %861, ptr %862, align 16, !tbaa !9
  %863 = load i64, ptr %104, align 8, !tbaa !9
  %864 = icmp ne i64 %863, 0
  br i1 %864, label %865, label %872

865:                                              ; preds = %858
  %866 = load ptr, ptr %61, align 8, !tbaa !5
  %867 = getelementptr inbounds %struct.complex, ptr %866, i64 1
  %868 = load ptr, ptr %60, align 8, !tbaa !5
  %869 = getelementptr inbounds %struct.complex, ptr %868, i64 1
  %870 = call i64 @lce_(ptr noundef %867, ptr noundef %869, ptr noundef %92)
  %871 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 9
  store i64 %870, ptr %871, align 8, !tbaa !9
  br label %888

872:                                              ; preds = %858
  %873 = load i64, ptr %102, align 8, !tbaa !9
  %874 = icmp sge i64 %873, 0
  br i1 %874, label %875, label %877

875:                                              ; preds = %872
  %876 = load i64, ptr %102, align 8, !tbaa !9
  br label %880

877:                                              ; preds = %872
  %878 = load i64, ptr %102, align 8, !tbaa !9
  %879 = sub nsw i64 0, %878
  br label %880

880:                                              ; preds = %877, %875
  %881 = phi i64 [ %876, %875 ], [ %879, %877 ]
  store i64 %881, ptr %73, align 8, !tbaa !9
  %882 = load ptr, ptr %61, align 8, !tbaa !5
  %883 = getelementptr inbounds %struct.complex, ptr %882, i64 1
  %884 = load ptr, ptr %60, align 8, !tbaa !5
  %885 = getelementptr inbounds %struct.complex, ptr %884, i64 1
  %886 = call i64 @lceres_(ptr noundef @.str.8, ptr noundef @.str.7, ptr noundef @c__1, ptr noundef %79, ptr noundef %883, ptr noundef %885, ptr noundef %73, i64 noundef 2, i64 noundef 1)
  %887 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 9
  store i64 %886, ptr %887, align 8, !tbaa !9
  br label %888

888:                                              ; preds = %880, %865
  %889 = load i64, ptr %111, align 8, !tbaa !9
  %890 = load i64, ptr %102, align 8, !tbaa !9
  %891 = icmp eq i64 %889, %890
  %892 = zext i1 %891 to i32
  %893 = sext i32 %892 to i64
  %894 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 10
  store i64 %893, ptr %894, align 16, !tbaa !9
  br label %982

895:                                              ; preds = %797
  %896 = load i64, ptr %114, align 8, !tbaa !9
  %897 = icmp ne i64 %896, 0
  br i1 %897, label %898, label %981

898:                                              ; preds = %895
  %899 = getelementptr inbounds %struct.complex, ptr %95, i32 0, i32 0
  %900 = load float, ptr %899, align 4, !tbaa !14
  %901 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 0
  %902 = load float, ptr %901, align 4, !tbaa !14
  %903 = fcmp oeq float %900, %902
  br i1 %903, label %904, label %910

904:                                              ; preds = %898
  %905 = getelementptr inbounds %struct.complex, ptr %95, i32 0, i32 1
  %906 = load float, ptr %905, align 4, !tbaa !16
  %907 = getelementptr inbounds %struct.complex, ptr %106, i32 0, i32 1
  %908 = load float, ptr %907, align 4, !tbaa !16
  %909 = fcmp oeq float %906, %908
  br label %910

910:                                              ; preds = %904, %898
  %911 = phi i1 [ false, %898 ], [ %909, %904 ]
  %912 = zext i1 %911 to i32
  %913 = sext i32 %912 to i64
  %914 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 2
  store i64 %913, ptr %914, align 16, !tbaa !9
  %915 = load ptr, ptr %55, align 8, !tbaa !5
  %916 = getelementptr inbounds %struct.complex, ptr %915, i64 1
  %917 = load ptr, ptr %54, align 8, !tbaa !5
  %918 = getelementptr inbounds %struct.complex, ptr %917, i64 1
  %919 = call i64 @lce_(ptr noundef %916, ptr noundef %918, ptr noundef %93)
  %920 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 3
  store i64 %919, ptr %920, align 8, !tbaa !9
  %921 = load ptr, ptr %58, align 8, !tbaa !5
  %922 = getelementptr inbounds %struct.complex, ptr %921, i64 1
  %923 = load ptr, ptr %57, align 8, !tbaa !5
  %924 = getelementptr inbounds %struct.complex, ptr %923, i64 1
  %925 = call i64 @lce_(ptr noundef %922, ptr noundef %924, ptr noundef %91)
  %926 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 4
  store i64 %925, ptr %926, align 16, !tbaa !9
  %927 = load i64, ptr %110, align 8, !tbaa !9
  %928 = load i64, ptr %101, align 8, !tbaa !9
  %929 = icmp eq i64 %927, %928
  %930 = zext i1 %929 to i32
  %931 = sext i32 %930 to i64
  %932 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 5
  store i64 %931, ptr %932, align 8, !tbaa !9
  %933 = getelementptr inbounds %struct.complex, ptr %96, i32 0, i32 0
  %934 = load float, ptr %933, align 4, !tbaa !14
  %935 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 0
  %936 = load float, ptr %935, align 4, !tbaa !14
  %937 = fcmp oeq float %934, %936
  br i1 %937, label %938, label %944

938:                                              ; preds = %910
  %939 = getelementptr inbounds %struct.complex, ptr %96, i32 0, i32 1
  %940 = load float, ptr %939, align 4, !tbaa !16
  %941 = getelementptr inbounds %struct.complex, ptr %98, i32 0, i32 1
  %942 = load float, ptr %941, align 4, !tbaa !16
  %943 = fcmp oeq float %940, %942
  br label %944

944:                                              ; preds = %938, %910
  %945 = phi i1 [ false, %910 ], [ %943, %938 ]
  %946 = zext i1 %945 to i32
  %947 = sext i32 %946 to i64
  %948 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 6
  store i64 %947, ptr %948, align 16, !tbaa !9
  %949 = load i64, ptr %104, align 8, !tbaa !9
  %950 = icmp ne i64 %949, 0
  br i1 %950, label %951, label %958

951:                                              ; preds = %944
  %952 = load ptr, ptr %61, align 8, !tbaa !5
  %953 = getelementptr inbounds %struct.complex, ptr %952, i64 1
  %954 = load ptr, ptr %60, align 8, !tbaa !5
  %955 = getelementptr inbounds %struct.complex, ptr %954, i64 1
  %956 = call i64 @lce_(ptr noundef %953, ptr noundef %955, ptr noundef %92)
  %957 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 7
  store i64 %956, ptr %957, align 8, !tbaa !9
  br label %974

958:                                              ; preds = %944
  %959 = load i64, ptr %102, align 8, !tbaa !9
  %960 = icmp sge i64 %959, 0
  br i1 %960, label %961, label %963

961:                                              ; preds = %958
  %962 = load i64, ptr %102, align 8, !tbaa !9
  br label %966

963:                                              ; preds = %958
  %964 = load i64, ptr %102, align 8, !tbaa !9
  %965 = sub nsw i64 0, %964
  br label %966

966:                                              ; preds = %963, %961
  %967 = phi i64 [ %962, %961 ], [ %965, %963 ]
  store i64 %967, ptr %73, align 8, !tbaa !9
  %968 = load ptr, ptr %61, align 8, !tbaa !5
  %969 = getelementptr inbounds %struct.complex, ptr %968, i64 1
  %970 = load ptr, ptr %60, align 8, !tbaa !5
  %971 = getelementptr inbounds %struct.complex, ptr %970, i64 1
  %972 = call i64 @lceres_(ptr noundef @.str.8, ptr noundef @.str.7, ptr noundef @c__1, ptr noundef %79, ptr noundef %969, ptr noundef %971, ptr noundef %73, i64 noundef 2, i64 noundef 1)
  %973 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 7
  store i64 %972, ptr %973, align 8, !tbaa !9
  br label %974

974:                                              ; preds = %966, %951
  %975 = load i64, ptr %111, align 8, !tbaa !9
  %976 = load i64, ptr %102, align 8, !tbaa !9
  %977 = icmp eq i64 %975, %976
  %978 = zext i1 %977 to i32
  %979 = sext i32 %978 to i64
  %980 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 8
  store i64 %979, ptr %980, align 16, !tbaa !9
  br label %981

981:                                              ; preds = %974, %895
  br label %982

982:                                              ; preds = %981, %888
  br label %983

983:                                              ; preds = %982, %790
  store i64 1, ptr %100, align 8, !tbaa !9
  %984 = load i64, ptr %108, align 8, !tbaa !9
  store i64 %984, ptr %73, align 8, !tbaa !9
  store i64 1, ptr %77, align 8, !tbaa !9
  br label %985

985:                                              ; preds = %1014, %983
  %986 = load i64, ptr %77, align 8, !tbaa !9
  %987 = load i64, ptr %73, align 8, !tbaa !9
  %988 = icmp sle i64 %986, %987
  br i1 %988, label %989, label %1017

989:                                              ; preds = %985
  %990 = load i64, ptr %100, align 8, !tbaa !9
  %991 = icmp ne i64 %990, 0
  br i1 %991, label %992, label %998

992:                                              ; preds = %989
  %993 = load i64, ptr %77, align 8, !tbaa !9
  %994 = sub nsw i64 %993, 1
  %995 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 %994
  %996 = load i64, ptr %995, align 8, !tbaa !9
  %997 = icmp ne i64 %996, 0
  br label %998

998:                                              ; preds = %992, %989
  %999 = phi i1 [ false, %989 ], [ %997, %992 ]
  %1000 = zext i1 %999 to i32
  %1001 = sext i32 %1000 to i64
  store i64 %1001, ptr %100, align 8, !tbaa !9
  %1002 = load i64, ptr %77, align 8, !tbaa !9
  %1003 = sub nsw i64 %1002, 1
  %1004 = getelementptr inbounds [13 x i64], ptr %107, i64 0, i64 %1003
  %1005 = load i64, ptr %1004, align 8, !tbaa !9
  %1006 = icmp ne i64 %1005, 0
  br i1 %1006, label %1013, label %1007

1007:                                             ; preds = %998
  %1008 = load ptr, ptr %36, align 8, !tbaa !5
  %1009 = load i64, ptr %1008, align 8, !tbaa !9
  store i64 %1009, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___195, i32 0, i32 1), align 8, !tbaa !21
  %1010 = call i64 @s_wsfe(ptr noundef @cchk2_.io___195)
  %1011 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %77, i64 noundef 8)
  %1012 = call i64 @e_wsfe()
  br label %1013

1013:                                             ; preds = %1007, %998
  br label %1014

1014:                                             ; preds = %1013
  %1015 = load i64, ptr %77, align 8, !tbaa !9
  %1016 = add nsw i64 %1015, 1
  store i64 %1016, ptr %77, align 8, !tbaa !9
  br label %985, !llvm.loop !26

1017:                                             ; preds = %985
  %1018 = load i64, ptr %100, align 8, !tbaa !9
  %1019 = icmp ne i64 %1018, 0
  br i1 %1019, label %1022, label %1020

1020:                                             ; preds = %1017
  %1021 = load ptr, ptr %40, align 8, !tbaa !5
  store i64 1, ptr %1021, align 8, !tbaa !9
  br label %1114

1022:                                             ; preds = %1017
  %1023 = load i64, ptr %104, align 8, !tbaa !9
  %1024 = icmp ne i64 %1023, 0
  br i1 %1024, label %1060, label %1025

1025:                                             ; preds = %1022
  %1026 = load ptr, ptr %53, align 8, !tbaa !5
  %1027 = load i64, ptr %66, align 8, !tbaa !9
  %1028 = getelementptr inbounds %struct.complex, ptr %1026, i64 %1027
  %1029 = load ptr, ptr %51, align 8, !tbaa !5
  %1030 = load ptr, ptr %56, align 8, !tbaa !5
  %1031 = getelementptr inbounds %struct.complex, ptr %1030, i64 1
  %1032 = load ptr, ptr %59, align 8, !tbaa !5
  %1033 = getelementptr inbounds %struct.complex, ptr %1032, i64 1
  %1034 = load ptr, ptr %62, align 8, !tbaa !5
  %1035 = getelementptr inbounds %struct.complex, ptr %1034, i64 1
  %1036 = load ptr, ptr %63, align 8, !tbaa !5
  %1037 = getelementptr inbounds float, ptr %1036, i64 1
  %1038 = load ptr, ptr %60, align 8, !tbaa !5
  %1039 = getelementptr inbounds %struct.complex, ptr %1038, i64 1
  %1040 = load ptr, ptr %34, align 8, !tbaa !5
  %1041 = load ptr, ptr %40, align 8, !tbaa !5
  %1042 = load ptr, ptr %36, align 8, !tbaa !5
  %1043 = call i32 @cmvch_(ptr noundef @.str.1, ptr noundef %79, ptr noundef %79, ptr noundef %106, ptr noundef %1028, ptr noundef %1029, ptr noundef %1031, ptr noundef %101, ptr noundef %98, ptr noundef %1033, ptr noundef %102, ptr noundef %1035, ptr noundef %1037, ptr noundef %1039, ptr noundef %1040, ptr noundef %97, ptr noundef %1041, ptr noundef %1042, ptr noundef @c_true, i64 noundef 1)
  %1044 = load float, ptr %115, align 4, !tbaa !12
  %1045 = load float, ptr %97, align 4, !tbaa !12
  %1046 = fcmp oge float %1044, %1045
  br i1 %1046, label %1047, label %1049

1047:                                             ; preds = %1025
  %1048 = load float, ptr %115, align 4, !tbaa !12
  br label %1051

1049:                                             ; preds = %1025
  %1050 = load float, ptr %97, align 4, !tbaa !12
  br label %1051

1051:                                             ; preds = %1049, %1047
  %1052 = phi float [ %1048, %1047 ], [ %1050, %1049 ]
  %1053 = fpext float %1052 to double
  %1054 = fptrunc double %1053 to float
  store float %1054, ptr %115, align 4, !tbaa !12
  %1055 = load ptr, ptr %40, align 8, !tbaa !5
  %1056 = load i64, ptr %1055, align 8, !tbaa !9
  %1057 = icmp ne i64 %1056, 0
  br i1 %1057, label %1058, label %1059

1058:                                             ; preds = %1051
  br label %1114

1059:                                             ; preds = %1051
  br label %1061

1060:                                             ; preds = %1022
  br label %1087

1061:                                             ; preds = %1059
  br label %1062

1062:                                             ; preds = %1061
  %1063 = load i64, ptr %81, align 8, !tbaa !9
  %1064 = add nsw i64 %1063, 1
  store i64 %1064, ptr %81, align 8, !tbaa !9
  br label %405, !llvm.loop !27

1065:                                             ; preds = %405
  br label %1066

1066:                                             ; preds = %1065
  %1067 = load i64, ptr %80, align 8, !tbaa !9
  %1068 = add nsw i64 %1067, 1
  store i64 %1068, ptr %80, align 8, !tbaa !9
  br label %385, !llvm.loop !28

1069:                                             ; preds = %385
  br label %1070

1070:                                             ; preds = %1069
  %1071 = load i64, ptr %89, align 8, !tbaa !9
  %1072 = add nsw i64 %1071, 1
  store i64 %1072, ptr %89, align 8, !tbaa !9
  br label %363, !llvm.loop !29

1073:                                             ; preds = %363
  br label %1074

1074:                                             ; preds = %1073
  %1075 = load i64, ptr %88, align 8, !tbaa !9
  %1076 = add nsw i64 %1075, 1
  store i64 %1076, ptr %88, align 8, !tbaa !9
  br label %287, !llvm.loop !30

1077:                                             ; preds = %287
  br label %1078

1078:                                             ; preds = %1077
  %1079 = load i64, ptr %82, align 8, !tbaa !9
  %1080 = add nsw i64 %1079, 1
  store i64 %1080, ptr %82, align 8, !tbaa !9
  br label %264, !llvm.loop !31

1081:                                             ; preds = %264
  br label %1082

1082:                                             ; preds = %1081, %245
  br label %1083

1083:                                             ; preds = %1082
  %1084 = load i64, ptr %84, align 8, !tbaa !9
  %1085 = add nsw i64 %1084, 1
  store i64 %1085, ptr %84, align 8, !tbaa !9
  br label %209, !llvm.loop !32

1086:                                             ; preds = %209
  br label %1087

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

1088:                                             ; preds = %1087
  %1089 = load i64, ptr %85, align 8, !tbaa !9
  %1090 = add nsw i64 %1089, 1
  store i64 %1090, ptr %85, align 8, !tbaa !9
  br label %192, !llvm.loop !33

1091:                                             ; preds = %192
  %1092 = load float, ptr %115, align 4, !tbaa !12
  %1093 = load ptr, ptr %35, align 8, !tbaa !5
  %1094 = load float, ptr %1093, align 4, !tbaa !12
  %1095 = fcmp olt float %1092, %1094
  br i1 %1095, label %1096, label %1104

1096:                                             ; preds = %1091
  %1097 = load ptr, ptr %36, align 8, !tbaa !5
  %1098 = load i64, ptr %1097, align 8, !tbaa !9
  store i64 %1098, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___197, i32 0, i32 1), align 8, !tbaa !21
  %1099 = call i64 @s_wsfe(ptr noundef @cchk2_.io___197)
  %1100 = load ptr, ptr %33, align 8, !tbaa !5
  %1101 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %1100, i64 noundef 6)
  %1102 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %83, i64 noundef 8)
  %1103 = call i64 @e_wsfe()
  br label %1113

1104:                                             ; preds = %1091
  %1105 = load ptr, ptr %36, align 8, !tbaa !5
  %1106 = load i64, ptr %1105, align 8, !tbaa !9
  store i64 %1106, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___198, i32 0, i32 1), align 8, !tbaa !21
  %1107 = call i64 @s_wsfe(ptr noundef @cchk2_.io___198)
  %1108 = load ptr, ptr %33, align 8, !tbaa !5
  %1109 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %1108, i64 noundef 6)
  %1110 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %83, i64 noundef 8)
  %1111 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %115, i64 noundef 4)
  %1112 = call i64 @e_wsfe()
  br label %1113

1113:                                             ; preds = %1104, %1096
  br label %1180

1114:                                             ; preds = %1058, %1020, %683
  %1115 = load ptr, ptr %36, align 8, !tbaa !5
  %1116 = load i64, ptr %1115, align 8, !tbaa !9
  store i64 %1116, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___199, i32 0, i32 1), align 8, !tbaa !21
  %1117 = call i64 @s_wsfe(ptr noundef @cchk2_.io___199)
  %1118 = load ptr, ptr %33, align 8, !tbaa !5
  %1119 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %1118, i64 noundef 6)
  %1120 = call i64 @e_wsfe()
  %1121 = load i64, ptr %103, align 8, !tbaa !9
  %1122 = icmp ne i64 %1121, 0
  br i1 %1122, label %1123, label %1139

1123:                                             ; preds = %1114
  %1124 = load ptr, ptr %36, align 8, !tbaa !5
  %1125 = load i64, ptr %1124, align 8, !tbaa !9
  store i64 %1125, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___200, i32 0, i32 1), align 8, !tbaa !21
  %1126 = call i64 @s_wsfe(ptr noundef @cchk2_.io___200)
  %1127 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %83, i64 noundef 8)
  %1128 = load ptr, ptr %33, align 8, !tbaa !5
  %1129 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %1128, i64 noundef 6)
  %1130 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %1131 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %1130, i64 noundef 1)
  %1132 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %79, i64 noundef 8)
  %1133 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %106, i64 noundef 4)
  %1134 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %94, i64 noundef 8)
  %1135 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %101, i64 noundef 8)
  %1136 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %98, i64 noundef 4)
  %1137 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %102, i64 noundef 8)
  %1138 = call i64 @e_wsfe()
  br label %1179

1139:                                             ; preds = %1114
  %1140 = load i64, ptr %113, align 8, !tbaa !9
  %1141 = icmp ne i64 %1140, 0
  br i1 %1141, label %1142, label %1159

1142:                                             ; preds = %1139
  %1143 = load ptr, ptr %36, align 8, !tbaa !5
  %1144 = load i64, ptr %1143, align 8, !tbaa !9
  store i64 %1144, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___201, i32 0, i32 1), align 8, !tbaa !21
  %1145 = call i64 @s_wsfe(ptr noundef @cchk2_.io___201)
  %1146 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %83, i64 noundef 8)
  %1147 = load ptr, ptr %33, align 8, !tbaa !5
  %1148 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %1147, i64 noundef 6)
  %1149 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %1150 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %1149, i64 noundef 1)
  %1151 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %79, i64 noundef 8)
  %1152 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %78, i64 noundef 8)
  %1153 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %106, i64 noundef 4)
  %1154 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %94, i64 noundef 8)
  %1155 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %101, i64 noundef 8)
  %1156 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %98, i64 noundef 4)
  %1157 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %102, i64 noundef 8)
  %1158 = call i64 @e_wsfe()
  br label %1178

1159:                                             ; preds = %1139
  %1160 = load i64, ptr %114, align 8, !tbaa !9
  %1161 = icmp ne i64 %1160, 0
  br i1 %1161, label %1162, label %1177

1162:                                             ; preds = %1159
  %1163 = load ptr, ptr %36, align 8, !tbaa !5
  %1164 = load i64, ptr %1163, align 8, !tbaa !9
  store i64 %1164, ptr getelementptr inbounds (%struct.cilist, ptr @cchk2_.io___202, i32 0, i32 1), align 8, !tbaa !21
  %1165 = call i64 @s_wsfe(ptr noundef @cchk2_.io___202)
  %1166 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %83, i64 noundef 8)
  %1167 = load ptr, ptr %33, align 8, !tbaa !5
  %1168 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %1167, i64 noundef 6)
  %1169 = getelementptr inbounds [1 x i8], ptr %105, i64 0, i64 0
  %1170 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %1169, i64 noundef 1)
  %1171 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %79, i64 noundef 8)
  %1172 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %106, i64 noundef 4)
  %1173 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %101, i64 noundef 8)
  %1174 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %98, i64 noundef 4)
  %1175 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %102, i64 noundef 8)
  %1176 = call i64 @e_wsfe()
  br label %1177

1177:                                             ; preds = %1162, %1159
  br label %1178

1178:                                             ; preds = %1177, %1142
  br label %1179

1179:                                             ; preds = %1178, %1123
  br label %1180

1180:                                             ; preds = %1179, %1113
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #3
  call void @llvm.lifetime.end.p0(i64 104, ptr %107) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #3
  ret i32 0
}

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @cmake_(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, i64 noundef, i64 noundef, i64 noundef) #2

declare i64 @f_rew(ptr noundef) #1

; Function Attrs: nounwind uwtable
declare dso_local i64 @lceres_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef) #2

declare i32 @f2c_chemv(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #1

declare i32 @f2c_chbmv(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #1

declare i32 @f2c_chpmv(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #1

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

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

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

%union.anon = type { %struct.anon }
%struct.anon = type { i64, i64, i64, i64 }
%struct.cilist = type { i64, i64, i64, ptr, i64 }
%struct.alist = type { i64, i64 }
%struct.complex = type { float, float }

@c__1 = external hidden global i64, align 8
@infoc_ = external dso_local local_unnamed_addr global %union.anon, align 8
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__2 = external hidden global i64, align 8
@c_true = external hidden global i64, align 8
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [3 x i8], align 1
@c__0 = external hidden global i64, align 8
@cchk2_.ich = external hidden local_unnamed_addr global [2 x i8], align 1
@cchk2_.io___189 = external hidden global %struct.cilist, align 8
@cchk2_.io___190 = external hidden global %struct.cilist, align 8
@cchk2_.io___191 = external hidden global %struct.cilist, align 8
@cchk2_.io___192 = external hidden global %struct.cilist, align 8
@cchk2_.io___195 = external hidden global %struct.cilist, align 8
@cchk2_.io___197 = external hidden global %struct.cilist, align 8
@cchk2_.io___198 = external hidden global %struct.cilist, align 8
@cchk2_.io___199 = external hidden global %struct.cilist, align 8
@cchk2_.io___200 = external hidden global %struct.cilist, align 8
@cchk2_.io___201 = external hidden global %struct.cilist, align 8
@cchk2_.io___202 = external hidden global %struct.cilist, align 8

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

declare i64 @s_wsfe(ptr noundef) local_unnamed_addr #1

declare i64 @do_fio(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #1

declare i64 @e_wsfe() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare dso_local i32 @cmvch_(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, i64 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare dso_local i64 @lce_(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @cchk2_(ptr noundef %0, ptr noundef %1, ptr nocapture noundef readonly %2, ptr noundef %3, ptr nocapture noundef readonly %4, ptr nocapture noundef readonly %5, ptr nocapture noundef readonly %6, ptr noundef %7, ptr nocapture noundef readonly %8, ptr nocapture noundef readonly %9, ptr nocapture noundef readonly %10, ptr nocapture noundef readonly %11, ptr nocapture noundef readonly %12, ptr nocapture noundef readonly %13, ptr nocapture noundef readonly %14, ptr nocapture noundef readonly %15, ptr nocapture noundef readonly %16, ptr nocapture noundef readonly %17, ptr noundef %18, ptr nocapture noundef readnone %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, i64 noundef %31) local_unnamed_addr #2 {
  %33 = alloca i64, align 8
  %34 = alloca i64, align 8
  %35 = alloca i64, align 8
  %36 = alloca i64, align 8
  %37 = alloca %struct.alist, align 8
  %38 = alloca i64, align 8
  %39 = alloca i64, align 8
  %40 = alloca i64, align 8
  %41 = alloca i64, align 8
  %42 = alloca i64, align 8
  %43 = alloca i64, align 8
  %44 = alloca i64, align 8
  %45 = alloca i64, align 8
  %46 = alloca float, align 4
  %47 = alloca %struct.complex, align 8
  %48 = alloca i64, align 8
  %49 = alloca i64, align 8
  %50 = alloca [1 x i8], align 1
  %51 = alloca %struct.complex, align 8
  %52 = alloca [13 x i64], align 16
  %53 = alloca i64, align 8
  %54 = alloca float, align 4
  %55 = alloca %struct.complex, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %50) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #4
  call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %52) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #4
  %56 = getelementptr inbounds i8, ptr %9, i64 -8
  %57 = getelementptr inbounds i8, ptr %11, i64 -8
  %58 = getelementptr inbounds i8, ptr %13, i64 -8
  %59 = getelementptr inbounds i8, ptr %15, i64 -8
  %60 = getelementptr inbounds i8, ptr %17, i64 -8
  %61 = getelementptr inbounds i8, ptr %23, i64 -8
  %62 = getelementptr inbounds i8, ptr %22, i64 -8
  %63 = getelementptr inbounds i8, ptr %21, i64 -8
  %64 = getelementptr inbounds i8, ptr %28, i64 -8
  %65 = getelementptr inbounds i8, ptr %27, i64 -8
  %66 = getelementptr inbounds i8, ptr %25, i64 -8
  %67 = getelementptr inbounds i8, ptr %24, i64 -8
  %68 = getelementptr inbounds i8, ptr %0, i64 2
  %69 = load i8, ptr %68, align 1, !tbaa !5
  %70 = icmp eq i8 %69, 69
  %71 = icmp eq i8 %69, 66
  %72 = icmp eq i8 %69, 80
  %.mux = select i1 %71, i64 11, i64 9
  %.0 = select i1 %70, i64 10, i64 %.mux
  store i64 0, ptr %41, align 8, !tbaa !8
  store i64 1, ptr %53, align 8, !tbaa !8
  store float 0.000000e+00, ptr %54, align 4, !tbaa !10
  %73 = load i64, ptr %8, align 8, !tbaa !8
  %.not312 = icmp slt i64 %73, 1
  br i1 %.not312, label %._crit_edge316, label %.lr.ph315

.lr.ph315:                                        ; preds = %32
  %74 = getelementptr inbounds i8, ptr %0, i64 1
  %75 = getelementptr inbounds i8, ptr %51, i64 4
  %76 = getelementptr inbounds i8, ptr %47, i64 4
  %77 = getelementptr inbounds i8, ptr %37, i64 8
  %78 = getelementptr inbounds i8, ptr %52, i64 8
  %79 = getelementptr inbounds i8, ptr %52, i64 16
  %80 = getelementptr inbounds i8, ptr %52, i64 24
  %81 = getelementptr inbounds i8, ptr %52, i64 32
  %82 = getelementptr inbounds i8, ptr %52, i64 40
  %83 = getelementptr inbounds i8, ptr %52, i64 48
  %84 = getelementptr inbounds i8, ptr %52, i64 56
  %85 = getelementptr inbounds i8, ptr %52, i64 64
  %86 = getelementptr inbounds i8, ptr %52, i64 72
  %87 = getelementptr inbounds i8, ptr %52, i64 80
  %scevgep = getelementptr i8, ptr %28, i64 -4
  %scevgep367 = getelementptr i8, ptr %27, i64 -4
  %scevgep369 = getelementptr i8, ptr %28, i64 4
  %scevgep371 = getelementptr i8, ptr %27, i64 4
  %scevgep382 = getelementptr i8, ptr %25, i64 -4
  %scevgep384 = getelementptr i8, ptr %24, i64 -4
  %scevgep386 = getelementptr i8, ptr %25, i64 4
  %scevgep388 = getelementptr i8, ptr %24, i64 4
  %scevgep419 = getelementptr i8, ptr %22, i64 -4
  %scevgep421 = getelementptr i8, ptr %21, i64 -4
  %scevgep423 = getelementptr i8, ptr %22, i64 4
  %scevgep425 = getelementptr i8, ptr %21, i64 4
  br label %88

88:                                               ; preds = %.lr.ph315, %.loopexit
  %89 = phi float [ 0.000000e+00, %.lr.ph315 ], [ %491, %.loopexit ]
  %.0221313 = phi i64 [ 1, %.lr.ph315 ], [ %492, %.loopexit ]
  %90 = getelementptr inbounds i64, ptr %56, i64 %.0221313
  %91 = load i64, ptr %90, align 8, !tbaa !8
  store i64 %91, ptr %40, align 8, !tbaa !8
  br i1 %71, label %92, label %.lr.ph311.preheader

92:                                               ; preds = %88
  %93 = load i64, ptr %10, align 8, !tbaa !8
  %.not233308 = icmp slt i64 %93, 1
  br i1 %.not233308, label %.loopexit, label %.lr.ph311.preheader

.lr.ph311.preheader:                              ; preds = %88, %92
  %.0220337 = phi i64 [ %93, %92 ], [ 1, %88 ]
  br label %.lr.ph311

.lr.ph311:                                        ; preds = %.lr.ph311.preheader, %.loopexit260
  %94 = phi float [ %489, %.loopexit260 ], [ %89, %.lr.ph311.preheader ]
  %.0222309 = phi i64 [ %490, %.loopexit260 ], [ 1, %.lr.ph311.preheader ]
  br i1 %71, label %95, label %98

95:                                               ; preds = %.lr.ph311
  %96 = getelementptr inbounds i64, ptr %57, i64 %.0222309
  %97 = load i64, ptr %96, align 8, !tbaa !8
  %.pr = load i64, ptr %40, align 8
  br label %101

98:                                               ; preds = %.lr.ph311
  %99 = load i64, ptr %40, align 8
  %100 = add nsw i64 %99, -1
  br label %101

101:                                              ; preds = %98, %95
  %102 = phi i64 [ %99, %98 ], [ %.pr, %95 ]
  %storemerge = phi i64 [ %100, %98 ], [ %97, %95 ]
  store i64 %storemerge, ptr %39, align 8, !tbaa !8
  %103 = add nsw i64 %storemerge, 1
  %storemerge234 = select i1 %71, i64 %103, i64 %102
  store i64 %storemerge234, ptr %45, align 8, !tbaa !8
  %104 = load i64, ptr %18, align 8, !tbaa !8
  %105 = icmp slt i64 %storemerge234, %104
  br i1 %105, label %106, label %108

106:                                              ; preds = %101
  %107 = add nsw i64 %storemerge234, 1
  store i64 %107, ptr %45, align 8, !tbaa !8
  br label %108

108:                                              ; preds = %106, %101
  %109 = phi i64 [ %107, %106 ], [ %storemerge234, %101 ]
  %110 = icmp sgt i64 %109, %104
  br i1 %110, label %.loopexit260, label %111

111:                                              ; preds = %108
  br i1 %72, label %112, label %116

112:                                              ; preds = %111
  %113 = add nsw i64 %102, 1
  %114 = mul nsw i64 %113, %102
  %115 = sdiv i64 %114, 2
  br label %118

116:                                              ; preds = %111
  %117 = mul nsw i64 %109, %102
  br label %118

118:                                              ; preds = %116, %112
  %storemerge235 = phi i64 [ %117, %116 ], [ %115, %112 ]
  store i64 %storemerge235, ptr %44, align 8, !tbaa !8
  %119 = icmp slt i64 %102, 1
  br label %120

120:                                              ; preds = %118, %._crit_edge306
  %121 = phi float [ %94, %118 ], [ %487, %._crit_edge306 ]
  %.0223307 = phi i64 [ 1, %118 ], [ %488, %._crit_edge306 ]
  %122 = add nsw i64 %.0223307, -1
  %123 = getelementptr inbounds [2 x i8], ptr @cchk2_.ich, i64 0, i64 %122
  %124 = load i8, ptr %123, align 1, !tbaa !5
  store i8 %124, ptr %50, align 1, !tbaa !5
  store <2 x float> zeroinitializer, ptr %55, align 8, !tbaa !10
  %125 = call i32 @cmake_(ptr noundef nonnull %74, ptr noundef nonnull %50, ptr noundef nonnull @.str.7, ptr noundef nonnull %40, ptr noundef nonnull %40, ptr noundef %20, ptr noundef nonnull %18, ptr noundef %21, ptr noundef nonnull %45, ptr noundef nonnull %39, ptr noundef nonnull %39, ptr noundef nonnull %53, ptr noundef nonnull %55, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  %126 = load i64, ptr %16, align 8, !tbaa !8
  %.not236302 = icmp slt i64 %126, 1
  br i1 %.not236302, label %._crit_edge306, label %.lr.ph305

.lr.ph305:                                        ; preds = %120, %._crit_edge301
  %127 = phi float [ %485, %._crit_edge301 ], [ %121, %120 ]
  %.0219303 = phi i64 [ %486, %._crit_edge301 ], [ 1, %120 ]
  %128 = getelementptr inbounds i64, ptr %60, i64 %.0219303
  %129 = load i64, ptr %128, align 8, !tbaa !8
  store i64 %129, ptr %48, align 8, !tbaa !8
  %130 = call i64 @llvm.abs.i64(i64 %129, i1 true)
  %131 = load i64, ptr %40, align 8, !tbaa !8
  %132 = mul nsw i64 %131, %130
  store i64 %132, ptr %42, align 8, !tbaa !8
  store <2 x float> <float 5.000000e-01, float 0.000000e+00>, ptr %55, align 8, !tbaa !10
  store i64 %130, ptr %33, align 8, !tbaa !8
  %133 = add nsw i64 %131, -1
  store i64 %133, ptr %34, align 8, !tbaa !8
  %134 = call i32 @cmake_(ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.7, ptr noundef nonnull @c__1, ptr noundef nonnull %40, ptr noundef %23, ptr noundef nonnull @c__1, ptr noundef %24, ptr noundef nonnull %33, ptr noundef nonnull @c__0, ptr noundef nonnull %34, ptr noundef nonnull %53, ptr noundef nonnull %55, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  %135 = load i64, ptr %40, align 8, !tbaa !8
  %136 = icmp sgt i64 %135, 1
  br i1 %136, label %137, label %145

137:                                              ; preds = %.lr.ph305
  %138 = lshr i64 %135, 1
  %139 = getelementptr inbounds %struct.complex, ptr %61, i64 %138
  store <2 x float> zeroinitializer, ptr %139, align 4, !tbaa !10
  %140 = load i64, ptr %48, align 8
  %141 = call i64 @llvm.abs.i64(i64 %140, i1 true)
  %142 = add nsw i64 %138, -1
  %143 = mul nsw i64 %141, %142
  %144 = getelementptr %struct.complex, ptr %24, i64 %143
  store <2 x float> zeroinitializer, ptr %144, align 4, !tbaa !10
  br label %145

145:                                              ; preds = %137, %.lr.ph305
  %146 = load i64, ptr %16, align 8, !tbaa !8
  store i64 %146, ptr %33, align 8, !tbaa !8
  %.not237297 = icmp slt i64 %146, 1
  br i1 %.not237297, label %._crit_edge301, label %.lr.ph300

.lr.ph300:                                        ; preds = %145, %._crit_edge292
  %147 = phi i64 [ %482, %._crit_edge292 ], [ %146, %145 ]
  %148 = phi float [ %483, %._crit_edge292 ], [ %127, %145 ]
  %.0218298 = phi i64 [ %484, %._crit_edge292 ], [ 1, %145 ]
  %149 = getelementptr inbounds i64, ptr %60, i64 %.0218298
  %150 = load i64, ptr %149, align 8, !tbaa !8
  store i64 %150, ptr %49, align 8, !tbaa !8
  %151 = call i64 @llvm.abs.i64(i64 %150, i1 true)
  %152 = load i64, ptr %40, align 8, !tbaa !8
  %153 = mul nsw i64 %152, %151
  store i64 %153, ptr %43, align 8, !tbaa !8
  %154 = load i64, ptr %12, align 8, !tbaa !8
  store i64 %154, ptr %34, align 8, !tbaa !8
  %.not238288 = icmp slt i64 %154, 1
  br i1 %.not238288, label %._crit_edge292, label %.lr.ph291

.lr.ph291:                                        ; preds = %.lr.ph300
  %155 = load i64, ptr %14, align 8, !tbaa !8
  %156 = icmp slt i64 %155, 1
  br i1 %156, label %.lr.ph291.split.us, label %.lr.ph291.split

.lr.ph291.split.us:                               ; preds = %.lr.ph291
  %157 = getelementptr inbounds %struct.complex, ptr %58, i64 %154
  %158 = load <2 x float>, ptr %157, align 4, !tbaa !10
  store <2 x float> %158, ptr %51, align 8, !tbaa !10
  br label %._crit_edge292

.lr.ph291.split:                                  ; preds = %.lr.ph291, %._crit_edge287
  %159 = phi i64 [ %479, %._crit_edge287 ], [ %154, %.lr.ph291 ]
  %160 = phi float [ %480, %._crit_edge287 ], [ %148, %.lr.ph291 ]
  %.0225289 = phi i64 [ %481, %._crit_edge287 ], [ 1, %.lr.ph291 ]
  %161 = getelementptr inbounds %struct.complex, ptr %58, i64 %.0225289
  %162 = load <2 x float>, ptr %161, align 4, !tbaa !10
  store <2 x float> %162, ptr %51, align 8, !tbaa !10
  %163 = load i64, ptr %14, align 8, !tbaa !8
  %.not239283 = icmp slt i64 %163, 1
  br i1 %.not239283, label %._crit_edge287, label %.lr.ph286

164:                                              ; preds = %473
  %165 = add nuw i64 %.0224284, 1
  %exitcond323.not = icmp eq i64 %.0224284, %163
  br i1 %exitcond323.not, label %._crit_edge287.loopexit, label %.lr.ph286, !llvm.loop !12

.lr.ph286:                                        ; preds = %.lr.ph291.split, %164
  %166 = phi float [ %477, %164 ], [ %160, %.lr.ph291.split ]
  %.0224284 = phi i64 [ %165, %164 ], [ 1, %.lr.ph291.split ]
  %167 = getelementptr inbounds %struct.complex, ptr %59, i64 %.0224284
  %168 = load <2 x float>, ptr %167, align 4, !tbaa !10
  store <2 x float> %168, ptr %47, align 8, !tbaa !10
  store <2 x float> zeroinitializer, ptr %55, align 8, !tbaa !10
  %169 = load i64, ptr %49, align 8
  %170 = call i64 @llvm.abs.i64(i64 %169, i1 true)
  store i64 %170, ptr %35, align 8, !tbaa !8
  %171 = load i64, ptr %40, align 8, !tbaa !8
  %172 = add nsw i64 %171, -1
  store i64 %172, ptr %36, align 8, !tbaa !8
  %173 = call i32 @cmake_(ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.7, ptr noundef nonnull @c__1, ptr noundef nonnull %40, ptr noundef %26, ptr noundef nonnull @c__1, ptr noundef %27, ptr noundef nonnull %35, ptr noundef nonnull @c__0, ptr noundef nonnull %36, ptr noundef nonnull %53, ptr noundef nonnull %55, i64 noundef 2, i64 noundef 1, i64 noundef 1)
  %174 = load i64, ptr %41, align 8, !tbaa !8
  %175 = add nsw i64 %174, 1
  store i64 %175, ptr %41, align 8, !tbaa !8
  %176 = load i8, ptr %50, align 1, !tbaa !5
  %177 = load i64, ptr %40, align 8, !tbaa !8
  %178 = load i64, ptr %39, align 8, !tbaa !8
  %179 = load float, ptr %51, align 8, !tbaa !14
  %180 = load float, ptr %75, align 4, !tbaa !16
  %181 = load i64, ptr %44, align 8, !tbaa !8
  %.not241262 = icmp slt i64 %181, 1
  br i1 %.not241262, label %212, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %.lr.ph286
  %min.iters.check436 = icmp ult i64 %181, 8
  br i1 %min.iters.check436, label %.lr.ph.preheader457, label %vector.memcheck418

vector.memcheck418:                               ; preds = %.lr.ph.preheader
  %182 = shl i64 %181, 3
  %scevgep420 = getelementptr i8, ptr %scevgep419, i64 %182
  %scevgep422 = getelementptr i8, ptr %scevgep421, i64 %182
  %scevgep424 = getelementptr i8, ptr %22, i64 %182
  %scevgep426 = getelementptr i8, ptr %21, i64 %182
  %bound0427 = icmp ugt ptr %scevgep422, %22
  %bound1428 = icmp ugt ptr %scevgep420, %21
  %found.conflict429 = and i1 %bound0427, %bound1428
  %bound0430 = icmp ult ptr %scevgep423, %scevgep426
  %bound1431 = icmp ult ptr %scevgep425, %scevgep424
  %found.conflict432 = and i1 %bound0430, %bound1431
  %conflict.rdx433 = or i1 %found.conflict429, %found.conflict432
  br i1 %conflict.rdx433, label %.lr.ph.preheader457, label %vector.ph437

vector.ph437:                                     ; preds = %vector.memcheck418
  %n.vec439 = and i64 %181, 9223372036854775804
  %ind.end440 = or disjoint i64 %n.vec439, 1
  br label %vector.body442

vector.body442:                                   ; preds = %vector.body442, %vector.ph437
  %index443 = phi i64 [ 0, %vector.ph437 ], [ %index.next453, %vector.body442 ]
  %183 = or disjoint i64 %index443, 3
  %184 = getelementptr %struct.complex, ptr %21, i64 %index443
  %185 = getelementptr inbounds %struct.complex, ptr %63, i64 %183
  %wide.vec445 = load <4 x float>, ptr %184, align 4, !tbaa !10
  %wide.vec446 = load <4 x float>, ptr %185, align 4, !tbaa !10
  %186 = getelementptr %struct.complex, ptr %22, i64 %index443
  %187 = getelementptr inbounds %struct.complex, ptr %62, i64 %183
  store <4 x float> %wide.vec445, ptr %186, align 4, !tbaa !10
  store <4 x float> %wide.vec446, ptr %187, align 4, !tbaa !10
  %index.next453 = add nuw i64 %index443, 4
  %188 = icmp eq i64 %index.next453, %n.vec439
  br i1 %188, label %middle.block434, label %vector.body442, !llvm.loop !17

middle.block434:                                  ; preds = %vector.body442
  %cmp.n454 = icmp eq i64 %181, %n.vec439
  br i1 %cmp.n454, label %._crit_edge, label %.lr.ph.preheader457

.lr.ph.preheader457:                              ; preds = %middle.block434, %vector.memcheck418, %.lr.ph.preheader
  %storemerge240263.ph = phi i64 [ 1, %vector.memcheck418 ], [ 1, %.lr.ph.preheader ], [ %ind.end440, %middle.block434 ]
  %189 = add nuw i64 %181, 1
  %190 = sub i64 %189, %storemerge240263.ph
  %191 = sub i64 %181, %storemerge240263.ph
  %xtraiter = and i64 %190, 3
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.lr.ph.prol.loopexit, label %.lr.ph.prol

.lr.ph.prol:                                      ; preds = %.lr.ph.preheader457, %.lr.ph.prol
  %storemerge240263.prol = phi i64 [ %195, %.lr.ph.prol ], [ %storemerge240263.ph, %.lr.ph.preheader457 ]
  %prol.iter = phi i64 [ %prol.iter.next, %.lr.ph.prol ], [ 0, %.lr.ph.preheader457 ]
  %192 = getelementptr inbounds %struct.complex, ptr %63, i64 %storemerge240263.prol
  %193 = getelementptr inbounds %struct.complex, ptr %62, i64 %storemerge240263.prol
  %194 = load <2 x float>, ptr %192, align 4, !tbaa !10
  store <2 x float> %194, ptr %193, align 4, !tbaa !10
  %195 = add nuw i64 %storemerge240263.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 %.lr.ph.prol.loopexit, label %.lr.ph.prol, !llvm.loop !20

.lr.ph.prol.loopexit:                             ; preds = %.lr.ph.prol, %.lr.ph.preheader457
  %storemerge240263.unr = phi i64 [ %storemerge240263.ph, %.lr.ph.preheader457 ], [ %195, %.lr.ph.prol ]
  %196 = icmp ult i64 %191, 3
  br i1 %196, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.prol.loopexit, %.lr.ph
  %storemerge240263 = phi i64 [ %211, %.lr.ph ], [ %storemerge240263.unr, %.lr.ph.prol.loopexit ]
  %197 = getelementptr inbounds %struct.complex, ptr %63, i64 %storemerge240263
  %198 = getelementptr inbounds %struct.complex, ptr %62, i64 %storemerge240263
  %199 = load <2 x float>, ptr %197, align 4, !tbaa !10
  store <2 x float> %199, ptr %198, align 4, !tbaa !10
  %200 = getelementptr %struct.complex, ptr %21, i64 %storemerge240263
  %201 = getelementptr %struct.complex, ptr %22, i64 %storemerge240263
  %202 = load <2 x float>, ptr %200, align 4, !tbaa !10
  store <2 x float> %202, ptr %201, align 4, !tbaa !10
  %203 = add nuw i64 %storemerge240263, 2
  %204 = getelementptr inbounds %struct.complex, ptr %63, i64 %203
  %205 = getelementptr inbounds %struct.complex, ptr %62, i64 %203
  %206 = load <2 x float>, ptr %204, align 4, !tbaa !10
  store <2 x float> %206, ptr %205, align 4, !tbaa !10
  %207 = add nuw i64 %storemerge240263, 3
  %208 = getelementptr inbounds %struct.complex, ptr %63, i64 %207
  %209 = getelementptr inbounds %struct.complex, ptr %62, i64 %207
  %210 = load <2 x float>, ptr %208, align 4, !tbaa !10
  store <2 x float> %210, ptr %209, align 4, !tbaa !10
  %211 = add nuw i64 %storemerge240263, 4
  %exitcond.not.3 = icmp eq i64 %207, %181
  br i1 %exitcond.not.3, label %._crit_edge, label %.lr.ph, !llvm.loop !22

._crit_edge:                                      ; preds = %.lr.ph.prol.loopexit, %.lr.ph, %middle.block434
  store i64 %181, ptr %36, align 8, !tbaa !8
  br label %212

212:                                              ; preds = %._crit_edge, %.lr.ph286
  %213 = load i64, ptr %45, align 8, !tbaa !8
  %214 = load i64, ptr %42, align 8, !tbaa !8
  %.not243264 = icmp slt i64 %214, 1
  br i1 %.not243264, label %245, label %.lr.ph267.preheader

.lr.ph267.preheader:                              ; preds = %212
  %min.iters.check399 = icmp ult i64 %214, 8
  br i1 %min.iters.check399, label %.lr.ph267.preheader456, label %vector.memcheck381

vector.memcheck381:                               ; preds = %.lr.ph267.preheader
  %215 = shl i64 %214, 3
  %scevgep383 = getelementptr i8, ptr %scevgep382, i64 %215
  %scevgep385 = getelementptr i8, ptr %scevgep384, i64 %215
  %scevgep387 = getelementptr i8, ptr %25, i64 %215
  %scevgep389 = getelementptr i8, ptr %24, i64 %215
  %bound0390 = icmp ugt ptr %scevgep385, %25
  %bound1391 = icmp ugt ptr %scevgep383, %24
  %found.conflict392 = and i1 %bound0390, %bound1391
  %bound0393 = icmp ult ptr %scevgep386, %scevgep389
  %bound1394 = icmp ult ptr %scevgep388, %scevgep387
  %found.conflict395 = and i1 %bound0393, %bound1394
  %conflict.rdx396 = or i1 %found.conflict392, %found.conflict395
  br i1 %conflict.rdx396, label %.lr.ph267.preheader456, label %vector.ph400

vector.ph400:                                     ; preds = %vector.memcheck381
  %n.vec402 = and i64 %214, 9223372036854775804
  %ind.end403 = or disjoint i64 %n.vec402, 1
  br label %vector.body405

vector.body405:                                   ; preds = %vector.body405, %vector.ph400
  %index406 = phi i64 [ 0, %vector.ph400 ], [ %index.next416, %vector.body405 ]
  %216 = or disjoint i64 %index406, 3
  %217 = getelementptr %struct.complex, ptr %24, i64 %index406
  %218 = getelementptr inbounds %struct.complex, ptr %67, i64 %216
  %wide.vec408 = load <4 x float>, ptr %217, align 4, !tbaa !10
  %wide.vec409 = load <4 x float>, ptr %218, align 4, !tbaa !10
  %219 = getelementptr %struct.complex, ptr %25, i64 %index406
  %220 = getelementptr inbounds %struct.complex, ptr %66, i64 %216
  store <4 x float> %wide.vec408, ptr %219, align 4, !tbaa !10
  store <4 x float> %wide.vec409, ptr %220, align 4, !tbaa !10
  %index.next416 = add nuw i64 %index406, 4
  %221 = icmp eq i64 %index.next416, %n.vec402
  br i1 %221, label %middle.block397, label %vector.body405, !llvm.loop !23

middle.block397:                                  ; preds = %vector.body405
  %cmp.n417 = icmp eq i64 %214, %n.vec402
  br i1 %cmp.n417, label %._crit_edge268, label %.lr.ph267.preheader456

.lr.ph267.preheader456:                           ; preds = %middle.block397, %vector.memcheck381, %.lr.ph267.preheader
  %storemerge242265.ph = phi i64 [ 1, %vector.memcheck381 ], [ 1, %.lr.ph267.preheader ], [ %ind.end403, %middle.block397 ]
  %222 = add nuw i64 %214, 1
  %223 = sub i64 %222, %storemerge242265.ph
  %224 = sub i64 %214, %storemerge242265.ph
  %xtraiter472 = and i64 %223, 3
  %lcmp.mod473.not = icmp eq i64 %xtraiter472, 0
  br i1 %lcmp.mod473.not, label %.lr.ph267.prol.loopexit, label %.lr.ph267.prol

.lr.ph267.prol:                                   ; preds = %.lr.ph267.preheader456, %.lr.ph267.prol
  %storemerge242265.prol = phi i64 [ %228, %.lr.ph267.prol ], [ %storemerge242265.ph, %.lr.ph267.preheader456 ]
  %prol.iter474 = phi i64 [ %prol.iter474.next, %.lr.ph267.prol ], [ 0, %.lr.ph267.preheader456 ]
  %225 = getelementptr inbounds %struct.complex, ptr %67, i64 %storemerge242265.prol
  %226 = getelementptr inbounds %struct.complex, ptr %66, i64 %storemerge242265.prol
  %227 = load <2 x float>, ptr %225, align 4, !tbaa !10
  store <2 x float> %227, ptr %226, align 4, !tbaa !10
  %228 = add nuw i64 %storemerge242265.prol, 1
  %prol.iter474.next = add i64 %prol.iter474, 1
  %prol.iter474.cmp.not = icmp eq i64 %prol.iter474.next, %xtraiter472
  br i1 %prol.iter474.cmp.not, label %.lr.ph267.prol.loopexit, label %.lr.ph267.prol, !llvm.loop !24

.lr.ph267.prol.loopexit:                          ; preds = %.lr.ph267.prol, %.lr.ph267.preheader456
  %storemerge242265.unr = phi i64 [ %storemerge242265.ph, %.lr.ph267.preheader456 ], [ %228, %.lr.ph267.prol ]
  %229 = icmp ult i64 %224, 3
  br i1 %229, label %._crit_edge268, label %.lr.ph267

.lr.ph267:                                        ; preds = %.lr.ph267.prol.loopexit, %.lr.ph267
  %storemerge242265 = phi i64 [ %244, %.lr.ph267 ], [ %storemerge242265.unr, %.lr.ph267.prol.loopexit ]
  %230 = getelementptr inbounds %struct.complex, ptr %67, i64 %storemerge242265
  %231 = getelementptr inbounds %struct.complex, ptr %66, i64 %storemerge242265
  %232 = load <2 x float>, ptr %230, align 4, !tbaa !10
  store <2 x float> %232, ptr %231, align 4, !tbaa !10
  %233 = getelementptr %struct.complex, ptr %24, i64 %storemerge242265
  %234 = getelementptr %struct.complex, ptr %25, i64 %storemerge242265
  %235 = load <2 x float>, ptr %233, align 4, !tbaa !10
  store <2 x float> %235, ptr %234, align 4, !tbaa !10
  %236 = add nuw i64 %storemerge242265, 2
  %237 = getelementptr inbounds %struct.complex, ptr %67, i64 %236
  %238 = getelementptr inbounds %struct.complex, ptr %66, i64 %236
  %239 = load <2 x float>, ptr %237, align 4, !tbaa !10
  store <2 x float> %239, ptr %238, align 4, !tbaa !10
  %240 = add nuw i64 %storemerge242265, 3
  %241 = getelementptr inbounds %struct.complex, ptr %67, i64 %240
  %242 = getelementptr inbounds %struct.complex, ptr %66, i64 %240
  %243 = load <2 x float>, ptr %241, align 4, !tbaa !10
  store <2 x float> %243, ptr %242, align 4, !tbaa !10
  %244 = add nuw i64 %storemerge242265, 4
  %exitcond321.not.3 = icmp eq i64 %240, %214
  br i1 %exitcond321.not.3, label %._crit_edge268, label %.lr.ph267, !llvm.loop !25

._crit_edge268:                                   ; preds = %.lr.ph267.prol.loopexit, %.lr.ph267, %middle.block397
  store i64 %214, ptr %36, align 8, !tbaa !8
  br label %245

245:                                              ; preds = %._crit_edge268, %212
  %246 = load i64, ptr %48, align 8, !tbaa !8
  %247 = load float, ptr %47, align 8, !tbaa !14
  %248 = load float, ptr %76, align 4, !tbaa !16
  %249 = load i64, ptr %43, align 8, !tbaa !8
  store i64 %249, ptr %35, align 8, !tbaa !8
  %.not245270 = icmp slt i64 %249, 1
  br i1 %.not245270, label %281, label %.lr.ph273.preheader

.lr.ph273.preheader:                              ; preds = %245
  %250 = add nuw i64 %249, 1
  %min.iters.check = icmp ult i64 %249, 8
  br i1 %min.iters.check, label %.lr.ph273.preheader455, label %vector.memcheck

vector.memcheck:                                  ; preds = %.lr.ph273.preheader
  %251 = shl i64 %249, 3
  %scevgep366 = getelementptr i8, ptr %scevgep, i64 %251
  %scevgep368 = getelementptr i8, ptr %scevgep367, i64 %251
  %scevgep370 = getelementptr i8, ptr %28, i64 %251
  %scevgep372 = getelementptr i8, ptr %27, i64 %251
  %bound0 = icmp ugt ptr %scevgep368, %28
  %bound1 = icmp ugt ptr %scevgep366, %27
  %found.conflict = and i1 %bound0, %bound1
  %bound0373 = icmp ult ptr %scevgep369, %scevgep372
  %bound1374 = icmp ult ptr %scevgep371, %scevgep370
  %found.conflict375 = and i1 %bound0373, %bound1374
  %conflict.rdx = or i1 %found.conflict, %found.conflict375
  br i1 %conflict.rdx, label %.lr.ph273.preheader455, label %vector.ph

vector.ph:                                        ; preds = %vector.memcheck
  %n.vec = and i64 %249, 9223372036854775804
  %ind.end = or disjoint i64 %n.vec, 1
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %252 = or disjoint i64 %index, 3
  %253 = getelementptr %struct.complex, ptr %27, i64 %index
  %254 = getelementptr inbounds %struct.complex, ptr %65, i64 %252
  %wide.vec = load <4 x float>, ptr %253, align 4, !tbaa !10
  %wide.vec376 = load <4 x float>, ptr %254, align 4, !tbaa !10
  %255 = getelementptr %struct.complex, ptr %28, i64 %index
  %256 = getelementptr inbounds %struct.complex, ptr %64, i64 %252
  store <4 x float> %wide.vec, ptr %255, align 4, !tbaa !10
  store <4 x float> %wide.vec376, ptr %256, align 4, !tbaa !10
  %index.next = add nuw i64 %index, 4
  %257 = icmp eq i64 %index.next, %n.vec
  br i1 %257, label %middle.block, label %vector.body, !llvm.loop !26

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %249, %n.vec
  br i1 %cmp.n, label %._crit_edge274, label %.lr.ph273.preheader455

.lr.ph273.preheader455:                           ; preds = %middle.block, %vector.memcheck, %.lr.ph273.preheader
  %storemerge244271.ph = phi i64 [ 1, %vector.memcheck ], [ 1, %.lr.ph273.preheader ], [ %ind.end, %middle.block ]
  %258 = add nuw i64 %249, 1
  %259 = sub i64 %258, %storemerge244271.ph
  %260 = sub i64 %249, %storemerge244271.ph
  %xtraiter475 = and i64 %259, 3
  %lcmp.mod476.not = icmp eq i64 %xtraiter475, 0
  br i1 %lcmp.mod476.not, label %.lr.ph273.prol.loopexit, label %.lr.ph273.prol

.lr.ph273.prol:                                   ; preds = %.lr.ph273.preheader455, %.lr.ph273.prol
  %storemerge244271.prol = phi i64 [ %264, %.lr.ph273.prol ], [ %storemerge244271.ph, %.lr.ph273.preheader455 ]
  %prol.iter477 = phi i64 [ %prol.iter477.next, %.lr.ph273.prol ], [ 0, %.lr.ph273.preheader455 ]
  %261 = getelementptr inbounds %struct.complex, ptr %65, i64 %storemerge244271.prol
  %262 = getelementptr inbounds %struct.complex, ptr %64, i64 %storemerge244271.prol
  %263 = load <2 x float>, ptr %261, align 4, !tbaa !10
  store <2 x float> %263, ptr %262, align 4, !tbaa !10
  %264 = add nuw i64 %storemerge244271.prol, 1
  %prol.iter477.next = add i64 %prol.iter477, 1
  %prol.iter477.cmp.not = icmp eq i64 %prol.iter477.next, %xtraiter475
  br i1 %prol.iter477.cmp.not, label %.lr.ph273.prol.loopexit, label %.lr.ph273.prol, !llvm.loop !27

.lr.ph273.prol.loopexit:                          ; preds = %.lr.ph273.prol, %.lr.ph273.preheader455
  %storemerge244271.unr = phi i64 [ %storemerge244271.ph, %.lr.ph273.preheader455 ], [ %264, %.lr.ph273.prol ]
  %265 = icmp ult i64 %260, 3
  br i1 %265, label %._crit_edge274, label %.lr.ph273

.lr.ph273:                                        ; preds = %.lr.ph273.prol.loopexit, %.lr.ph273
  %storemerge244271 = phi i64 [ %280, %.lr.ph273 ], [ %storemerge244271.unr, %.lr.ph273.prol.loopexit ]
  %266 = getelementptr inbounds %struct.complex, ptr %65, i64 %storemerge244271
  %267 = getelementptr inbounds %struct.complex, ptr %64, i64 %storemerge244271
  %268 = load <2 x float>, ptr %266, align 4, !tbaa !10
  store <2 x float> %268, ptr %267, align 4, !tbaa !10
  %269 = getelementptr %struct.complex, ptr %27, i64 %storemerge244271
  %270 = getelementptr %struct.complex, ptr %28, i64 %storemerge244271
  %271 = load <2 x float>, ptr %269, align 4, !tbaa !10
  store <2 x float> %271, ptr %270, align 4, !tbaa !10
  %272 = add nuw i64 %storemerge244271, 2
  %273 = getelementptr inbounds %struct.complex, ptr %65, i64 %272
  %274 = getelementptr inbounds %struct.complex, ptr %64, i64 %272
  %275 = load <2 x float>, ptr %273, align 4, !tbaa !10
  store <2 x float> %275, ptr %274, align 4, !tbaa !10
  %276 = add nuw i64 %storemerge244271, 3
  %277 = getelementptr inbounds %struct.complex, ptr %65, i64 %276
  %278 = getelementptr inbounds %struct.complex, ptr %64, i64 %276
  %279 = load <2 x float>, ptr %277, align 4, !tbaa !10
  store <2 x float> %279, ptr %278, align 4, !tbaa !10
  %280 = add nuw i64 %storemerge244271, 4
  %exitcond322.not.3 = icmp eq i64 %276, %249
  br i1 %exitcond322.not.3, label %._crit_edge274, label %.lr.ph273, !llvm.loop !28

._crit_edge274:                                   ; preds = %.lr.ph273.prol.loopexit, %.lr.ph273, %middle.block
  store i64 %249, ptr %36, align 8, !tbaa !8
  br label %281

281:                                              ; preds = %._crit_edge274, %245
  %storemerge244.lcssa = phi i64 [ %250, %._crit_edge274 ], [ 1, %245 ]
  store i64 %storemerge244.lcssa, ptr %38, align 8, !tbaa !8
  %282 = load i64, ptr %49, align 8, !tbaa !8
  br i1 %70, label %283, label %305

283:                                              ; preds = %281
  %284 = load i64, ptr %5, align 8, !tbaa !8
  %.not250 = icmp eq i64 %284, 0
  br i1 %.not250, label %298, label %285

285:                                              ; preds = %283
  %286 = load i64, ptr %4, align 8, !tbaa !8
  store i64 %286, ptr getelementptr inbounds (i8, ptr @cchk2_.io___189, i64 8), align 8, !tbaa !29
  %287 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___189) #4
  %288 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #4
  %289 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #4
  %290 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %50, i64 noundef 1) #4
  %291 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 8) #4
  %292 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %51, i64 noundef 4) #4
  %293 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %45, i64 noundef 8) #4
  %294 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %48, i64 noundef 8) #4
  %295 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %47, i64 noundef 4) #4
  %296 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %49, i64 noundef 8) #4
  %297 = call i64 @e_wsfe() #4
  br label %298

298:                                              ; preds = %285, %283
  %299 = load i64, ptr %6, align 8, !tbaa !8
  %.not251 = icmp eq i64 %299, 0
  br i1 %.not251, label %303, label %300

300:                                              ; preds = %298
  store i64 0, ptr %37, align 8, !tbaa !32
  %301 = load i64, ptr %4, align 8, !tbaa !8
  store i64 %301, ptr %77, align 8, !tbaa !34
  %302 = call i64 @f_rew(ptr noundef nonnull %37) #4
  br label %303

303:                                              ; preds = %300, %298
  %304 = call i32 @f2c_chemv(ptr noundef nonnull %50, ptr noundef nonnull %40, ptr noundef nonnull %51, ptr noundef %21, ptr noundef nonnull %45, ptr noundef %24, ptr noundef nonnull %48, ptr noundef nonnull %47, ptr noundef %27, ptr noundef nonnull %49) #4
  br label %351

305:                                              ; preds = %281
  br i1 %71, label %306, label %329

306:                                              ; preds = %305
  %307 = load i64, ptr %5, align 8, !tbaa !8
  %.not248 = icmp eq i64 %307, 0
  br i1 %.not248, label %322, label %308

308:                                              ; preds = %306
  %309 = load i64, ptr %4, align 8, !tbaa !8
  store i64 %309, ptr getelementptr inbounds (i8, ptr @cchk2_.io___190, i64 8), align 8, !tbaa !29
  %310 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___190) #4
  %311 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #4
  %312 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #4
  %313 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %50, i64 noundef 1) #4
  %314 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 8) #4
  %315 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %39, i64 noundef 8) #4
  %316 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %51, i64 noundef 4) #4
  %317 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %45, i64 noundef 8) #4
  %318 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %48, i64 noundef 8) #4
  %319 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %47, i64 noundef 4) #4
  %320 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %49, i64 noundef 8) #4
  %321 = call i64 @e_wsfe() #4
  br label %322

322:                                              ; preds = %308, %306
  %323 = load i64, ptr %6, align 8, !tbaa !8
  %.not249 = icmp eq i64 %323, 0
  br i1 %.not249, label %327, label %324

324:                                              ; preds = %322
  store i64 0, ptr %37, align 8, !tbaa !32
  %325 = load i64, ptr %4, align 8, !tbaa !8
  store i64 %325, ptr %77, align 8, !tbaa !34
  %326 = call i64 @f_rew(ptr noundef nonnull %37) #4
  br label %327

327:                                              ; preds = %324, %322
  %328 = call i32 @f2c_chbmv(ptr noundef nonnull %50, ptr noundef nonnull %40, ptr noundef nonnull %39, ptr noundef nonnull %51, ptr noundef %21, ptr noundef nonnull %45, ptr noundef %24, ptr noundef nonnull %48, ptr noundef nonnull %47, ptr noundef %27, ptr noundef nonnull %49) #4
  br label %351

329:                                              ; preds = %305
  br i1 %72, label %330, label %351

330:                                              ; preds = %329
  %331 = load i64, ptr %5, align 8, !tbaa !8
  %.not246 = icmp eq i64 %331, 0
  br i1 %.not246, label %344, label %332

332:                                              ; preds = %330
  %333 = load i64, ptr %4, align 8, !tbaa !8
  store i64 %333, ptr getelementptr inbounds (i8, ptr @cchk2_.io___191, i64 8), align 8, !tbaa !29
  %334 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___191) #4
  %335 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #4
  %336 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #4
  %337 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %50, i64 noundef 1) #4
  %338 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 8) #4
  %339 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %51, i64 noundef 4) #4
  %340 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %48, i64 noundef 8) #4
  %341 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %47, i64 noundef 4) #4
  %342 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %49, i64 noundef 8) #4
  %343 = call i64 @e_wsfe() #4
  br label %344

344:                                              ; preds = %332, %330
  %345 = load i64, ptr %6, align 8, !tbaa !8
  %.not247 = icmp eq i64 %345, 0
  br i1 %.not247, label %349, label %346

346:                                              ; preds = %344
  store i64 0, ptr %37, align 8, !tbaa !32
  %347 = load i64, ptr %4, align 8, !tbaa !8
  store i64 %347, ptr %77, align 8, !tbaa !34
  %348 = call i64 @f_rew(ptr noundef nonnull %37) #4
  br label %349

349:                                              ; preds = %346, %344
  %350 = call i32 @f2c_chpmv(ptr noundef nonnull %50, ptr noundef nonnull %40, ptr noundef nonnull %51, ptr noundef %21, ptr noundef %24, ptr noundef nonnull %48, ptr noundef nonnull %47, ptr noundef %27, ptr noundef nonnull %49) #4
  br label %351

351:                                              ; preds = %327, %349, %329, %303
  %352 = load i64, ptr getelementptr inbounds (i8, ptr @infoc_, i64 16), align 8, !tbaa !5
  %.not252 = icmp eq i64 %352, 0
  br i1 %.not252, label %353, label %357

353:                                              ; preds = %351
  %354 = load i64, ptr %3, align 8, !tbaa !8
  store i64 %354, ptr getelementptr inbounds (i8, ptr @cchk2_.io___192, i64 8), align 8, !tbaa !29
  %355 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___192) #4
  %356 = call i64 @e_wsfe() #4
  br label %.loopexit259.sink.split

357:                                              ; preds = %351
  %358 = load i8, ptr %50, align 1, !tbaa !5
  %359 = icmp eq i8 %358, %176
  %360 = zext i1 %359 to i64
  store i64 %360, ptr %52, align 16, !tbaa !8
  %361 = load i64, ptr %40, align 8, !tbaa !8
  %362 = icmp eq i64 %177, %361
  %363 = zext i1 %362 to i64
  store i64 %363, ptr %78, align 8, !tbaa !8
  br i1 %70, label %364, label %395

364:                                              ; preds = %357
  %365 = load float, ptr %51, align 8, !tbaa !14
  %366 = fcmp oeq float %179, %365
  %367 = load float, ptr %75, align 4
  %368 = fcmp oeq float %180, %367
  %369 = select i1 %366, i1 %368, i1 false
  %370 = zext i1 %369 to i64
  store i64 %370, ptr %79, align 16, !tbaa !8
  %371 = call i64 @lce_(ptr noundef %22, ptr noundef %21, ptr noundef nonnull %44)
  store i64 %371, ptr %80, align 8, !tbaa !8
  %372 = load i64, ptr %45, align 8, !tbaa !8
  %373 = icmp eq i64 %213, %372
  %374 = zext i1 %373 to i64
  store i64 %374, ptr %81, align 16, !tbaa !8
  %375 = call i64 @lce_(ptr noundef %25, ptr noundef %24, ptr noundef nonnull %42)
  store i64 %375, ptr %82, align 8, !tbaa !8
  %376 = load i64, ptr %48, align 8, !tbaa !8
  %377 = icmp eq i64 %246, %376
  %378 = zext i1 %377 to i64
  store i64 %378, ptr %83, align 16, !tbaa !8
  %379 = load float, ptr %47, align 8, !tbaa !14
  %380 = fcmp oeq float %247, %379
  %381 = load float, ptr %76, align 4
  %382 = fcmp oeq float %248, %381
  %383 = select i1 %380, i1 %382, i1 false
  %384 = zext i1 %383 to i64
  store i64 %384, ptr %84, align 8, !tbaa !8
  br i1 %119, label %385, label %387

385:                                              ; preds = %364
  %386 = call i64 @lce_(ptr noundef %28, ptr noundef %27, ptr noundef nonnull %43)
  br label %391

387:                                              ; preds = %364
  %388 = load i64, ptr %49, align 8
  %389 = call i64 @llvm.abs.i64(i64 %388, i1 true)
  store i64 %389, ptr %35, align 8, !tbaa !8
  %390 = call i64 @lceres_(ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.7, ptr noundef nonnull @c__1, ptr noundef nonnull %40, ptr noundef %28, ptr noundef %27, ptr noundef nonnull %35, i64 noundef 2, i64 noundef 1)
  br label %391

391:                                              ; preds = %387, %385
  %storemerge334 = phi i64 [ %390, %387 ], [ %386, %385 ]
  store i64 %storemerge334, ptr %85, align 16, !tbaa !8
  %392 = load i64, ptr %49, align 8, !tbaa !8
  %393 = icmp eq i64 %282, %392
  %394 = zext i1 %393 to i64
  store i64 %394, ptr %86, align 8, !tbaa !8
  br label %.lr.ph280.preheader

395:                                              ; preds = %357
  br i1 %71, label %396, label %430

396:                                              ; preds = %395
  %397 = load i64, ptr %39, align 8, !tbaa !8
  %398 = icmp eq i64 %178, %397
  %399 = zext i1 %398 to i64
  store i64 %399, ptr %79, align 16, !tbaa !8
  %400 = load float, ptr %51, align 8, !tbaa !14
  %401 = fcmp oeq float %179, %400
  %402 = load float, ptr %75, align 4
  %403 = fcmp oeq float %180, %402
  %404 = select i1 %401, i1 %403, i1 false
  %405 = zext i1 %404 to i64
  store i64 %405, ptr %80, align 8, !tbaa !8
  %406 = call i64 @lce_(ptr noundef %22, ptr noundef %21, ptr noundef nonnull %44)
  store i64 %406, ptr %81, align 16, !tbaa !8
  %407 = load i64, ptr %45, align 8, !tbaa !8
  %408 = icmp eq i64 %213, %407
  %409 = zext i1 %408 to i64
  store i64 %409, ptr %82, align 8, !tbaa !8
  %410 = call i64 @lce_(ptr noundef %25, ptr noundef %24, ptr noundef nonnull %42)
  store i64 %410, ptr %83, align 16, !tbaa !8
  %411 = load i64, ptr %48, align 8, !tbaa !8
  %412 = icmp eq i64 %246, %411
  %413 = zext i1 %412 to i64
  store i64 %413, ptr %84, align 8, !tbaa !8
  %414 = load float, ptr %47, align 8, !tbaa !14
  %415 = fcmp oeq float %247, %414
  %416 = load float, ptr %76, align 4
  %417 = fcmp oeq float %248, %416
  %418 = select i1 %415, i1 %417, i1 false
  %419 = zext i1 %418 to i64
  store i64 %419, ptr %85, align 16, !tbaa !8
  br i1 %119, label %420, label %422

420:                                              ; preds = %396
  %421 = call i64 @lce_(ptr noundef %28, ptr noundef %27, ptr noundef nonnull %43)
  br label %426

422:                                              ; preds = %396
  %423 = load i64, ptr %49, align 8
  %424 = call i64 @llvm.abs.i64(i64 %423, i1 true)
  store i64 %424, ptr %35, align 8, !tbaa !8
  %425 = call i64 @lceres_(ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.7, ptr noundef nonnull @c__1, ptr noundef nonnull %40, ptr noundef %28, ptr noundef %27, ptr noundef nonnull %35, i64 noundef 2, i64 noundef 1)
  br label %426

426:                                              ; preds = %422, %420
  %storemerge333 = phi i64 [ %425, %422 ], [ %421, %420 ]
  store i64 %storemerge333, ptr %86, align 8, !tbaa !8
  %427 = load i64, ptr %49, align 8, !tbaa !8
  %428 = icmp eq i64 %282, %427
  %429 = zext i1 %428 to i64
  store i64 %429, ptr %87, align 16, !tbaa !8
  br label %.lr.ph280.preheader

430:                                              ; preds = %395
  br i1 %72, label %431, label %.lr.ph280.preheader

431:                                              ; preds = %430
  %432 = load float, ptr %51, align 8, !tbaa !14
  %433 = fcmp oeq float %179, %432
  %434 = load float, ptr %75, align 4
  %435 = fcmp oeq float %180, %434
  %436 = select i1 %433, i1 %435, i1 false
  %437 = zext i1 %436 to i64
  store i64 %437, ptr %79, align 16, !tbaa !8
  %438 = call i64 @lce_(ptr noundef %22, ptr noundef %21, ptr noundef nonnull %44)
  store i64 %438, ptr %80, align 8, !tbaa !8
  %439 = call i64 @lce_(ptr noundef %25, ptr noundef %24, ptr noundef nonnull %42)
  store i64 %439, ptr %81, align 16, !tbaa !8
  %440 = load i64, ptr %48, align 8, !tbaa !8
  %441 = icmp eq i64 %246, %440
  %442 = zext i1 %441 to i64
  store i64 %442, ptr %82, align 8, !tbaa !8
  %443 = load float, ptr %47, align 8, !tbaa !14
  %444 = fcmp oeq float %247, %443
  %445 = load float, ptr %76, align 4
  %446 = fcmp oeq float %248, %445
  %447 = select i1 %444, i1 %446, i1 false
  %448 = zext i1 %447 to i64
  store i64 %448, ptr %83, align 16, !tbaa !8
  br i1 %119, label %449, label %451

449:                                              ; preds = %431
  %450 = call i64 @lce_(ptr noundef %28, ptr noundef %27, ptr noundef nonnull %43)
  br label %455

451:                                              ; preds = %431
  %452 = load i64, ptr %49, align 8
  %453 = call i64 @llvm.abs.i64(i64 %452, i1 true)
  store i64 %453, ptr %35, align 8, !tbaa !8
  %454 = call i64 @lceres_(ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.7, ptr noundef nonnull @c__1, ptr noundef nonnull %40, ptr noundef %28, ptr noundef %27, ptr noundef nonnull %35, i64 noundef 2, i64 noundef 1)
  br label %455

455:                                              ; preds = %451, %449
  %storemerge332 = phi i64 [ %454, %451 ], [ %450, %449 ]
  store i64 %storemerge332, ptr %84, align 8, !tbaa !8
  %456 = load i64, ptr %49, align 8, !tbaa !8
  %457 = icmp eq i64 %282, %456
  %458 = zext i1 %457 to i64
  store i64 %458, ptr %85, align 16, !tbaa !8
  br label %.lr.ph280.preheader

.lr.ph280.preheader:                              ; preds = %391, %430, %455, %426
  store i64 %.0, ptr %35, align 8, !tbaa !8
  store i64 1, ptr %38, align 8, !tbaa !8
  br label %.lr.ph280

.lr.ph280:                                        ; preds = %.lr.ph280.preheader, %468
  %459 = phi i64 [ %469, %468 ], [ %.0, %.lr.ph280.preheader ]
  %460 = phi i64 [ %471, %468 ], [ 1, %.lr.ph280.preheader ]
  %.0217278 = phi i1 [ %462, %468 ], [ true, %.lr.ph280.preheader ]
  %storemerge253277 = phi i64 [ %470, %468 ], [ 0, %.lr.ph280.preheader ]
  %.phi.trans.insert = getelementptr inbounds [13 x i64], ptr %52, i64 0, i64 %storemerge253277
  %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !8
  %461 = icmp ne i64 %.pre, 0
  %462 = and i1 %.0217278, %461
  %.not258 = icmp eq i64 %.pre, 0
  br i1 %.not258, label %463, label %468

463:                                              ; preds = %.lr.ph280
  %464 = load i64, ptr %3, align 8, !tbaa !8
  store i64 %464, ptr getelementptr inbounds (i8, ptr @cchk2_.io___195, i64 8), align 8, !tbaa !29
  %465 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___195) #4
  %466 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %38, i64 noundef 8) #4
  %467 = call i64 @e_wsfe() #4
  %.pre328 = load i64, ptr %38, align 8, !tbaa !8
  %.pre329 = load i64, ptr %35, align 8, !tbaa !8
  br label %468

468:                                              ; preds = %.lr.ph280, %463
  %469 = phi i64 [ %459, %.lr.ph280 ], [ %.pre329, %463 ]
  %470 = phi i64 [ %460, %.lr.ph280 ], [ %.pre328, %463 ]
  %471 = add nsw i64 %470, 1
  store i64 %471, ptr %38, align 8, !tbaa !8
  %.not254.not = icmp slt i64 %470, %469
  br i1 %.not254.not, label %.lr.ph280, label %._crit_edge281, !llvm.loop !35

._crit_edge281:                                   ; preds = %468
  br i1 %462, label %472, label %.loopexit259.sink.split

472:                                              ; preds = %._crit_edge281
  br i1 %119, label %.loopexit, label %473

473:                                              ; preds = %472
  %474 = call i32 @cmvch_(ptr noundef nonnull @.str.1, ptr noundef nonnull %40, ptr noundef nonnull %40, ptr noundef nonnull %51, ptr noundef %20, ptr noundef nonnull %18, ptr noundef %23, ptr noundef nonnull %48, ptr noundef nonnull %47, ptr noundef %26, ptr noundef nonnull %49, ptr noundef %29, ptr noundef %30, ptr noundef %27, ptr noundef %1, ptr noundef nonnull %46, ptr noundef %7, ptr noundef %3, ptr noundef nonnull @c_true, i64 noundef 1)
  %475 = load float, ptr %46, align 4
  %476 = fcmp oge float %166, %475
  %477 = select i1 %476, float %166, float %475
  store float %477, ptr %54, align 4, !tbaa !10
  %478 = load i64, ptr %7, align 8, !tbaa !8
  %.not256 = icmp eq i64 %478, 0
  br i1 %.not256, label %164, label %.loopexit259

._crit_edge287.loopexit:                          ; preds = %164
  %.pre330 = load i64, ptr %34, align 8, !tbaa !8
  br label %._crit_edge287

._crit_edge287:                                   ; preds = %._crit_edge287.loopexit, %.lr.ph291.split
  %479 = phi i64 [ %.pre330, %._crit_edge287.loopexit ], [ %159, %.lr.ph291.split ]
  %480 = phi float [ %477, %._crit_edge287.loopexit ], [ %160, %.lr.ph291.split ]
  %481 = add nuw nsw i64 %.0225289, 1
  %.not238.not = icmp slt i64 %.0225289, %479
  br i1 %.not238.not, label %.lr.ph291.split, label %._crit_edge292.loopexit, !llvm.loop !36

._crit_edge292.loopexit:                          ; preds = %._crit_edge287
  %.pre331 = load i64, ptr %33, align 8, !tbaa !8
  br label %._crit_edge292

._crit_edge292:                                   ; preds = %._crit_edge292.loopexit, %.lr.ph291.split.us, %.lr.ph300
  %482 = phi i64 [ %.pre331, %._crit_edge292.loopexit ], [ %147, %.lr.ph291.split.us ], [ %147, %.lr.ph300 ]
  %483 = phi float [ %480, %._crit_edge292.loopexit ], [ %148, %.lr.ph291.split.us ], [ %148, %.lr.ph300 ]
  %484 = add nuw nsw i64 %.0218298, 1
  %.not237.not = icmp slt i64 %.0218298, %482
  br i1 %.not237.not, label %.lr.ph300, label %._crit_edge301, !llvm.loop !38

._crit_edge301:                                   ; preds = %._crit_edge292, %145
  %485 = phi float [ %127, %145 ], [ %483, %._crit_edge292 ]
  %486 = add nuw i64 %.0219303, 1
  %exitcond324.not = icmp eq i64 %.0219303, %126
  br i1 %exitcond324.not, label %._crit_edge306, label %.lr.ph305, !llvm.loop !39

._crit_edge306:                                   ; preds = %._crit_edge301, %120
  %487 = phi float [ %121, %120 ], [ %485, %._crit_edge301 ]
  %488 = add nuw nsw i64 %.0223307, 1
  %exitcond325.not = icmp eq i64 %488, 3
  br i1 %exitcond325.not, label %.loopexit260, label %120, !llvm.loop !40

.loopexit260:                                     ; preds = %._crit_edge306, %108
  %489 = phi float [ %94, %108 ], [ %487, %._crit_edge306 ]
  %490 = add nuw i64 %.0222309, 1
  %exitcond326.not = icmp eq i64 %.0222309, %.0220337
  br i1 %exitcond326.not, label %.loopexit, label %.lr.ph311, !llvm.loop !41

.loopexit:                                        ; preds = %.loopexit260, %472, %92
  %491 = phi float [ %89, %92 ], [ %166, %472 ], [ %489, %.loopexit260 ]
  %492 = add nuw i64 %.0221313, 1
  %exitcond327.not = icmp eq i64 %.0221313, %73
  br i1 %exitcond327.not, label %._crit_edge316, label %88, !llvm.loop !42

._crit_edge316:                                   ; preds = %.loopexit, %32
  %493 = phi float [ 0.000000e+00, %32 ], [ %491, %.loopexit ]
  %494 = load float, ptr %2, align 4, !tbaa !10
  %495 = fcmp olt float %493, %494
  %496 = load i64, ptr %3, align 8, !tbaa !8
  br i1 %495, label %497, label %501

497:                                              ; preds = %._crit_edge316
  store i64 %496, ptr getelementptr inbounds (i8, ptr @cchk2_.io___197, i64 8), align 8, !tbaa !29
  %498 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___197) #4
  %499 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #4
  %500 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #4
  br label %.sink.split

501:                                              ; preds = %._crit_edge316
  store i64 %496, ptr getelementptr inbounds (i8, ptr @cchk2_.io___198, i64 8), align 8, !tbaa !29
  %502 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___198) #4
  %503 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #4
  %504 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #4
  %505 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %54, i64 noundef 4) #4
  br label %.sink.split

.loopexit259.sink.split:                          ; preds = %._crit_edge281, %353
  store i64 1, ptr %7, align 8, !tbaa !8
  br label %.loopexit259

.loopexit259:                                     ; preds = %473, %.loopexit259.sink.split
  %506 = load i64, ptr %3, align 8, !tbaa !8
  store i64 %506, ptr getelementptr inbounds (i8, ptr @cchk2_.io___199, i64 8), align 8, !tbaa !29
  %507 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___199) #4
  %508 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #4
  %509 = call i64 @e_wsfe() #4
  br i1 %70, label %510, label %522

510:                                              ; preds = %.loopexit259
  %511 = load i64, ptr %3, align 8, !tbaa !8
  store i64 %511, ptr getelementptr inbounds (i8, ptr @cchk2_.io___200, i64 8), align 8, !tbaa !29
  %512 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___200) #4
  %513 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #4
  %514 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #4
  %515 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %50, i64 noundef 1) #4
  %516 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 8) #4
  %517 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %51, i64 noundef 4) #4
  %518 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %45, i64 noundef 8) #4
  %519 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %48, i64 noundef 8) #4
  %520 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %47, i64 noundef 4) #4
  %521 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %49, i64 noundef 8) #4
  br label %.sink.split

522:                                              ; preds = %.loopexit259
  br i1 %71, label %523, label %536

523:                                              ; preds = %522
  %524 = load i64, ptr %3, align 8, !tbaa !8
  store i64 %524, ptr getelementptr inbounds (i8, ptr @cchk2_.io___201, i64 8), align 8, !tbaa !29
  %525 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___201) #4
  %526 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #4
  %527 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #4
  %528 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %50, i64 noundef 1) #4
  %529 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 8) #4
  %530 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %39, i64 noundef 8) #4
  %531 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %51, i64 noundef 4) #4
  %532 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %45, i64 noundef 8) #4
  %533 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %48, i64 noundef 8) #4
  %534 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %47, i64 noundef 4) #4
  %535 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %49, i64 noundef 8) #4
  br label %.sink.split

536:                                              ; preds = %522
  br i1 %72, label %537, label %549

537:                                              ; preds = %536
  %538 = load i64, ptr %3, align 8, !tbaa !8
  store i64 %538, ptr getelementptr inbounds (i8, ptr @cchk2_.io___202, i64 8), align 8, !tbaa !29
  %539 = call i64 @s_wsfe(ptr noundef nonnull @cchk2_.io___202) #4
  %540 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 8) #4
  %541 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %0, i64 noundef 6) #4
  %542 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %50, i64 noundef 1) #4
  %543 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 8) #4
  %544 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %51, i64 noundef 4) #4
  %545 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %48, i64 noundef 8) #4
  %546 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %47, i64 noundef 4) #4
  %547 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %49, i64 noundef 8) #4
  br label %.sink.split

.sink.split:                                      ; preds = %501, %497, %523, %537, %510
  %548 = call i64 @e_wsfe() #4
  br label %549

549:                                              ; preds = %.sink.split, %536
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #4
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %52) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #4
  ret i32 0
}

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @cmake_(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, i64 noundef, i64 noundef, i64 noundef) local_unnamed_addr #2

declare i64 @f_rew(ptr noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare dso_local i64 @lceres_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef) local_unnamed_addr #2

declare i32 @f2c_chemv(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

declare i32 @f2c_chbmv(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 #1

declare i32 @f2c_chpmv(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

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

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

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

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


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