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

%struct.cilist = type { i64, i64, i64, ptr, i64 }
%union.anon = type { %struct.anon }
%struct.anon = type { i64, i64, i64, i64 }
%struct.complex = type { float, float }
%struct.anon.1 = type { [6 x i8] }
%struct.olist = type { i64, i64, ptr, i64, ptr, ptr, ptr, i64, ptr }
%struct.cllist = type { i64, i64, ptr }

@MAIN__.snames = external hidden global [102 x i8], align 16
@MAIN__.io___2 = external hidden global %struct.cilist, align 8
@MAIN__.io___4 = external hidden global %struct.cilist, align 8
@MAIN__.io___6 = external hidden global %struct.cilist, align 8
@MAIN__.io___8 = external hidden global %struct.cilist, align 8
@MAIN__.io___11 = external hidden global %struct.cilist, align 8
@MAIN__.io___13 = external hidden global %struct.cilist, align 8
@MAIN__.io___15 = external hidden global %struct.cilist, align 8
@MAIN__.io___17 = external hidden global %struct.cilist, align 8
@MAIN__.io___19 = external hidden global %struct.cilist, align 8
@MAIN__.io___21 = external hidden global %struct.cilist, align 8
@MAIN__.io___22 = external hidden global %struct.cilist, align 8
@MAIN__.io___25 = external hidden global %struct.cilist, align 8
@MAIN__.io___26 = external hidden global %struct.cilist, align 8
@MAIN__.io___28 = external hidden global %struct.cilist, align 8
@MAIN__.io___29 = external hidden global %struct.cilist, align 8
@MAIN__.io___31 = external hidden global %struct.cilist, align 8
@MAIN__.io___32 = external hidden global %struct.cilist, align 8
@MAIN__.io___34 = external hidden global %struct.cilist, align 8
@MAIN__.io___35 = external hidden global %struct.cilist, align 8
@MAIN__.io___37 = external hidden global %struct.cilist, align 8
@MAIN__.io___38 = external hidden global %struct.cilist, align 8
@MAIN__.io___40 = external hidden global %struct.cilist, align 8
@MAIN__.io___41 = external hidden global %struct.cilist, align 8
@MAIN__.io___43 = external hidden global %struct.cilist, align 8
@MAIN__.io___45 = external hidden global %struct.cilist, align 8
@MAIN__.io___46 = external hidden global %struct.cilist, align 8
@MAIN__.io___48 = external hidden global %struct.cilist, align 8
@MAIN__.io___49 = external hidden global %struct.cilist, align 8
@MAIN__.io___50 = external hidden global %struct.cilist, align 8
@MAIN__.io___51 = external hidden global %struct.cilist, align 8
@MAIN__.io___52 = external hidden global %struct.cilist, align 8
@MAIN__.io___53 = external hidden global %struct.cilist, align 8
@MAIN__.io___54 = external hidden global %struct.cilist, align 8
@MAIN__.io___55 = external hidden global %struct.cilist, align 8
@MAIN__.io___56 = external hidden global %struct.cilist, align 8
@MAIN__.io___57 = external hidden global %struct.cilist, align 8
@MAIN__.io___58 = external hidden global %struct.cilist, align 8
@MAIN__.io___60 = external hidden global %struct.cilist, align 8
@MAIN__.io___63 = external hidden global %struct.cilist, align 8
@MAIN__.io___65 = external hidden global %struct.cilist, align 8
@MAIN__.io___78 = external hidden global %struct.cilist, align 8
@MAIN__.io___79 = external hidden global %struct.cilist, align 8
@MAIN__.io___81 = external hidden global %struct.cilist, align 8
@MAIN__.io___82 = external hidden global %struct.cilist, align 8
@MAIN__.io___83 = external hidden global %struct.cilist, align 8
@MAIN__.io___90 = external hidden global %struct.cilist, align 8
@MAIN__.io___91 = external hidden global %struct.cilist, align 8
@MAIN__.io___92 = external hidden global %struct.cilist, align 8
@c__9 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c__3 = external hidden global i64, align 8
@.str = external hidden unnamed_addr constant [8 x i8], align 1
@infoc_ = external dso_local global %union.anon, align 8
@c__8 = external hidden global i64, align 8
@c__4 = external hidden global i64, align 8
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__65 = external hidden global i64, align 8
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@c__7 = external hidden global i64, align 8
@.str.3 = external hidden unnamed_addr constant [14 x i8], align 1
@c__2 = external hidden global i64, align 8
@.str.4 = external hidden unnamed_addr constant [6 x i8], align 1
@c__6 = external hidden global i64, align 8
@.str.5 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [1 x i8], align 1
@c_b123 = external hidden global float, align 4
@c_b2 = external hidden global %struct.complex, align 4
@c_b1 = external hidden global %struct.complex, align 4
@c_true = external hidden global i64, align 8
@c_n1 = external hidden global i64, align 8
@srnamc_ = external dso_local global %struct.anon.1, align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @MAIN__() #0 {
  %1 = alloca i64, align 8
  %2 = alloca i64, align 8
  %3 = alloca i64, align 8
  %4 = alloca i64, align 8
  %5 = alloca i64, align 8
  %6 = alloca float, align 4
  %7 = alloca %struct.olist, align 8
  %8 = alloca %struct.cllist, align 8
  %9 = alloca [4225 x %struct.complex], align 16
  %10 = alloca [65 x float], align 16
  %11 = alloca i64, align 8
  %12 = alloca i64, align 8
  %13 = alloca i64, align 8
  %14 = alloca [65 x %struct.complex], align 16
  %15 = alloca [65 x %struct.complex], align 16
  %16 = alloca [130 x %struct.complex], align 16
  %17 = alloca [4225 x %struct.complex], align 16
  %18 = alloca [7 x i64], align 16
  %19 = alloca [4225 x %struct.complex], align 16
  %20 = alloca [130 x %struct.complex], align 16
  %21 = alloca [130 x %struct.complex], align 16
  %22 = alloca [65 x %struct.complex], align 16
  %23 = alloca [130 x %struct.complex], align 16
  %24 = alloca [130 x %struct.complex], align 16
  %25 = alloca [7 x %struct.complex], align 16
  %26 = alloca [7 x i64], align 16
  %27 = alloca i64, align 8
  %28 = alloca [7 x %struct.complex], align 16
  %29 = alloca float, align 4
  %30 = alloca float, align 4
  %31 = alloca i64, align 8
  %32 = alloca [9 x i64], align 16
  %33 = alloca i64, align 8
  %34 = alloca i64, align 8
  %35 = alloca i64, align 8
  %36 = alloca i64, align 8
  %37 = alloca i64, align 8
  %38 = alloca i64, align 8
  %39 = alloca i64, align 8
  %40 = alloca i64, align 8
  %41 = alloca i64, align 8
  %42 = alloca [32 x i8], align 16
  %43 = alloca [1 x i8], align 1
  %44 = alloca i64, align 8
  %45 = alloca [17 x i64], align 16
  %46 = alloca i64, align 8
  %47 = alloca [6 x i8], align 1
  %48 = alloca float, align 4
  %49 = alloca i64, align 8
  %50 = alloca i64, align 8
  %51 = alloca [32 x i8], align 16
  call void @llvm.lifetime.start.p0(i64 8, ptr %1) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %2) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #3
  call void @llvm.lifetime.start.p0(i64 72, ptr %7) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr %8) #3
  call void @llvm.lifetime.start.p0(i64 33800, ptr %9) #3
  call void @llvm.lifetime.start.p0(i64 260, ptr %10) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #3
  call void @llvm.lifetime.start.p0(i64 520, ptr %14) #3
  call void @llvm.lifetime.start.p0(i64 520, ptr %15) #3
  call void @llvm.lifetime.start.p0(i64 1040, ptr %16) #3
  call void @llvm.lifetime.start.p0(i64 33800, ptr %17) #3
  call void @llvm.lifetime.start.p0(i64 56, ptr %18) #3
  call void @llvm.lifetime.start.p0(i64 33800, ptr %19) #3
  call void @llvm.lifetime.start.p0(i64 1040, ptr %20) #3
  call void @llvm.lifetime.start.p0(i64 1040, ptr %21) #3
  call void @llvm.lifetime.start.p0(i64 520, ptr %22) #3
  call void @llvm.lifetime.start.p0(i64 1040, ptr %23) #3
  call void @llvm.lifetime.start.p0(i64 1040, ptr %24) #3
  call void @llvm.lifetime.start.p0(i64 56, ptr %25) #3
  call void @llvm.lifetime.start.p0(i64 56, ptr %26) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #3
  call void @llvm.lifetime.start.p0(i64 56, ptr %28) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #3
  call void @llvm.lifetime.start.p0(i64 72, ptr %32) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #3
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #3
  call void @llvm.lifetime.start.p0(i64 136, ptr %45) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #3
  call void @llvm.lifetime.start.p0(i64 6, ptr %47) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #3
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #3
  %52 = call i64 @s_rsle(ptr noundef @MAIN__.io___2)
  %53 = getelementptr inbounds [32 x i8], ptr %51, i64 0, i64 0
  %54 = call i64 @do_lio(ptr noundef @c__9, ptr noundef @c__1, ptr noundef %53, i64 noundef 32)
  %55 = call i64 @e_rsle()
  %56 = call i64 @s_rsle(ptr noundef @MAIN__.io___4)
  %57 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %38, i64 noundef 8)
  %58 = call i64 @e_rsle()
  %59 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 0
  store i64 0, ptr %59, align 8, !tbaa !5
  %60 = load i64, ptr %38, align 8, !tbaa !11
  %61 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 1
  store i64 %60, ptr %61, align 8, !tbaa !12
  %62 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 3
  store i64 32, ptr %62, align 8, !tbaa !13
  %63 = getelementptr inbounds [32 x i8], ptr %51, i64 0, i64 0
  %64 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 2
  store ptr %63, ptr %64, align 8, !tbaa !14
  %65 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 7
  store i64 0, ptr %65, align 8, !tbaa !15
  %66 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 4
  store ptr @.str, ptr %66, align 8, !tbaa !16
  %67 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 5
  store ptr null, ptr %67, align 8, !tbaa !17
  %68 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 6
  store ptr null, ptr %68, align 8, !tbaa !18
  %69 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 8
  store ptr null, ptr %69, align 8, !tbaa !19
  %70 = call i64 @f_open(ptr noundef %7)
  %71 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %71, ptr getelementptr inbounds (%struct.anon, ptr @infoc_, i32 0, i32 1), align 8, !tbaa !20
  %72 = call i64 @s_rsle(ptr noundef @MAIN__.io___6)
  %73 = getelementptr inbounds [32 x i8], ptr %42, i64 0, i64 0
  %74 = call i64 @do_lio(ptr noundef @c__9, ptr noundef @c__1, ptr noundef %73, i64 noundef 32)
  %75 = call i64 @e_rsle()
  %76 = call i64 @s_rsle(ptr noundef @MAIN__.io___8)
  %77 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %36, i64 noundef 8)
  %78 = call i64 @e_rsle()
  %79 = load i64, ptr %36, align 8, !tbaa !11
  %80 = icmp sge i64 %79, 0
  %81 = zext i1 %80 to i32
  %82 = sext i32 %81 to i64
  store i64 %82, ptr %40, align 8, !tbaa !11
  %83 = load i64, ptr %40, align 8, !tbaa !11
  %84 = icmp ne i64 %83, 0
  br i1 %84, label %85, label %98

85:                                               ; preds = %0
  %86 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 0
  store i64 0, ptr %86, align 8, !tbaa !5
  %87 = load i64, ptr %36, align 8, !tbaa !11
  %88 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 1
  store i64 %87, ptr %88, align 8, !tbaa !12
  %89 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 3
  store i64 32, ptr %89, align 8, !tbaa !13
  %90 = getelementptr inbounds [32 x i8], ptr %42, i64 0, i64 0
  %91 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 2
  store ptr %90, ptr %91, align 8, !tbaa !14
  %92 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 7
  store i64 0, ptr %92, align 8, !tbaa !15
  %93 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 4
  store ptr @.str, ptr %93, align 8, !tbaa !16
  %94 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 5
  store ptr null, ptr %94, align 8, !tbaa !17
  %95 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 6
  store ptr null, ptr %95, align 8, !tbaa !18
  %96 = getelementptr inbounds %struct.olist, ptr %7, i32 0, i32 8
  store ptr null, ptr %96, align 8, !tbaa !19
  %97 = call i64 @f_open(ptr noundef %7)
  br label %98

98:                                               ; preds = %85, %0
  %99 = call i64 @s_rsle(ptr noundef @MAIN__.io___11)
  %100 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %37, i64 noundef 8)
  %101 = call i64 @e_rsle()
  %102 = load i64, ptr %37, align 8, !tbaa !11
  %103 = icmp ne i64 %102, 0
  br i1 %103, label %104, label %107

104:                                              ; preds = %98
  %105 = load i64, ptr %40, align 8, !tbaa !11
  %106 = icmp ne i64 %105, 0
  br label %107

107:                                              ; preds = %104, %98
  %108 = phi i1 [ false, %98 ], [ %106, %104 ]
  %109 = zext i1 %108 to i32
  %110 = sext i32 %109 to i64
  store i64 %110, ptr %37, align 8, !tbaa !11
  %111 = call i64 @s_rsle(ptr noundef @MAIN__.io___13)
  %112 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %46, i64 noundef 8)
  %113 = call i64 @e_rsle()
  %114 = call i64 @s_rsle(ptr noundef @MAIN__.io___15)
  %115 = call i64 @do_lio(ptr noundef @c__8, ptr noundef @c__1, ptr noundef %50, i64 noundef 8)
  %116 = call i64 @e_rsle()
  %117 = call i64 @s_rsle(ptr noundef @MAIN__.io___17)
  %118 = call i64 @do_lio(ptr noundef @c__4, ptr noundef @c__1, ptr noundef %48, i64 noundef 4)
  %119 = call i64 @e_rsle()
  %120 = call i64 @s_rsle(ptr noundef @MAIN__.io___19)
  %121 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %41, i64 noundef 8)
  %122 = call i64 @e_rsle()
  %123 = load i64, ptr %41, align 8, !tbaa !11
  %124 = icmp slt i64 %123, 1
  br i1 %124, label %128, label %125

125:                                              ; preds = %107
  %126 = load i64, ptr %41, align 8, !tbaa !11
  %127 = icmp sgt i64 %126, 9
  br i1 %127, label %128, label %134

128:                                              ; preds = %125, %107
  %129 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %129, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___21, i32 0, i32 1), align 8, !tbaa !21
  %130 = call i64 @s_wsfe(ptr noundef @MAIN__.io___21)
  %131 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.1, i64 noundef 1)
  %132 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__9, i64 noundef 8)
  %133 = call i64 @e_wsfe()
  br label %904

134:                                              ; preds = %125
  %135 = call i64 @s_rsle(ptr noundef @MAIN__.io___22)
  %136 = load i64, ptr %41, align 8, !tbaa !11
  store i64 %136, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %137

137:                                              ; preds = %146, %134
  %138 = load i64, ptr %11, align 8, !tbaa !11
  %139 = load i64, ptr %1, align 8, !tbaa !11
  %140 = icmp sle i64 %138, %139
  br i1 %140, label %141, label %149

141:                                              ; preds = %137
  %142 = load i64, ptr %11, align 8, !tbaa !11
  %143 = sub nsw i64 %142, 1
  %144 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 %143
  %145 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %144, i64 noundef 8)
  br label %146

146:                                              ; preds = %141
  %147 = load i64, ptr %11, align 8, !tbaa !11
  %148 = add nsw i64 %147, 1
  store i64 %148, ptr %11, align 8, !tbaa !11
  br label %137, !llvm.loop !23

149:                                              ; preds = %137
  %150 = call i64 @e_rsle()
  %151 = load i64, ptr %41, align 8, !tbaa !11
  store i64 %151, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %152

152:                                              ; preds = %174, %149
  %153 = load i64, ptr %11, align 8, !tbaa !11
  %154 = load i64, ptr %1, align 8, !tbaa !11
  %155 = icmp sle i64 %153, %154
  br i1 %155, label %156, label %177

156:                                              ; preds = %152
  %157 = load i64, ptr %11, align 8, !tbaa !11
  %158 = sub nsw i64 %157, 1
  %159 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 %158
  %160 = load i64, ptr %159, align 8, !tbaa !11
  %161 = icmp slt i64 %160, 0
  br i1 %161, label %168, label %162

162:                                              ; preds = %156
  %163 = load i64, ptr %11, align 8, !tbaa !11
  %164 = sub nsw i64 %163, 1
  %165 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 %164
  %166 = load i64, ptr %165, align 8, !tbaa !11
  %167 = icmp sgt i64 %166, 65
  br i1 %167, label %168, label %173

168:                                              ; preds = %162, %156
  %169 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %169, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___25, i32 0, i32 1), align 8, !tbaa !21
  %170 = call i64 @s_wsfe(ptr noundef @MAIN__.io___25)
  %171 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__65, i64 noundef 8)
  %172 = call i64 @e_wsfe()
  br label %904

173:                                              ; preds = %162
  br label %174

174:                                              ; preds = %173
  %175 = load i64, ptr %11, align 8, !tbaa !11
  %176 = add nsw i64 %175, 1
  store i64 %176, ptr %11, align 8, !tbaa !11
  br label %152, !llvm.loop !25

177:                                              ; preds = %152
  %178 = call i64 @s_rsle(ptr noundef @MAIN__.io___26)
  %179 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %27, i64 noundef 8)
  %180 = call i64 @e_rsle()
  %181 = load i64, ptr %27, align 8, !tbaa !11
  %182 = icmp slt i64 %181, 1
  br i1 %182, label %186, label %183

183:                                              ; preds = %177
  %184 = load i64, ptr %27, align 8, !tbaa !11
  %185 = icmp sgt i64 %184, 7
  br i1 %185, label %186, label %192

186:                                              ; preds = %183, %177
  %187 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %187, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___28, i32 0, i32 1), align 8, !tbaa !21
  %188 = call i64 @s_wsfe(ptr noundef @MAIN__.io___28)
  %189 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.2, i64 noundef 1)
  %190 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %191 = call i64 @e_wsfe()
  br label %904

192:                                              ; preds = %183
  %193 = call i64 @s_rsle(ptr noundef @MAIN__.io___29)
  %194 = load i64, ptr %27, align 8, !tbaa !11
  store i64 %194, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %195

195:                                              ; preds = %204, %192
  %196 = load i64, ptr %11, align 8, !tbaa !11
  %197 = load i64, ptr %1, align 8, !tbaa !11
  %198 = icmp sle i64 %196, %197
  br i1 %198, label %199, label %207

199:                                              ; preds = %195
  %200 = load i64, ptr %11, align 8, !tbaa !11
  %201 = sub nsw i64 %200, 1
  %202 = getelementptr inbounds [7 x i64], ptr %18, i64 0, i64 %201
  %203 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %202, i64 noundef 8)
  br label %204

204:                                              ; preds = %199
  %205 = load i64, ptr %11, align 8, !tbaa !11
  %206 = add nsw i64 %205, 1
  store i64 %206, ptr %11, align 8, !tbaa !11
  br label %195, !llvm.loop !26

207:                                              ; preds = %195
  %208 = call i64 @e_rsle()
  %209 = load i64, ptr %27, align 8, !tbaa !11
  store i64 %209, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %210

210:                                              ; preds = %225, %207
  %211 = load i64, ptr %11, align 8, !tbaa !11
  %212 = load i64, ptr %1, align 8, !tbaa !11
  %213 = icmp sle i64 %211, %212
  br i1 %213, label %214, label %228

214:                                              ; preds = %210
  %215 = load i64, ptr %11, align 8, !tbaa !11
  %216 = sub nsw i64 %215, 1
  %217 = getelementptr inbounds [7 x i64], ptr %18, i64 0, i64 %216
  %218 = load i64, ptr %217, align 8, !tbaa !11
  %219 = icmp slt i64 %218, 0
  br i1 %219, label %220, label %224

220:                                              ; preds = %214
  %221 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %221, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___31, i32 0, i32 1), align 8, !tbaa !21
  %222 = call i64 @s_wsfe(ptr noundef @MAIN__.io___31)
  %223 = call i64 @e_wsfe()
  br label %904

224:                                              ; preds = %214
  br label %225

225:                                              ; preds = %224
  %226 = load i64, ptr %11, align 8, !tbaa !11
  %227 = add nsw i64 %226, 1
  store i64 %227, ptr %11, align 8, !tbaa !11
  br label %210, !llvm.loop !27

228:                                              ; preds = %210
  %229 = call i64 @s_rsle(ptr noundef @MAIN__.io___32)
  %230 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %34, i64 noundef 8)
  %231 = call i64 @e_rsle()
  %232 = load i64, ptr %34, align 8, !tbaa !11
  %233 = icmp slt i64 %232, 1
  br i1 %233, label %237, label %234

234:                                              ; preds = %228
  %235 = load i64, ptr %34, align 8, !tbaa !11
  %236 = icmp sgt i64 %235, 7
  br i1 %236, label %237, label %243

237:                                              ; preds = %234, %228
  %238 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %238, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___34, i32 0, i32 1), align 8, !tbaa !21
  %239 = call i64 @s_wsfe(ptr noundef @MAIN__.io___34)
  %240 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.3, i64 noundef 13)
  %241 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %242 = call i64 @e_wsfe()
  br label %904

243:                                              ; preds = %234
  %244 = call i64 @s_rsle(ptr noundef @MAIN__.io___35)
  %245 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %245, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %246

246:                                              ; preds = %255, %243
  %247 = load i64, ptr %11, align 8, !tbaa !11
  %248 = load i64, ptr %1, align 8, !tbaa !11
  %249 = icmp sle i64 %247, %248
  br i1 %249, label %250, label %258

250:                                              ; preds = %246
  %251 = load i64, ptr %11, align 8, !tbaa !11
  %252 = sub nsw i64 %251, 1
  %253 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 %252
  %254 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %253, i64 noundef 8)
  br label %255

255:                                              ; preds = %250
  %256 = load i64, ptr %11, align 8, !tbaa !11
  %257 = add nsw i64 %256, 1
  store i64 %257, ptr %11, align 8, !tbaa !11
  br label %246, !llvm.loop !28

258:                                              ; preds = %246
  %259 = call i64 @e_rsle()
  %260 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %260, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %261

261:                                              ; preds = %292, %258
  %262 = load i64, ptr %11, align 8, !tbaa !11
  %263 = load i64, ptr %1, align 8, !tbaa !11
  %264 = icmp sle i64 %262, %263
  br i1 %264, label %265, label %295

265:                                              ; preds = %261
  %266 = load i64, ptr %11, align 8, !tbaa !11
  %267 = sub nsw i64 %266, 1
  %268 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 %267
  %269 = load i64, ptr %268, align 8, !tbaa !11
  %270 = icmp eq i64 %269, 0
  br i1 %270, label %286, label %271

271:                                              ; preds = %265
  %272 = load i64, ptr %11, align 8, !tbaa !11
  %273 = sub nsw i64 %272, 1
  %274 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 %273
  %275 = load i64, ptr %274, align 8, !tbaa !11
  store i64 %275, ptr %2, align 8, !tbaa !11
  %276 = load i64, ptr %2, align 8, !tbaa !11
  %277 = icmp sge i64 %276, 0
  br i1 %277, label %278, label %280

278:                                              ; preds = %271
  %279 = load i64, ptr %2, align 8, !tbaa !11
  br label %283

280:                                              ; preds = %271
  %281 = load i64, ptr %2, align 8, !tbaa !11
  %282 = sub nsw i64 0, %281
  br label %283

283:                                              ; preds = %280, %278
  %284 = phi i64 [ %279, %278 ], [ %282, %280 ]
  %285 = icmp sgt i64 %284, 2
  br i1 %285, label %286, label %291

286:                                              ; preds = %283, %265
  %287 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %287, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___37, i32 0, i32 1), align 8, !tbaa !21
  %288 = call i64 @s_wsfe(ptr noundef @MAIN__.io___37)
  %289 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__2, i64 noundef 8)
  %290 = call i64 @e_wsfe()
  br label %904

291:                                              ; preds = %283
  br label %292

292:                                              ; preds = %291
  %293 = load i64, ptr %11, align 8, !tbaa !11
  %294 = add nsw i64 %293, 1
  store i64 %294, ptr %11, align 8, !tbaa !11
  br label %261, !llvm.loop !29

295:                                              ; preds = %261
  %296 = call i64 @s_rsle(ptr noundef @MAIN__.io___38)
  %297 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %31, i64 noundef 8)
  %298 = call i64 @e_rsle()
  %299 = load i64, ptr %31, align 8, !tbaa !11
  %300 = icmp slt i64 %299, 1
  br i1 %300, label %304, label %301

301:                                              ; preds = %295
  %302 = load i64, ptr %31, align 8, !tbaa !11
  %303 = icmp sgt i64 %302, 7
  br i1 %303, label %304, label %310

304:                                              ; preds = %301, %295
  %305 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %305, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___40, i32 0, i32 1), align 8, !tbaa !21
  %306 = call i64 @s_wsfe(ptr noundef @MAIN__.io___40)
  %307 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.4, i64 noundef 5)
  %308 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %309 = call i64 @e_wsfe()
  br label %904

310:                                              ; preds = %301
  %311 = call i64 @s_rsle(ptr noundef @MAIN__.io___41)
  %312 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %312, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %313

313:                                              ; preds = %322, %310
  %314 = load i64, ptr %11, align 8, !tbaa !11
  %315 = load i64, ptr %1, align 8, !tbaa !11
  %316 = icmp sle i64 %314, %315
  br i1 %316, label %317, label %325

317:                                              ; preds = %313
  %318 = load i64, ptr %11, align 8, !tbaa !11
  %319 = sub nsw i64 %318, 1
  %320 = getelementptr inbounds [7 x %struct.complex], ptr %25, i64 0, i64 %319
  %321 = call i64 @do_lio(ptr noundef @c__6, ptr noundef @c__1, ptr noundef %320, i64 noundef 8)
  br label %322

322:                                              ; preds = %317
  %323 = load i64, ptr %11, align 8, !tbaa !11
  %324 = add nsw i64 %323, 1
  store i64 %324, ptr %11, align 8, !tbaa !11
  br label %313, !llvm.loop !30

325:                                              ; preds = %313
  %326 = call i64 @e_rsle()
  %327 = call i64 @s_rsle(ptr noundef @MAIN__.io___43)
  %328 = call i64 @do_lio(ptr noundef @c__3, ptr noundef @c__1, ptr noundef %35, i64 noundef 8)
  %329 = call i64 @e_rsle()
  %330 = load i64, ptr %35, align 8, !tbaa !11
  %331 = icmp slt i64 %330, 1
  br i1 %331, label %335, label %332

332:                                              ; preds = %325
  %333 = load i64, ptr %35, align 8, !tbaa !11
  %334 = icmp sgt i64 %333, 7
  br i1 %334, label %335, label %341

335:                                              ; preds = %332, %325
  %336 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %336, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___45, i32 0, i32 1), align 8, !tbaa !21
  %337 = call i64 @s_wsfe(ptr noundef @MAIN__.io___45)
  %338 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @.str.5, i64 noundef 4)
  %339 = call i64 @do_fio(ptr noundef @c__1, ptr noundef @c__7, i64 noundef 8)
  %340 = call i64 @e_wsfe()
  br label %904

341:                                              ; preds = %332
  %342 = call i64 @s_rsle(ptr noundef @MAIN__.io___46)
  %343 = load i64, ptr %35, align 8, !tbaa !11
  store i64 %343, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %344

344:                                              ; preds = %353, %341
  %345 = load i64, ptr %11, align 8, !tbaa !11
  %346 = load i64, ptr %1, align 8, !tbaa !11
  %347 = icmp sle i64 %345, %346
  br i1 %347, label %348, label %356

348:                                              ; preds = %344
  %349 = load i64, ptr %11, align 8, !tbaa !11
  %350 = sub nsw i64 %349, 1
  %351 = getelementptr inbounds [7 x %struct.complex], ptr %28, i64 0, i64 %350
  %352 = call i64 @do_lio(ptr noundef @c__6, ptr noundef @c__1, ptr noundef %351, i64 noundef 8)
  br label %353

353:                                              ; preds = %348
  %354 = load i64, ptr %11, align 8, !tbaa !11
  %355 = add nsw i64 %354, 1
  store i64 %355, ptr %11, align 8, !tbaa !11
  br label %344, !llvm.loop !31

356:                                              ; preds = %344
  %357 = call i64 @e_rsle()
  %358 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %358, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___48, i32 0, i32 1), align 8, !tbaa !21
  %359 = call i64 @s_wsfe(ptr noundef @MAIN__.io___48)
  %360 = call i64 @e_wsfe()
  %361 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %361, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___49, i32 0, i32 1), align 8, !tbaa !21
  %362 = call i64 @s_wsfe(ptr noundef @MAIN__.io___49)
  %363 = load i64, ptr %41, align 8, !tbaa !11
  store i64 %363, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %364

364:                                              ; preds = %373, %356
  %365 = load i64, ptr %11, align 8, !tbaa !11
  %366 = load i64, ptr %1, align 8, !tbaa !11
  %367 = icmp sle i64 %365, %366
  br i1 %367, label %368, label %376

368:                                              ; preds = %364
  %369 = load i64, ptr %11, align 8, !tbaa !11
  %370 = sub nsw i64 %369, 1
  %371 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 %370
  %372 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %371, i64 noundef 8)
  br label %373

373:                                              ; preds = %368
  %374 = load i64, ptr %11, align 8, !tbaa !11
  %375 = add nsw i64 %374, 1
  store i64 %375, ptr %11, align 8, !tbaa !11
  br label %364, !llvm.loop !32

376:                                              ; preds = %364
  %377 = call i64 @e_wsfe()
  %378 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %378, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___50, i32 0, i32 1), align 8, !tbaa !21
  %379 = call i64 @s_wsfe(ptr noundef @MAIN__.io___50)
  %380 = load i64, ptr %27, align 8, !tbaa !11
  store i64 %380, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %381

381:                                              ; preds = %390, %376
  %382 = load i64, ptr %11, align 8, !tbaa !11
  %383 = load i64, ptr %1, align 8, !tbaa !11
  %384 = icmp sle i64 %382, %383
  br i1 %384, label %385, label %393

385:                                              ; preds = %381
  %386 = load i64, ptr %11, align 8, !tbaa !11
  %387 = sub nsw i64 %386, 1
  %388 = getelementptr inbounds [7 x i64], ptr %18, i64 0, i64 %387
  %389 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %388, i64 noundef 8)
  br label %390

390:                                              ; preds = %385
  %391 = load i64, ptr %11, align 8, !tbaa !11
  %392 = add nsw i64 %391, 1
  store i64 %392, ptr %11, align 8, !tbaa !11
  br label %381, !llvm.loop !33

393:                                              ; preds = %381
  %394 = call i64 @e_wsfe()
  %395 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %395, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___51, i32 0, i32 1), align 8, !tbaa !21
  %396 = call i64 @s_wsfe(ptr noundef @MAIN__.io___51)
  %397 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %397, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %398

398:                                              ; preds = %407, %393
  %399 = load i64, ptr %11, align 8, !tbaa !11
  %400 = load i64, ptr %1, align 8, !tbaa !11
  %401 = icmp sle i64 %399, %400
  br i1 %401, label %402, label %410

402:                                              ; preds = %398
  %403 = load i64, ptr %11, align 8, !tbaa !11
  %404 = sub nsw i64 %403, 1
  %405 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 %404
  %406 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %405, i64 noundef 8)
  br label %407

407:                                              ; preds = %402
  %408 = load i64, ptr %11, align 8, !tbaa !11
  %409 = add nsw i64 %408, 1
  store i64 %409, ptr %11, align 8, !tbaa !11
  br label %398, !llvm.loop !34

410:                                              ; preds = %398
  %411 = call i64 @e_wsfe()
  %412 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %412, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___52, i32 0, i32 1), align 8, !tbaa !21
  %413 = call i64 @s_wsfe(ptr noundef @MAIN__.io___52)
  %414 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %414, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %415

415:                                              ; preds = %424, %410
  %416 = load i64, ptr %11, align 8, !tbaa !11
  %417 = load i64, ptr %1, align 8, !tbaa !11
  %418 = icmp sle i64 %416, %417
  br i1 %418, label %419, label %427

419:                                              ; preds = %415
  %420 = load i64, ptr %11, align 8, !tbaa !11
  %421 = sub nsw i64 %420, 1
  %422 = getelementptr inbounds [7 x %struct.complex], ptr %25, i64 0, i64 %421
  %423 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %422, i64 noundef 4)
  br label %424

424:                                              ; preds = %419
  %425 = load i64, ptr %11, align 8, !tbaa !11
  %426 = add nsw i64 %425, 1
  store i64 %426, ptr %11, align 8, !tbaa !11
  br label %415, !llvm.loop !35

427:                                              ; preds = %415
  %428 = call i64 @e_wsfe()
  %429 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %429, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___53, i32 0, i32 1), align 8, !tbaa !21
  %430 = call i64 @s_wsfe(ptr noundef @MAIN__.io___53)
  %431 = load i64, ptr %35, align 8, !tbaa !11
  store i64 %431, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %432

432:                                              ; preds = %441, %427
  %433 = load i64, ptr %11, align 8, !tbaa !11
  %434 = load i64, ptr %1, align 8, !tbaa !11
  %435 = icmp sle i64 %433, %434
  br i1 %435, label %436, label %444

436:                                              ; preds = %432
  %437 = load i64, ptr %11, align 8, !tbaa !11
  %438 = sub nsw i64 %437, 1
  %439 = getelementptr inbounds [7 x %struct.complex], ptr %28, i64 0, i64 %438
  %440 = call i64 @do_fio(ptr noundef @c__2, ptr noundef %439, i64 noundef 4)
  br label %441

441:                                              ; preds = %436
  %442 = load i64, ptr %11, align 8, !tbaa !11
  %443 = add nsw i64 %442, 1
  store i64 %443, ptr %11, align 8, !tbaa !11
  br label %432, !llvm.loop !36

444:                                              ; preds = %432
  %445 = call i64 @e_wsfe()
  %446 = load i64, ptr %50, align 8, !tbaa !11
  %447 = icmp ne i64 %446, 0
  br i1 %447, label %455, label %448

448:                                              ; preds = %444
  %449 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %449, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___54, i32 0, i32 1), align 8, !tbaa !21
  %450 = call i64 @s_wsle(ptr noundef @MAIN__.io___54)
  %451 = call i64 @e_wsle()
  %452 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %452, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___55, i32 0, i32 1), align 8, !tbaa !21
  %453 = call i64 @s_wsfe(ptr noundef @MAIN__.io___55)
  %454 = call i64 @e_wsfe()
  br label %455

455:                                              ; preds = %448, %444
  %456 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %456, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___56, i32 0, i32 1), align 8, !tbaa !21
  %457 = call i64 @s_wsle(ptr noundef @MAIN__.io___56)
  %458 = call i64 @e_wsle()
  %459 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %459, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___57, i32 0, i32 1), align 8, !tbaa !21
  %460 = call i64 @s_wsfe(ptr noundef @MAIN__.io___57)
  %461 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %48, i64 noundef 4)
  %462 = call i64 @e_wsfe()
  %463 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %463, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___58, i32 0, i32 1), align 8, !tbaa !21
  %464 = call i64 @s_wsle(ptr noundef @MAIN__.io___58)
  %465 = call i64 @e_wsle()
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %466

466:                                              ; preds = %473, %455
  %467 = load i64, ptr %11, align 8, !tbaa !11
  %468 = icmp sle i64 %467, 17
  br i1 %468, label %469, label %476

469:                                              ; preds = %466
  %470 = load i64, ptr %11, align 8, !tbaa !11
  %471 = sub nsw i64 %470, 1
  %472 = getelementptr inbounds [17 x i64], ptr %45, i64 0, i64 %471
  store i64 0, ptr %472, align 8, !tbaa !11
  br label %473

473:                                              ; preds = %469
  %474 = load i64, ptr %11, align 8, !tbaa !11
  %475 = add nsw i64 %474, 1
  store i64 %475, ptr %11, align 8, !tbaa !11
  br label %466, !llvm.loop !37

476:                                              ; preds = %466
  br label %477

477:                                              ; preds = %522, %476
  %478 = call i64 @s_rsfe(ptr noundef @MAIN__.io___60)
  store i64 %478, ptr %1, align 8, !tbaa !11
  %479 = load i64, ptr %1, align 8, !tbaa !11
  %480 = icmp ne i64 %479, 0
  br i1 %480, label %481, label %482

481:                                              ; preds = %477
  br label %527

482:                                              ; preds = %477
  %483 = getelementptr inbounds [6 x i8], ptr %47, i64 0, i64 0
  %484 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %483, i64 noundef 6)
  store i64 %484, ptr %1, align 8, !tbaa !11
  %485 = load i64, ptr %1, align 8, !tbaa !11
  %486 = icmp ne i64 %485, 0
  br i1 %486, label %487, label %488

487:                                              ; preds = %482
  br label %527

488:                                              ; preds = %482
  %489 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %49, i64 noundef 8)
  store i64 %489, ptr %1, align 8, !tbaa !11
  %490 = load i64, ptr %1, align 8, !tbaa !11
  %491 = icmp ne i64 %490, 0
  br i1 %491, label %492, label %493

492:                                              ; preds = %488
  br label %527

493:                                              ; preds = %488
  %494 = call i64 @e_rsfe()
  store i64 %494, ptr %1, align 8, !tbaa !11
  %495 = load i64, ptr %1, align 8, !tbaa !11
  %496 = icmp ne i64 %495, 0
  br i1 %496, label %497, label %498

497:                                              ; preds = %493
  br label %527

498:                                              ; preds = %493
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %499

499:                                              ; preds = %512, %498
  %500 = load i64, ptr %11, align 8, !tbaa !11
  %501 = icmp sle i64 %500, 17
  br i1 %501, label %502, label %515

502:                                              ; preds = %499
  %503 = getelementptr inbounds [6 x i8], ptr %47, i64 0, i64 0
  %504 = load i64, ptr %11, align 8, !tbaa !11
  %505 = sub nsw i64 %504, 1
  %506 = mul nsw i64 %505, 6
  %507 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %506
  %508 = call i64 @s_cmp(ptr noundef %503, ptr noundef %507, i64 noundef 6, i64 noundef 6)
  %509 = icmp eq i64 %508, 0
  br i1 %509, label %510, label %511

510:                                              ; preds = %502
  br label %522

511:                                              ; preds = %502
  br label %512

512:                                              ; preds = %511
  %513 = load i64, ptr %11, align 8, !tbaa !11
  %514 = add nsw i64 %513, 1
  store i64 %514, ptr %11, align 8, !tbaa !11
  br label %499, !llvm.loop !38

515:                                              ; preds = %499
  %516 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %516, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___63, i32 0, i32 1), align 8, !tbaa !21
  %517 = call i64 @s_wsfe(ptr noundef @MAIN__.io___63)
  %518 = getelementptr inbounds [6 x i8], ptr %47, i64 0, i64 0
  %519 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %518, i64 noundef 6)
  %520 = call i64 @e_wsfe()
  %521 = call i32 @s_stop(ptr noundef @.str.6, i64 noundef 0)
  br label %522

522:                                              ; preds = %515, %510
  %523 = load i64, ptr %49, align 8, !tbaa !11
  %524 = load i64, ptr %11, align 8, !tbaa !11
  %525 = sub nsw i64 %524, 1
  %526 = getelementptr inbounds [17 x i64], ptr %45, i64 0, i64 %525
  store i64 %523, ptr %526, align 8, !tbaa !11
  br label %477

527:                                              ; preds = %497, %492, %487, %481
  %528 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 0
  store i64 0, ptr %528, align 8, !tbaa !39
  %529 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 1
  store i64 5, ptr %529, align 8, !tbaa !41
  %530 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 2
  store ptr null, ptr %530, align 8, !tbaa !42
  %531 = call i64 @f_clos(ptr noundef %8)
  store float 1.000000e+00, ptr %29, align 4, !tbaa !43
  br label %532

532:                                              ; preds = %538, %527
  %533 = load float, ptr %29, align 4, !tbaa !43
  %534 = fadd float %533, 1.000000e+00
  store float %534, ptr %6, align 4, !tbaa !43
  %535 = call double @sdiff_(ptr noundef %6, ptr noundef @c_b123)
  %536 = fcmp oeq double %535, 0.000000e+00
  br i1 %536, label %537, label %538

537:                                              ; preds = %532
  br label %541

538:                                              ; preds = %532
  %539 = load float, ptr %29, align 4, !tbaa !43
  %540 = fmul float %539, 5.000000e-01
  store float %540, ptr %29, align 4, !tbaa !43
  br label %532

541:                                              ; preds = %537
  %542 = load float, ptr %29, align 4, !tbaa !43
  %543 = load float, ptr %29, align 4, !tbaa !43
  %544 = fadd float %543, %542
  store float %544, ptr %29, align 4, !tbaa !43
  %545 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %545, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___65, i32 0, i32 1), align 8, !tbaa !21
  %546 = call i64 @s_wsfe(ptr noundef @MAIN__.io___65)
  %547 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %29, i64 noundef 4)
  %548 = call i64 @e_wsfe()
  store i64 32, ptr %13, align 8, !tbaa !11
  %549 = load i64, ptr %13, align 8, !tbaa !11
  store i64 %549, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %12, align 8, !tbaa !11
  br label %550

550:                                              ; preds = %607, %541
  %551 = load i64, ptr %12, align 8, !tbaa !11
  %552 = load i64, ptr %1, align 8, !tbaa !11
  %553 = icmp sle i64 %551, %552
  br i1 %553, label %554, label %610

554:                                              ; preds = %550
  %555 = load i64, ptr %13, align 8, !tbaa !11
  store i64 %555, ptr %2, align 8, !tbaa !11
  store i64 1, ptr %11, align 8, !tbaa !11
  br label %556

556:                                              ; preds = %585, %554
  %557 = load i64, ptr %11, align 8, !tbaa !11
  %558 = load i64, ptr %2, align 8, !tbaa !11
  %559 = icmp sle i64 %557, %558
  br i1 %559, label %560, label %588

560:                                              ; preds = %556
  %561 = load i64, ptr %11, align 8, !tbaa !11
  %562 = load i64, ptr %12, align 8, !tbaa !11
  %563 = mul nsw i64 %562, 65
  %564 = add nsw i64 %561, %563
  %565 = sub nsw i64 %564, 66
  store i64 %565, ptr %3, align 8, !tbaa !11
  %566 = load i64, ptr %11, align 8, !tbaa !11
  %567 = load i64, ptr %12, align 8, !tbaa !11
  %568 = sub nsw i64 %566, %567
  %569 = add nsw i64 %568, 1
  store i64 %569, ptr %5, align 8, !tbaa !11
  %570 = load i64, ptr %5, align 8, !tbaa !11
  %571 = icmp sge i64 %570, 0
  br i1 %571, label %572, label %574

572:                                              ; preds = %560
  %573 = load i64, ptr %5, align 8, !tbaa !11
  br label %575

574:                                              ; preds = %560
  br label %575

575:                                              ; preds = %574, %572
  %576 = phi i64 [ %573, %572 ], [ 0, %574 ]
  store i64 %576, ptr %4, align 8, !tbaa !11
  %577 = load i64, ptr %4, align 8, !tbaa !11
  %578 = sitofp i64 %577 to float
  %579 = load i64, ptr %3, align 8, !tbaa !11
  %580 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 %579
  %581 = getelementptr inbounds %struct.complex, ptr %580, i32 0, i32 0
  store float %578, ptr %581, align 8, !tbaa !45
  %582 = load i64, ptr %3, align 8, !tbaa !11
  %583 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 %582
  %584 = getelementptr inbounds %struct.complex, ptr %583, i32 0, i32 1
  store float 0.000000e+00, ptr %584, align 4, !tbaa !47
  br label %585

585:                                              ; preds = %575
  %586 = load i64, ptr %11, align 8, !tbaa !11
  %587 = add nsw i64 %586, 1
  store i64 %587, ptr %11, align 8, !tbaa !11
  br label %556, !llvm.loop !48

588:                                              ; preds = %556
  %589 = load i64, ptr %12, align 8, !tbaa !11
  %590 = sub nsw i64 %589, 1
  store i64 %590, ptr %2, align 8, !tbaa !11
  %591 = load i64, ptr %12, align 8, !tbaa !11
  %592 = sitofp i64 %591 to float
  %593 = load i64, ptr %2, align 8, !tbaa !11
  %594 = getelementptr inbounds [65 x %struct.complex], ptr %14, i64 0, i64 %593
  %595 = getelementptr inbounds %struct.complex, ptr %594, i32 0, i32 0
  store float %592, ptr %595, align 8, !tbaa !45
  %596 = load i64, ptr %2, align 8, !tbaa !11
  %597 = getelementptr inbounds [65 x %struct.complex], ptr %14, i64 0, i64 %596
  %598 = getelementptr inbounds %struct.complex, ptr %597, i32 0, i32 1
  store float 0.000000e+00, ptr %598, align 4, !tbaa !47
  %599 = load i64, ptr %12, align 8, !tbaa !11
  %600 = sub nsw i64 %599, 1
  store i64 %600, ptr %2, align 8, !tbaa !11
  %601 = load i64, ptr %2, align 8, !tbaa !11
  %602 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 %601
  %603 = getelementptr inbounds %struct.complex, ptr %602, i32 0, i32 0
  store float 0.000000e+00, ptr %603, align 8, !tbaa !45
  %604 = load i64, ptr %2, align 8, !tbaa !11
  %605 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 %604
  %606 = getelementptr inbounds %struct.complex, ptr %605, i32 0, i32 1
  store float 0.000000e+00, ptr %606, align 4, !tbaa !47
  br label %607

607:                                              ; preds = %588
  %608 = load i64, ptr %12, align 8, !tbaa !11
  %609 = add nsw i64 %608, 1
  store i64 %609, ptr %12, align 8, !tbaa !11
  br label %550, !llvm.loop !49

610:                                              ; preds = %550
  %611 = load i64, ptr %13, align 8, !tbaa !11
  store i64 %611, ptr %1, align 8, !tbaa !11
  store i64 1, ptr %12, align 8, !tbaa !11
  br label %612

612:                                              ; preds = %643, %610
  %613 = load i64, ptr %12, align 8, !tbaa !11
  %614 = load i64, ptr %1, align 8, !tbaa !11
  %615 = icmp sle i64 %613, %614
  br i1 %615, label %616, label %646

616:                                              ; preds = %612
  %617 = load i64, ptr %12, align 8, !tbaa !11
  %618 = sub nsw i64 %617, 1
  store i64 %618, ptr %2, align 8, !tbaa !11
  %619 = load i64, ptr %12, align 8, !tbaa !11
  %620 = load i64, ptr %12, align 8, !tbaa !11
  %621 = add nsw i64 %620, 1
  %622 = load i64, ptr %12, align 8, !tbaa !11
  %623 = mul nsw i64 %621, %622
  %624 = mul nsw i64 %619, %623
  %625 = sdiv i64 %624, 2
  %626 = load i64, ptr %12, align 8, !tbaa !11
  %627 = add nsw i64 %626, 1
  %628 = load i64, ptr %12, align 8, !tbaa !11
  %629 = mul nsw i64 %627, %628
  %630 = load i64, ptr %12, align 8, !tbaa !11
  %631 = sub nsw i64 %630, 1
  %632 = mul nsw i64 %629, %631
  %633 = sdiv i64 %632, 3
  %634 = sub nsw i64 %625, %633
  store i64 %634, ptr %3, align 8, !tbaa !11
  %635 = load i64, ptr %3, align 8, !tbaa !11
  %636 = sitofp i64 %635 to float
  %637 = load i64, ptr %2, align 8, !tbaa !11
  %638 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 %637
  %639 = getelementptr inbounds %struct.complex, ptr %638, i32 0, i32 0
  store float %636, ptr %639, align 8, !tbaa !45
  %640 = load i64, ptr %2, align 8, !tbaa !11
  %641 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 %640
  %642 = getelementptr inbounds %struct.complex, ptr %641, i32 0, i32 1
  store float 0.000000e+00, ptr %642, align 4, !tbaa !47
  br label %643

643:                                              ; preds = %616
  %644 = load i64, ptr %12, align 8, !tbaa !11
  %645 = add nsw i64 %644, 1
  store i64 %645, ptr %12, align 8, !tbaa !11
  br label %612, !llvm.loop !50

646:                                              ; preds = %612
  %647 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  store i8 78, ptr %647, align 1, !tbaa !20
  %648 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %649 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %650 = getelementptr inbounds [65 x %struct.complex], ptr %14, i64 0, i64 0
  %651 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 0
  %652 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %653 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %654 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %655 = call i32 @cmvch_(ptr noundef %648, ptr noundef %13, ptr noundef %13, ptr noundef @c_b2, ptr noundef %649, ptr noundef @c__65, ptr noundef %650, ptr noundef @c__1, ptr noundef @c_b1, ptr noundef %651, ptr noundef @c__1, ptr noundef %652, ptr noundef %653, ptr noundef %654, ptr noundef %29, ptr noundef %30, ptr noundef %39, ptr noundef %38, ptr noundef @c_true, i64 noundef 1)
  %656 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %657 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %658 = call i64 @lce_(ptr noundef %656, ptr noundef %657, ptr noundef %13)
  store i64 %658, ptr %33, align 8, !tbaa !11
  %659 = load i64, ptr %33, align 8, !tbaa !11
  %660 = icmp ne i64 %659, 0
  br i1 %660, label %661, label %664

661:                                              ; preds = %646
  %662 = load float, ptr %30, align 4, !tbaa !43
  %663 = fcmp une float %662, 0.000000e+00
  br i1 %663, label %664, label %673

664:                                              ; preds = %661, %646
  %665 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %665, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___78, i32 0, i32 1), align 8, !tbaa !21
  %666 = call i64 @s_wsfe(ptr noundef @MAIN__.io___78)
  %667 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %668 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %667, i64 noundef 1)
  %669 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %33, i64 noundef 8)
  %670 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %30, i64 noundef 4)
  %671 = call i64 @e_wsfe()
  %672 = call i32 @s_stop(ptr noundef @.str.6, i64 noundef 0)
  br label %673

673:                                              ; preds = %664, %661
  %674 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  store i8 84, ptr %674, align 1, !tbaa !20
  %675 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %676 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %677 = getelementptr inbounds [65 x %struct.complex], ptr %14, i64 0, i64 0
  %678 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 0
  %679 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %680 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %681 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %682 = call i32 @cmvch_(ptr noundef %675, ptr noundef %13, ptr noundef %13, ptr noundef @c_b2, ptr noundef %676, ptr noundef @c__65, ptr noundef %677, ptr noundef @c_n1, ptr noundef @c_b1, ptr noundef %678, ptr noundef @c_n1, ptr noundef %679, ptr noundef %680, ptr noundef %681, ptr noundef %29, ptr noundef %30, ptr noundef %39, ptr noundef %38, ptr noundef @c_true, i64 noundef 1)
  %683 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %684 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %685 = call i64 @lce_(ptr noundef %683, ptr noundef %684, ptr noundef %13)
  store i64 %685, ptr %33, align 8, !tbaa !11
  %686 = load i64, ptr %33, align 8, !tbaa !11
  %687 = icmp ne i64 %686, 0
  br i1 %687, label %688, label %691

688:                                              ; preds = %673
  %689 = load float, ptr %30, align 4, !tbaa !43
  %690 = fcmp une float %689, 0.000000e+00
  br i1 %690, label %691, label %700

691:                                              ; preds = %688, %673
  %692 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %692, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___79, i32 0, i32 1), align 8, !tbaa !21
  %693 = call i64 @s_wsfe(ptr noundef @MAIN__.io___79)
  %694 = getelementptr inbounds [1 x i8], ptr %43, i64 0, i64 0
  %695 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %694, i64 noundef 1)
  %696 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %33, i64 noundef 8)
  %697 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %30, i64 noundef 4)
  %698 = call i64 @e_wsfe()
  %699 = call i32 @s_stop(ptr noundef @.str.6, i64 noundef 0)
  br label %700

700:                                              ; preds = %691, %688
  store i64 1, ptr %44, align 8, !tbaa !11
  br label %701

701:                                              ; preds = %893, %700
  %702 = load i64, ptr %44, align 8, !tbaa !11
  %703 = icmp sle i64 %702, 17
  br i1 %703, label %704, label %896

704:                                              ; preds = %701
  %705 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %705, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___81, i32 0, i32 1), align 8, !tbaa !21
  %706 = call i64 @s_wsle(ptr noundef @MAIN__.io___81)
  %707 = call i64 @e_wsle()
  %708 = load i64, ptr %44, align 8, !tbaa !11
  %709 = sub nsw i64 %708, 1
  %710 = getelementptr inbounds [17 x i64], ptr %45, i64 0, i64 %709
  %711 = load i64, ptr %710, align 8, !tbaa !11
  %712 = icmp ne i64 %711, 0
  br i1 %712, label %722, label %713

713:                                              ; preds = %704
  %714 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %714, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___82, i32 0, i32 1), align 8, !tbaa !21
  %715 = call i64 @s_wsfe(ptr noundef @MAIN__.io___82)
  %716 = load i64, ptr %44, align 8, !tbaa !11
  %717 = sub nsw i64 %716, 1
  %718 = mul nsw i64 %717, 6
  %719 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %718
  %720 = call i64 @do_fio(ptr noundef @c__1, ptr noundef %719, i64 noundef 6)
  %721 = call i64 @e_wsfe()
  br label %892

722:                                              ; preds = %704
  %723 = load i64, ptr %44, align 8, !tbaa !11
  %724 = sub nsw i64 %723, 1
  %725 = mul nsw i64 %724, 6
  %726 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %725
  %727 = call i32 @s_copy(ptr noundef @srnamc_, ptr noundef %726, i64 noundef 6, i64 noundef 6)
  %728 = load i64, ptr %50, align 8, !tbaa !11
  %729 = icmp ne i64 %728, 0
  br i1 %729, label %730, label %739

730:                                              ; preds = %722
  %731 = load i64, ptr %44, align 8, !tbaa !11
  %732 = sub nsw i64 %731, 1
  %733 = mul nsw i64 %732, 6
  %734 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %733
  %735 = call i32 @cchke_(ptr noundef %44, ptr noundef %734, ptr noundef %38, i64 noundef 6)
  %736 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %736, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___83, i32 0, i32 1), align 8, !tbaa !21
  %737 = call i64 @s_wsle(ptr noundef @MAIN__.io___83)
  %738 = call i64 @e_wsle()
  br label %739

739:                                              ; preds = %730, %722
  store i64 0, ptr @infoc_, align 8, !tbaa !20
  store i64 1, ptr getelementptr inbounds (%struct.anon, ptr @infoc_, i32 0, i32 2), align 8, !tbaa !20
  store i64 0, ptr %39, align 8, !tbaa !11
  %740 = load i64, ptr %44, align 8, !tbaa !11
  switch i64 %740, label %758 [
    i64 1, label %741
    i64 2, label %742
    i64 3, label %743
    i64 4, label %744
    i64 5, label %745
    i64 6, label %746
    i64 7, label %747
    i64 8, label %748
    i64 9, label %749
    i64 10, label %750
    i64 11, label %751
    i64 12, label %752
    i64 13, label %753
    i64 14, label %754
    i64 15, label %755
    i64 16, label %756
    i64 17, label %757
  ]

741:                                              ; preds = %739
  br label %759

742:                                              ; preds = %739
  br label %759

743:                                              ; preds = %739
  br label %781

744:                                              ; preds = %739
  br label %781

745:                                              ; preds = %739
  br label %781

746:                                              ; preds = %739
  br label %803

747:                                              ; preds = %739
  br label %803

748:                                              ; preds = %739
  br label %803

749:                                              ; preds = %739
  br label %803

750:                                              ; preds = %739
  br label %803

751:                                              ; preds = %739
  br label %803

752:                                              ; preds = %739
  br label %821

753:                                              ; preds = %739
  br label %821

754:                                              ; preds = %739
  br label %842

755:                                              ; preds = %739
  br label %842

756:                                              ; preds = %739
  br label %863

757:                                              ; preds = %739
  br label %863

758:                                              ; preds = %739
  br label %759

759:                                              ; preds = %758, %742, %741
  %760 = load i64, ptr %44, align 8, !tbaa !11
  %761 = sub nsw i64 %760, 1
  %762 = mul nsw i64 %761, 6
  %763 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %762
  %764 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 0
  %765 = getelementptr inbounds [7 x i64], ptr %18, i64 0, i64 0
  %766 = getelementptr inbounds [7 x %struct.complex], ptr %25, i64 0, i64 0
  %767 = getelementptr inbounds [7 x %struct.complex], ptr %28, i64 0, i64 0
  %768 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 0
  %769 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %770 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %771 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %772 = getelementptr inbounds [65 x %struct.complex], ptr %14, i64 0, i64 0
  %773 = getelementptr inbounds [130 x %struct.complex], ptr %23, i64 0, i64 0
  %774 = getelementptr inbounds [130 x %struct.complex], ptr %20, i64 0, i64 0
  %775 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 0
  %776 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %777 = getelementptr inbounds [130 x %struct.complex], ptr %21, i64 0, i64 0
  %778 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %779 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %780 = call i32 @cchk1_(ptr noundef %763, ptr noundef %29, ptr noundef %48, ptr noundef %38, ptr noundef %36, ptr noundef %40, ptr noundef %37, ptr noundef %39, ptr noundef %41, ptr noundef %764, ptr noundef %27, ptr noundef %765, ptr noundef %31, ptr noundef %766, ptr noundef %35, ptr noundef %767, ptr noundef %34, ptr noundef %768, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %769, ptr noundef %770, ptr noundef %771, ptr noundef %772, ptr noundef %773, ptr noundef %774, ptr noundef %775, ptr noundef %776, ptr noundef %777, ptr noundef %778, ptr noundef %779, i64 noundef 6)
  br label %884

781:                                              ; preds = %745, %744, %743
  %782 = load i64, ptr %44, align 8, !tbaa !11
  %783 = sub nsw i64 %782, 1
  %784 = mul nsw i64 %783, 6
  %785 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %784
  %786 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 0
  %787 = getelementptr inbounds [7 x i64], ptr %18, i64 0, i64 0
  %788 = getelementptr inbounds [7 x %struct.complex], ptr %25, i64 0, i64 0
  %789 = getelementptr inbounds [7 x %struct.complex], ptr %28, i64 0, i64 0
  %790 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 0
  %791 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %792 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %793 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %794 = getelementptr inbounds [65 x %struct.complex], ptr %14, i64 0, i64 0
  %795 = getelementptr inbounds [130 x %struct.complex], ptr %23, i64 0, i64 0
  %796 = getelementptr inbounds [130 x %struct.complex], ptr %20, i64 0, i64 0
  %797 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 0
  %798 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %799 = getelementptr inbounds [130 x %struct.complex], ptr %21, i64 0, i64 0
  %800 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %801 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %802 = call i32 @cchk2_(ptr noundef %785, ptr noundef %29, ptr noundef %48, ptr noundef %38, ptr noundef %36, ptr noundef %40, ptr noundef %37, ptr noundef %39, ptr noundef %41, ptr noundef %786, ptr noundef %27, ptr noundef %787, ptr noundef %31, ptr noundef %788, ptr noundef %35, ptr noundef %789, ptr noundef %34, ptr noundef %790, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %791, ptr noundef %792, ptr noundef %793, ptr noundef %794, ptr noundef %795, ptr noundef %796, ptr noundef %797, ptr noundef %798, ptr noundef %799, ptr noundef %800, ptr noundef %801, i64 noundef 6)
  br label %884

803:                                              ; preds = %751, %750, %749, %748, %747, %746
  %804 = load i64, ptr %44, align 8, !tbaa !11
  %805 = sub nsw i64 %804, 1
  %806 = mul nsw i64 %805, 6
  %807 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %806
  %808 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 0
  %809 = getelementptr inbounds [7 x i64], ptr %18, i64 0, i64 0
  %810 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 0
  %811 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %812 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %813 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %814 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 0
  %815 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %816 = getelementptr inbounds [130 x %struct.complex], ptr %21, i64 0, i64 0
  %817 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %818 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %819 = getelementptr inbounds [130 x %struct.complex], ptr %16, i64 0, i64 0
  %820 = call i32 @cchk3_(ptr noundef %807, ptr noundef %29, ptr noundef %48, ptr noundef %38, ptr noundef %36, ptr noundef %40, ptr noundef %37, ptr noundef %39, ptr noundef %41, ptr noundef %808, ptr noundef %27, ptr noundef %809, ptr noundef %34, ptr noundef %810, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %811, ptr noundef %812, ptr noundef %813, ptr noundef %814, ptr noundef %815, ptr noundef %816, ptr noundef %817, ptr noundef %818, ptr noundef %819, i64 noundef 6)
  br label %884

821:                                              ; preds = %753, %752
  %822 = load i64, ptr %44, align 8, !tbaa !11
  %823 = sub nsw i64 %822, 1
  %824 = mul nsw i64 %823, 6
  %825 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %824
  %826 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 0
  %827 = getelementptr inbounds [7 x %struct.complex], ptr %25, i64 0, i64 0
  %828 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 0
  %829 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %830 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %831 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %832 = getelementptr inbounds [65 x %struct.complex], ptr %14, i64 0, i64 0
  %833 = getelementptr inbounds [130 x %struct.complex], ptr %23, i64 0, i64 0
  %834 = getelementptr inbounds [130 x %struct.complex], ptr %20, i64 0, i64 0
  %835 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 0
  %836 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %837 = getelementptr inbounds [130 x %struct.complex], ptr %21, i64 0, i64 0
  %838 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %839 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %840 = getelementptr inbounds [130 x %struct.complex], ptr %16, i64 0, i64 0
  %841 = call i32 @cchk4_(ptr noundef %825, ptr noundef %29, ptr noundef %48, ptr noundef %38, ptr noundef %36, ptr noundef %40, ptr noundef %37, ptr noundef %39, ptr noundef %41, ptr noundef %826, ptr noundef %31, ptr noundef %827, ptr noundef %34, ptr noundef %828, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %829, ptr noundef %830, ptr noundef %831, ptr noundef %832, ptr noundef %833, ptr noundef %834, ptr noundef %835, ptr noundef %836, ptr noundef %837, ptr noundef %838, ptr noundef %839, ptr noundef %840, i64 noundef 6)
  br label %884

842:                                              ; preds = %755, %754
  %843 = load i64, ptr %44, align 8, !tbaa !11
  %844 = sub nsw i64 %843, 1
  %845 = mul nsw i64 %844, 6
  %846 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %845
  %847 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 0
  %848 = getelementptr inbounds [7 x %struct.complex], ptr %25, i64 0, i64 0
  %849 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 0
  %850 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %851 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %852 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %853 = getelementptr inbounds [65 x %struct.complex], ptr %14, i64 0, i64 0
  %854 = getelementptr inbounds [130 x %struct.complex], ptr %23, i64 0, i64 0
  %855 = getelementptr inbounds [130 x %struct.complex], ptr %20, i64 0, i64 0
  %856 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 0
  %857 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %858 = getelementptr inbounds [130 x %struct.complex], ptr %21, i64 0, i64 0
  %859 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %860 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %861 = getelementptr inbounds [130 x %struct.complex], ptr %16, i64 0, i64 0
  %862 = call i32 @cchk5_(ptr noundef %846, ptr noundef %29, ptr noundef %48, ptr noundef %38, ptr noundef %36, ptr noundef %40, ptr noundef %37, ptr noundef %39, ptr noundef %41, ptr noundef %847, ptr noundef %31, ptr noundef %848, ptr noundef %34, ptr noundef %849, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %850, ptr noundef %851, ptr noundef %852, ptr noundef %853, ptr noundef %854, ptr noundef %855, ptr noundef %856, ptr noundef %857, ptr noundef %858, ptr noundef %859, ptr noundef %860, ptr noundef %861, i64 noundef 6)
  br label %884

863:                                              ; preds = %757, %756
  %864 = load i64, ptr %44, align 8, !tbaa !11
  %865 = sub nsw i64 %864, 1
  %866 = mul nsw i64 %865, 6
  %867 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %866
  %868 = getelementptr inbounds [9 x i64], ptr %32, i64 0, i64 0
  %869 = getelementptr inbounds [7 x %struct.complex], ptr %25, i64 0, i64 0
  %870 = getelementptr inbounds [7 x i64], ptr %26, i64 0, i64 0
  %871 = getelementptr inbounds [4225 x %struct.complex], ptr %9, i64 0, i64 0
  %872 = getelementptr inbounds [4225 x %struct.complex], ptr %17, i64 0, i64 0
  %873 = getelementptr inbounds [4225 x %struct.complex], ptr %19, i64 0, i64 0
  %874 = getelementptr inbounds [65 x %struct.complex], ptr %14, i64 0, i64 0
  %875 = getelementptr inbounds [130 x %struct.complex], ptr %23, i64 0, i64 0
  %876 = getelementptr inbounds [130 x %struct.complex], ptr %20, i64 0, i64 0
  %877 = getelementptr inbounds [65 x %struct.complex], ptr %15, i64 0, i64 0
  %878 = getelementptr inbounds [130 x %struct.complex], ptr %24, i64 0, i64 0
  %879 = getelementptr inbounds [130 x %struct.complex], ptr %21, i64 0, i64 0
  %880 = getelementptr inbounds [65 x %struct.complex], ptr %22, i64 0, i64 0
  %881 = getelementptr inbounds [65 x float], ptr %10, i64 0, i64 0
  %882 = getelementptr inbounds [130 x %struct.complex], ptr %16, i64 0, i64 0
  %883 = call i32 @cchk6_(ptr noundef %867, ptr noundef %29, ptr noundef %48, ptr noundef %38, ptr noundef %36, ptr noundef %40, ptr noundef %37, ptr noundef %39, ptr noundef %41, ptr noundef %868, ptr noundef %31, ptr noundef %869, ptr noundef %34, ptr noundef %870, ptr noundef @c__65, ptr noundef @c__2, ptr noundef %871, ptr noundef %872, ptr noundef %873, ptr noundef %874, ptr noundef %875, ptr noundef %876, ptr noundef %877, ptr noundef %878, ptr noundef %879, ptr noundef %880, ptr noundef %881, ptr noundef %882, i64 noundef 6)
  br label %884

884:                                              ; preds = %863, %842, %821, %803, %781, %759
  %885 = load i64, ptr %39, align 8, !tbaa !11
  %886 = icmp ne i64 %885, 0
  br i1 %886, label %887, label %891

887:                                              ; preds = %884
  %888 = load i64, ptr %46, align 8, !tbaa !11
  %889 = icmp ne i64 %888, 0
  br i1 %889, label %890, label %891

890:                                              ; preds = %887
  br label %900

891:                                              ; preds = %887, %884
  br label %892

892:                                              ; preds = %891, %713
  br label %893

893:                                              ; preds = %892
  %894 = load i64, ptr %44, align 8, !tbaa !11
  %895 = add nsw i64 %894, 1
  store i64 %895, ptr %44, align 8, !tbaa !11
  br label %701, !llvm.loop !51

896:                                              ; preds = %701
  %897 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %897, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___90, i32 0, i32 1), align 8, !tbaa !21
  %898 = call i64 @s_wsfe(ptr noundef @MAIN__.io___90)
  %899 = call i64 @e_wsfe()
  br label %908

900:                                              ; preds = %890
  %901 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %901, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___91, i32 0, i32 1), align 8, !tbaa !21
  %902 = call i64 @s_wsfe(ptr noundef @MAIN__.io___91)
  %903 = call i64 @e_wsfe()
  br label %908

904:                                              ; preds = %335, %304, %286, %237, %220, %186, %168, %128
  %905 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %905, ptr getelementptr inbounds (%struct.cilist, ptr @MAIN__.io___92, i32 0, i32 1), align 8, !tbaa !21
  %906 = call i64 @s_wsfe(ptr noundef @MAIN__.io___92)
  %907 = call i64 @e_wsfe()
  br label %908

908:                                              ; preds = %904, %900, %896
  %909 = load i64, ptr %40, align 8, !tbaa !11
  %910 = icmp ne i64 %909, 0
  br i1 %910, label %911, label %917

911:                                              ; preds = %908
  %912 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 0
  store i64 0, ptr %912, align 8, !tbaa !39
  %913 = load i64, ptr %36, align 8, !tbaa !11
  %914 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 1
  store i64 %913, ptr %914, align 8, !tbaa !41
  %915 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 2
  store ptr null, ptr %915, align 8, !tbaa !42
  %916 = call i64 @f_clos(ptr noundef %8)
  br label %917

917:                                              ; preds = %911, %908
  %918 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 0
  store i64 0, ptr %918, align 8, !tbaa !39
  %919 = load i64, ptr %38, align 8, !tbaa !11
  %920 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 1
  store i64 %919, ptr %920, align 8, !tbaa !41
  %921 = getelementptr inbounds %struct.cllist, ptr %8, i32 0, i32 2
  store ptr null, ptr %921, align 8, !tbaa !42
  %922 = call i64 @f_clos(ptr noundef %8)
  %923 = call i32 @s_stop(ptr noundef @.str.6, i64 noundef 0)
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #3
  call void @llvm.lifetime.end.p0(i64 6, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #3
  call void @llvm.lifetime.end.p0(i64 136, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #3
  call void @llvm.lifetime.end.p0(i64 72, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 56, ptr %28) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #3
  call void @llvm.lifetime.end.p0(i64 56, ptr %26) #3
  call void @llvm.lifetime.end.p0(i64 56, ptr %25) #3
  call void @llvm.lifetime.end.p0(i64 1040, ptr %24) #3
  call void @llvm.lifetime.end.p0(i64 1040, ptr %23) #3
  call void @llvm.lifetime.end.p0(i64 520, ptr %22) #3
  call void @llvm.lifetime.end.p0(i64 1040, ptr %21) #3
  call void @llvm.lifetime.end.p0(i64 1040, ptr %20) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %19) #3
  call void @llvm.lifetime.end.p0(i64 56, ptr %18) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 1040, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 520, ptr %15) #3
  call void @llvm.lifetime.end.p0(i64 520, ptr %14) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #3
  call void @llvm.lifetime.end.p0(i64 260, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 33800, ptr %9) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #3
  call void @llvm.lifetime.end.p0(i64 72, ptr %7) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %2) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %1) #3
  ret i32 0
}

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

declare i64 @s_rsle(ptr noundef) #2

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

declare i64 @e_rsle() #2

declare i64 @f_open(ptr noundef) #2

declare i64 @s_wsfe(ptr noundef) #2

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

declare i64 @e_wsfe() #2

declare i64 @s_wsle(ptr noundef) #2

declare i64 @e_wsle() #2

declare i64 @s_rsfe(ptr noundef) #2

declare i64 @e_rsfe() #2

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

declare i32 @s_stop(ptr noundef, i64 noundef) #2

declare i64 @f_clos(ptr noundef) #2

; Function Attrs: nounwind uwtable
declare dso_local double @sdiff_(ptr noundef, ptr noundef) #0

; 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) #0

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

declare i32 @s_copy(ptr noundef, ptr noundef, i64 noundef, i64 noundef) #2

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchke_(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk1_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk2_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk3_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk4_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk5_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk6_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) #0

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

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

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

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


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.cilist = type { i64, i64, i64, ptr, i64 }
%union.anon = type { %struct.anon }
%struct.anon = type { i64, i64, i64, i64 }
%struct.complex = type { float, float }
%struct.anon.1 = type { [6 x i8] }
%struct.olist = type { i64, i64, ptr, i64, ptr, ptr, ptr, i64, ptr }
%struct.cllist = type { i64, i64, ptr }

@MAIN__.snames = external hidden global [102 x i8], align 16
@MAIN__.io___2 = external hidden global %struct.cilist, align 8
@MAIN__.io___4 = external hidden global %struct.cilist, align 8
@MAIN__.io___6 = external hidden global %struct.cilist, align 8
@MAIN__.io___8 = external hidden global %struct.cilist, align 8
@MAIN__.io___11 = external hidden global %struct.cilist, align 8
@MAIN__.io___13 = external hidden global %struct.cilist, align 8
@MAIN__.io___15 = external hidden global %struct.cilist, align 8
@MAIN__.io___17 = external hidden global %struct.cilist, align 8
@MAIN__.io___19 = external hidden global %struct.cilist, align 8
@MAIN__.io___21 = external hidden global %struct.cilist, align 8
@MAIN__.io___22 = external hidden global %struct.cilist, align 8
@MAIN__.io___25 = external hidden global %struct.cilist, align 8
@MAIN__.io___26 = external hidden global %struct.cilist, align 8
@MAIN__.io___28 = external hidden global %struct.cilist, align 8
@MAIN__.io___29 = external hidden global %struct.cilist, align 8
@MAIN__.io___31 = external hidden global %struct.cilist, align 8
@MAIN__.io___32 = external hidden global %struct.cilist, align 8
@MAIN__.io___34 = external hidden global %struct.cilist, align 8
@MAIN__.io___35 = external hidden global %struct.cilist, align 8
@MAIN__.io___37 = external hidden global %struct.cilist, align 8
@MAIN__.io___38 = external hidden global %struct.cilist, align 8
@MAIN__.io___40 = external hidden global %struct.cilist, align 8
@MAIN__.io___41 = external hidden global %struct.cilist, align 8
@MAIN__.io___43 = external hidden global %struct.cilist, align 8
@MAIN__.io___45 = external hidden global %struct.cilist, align 8
@MAIN__.io___46 = external hidden global %struct.cilist, align 8
@MAIN__.io___48 = external hidden global %struct.cilist, align 8
@MAIN__.io___49 = external hidden global %struct.cilist, align 8
@MAIN__.io___50 = external hidden global %struct.cilist, align 8
@MAIN__.io___51 = external hidden global %struct.cilist, align 8
@MAIN__.io___52 = external hidden global %struct.cilist, align 8
@MAIN__.io___53 = external hidden global %struct.cilist, align 8
@MAIN__.io___54 = external hidden global %struct.cilist, align 8
@MAIN__.io___55 = external hidden global %struct.cilist, align 8
@MAIN__.io___56 = external hidden global %struct.cilist, align 8
@MAIN__.io___57 = external hidden global %struct.cilist, align 8
@MAIN__.io___58 = external hidden global %struct.cilist, align 8
@MAIN__.io___60 = external hidden global %struct.cilist, align 8
@MAIN__.io___63 = external hidden global %struct.cilist, align 8
@MAIN__.io___65 = external hidden global %struct.cilist, align 8
@MAIN__.io___78 = external hidden global %struct.cilist, align 8
@MAIN__.io___79 = external hidden global %struct.cilist, align 8
@MAIN__.io___81 = external hidden global %struct.cilist, align 8
@MAIN__.io___82 = external hidden global %struct.cilist, align 8
@MAIN__.io___83 = external hidden global %struct.cilist, align 8
@MAIN__.io___90 = external hidden global %struct.cilist, align 8
@MAIN__.io___91 = external hidden global %struct.cilist, align 8
@MAIN__.io___92 = external hidden global %struct.cilist, align 8
@c__9 = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c__3 = external hidden global i64, align 8
@.str = external hidden unnamed_addr constant [8 x i8], align 1
@infoc_ = external dso_local local_unnamed_addr global %union.anon, align 8
@c__8 = external hidden global i64, align 8
@c__4 = external hidden global i64, align 8
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c__65 = external hidden global i64, align 8
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@c__7 = external hidden global i64, align 8
@.str.3 = external hidden unnamed_addr constant [14 x i8], align 1
@c__2 = external hidden global i64, align 8
@.str.4 = external hidden unnamed_addr constant [6 x i8], align 1
@c__6 = external hidden global i64, align 8
@.str.5 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [1 x i8], align 1
@c_b123 = external hidden global float, align 4
@c_b2 = external hidden global %struct.complex, align 4
@c_b1 = external hidden global %struct.complex, align 4
@c_true = external hidden global i64, align 8
@c_n1 = external hidden global i64, align 8
@srnamc_ = external dso_local global %struct.anon.1, align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @MAIN__() local_unnamed_addr #0 {
  %1 = alloca float, align 4
  %2 = alloca %struct.olist, align 8
  %3 = alloca %struct.cllist, align 8
  %4 = alloca [4225 x %struct.complex], align 16
  %5 = alloca [65 x float], align 16
  %6 = alloca i64, align 8
  %7 = alloca [65 x %struct.complex], align 16
  %8 = alloca [65 x %struct.complex], align 16
  %9 = alloca [130 x %struct.complex], align 16
  %10 = alloca [4225 x %struct.complex], align 16
  %11 = alloca [7 x i64], align 16
  %12 = alloca [4225 x %struct.complex], align 16
  %13 = alloca [130 x %struct.complex], align 16
  %14 = alloca [130 x %struct.complex], align 16
  %15 = alloca [65 x %struct.complex], align 16
  %16 = alloca [130 x %struct.complex], align 16
  %17 = alloca [130 x %struct.complex], align 16
  %18 = alloca [7 x %struct.complex], align 16
  %19 = alloca [7 x i64], align 16
  %20 = alloca i64, align 8
  %21 = alloca [7 x %struct.complex], align 16
  %22 = alloca float, align 4
  %23 = alloca float, align 4
  %24 = alloca i64, align 8
  %25 = alloca [9 x i64], align 16
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca i64, align 8
  %31 = alloca i64, align 8
  %32 = alloca i64, align 8
  %33 = alloca i64, align 8
  %34 = alloca i64, align 8
  %35 = alloca [32 x i8], align 16
  %36 = alloca [1 x i8], align 1
  %37 = alloca i64, align 8
  %38 = alloca [17 x i64], align 16
  %39 = alloca i64, align 8
  %40 = alloca [6 x i8], align 1
  %41 = alloca float, align 4
  %42 = alloca i64, align 8
  %43 = alloca i64, align 8
  %44 = alloca [32 x i8], align 16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %1) #5
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %2) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #5
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %4) #5
  call void @llvm.lifetime.start.p0(i64 260, ptr nonnull %5) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #5
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %7) #5
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %8) #5
  call void @llvm.lifetime.start.p0(i64 1040, ptr nonnull %9) #5
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %10) #5
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %11) #5
  call void @llvm.lifetime.start.p0(i64 33800, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 1040, ptr nonnull %13) #5
  call void @llvm.lifetime.start.p0(i64 1040, ptr nonnull %14) #5
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %15) #5
  call void @llvm.lifetime.start.p0(i64 1040, ptr nonnull %16) #5
  call void @llvm.lifetime.start.p0(i64 1040, ptr nonnull %17) #5
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %19) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #5
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %21) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #5
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #5
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %38) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #5
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #5
  %45 = tail call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___2) #5
  %46 = call i64 @do_lio(ptr noundef nonnull @c__9, ptr noundef nonnull @c__1, ptr noundef nonnull %44, i64 noundef 32) #5
  %47 = call i64 @e_rsle() #5
  %48 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___4) #5
  %49 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %31, i64 noundef 8) #5
  %50 = call i64 @e_rsle() #5
  store i64 0, ptr %2, align 8, !tbaa !5
  %51 = load i64, ptr %31, align 8, !tbaa !11
  %52 = getelementptr inbounds i8, ptr %2, i64 8
  store i64 %51, ptr %52, align 8, !tbaa !12
  %53 = getelementptr inbounds i8, ptr %2, i64 24
  store i64 32, ptr %53, align 8, !tbaa !13
  %54 = getelementptr inbounds i8, ptr %2, i64 16
  store ptr %44, ptr %54, align 8, !tbaa !14
  %55 = getelementptr inbounds i8, ptr %2, i64 56
  store i64 0, ptr %55, align 8, !tbaa !15
  %56 = getelementptr inbounds i8, ptr %2, i64 32
  store ptr @.str, ptr %56, align 8, !tbaa !16
  %57 = getelementptr inbounds i8, ptr %2, i64 40
  %58 = getelementptr inbounds i8, ptr %2, i64 64
  store ptr null, ptr %58, align 8, !tbaa !17
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %57, i8 0, i64 16, i1 false)
  %59 = call i64 @f_open(ptr noundef nonnull %2) #5
  %60 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %60, ptr getelementptr inbounds (i8, ptr @infoc_, i64 8), align 8, !tbaa !18
  %61 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___6) #5
  %62 = call i64 @do_lio(ptr noundef nonnull @c__9, ptr noundef nonnull @c__1, ptr noundef nonnull %35, i64 noundef 32) #5
  %63 = call i64 @e_rsle() #5
  %64 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___8) #5
  %65 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %29, i64 noundef 8) #5
  %66 = call i64 @e_rsle() #5
  %67 = load i64, ptr %29, align 8, !tbaa !11
  %68 = icmp sgt i64 %67, -1
  %69 = zext i1 %68 to i64
  store i64 %69, ptr %33, align 8, !tbaa !11
  %.14152.sroa.gep = getelementptr inbounds i8, ptr %38, i64 136
  %.14152.sroa.gep256 = getelementptr inbounds i8, ptr %38, i64 8
  %.14152.sroa.gep257 = getelementptr inbounds i8, ptr %38, i64 16
  %.14152.sroa.gep258 = getelementptr inbounds i8, ptr %38, i64 24
  %.14152.sroa.gep259 = getelementptr inbounds i8, ptr %38, i64 32
  %.14152.sroa.gep260 = getelementptr inbounds i8, ptr %38, i64 40
  %.14152.sroa.gep261 = getelementptr inbounds i8, ptr %38, i64 48
  %.14152.sroa.gep262 = getelementptr inbounds i8, ptr %38, i64 56
  %.14152.sroa.gep263 = getelementptr inbounds i8, ptr %38, i64 64
  %.14152.sroa.gep264 = getelementptr inbounds i8, ptr %38, i64 72
  %.14152.sroa.gep265 = getelementptr inbounds i8, ptr %38, i64 80
  %.14152.sroa.gep266 = getelementptr inbounds i8, ptr %38, i64 88
  %.14152.sroa.gep267 = getelementptr inbounds i8, ptr %38, i64 96
  %.14152.sroa.gep268 = getelementptr inbounds i8, ptr %38, i64 104
  %.14152.sroa.gep269 = getelementptr inbounds i8, ptr %38, i64 112
  %.14152.sroa.gep270 = getelementptr inbounds i8, ptr %38, i64 120
  %.14152.sroa.gep271 = getelementptr inbounds i8, ptr %38, i64 128
  br i1 %68, label %70, label %72

70:                                               ; preds = %0
  store i64 0, ptr %2, align 8, !tbaa !5
  store i64 %67, ptr %52, align 8, !tbaa !12
  store i64 32, ptr %53, align 8, !tbaa !13
  store ptr %35, ptr %54, align 8, !tbaa !14
  store i64 0, ptr %55, align 8, !tbaa !15
  store ptr @.str, ptr %56, align 8, !tbaa !16
  store ptr null, ptr %58, align 8, !tbaa !17
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %57, i8 0, i64 16, i1 false)
  %71 = call i64 @f_open(ptr noundef nonnull %2) #5
  br label %72

72:                                               ; preds = %70, %0
  %73 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___11) #5
  %74 = call i64 @do_lio(ptr noundef nonnull @c__8, ptr noundef nonnull @c__1, ptr noundef nonnull %30, i64 noundef 8) #5
  %75 = call i64 @e_rsle() #5
  %76 = load i64, ptr %30, align 8, !tbaa !11
  %77 = icmp ne i64 %76, 0
  %78 = and i1 %77, %68
  %79 = zext i1 %78 to i64
  store i64 %79, ptr %30, align 8, !tbaa !11
  %80 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___13) #5
  %81 = call i64 @do_lio(ptr noundef nonnull @c__8, ptr noundef nonnull @c__1, ptr noundef nonnull %39, i64 noundef 8) #5
  %82 = call i64 @e_rsle() #5
  %83 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___15) #5
  %84 = call i64 @do_lio(ptr noundef nonnull @c__8, ptr noundef nonnull @c__1, ptr noundef nonnull %43, i64 noundef 8) #5
  %85 = call i64 @e_rsle() #5
  %86 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___17) #5
  %87 = call i64 @do_lio(ptr noundef nonnull @c__4, ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 4) #5
  %88 = call i64 @e_rsle() #5
  %89 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___19) #5
  %90 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %34, i64 noundef 8) #5
  %91 = call i64 @e_rsle() #5
  %92 = load i64, ptr %34, align 8
  %93 = add i64 %92, -10
  %or.cond = icmp ult i64 %93, -9
  br i1 %or.cond, label %94, label %99

94:                                               ; preds = %72
  %95 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %95, ptr getelementptr inbounds (i8, ptr @MAIN__.io___21, i64 8), align 8, !tbaa !19
  %96 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___21) #5
  %97 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.1, i64 noundef 1) #5
  %98 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @c__9, i64 noundef 8) #5
  br label %451

99:                                               ; preds = %72
  %100 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___22) #5
  %101 = load i64, ptr %34, align 8, !tbaa !11
  %.not153 = icmp slt i64 %101, 1
  br i1 %.not153, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %99, %.lr.ph
  %.0118154 = phi i64 [ %105, %.lr.ph ], [ 1, %99 ]
  %102 = add nsw i64 %.0118154, -1
  %103 = getelementptr inbounds [9 x i64], ptr %25, i64 0, i64 %102
  %104 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %103, i64 noundef 8) #5
  %105 = add nuw i64 %.0118154, 1
  %exitcond.not = icmp eq i64 %.0118154, %101
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !21

._crit_edge:                                      ; preds = %.lr.ph, %99
  %106 = call i64 @e_rsle() #5
  %107 = load i64, ptr %34, align 8, !tbaa !11
  %.not122155 = icmp slt i64 %107, 1
  br i1 %.not122155, label %._crit_edge159, label %.lr.ph158

108:                                              ; preds = %.lr.ph158
  %109 = add nuw i64 %.1119156, 1
  %exitcond238.not = icmp eq i64 %.1119156, %107
  br i1 %exitcond238.not, label %._crit_edge159, label %.lr.ph158, !llvm.loop !23

.lr.ph158:                                        ; preds = %._crit_edge, %108
  %.1119156 = phi i64 [ %109, %108 ], [ 1, %._crit_edge ]
  %110 = add nsw i64 %.1119156, -1
  %111 = getelementptr inbounds [9 x i64], ptr %25, i64 0, i64 %110
  %112 = load i64, ptr %111, align 8, !tbaa !11
  %or.cond145 = icmp ugt i64 %112, 65
  br i1 %or.cond145, label %113, label %108

113:                                              ; preds = %.lr.ph158
  %114 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %114, ptr getelementptr inbounds (i8, ptr @MAIN__.io___25, i64 8), align 8, !tbaa !19
  %115 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___25) #5
  %116 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @c__65, i64 noundef 8) #5
  br label %451

._crit_edge159:                                   ; preds = %108, %._crit_edge
  %117 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___26) #5
  %118 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %20, i64 noundef 8) #5
  %119 = call i64 @e_rsle() #5
  %120 = load i64, ptr %20, align 8
  %121 = add i64 %120, -8
  %or.cond3 = icmp ult i64 %121, -7
  br i1 %or.cond3, label %122, label %127

122:                                              ; preds = %._crit_edge159
  %123 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %123, ptr getelementptr inbounds (i8, ptr @MAIN__.io___28, i64 8), align 8, !tbaa !19
  %124 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___28) #5
  %125 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.2, i64 noundef 1) #5
  %126 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @c__7, i64 noundef 8) #5
  br label %451

127:                                              ; preds = %._crit_edge159
  %128 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___29) #5
  %129 = load i64, ptr %20, align 8, !tbaa !11
  %.not123160 = icmp slt i64 %129, 1
  br i1 %.not123160, label %._crit_edge164, label %.lr.ph163

.lr.ph163:                                        ; preds = %127, %.lr.ph163
  %.2161 = phi i64 [ %133, %.lr.ph163 ], [ 1, %127 ]
  %130 = add nsw i64 %.2161, -1
  %131 = getelementptr inbounds [7 x i64], ptr %11, i64 0, i64 %130
  %132 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %131, i64 noundef 8) #5
  %133 = add nuw i64 %.2161, 1
  %exitcond239.not = icmp eq i64 %.2161, %129
  br i1 %exitcond239.not, label %._crit_edge164, label %.lr.ph163, !llvm.loop !24

._crit_edge164:                                   ; preds = %.lr.ph163, %127
  %134 = call i64 @e_rsle() #5
  %135 = load i64, ptr %20, align 8, !tbaa !11
  %.not124165 = icmp slt i64 %135, 1
  br i1 %.not124165, label %._crit_edge169, label %.lr.ph168

136:                                              ; preds = %.lr.ph168
  %137 = add nuw i64 %.3166, 1
  %exitcond240.not = icmp eq i64 %.3166, %135
  br i1 %exitcond240.not, label %._crit_edge169, label %.lr.ph168, !llvm.loop !25

.lr.ph168:                                        ; preds = %._crit_edge164, %136
  %.3166 = phi i64 [ %137, %136 ], [ 1, %._crit_edge164 ]
  %138 = add nsw i64 %.3166, -1
  %139 = getelementptr inbounds [7 x i64], ptr %11, i64 0, i64 %138
  %140 = load i64, ptr %139, align 8, !tbaa !11
  %141 = icmp slt i64 %140, 0
  br i1 %141, label %142, label %136

142:                                              ; preds = %.lr.ph168
  %143 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %143, ptr getelementptr inbounds (i8, ptr @MAIN__.io___31, i64 8), align 8, !tbaa !19
  %144 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___31) #5
  br label %451

._crit_edge169:                                   ; preds = %136, %._crit_edge164
  %145 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___32) #5
  %146 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %27, i64 noundef 8) #5
  %147 = call i64 @e_rsle() #5
  %148 = load i64, ptr %27, align 8
  %149 = add i64 %148, -8
  %or.cond5 = icmp ult i64 %149, -7
  br i1 %or.cond5, label %150, label %155

150:                                              ; preds = %._crit_edge169
  %151 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %151, ptr getelementptr inbounds (i8, ptr @MAIN__.io___34, i64 8), align 8, !tbaa !19
  %152 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___34) #5
  %153 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.3, i64 noundef 13) #5
  %154 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @c__7, i64 noundef 8) #5
  br label %451

155:                                              ; preds = %._crit_edge169
  %156 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___35) #5
  %157 = load i64, ptr %27, align 8, !tbaa !11
  %.not125170 = icmp slt i64 %157, 1
  br i1 %.not125170, label %._crit_edge174, label %.lr.ph173

.lr.ph173:                                        ; preds = %155, %.lr.ph173
  %.4171 = phi i64 [ %161, %.lr.ph173 ], [ 1, %155 ]
  %158 = add nsw i64 %.4171, -1
  %159 = getelementptr inbounds [7 x i64], ptr %19, i64 0, i64 %158
  %160 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %159, i64 noundef 8) #5
  %161 = add nuw i64 %.4171, 1
  %exitcond241.not = icmp eq i64 %.4171, %157
  br i1 %exitcond241.not, label %._crit_edge174, label %.lr.ph173, !llvm.loop !26

._crit_edge174:                                   ; preds = %.lr.ph173, %155
  %162 = call i64 @e_rsle() #5
  %163 = load i64, ptr %27, align 8, !tbaa !11
  %.not126175 = icmp slt i64 %163, 1
  br i1 %.not126175, label %._crit_edge179, label %.lr.ph178

164:                                              ; preds = %.lr.ph178
  %165 = add nuw i64 %.5176, 1
  %exitcond242.not = icmp eq i64 %.5176, %163
  br i1 %exitcond242.not, label %._crit_edge179, label %.lr.ph178, !llvm.loop !27

.lr.ph178:                                        ; preds = %._crit_edge174, %164
  %.5176 = phi i64 [ %165, %164 ], [ 1, %._crit_edge174 ]
  %166 = add nsw i64 %.5176, -1
  %167 = getelementptr inbounds [7 x i64], ptr %19, i64 0, i64 %166
  %168 = load i64, ptr %167, align 8, !tbaa !11
  %169 = icmp eq i64 %168, 0
  %170 = call i64 @llvm.abs.i64(i64 %168, i1 true)
  %171 = icmp ugt i64 %170, 2
  %or.cond147 = select i1 %169, i1 true, i1 %171
  br i1 %or.cond147, label %172, label %164

172:                                              ; preds = %.lr.ph178
  %173 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %173, ptr getelementptr inbounds (i8, ptr @MAIN__.io___37, i64 8), align 8, !tbaa !19
  %174 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___37) #5
  %175 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @c__2, i64 noundef 8) #5
  br label %451

._crit_edge179:                                   ; preds = %164, %._crit_edge174
  %176 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___38) #5
  %177 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %24, i64 noundef 8) #5
  %178 = call i64 @e_rsle() #5
  %179 = load i64, ptr %24, align 8
  %180 = add i64 %179, -8
  %or.cond7 = icmp ult i64 %180, -7
  br i1 %or.cond7, label %181, label %186

181:                                              ; preds = %._crit_edge179
  %182 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %182, ptr getelementptr inbounds (i8, ptr @MAIN__.io___40, i64 8), align 8, !tbaa !19
  %183 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___40) #5
  %184 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.4, i64 noundef 5) #5
  %185 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @c__7, i64 noundef 8) #5
  br label %451

186:                                              ; preds = %._crit_edge179
  %187 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___41) #5
  %188 = load i64, ptr %24, align 8, !tbaa !11
  %.not127180 = icmp slt i64 %188, 1
  br i1 %.not127180, label %._crit_edge184, label %.lr.ph183

.lr.ph183:                                        ; preds = %186, %.lr.ph183
  %.6181 = phi i64 [ %192, %.lr.ph183 ], [ 1, %186 ]
  %189 = add nsw i64 %.6181, -1
  %190 = getelementptr inbounds [7 x %struct.complex], ptr %18, i64 0, i64 %189
  %191 = call i64 @do_lio(ptr noundef nonnull @c__6, ptr noundef nonnull @c__1, ptr noundef nonnull %190, i64 noundef 8) #5
  %192 = add nuw i64 %.6181, 1
  %exitcond243.not = icmp eq i64 %.6181, %188
  br i1 %exitcond243.not, label %._crit_edge184, label %.lr.ph183, !llvm.loop !28

._crit_edge184:                                   ; preds = %.lr.ph183, %186
  %193 = call i64 @e_rsle() #5
  %194 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___43) #5
  %195 = call i64 @do_lio(ptr noundef nonnull @c__3, ptr noundef nonnull @c__1, ptr noundef nonnull %28, i64 noundef 8) #5
  %196 = call i64 @e_rsle() #5
  %197 = load i64, ptr %28, align 8
  %198 = add i64 %197, -8
  %or.cond9 = icmp ult i64 %198, -7
  br i1 %or.cond9, label %199, label %204

199:                                              ; preds = %._crit_edge184
  %200 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %200, ptr getelementptr inbounds (i8, ptr @MAIN__.io___45, i64 8), align 8, !tbaa !19
  %201 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___45) #5
  %202 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.5, i64 noundef 4) #5
  %203 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull @c__7, i64 noundef 8) #5
  br label %451

204:                                              ; preds = %._crit_edge184
  %205 = call i64 @s_rsle(ptr noundef nonnull @MAIN__.io___46) #5
  %206 = load i64, ptr %28, align 8, !tbaa !11
  %.not128185 = icmp slt i64 %206, 1
  br i1 %.not128185, label %._crit_edge189, label %.lr.ph188

.lr.ph188:                                        ; preds = %204, %.lr.ph188
  %.7186 = phi i64 [ %210, %.lr.ph188 ], [ 1, %204 ]
  %207 = add nsw i64 %.7186, -1
  %208 = getelementptr inbounds [7 x %struct.complex], ptr %21, i64 0, i64 %207
  %209 = call i64 @do_lio(ptr noundef nonnull @c__6, ptr noundef nonnull @c__1, ptr noundef nonnull %208, i64 noundef 8) #5
  %210 = add nuw i64 %.7186, 1
  %exitcond244.not = icmp eq i64 %.7186, %206
  br i1 %exitcond244.not, label %._crit_edge189, label %.lr.ph188, !llvm.loop !29

._crit_edge189:                                   ; preds = %.lr.ph188, %204
  %211 = call i64 @e_rsle() #5
  %212 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %212, ptr getelementptr inbounds (i8, ptr @MAIN__.io___48, i64 8), align 8, !tbaa !19
  %213 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___48) #5
  %214 = call i64 @e_wsfe() #5
  %215 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %215, ptr getelementptr inbounds (i8, ptr @MAIN__.io___49, i64 8), align 8, !tbaa !19
  %216 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___49) #5
  %217 = load i64, ptr %34, align 8, !tbaa !11
  %.not129190 = icmp slt i64 %217, 1
  br i1 %.not129190, label %._crit_edge194, label %.lr.ph193

.lr.ph193:                                        ; preds = %._crit_edge189, %.lr.ph193
  %.8191 = phi i64 [ %221, %.lr.ph193 ], [ 1, %._crit_edge189 ]
  %218 = add nsw i64 %.8191, -1
  %219 = getelementptr inbounds [9 x i64], ptr %25, i64 0, i64 %218
  %220 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %219, i64 noundef 8) #5
  %221 = add nuw i64 %.8191, 1
  %exitcond245.not = icmp eq i64 %.8191, %217
  br i1 %exitcond245.not, label %._crit_edge194, label %.lr.ph193, !llvm.loop !30

._crit_edge194:                                   ; preds = %.lr.ph193, %._crit_edge189
  %222 = call i64 @e_wsfe() #5
  %223 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %223, ptr getelementptr inbounds (i8, ptr @MAIN__.io___50, i64 8), align 8, !tbaa !19
  %224 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___50) #5
  %225 = load i64, ptr %20, align 8, !tbaa !11
  %.not130195 = icmp slt i64 %225, 1
  br i1 %.not130195, label %._crit_edge199, label %.lr.ph198

.lr.ph198:                                        ; preds = %._crit_edge194, %.lr.ph198
  %.9196 = phi i64 [ %229, %.lr.ph198 ], [ 1, %._crit_edge194 ]
  %226 = add nsw i64 %.9196, -1
  %227 = getelementptr inbounds [7 x i64], ptr %11, i64 0, i64 %226
  %228 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %227, i64 noundef 8) #5
  %229 = add nuw i64 %.9196, 1
  %exitcond246.not = icmp eq i64 %.9196, %225
  br i1 %exitcond246.not, label %._crit_edge199, label %.lr.ph198, !llvm.loop !31

._crit_edge199:                                   ; preds = %.lr.ph198, %._crit_edge194
  %230 = call i64 @e_wsfe() #5
  %231 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %231, ptr getelementptr inbounds (i8, ptr @MAIN__.io___51, i64 8), align 8, !tbaa !19
  %232 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___51) #5
  %233 = load i64, ptr %27, align 8, !tbaa !11
  %.not131200 = icmp slt i64 %233, 1
  br i1 %.not131200, label %._crit_edge204, label %.lr.ph203

.lr.ph203:                                        ; preds = %._crit_edge199, %.lr.ph203
  %.10201 = phi i64 [ %237, %.lr.ph203 ], [ 1, %._crit_edge199 ]
  %234 = add nsw i64 %.10201, -1
  %235 = getelementptr inbounds [7 x i64], ptr %19, i64 0, i64 %234
  %236 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %235, i64 noundef 8) #5
  %237 = add nuw i64 %.10201, 1
  %exitcond247.not = icmp eq i64 %.10201, %233
  br i1 %exitcond247.not, label %._crit_edge204, label %.lr.ph203, !llvm.loop !32

._crit_edge204:                                   ; preds = %.lr.ph203, %._crit_edge199
  %238 = call i64 @e_wsfe() #5
  %239 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %239, ptr getelementptr inbounds (i8, ptr @MAIN__.io___52, i64 8), align 8, !tbaa !19
  %240 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___52) #5
  %241 = load i64, ptr %24, align 8, !tbaa !11
  %.not132205 = icmp slt i64 %241, 1
  br i1 %.not132205, label %._crit_edge209, label %.lr.ph208

.lr.ph208:                                        ; preds = %._crit_edge204, %.lr.ph208
  %.11206 = phi i64 [ %245, %.lr.ph208 ], [ 1, %._crit_edge204 ]
  %242 = add nsw i64 %.11206, -1
  %243 = getelementptr inbounds [7 x %struct.complex], ptr %18, i64 0, i64 %242
  %244 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %243, i64 noundef 4) #5
  %245 = add nuw i64 %.11206, 1
  %exitcond248.not = icmp eq i64 %.11206, %241
  br i1 %exitcond248.not, label %._crit_edge209, label %.lr.ph208, !llvm.loop !33

._crit_edge209:                                   ; preds = %.lr.ph208, %._crit_edge204
  %246 = call i64 @e_wsfe() #5
  %247 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %247, ptr getelementptr inbounds (i8, ptr @MAIN__.io___53, i64 8), align 8, !tbaa !19
  %248 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___53) #5
  %249 = load i64, ptr %28, align 8, !tbaa !11
  %.not133210 = icmp slt i64 %249, 1
  br i1 %.not133210, label %._crit_edge214, label %.lr.ph213

.lr.ph213:                                        ; preds = %._crit_edge209, %.lr.ph213
  %.12211 = phi i64 [ %253, %.lr.ph213 ], [ 1, %._crit_edge209 ]
  %250 = add nsw i64 %.12211, -1
  %251 = getelementptr inbounds [7 x %struct.complex], ptr %21, i64 0, i64 %250
  %252 = call i64 @do_fio(ptr noundef nonnull @c__2, ptr noundef nonnull %251, i64 noundef 4) #5
  %253 = add nuw i64 %.12211, 1
  %exitcond249.not = icmp eq i64 %.12211, %249
  br i1 %exitcond249.not, label %._crit_edge214, label %.lr.ph213, !llvm.loop !34

._crit_edge214:                                   ; preds = %.lr.ph213, %._crit_edge209
  %254 = call i64 @e_wsfe() #5
  %255 = load i64, ptr %43, align 8, !tbaa !11
  %.not134 = icmp eq i64 %255, 0
  br i1 %.not134, label %256, label %.preheader150

256:                                              ; preds = %._crit_edge214
  %257 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %257, ptr getelementptr inbounds (i8, ptr @MAIN__.io___54, i64 8), align 8, !tbaa !19
  %258 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___54) #5
  %259 = call i64 @e_wsle() #5
  %260 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %260, ptr getelementptr inbounds (i8, ptr @MAIN__.io___55, i64 8), align 8, !tbaa !19
  %261 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___55) #5
  %262 = call i64 @e_wsfe() #5
  br label %.preheader150

.preheader150:                                    ; preds = %256, %._crit_edge214
  %263 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %263, ptr getelementptr inbounds (i8, ptr @MAIN__.io___56, i64 8), align 8, !tbaa !19
  %264 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___56) #5
  %265 = call i64 @e_wsle() #5
  %266 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %266, ptr getelementptr inbounds (i8, ptr @MAIN__.io___57, i64 8), align 8, !tbaa !19
  %267 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___57) #5
  %268 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %41, i64 noundef 4) #5
  %269 = call i64 @e_wsfe() #5
  %270 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %270, ptr getelementptr inbounds (i8, ptr @MAIN__.io___58, i64 8), align 8, !tbaa !19
  %271 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___58) #5
  %272 = call i64 @e_wsle() #5
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(136) %38, i8 0, i64 136, i1 false), !tbaa !11
  %273 = call i64 @s_rsfe(ptr noundef nonnull @MAIN__.io___60) #5
  %.not135217 = icmp eq i64 %273, 0
  br i1 %.not135217, label %.lr.ph218, label %._crit_edge219

.lr.ph218:                                        ; preds = %.preheader150, %.loopexit
  %274 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 6) #5
  %.not136 = icmp eq i64 %274, 0
  br i1 %.not136, label %275, label %._crit_edge219

275:                                              ; preds = %.lr.ph218
  %276 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %42, i64 noundef 8) #5
  %.not137 = icmp eq i64 %276, 0
  br i1 %.not137, label %277, label %._crit_edge219

277:                                              ; preds = %275
  %278 = call i64 @e_rsfe() #5
  %.not138 = icmp eq i64 %278, 0
  br i1 %.not138, label %.preheader149.preheader, label %._crit_edge219

.preheader149.preheader:                          ; preds = %277
  %279 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull @MAIN__.snames, i64 noundef 6, i64 noundef 6) #5
  %280 = icmp eq i64 %279, 0
  br i1 %280, label %.loopexit, label %.preheader149.1

.preheader149.1:                                  ; preds = %.preheader149.preheader
  %281 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 6), i64 noundef 6, i64 noundef 6) #5
  %282 = icmp eq i64 %281, 0
  br i1 %282, label %.loopexit, label %.preheader149.2

.preheader149.2:                                  ; preds = %.preheader149.1
  %283 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 12), i64 noundef 6, i64 noundef 6) #5
  %284 = icmp eq i64 %283, 0
  br i1 %284, label %.loopexit, label %.preheader149.3

.preheader149.3:                                  ; preds = %.preheader149.2
  %285 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 18), i64 noundef 6, i64 noundef 6) #5
  %286 = icmp eq i64 %285, 0
  br i1 %286, label %.loopexit, label %.preheader149.4

.preheader149.4:                                  ; preds = %.preheader149.3
  %287 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 24), i64 noundef 6, i64 noundef 6) #5
  %288 = icmp eq i64 %287, 0
  br i1 %288, label %.loopexit, label %.preheader149.5

.preheader149.5:                                  ; preds = %.preheader149.4
  %289 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 30), i64 noundef 6, i64 noundef 6) #5
  %290 = icmp eq i64 %289, 0
  br i1 %290, label %.loopexit, label %.preheader149.6

.preheader149.6:                                  ; preds = %.preheader149.5
  %291 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 36), i64 noundef 6, i64 noundef 6) #5
  %292 = icmp eq i64 %291, 0
  br i1 %292, label %.loopexit, label %.preheader149.7

.preheader149.7:                                  ; preds = %.preheader149.6
  %293 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 42), i64 noundef 6, i64 noundef 6) #5
  %294 = icmp eq i64 %293, 0
  br i1 %294, label %.loopexit, label %.preheader149.8

.preheader149.8:                                  ; preds = %.preheader149.7
  %295 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 48), i64 noundef 6, i64 noundef 6) #5
  %296 = icmp eq i64 %295, 0
  br i1 %296, label %.loopexit, label %.preheader149.9

.preheader149.9:                                  ; preds = %.preheader149.8
  %297 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 54), i64 noundef 6, i64 noundef 6) #5
  %298 = icmp eq i64 %297, 0
  br i1 %298, label %.loopexit, label %.preheader149.10

.preheader149.10:                                 ; preds = %.preheader149.9
  %299 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 60), i64 noundef 6, i64 noundef 6) #5
  %300 = icmp eq i64 %299, 0
  br i1 %300, label %.loopexit, label %.preheader149.11

.preheader149.11:                                 ; preds = %.preheader149.10
  %301 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 66), i64 noundef 6, i64 noundef 6) #5
  %302 = icmp eq i64 %301, 0
  br i1 %302, label %.loopexit, label %.preheader149.12

.preheader149.12:                                 ; preds = %.preheader149.11
  %303 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 72), i64 noundef 6, i64 noundef 6) #5
  %304 = icmp eq i64 %303, 0
  br i1 %304, label %.loopexit, label %.preheader149.13

.preheader149.13:                                 ; preds = %.preheader149.12
  %305 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 78), i64 noundef 6, i64 noundef 6) #5
  %306 = icmp eq i64 %305, 0
  br i1 %306, label %.loopexit, label %.preheader149.14

.preheader149.14:                                 ; preds = %.preheader149.13
  %307 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 84), i64 noundef 6, i64 noundef 6) #5
  %308 = icmp eq i64 %307, 0
  br i1 %308, label %.loopexit, label %.preheader149.15

.preheader149.15:                                 ; preds = %.preheader149.14
  %309 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 90), i64 noundef 6, i64 noundef 6) #5
  %310 = icmp eq i64 %309, 0
  br i1 %310, label %.loopexit, label %.preheader149.16

.preheader149.16:                                 ; preds = %.preheader149.15
  %311 = call i64 @s_cmp(ptr noundef nonnull %40, ptr noundef nonnull getelementptr inbounds (i8, ptr @MAIN__.snames, i64 96), i64 noundef 6, i64 noundef 6) #5
  %312 = icmp eq i64 %311, 0
  br i1 %312, label %.loopexit, label %313

313:                                              ; preds = %.preheader149.16
  %314 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %314, ptr getelementptr inbounds (i8, ptr @MAIN__.io___63, i64 8), align 8, !tbaa !19
  %315 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___63) #5
  %316 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %40, i64 noundef 6) #5
  %317 = call i64 @e_wsfe() #5
  %318 = call i32 @s_stop(ptr noundef nonnull @.str.6, i64 noundef 0) #5
  br label %.loopexit

.loopexit:                                        ; preds = %.preheader149.preheader, %.preheader149.1, %.preheader149.2, %.preheader149.3, %.preheader149.4, %.preheader149.5, %.preheader149.6, %.preheader149.7, %.preheader149.8, %.preheader149.9, %.preheader149.10, %.preheader149.11, %.preheader149.12, %.preheader149.13, %.preheader149.14, %.preheader149.15, %.preheader149.16, %313
  %.14152.sroa.phi = phi ptr [ %.14152.sroa.gep, %313 ], [ %38, %.preheader149.preheader ], [ %.14152.sroa.gep256, %.preheader149.1 ], [ %.14152.sroa.gep257, %.preheader149.2 ], [ %.14152.sroa.gep258, %.preheader149.3 ], [ %.14152.sroa.gep259, %.preheader149.4 ], [ %.14152.sroa.gep260, %.preheader149.5 ], [ %.14152.sroa.gep261, %.preheader149.6 ], [ %.14152.sroa.gep262, %.preheader149.7 ], [ %.14152.sroa.gep263, %.preheader149.8 ], [ %.14152.sroa.gep264, %.preheader149.9 ], [ %.14152.sroa.gep265, %.preheader149.10 ], [ %.14152.sroa.gep266, %.preheader149.11 ], [ %.14152.sroa.gep267, %.preheader149.12 ], [ %.14152.sroa.gep268, %.preheader149.13 ], [ %.14152.sroa.gep269, %.preheader149.14 ], [ %.14152.sroa.gep270, %.preheader149.15 ], [ %.14152.sroa.gep271, %.preheader149.16 ]
  %319 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %319, ptr %.14152.sroa.phi, align 8, !tbaa !11
  %320 = call i64 @s_rsfe(ptr noundef nonnull @MAIN__.io___60) #5
  %.not135 = icmp eq i64 %320, 0
  br i1 %.not135, label %.lr.ph218, label %._crit_edge219

._crit_edge219:                                   ; preds = %.loopexit, %.lr.ph218, %275, %277, %.preheader150
  store i64 0, ptr %3, align 8, !tbaa !35
  %321 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 5, ptr %321, align 8, !tbaa !37
  %322 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %322, align 8, !tbaa !38
  %323 = call i64 @f_clos(ptr noundef nonnull %3) #5
  store float 2.000000e+00, ptr %1, align 4, !tbaa !39
  %324 = call double @sdiff_(ptr noundef nonnull %1, ptr noundef nonnull @c_b123)
  %325 = fcmp oeq double %324, 0.000000e+00
  br i1 %325, label %._crit_edge225, label %.lr.ph224

.lr.ph224:                                        ; preds = %._crit_edge219, %.lr.ph224
  %326 = phi float [ %327, %.lr.ph224 ], [ 1.000000e+00, %._crit_edge219 ]
  %327 = fmul float %326, 5.000000e-01
  %328 = fadd float %327, 1.000000e+00
  store float %328, ptr %1, align 4, !tbaa !39
  %329 = call double @sdiff_(ptr noundef nonnull %1, ptr noundef nonnull @c_b123)
  %330 = fcmp oeq double %329, 0.000000e+00
  br i1 %330, label %._crit_edge225, label %.lr.ph224

._crit_edge225:                                   ; preds = %.lr.ph224, %._crit_edge219
  %331 = phi float [ 1.000000e+00, %._crit_edge219 ], [ %327, %.lr.ph224 ]
  %332 = fadd float %331, %331
  store float %332, ptr %22, align 4, !tbaa !39
  %333 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %333, ptr getelementptr inbounds (i8, ptr @MAIN__.io___65, i64 8), align 8, !tbaa !19
  %334 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___65) #5
  %335 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %22, i64 noundef 4) #5
  %336 = call i64 @e_wsfe() #5
  store i64 32, ptr %6, align 8, !tbaa !11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(256) %8, i8 0, i64 256, i1 false), !tbaa !39
  br label %.preheader148

.preheader148:                                    ; preds = %._crit_edge225, %middle.block
  %.0227 = phi i64 [ 1, %._crit_edge225 ], [ %351, %middle.block ]
  %337 = mul nuw nsw i64 %.0227, 65
  %338 = add nsw i64 %337, -66
  %broadcast.splatinsert = insertelement <2 x i64> poison, i64 %.0227, i64 0
  %broadcast.splat = shufflevector <2 x i64> %broadcast.splatinsert, <2 x i64> poison, <2 x i32> zeroinitializer
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %.preheader148
  %index = phi i64 [ 0, %.preheader148 ], [ %index.next, %vector.body ]
  %vec.ind = phi <2 x i64> [ <i64 1, i64 2>, %.preheader148 ], [ %vec.ind.next, %vector.body ]
  %offset.idx = or disjoint i64 %index, 1
  %339 = add nsw i64 %338, %offset.idx
  %340 = sub nsw <2 x i64> %vec.ind, %broadcast.splat
  %341 = add nsw <2 x i64> %340, <i64 1, i64 1>
  %342 = icmp sgt <2 x i64> %340, <i64 -2, i64 -2>
  %343 = select <2 x i1> %342, <2 x i64> %341, <2 x i64> zeroinitializer
  %344 = sitofp <2 x i64> %343 to <2 x float>
  %345 = getelementptr inbounds [4225 x %struct.complex], ptr %4, i64 0, i64 %339
  %interleaved.vec = shufflevector <2 x float> %344, <2 x float> zeroinitializer, <4 x i32> <i32 0, i32 2, i32 1, i32 3>
  store <4 x float> %interleaved.vec, ptr %345, align 8, !tbaa !39
  %index.next = add nuw i64 %index, 2
  %vec.ind.next = add <2 x i64> %vec.ind, <i64 2, i64 2>
  %346 = icmp eq i64 %index.next, 32
  br i1 %346, label %middle.block, label %vector.body, !llvm.loop !41

middle.block:                                     ; preds = %vector.body
  %347 = add nsw i64 %.0227, -1
  %348 = uitofp nneg i64 %.0227 to float
  %349 = getelementptr inbounds [65 x %struct.complex], ptr %7, i64 0, i64 %347
  store float %348, ptr %349, align 8, !tbaa !44
  %350 = getelementptr inbounds i8, ptr %349, i64 4
  store float 0.000000e+00, ptr %350, align 4, !tbaa !46
  %351 = add nuw nsw i64 %.0227, 1
  %exitcond252.not = icmp eq i64 %351, 33
  br i1 %exitcond252.not, label %.preheader, label %.preheader148, !llvm.loop !47

.preheader:                                       ; preds = %middle.block, %.preheader
  %.1228 = phi i64 [ %353, %.preheader ], [ 1, %middle.block ]
  %352 = add nsw i64 %.1228, -1
  %353 = add nuw nsw i64 %.1228, 1
  %354 = mul nuw nsw i64 %353, %.1228
  %355 = mul nuw nsw i64 %354, %.1228
  %356 = lshr i64 %355, 1
  %357 = mul nsw i64 %354, %352
  %.neg = sdiv i64 %357, -3
  %358 = add nsw i64 %.neg, %356
  %359 = sitofp i64 %358 to float
  %360 = getelementptr inbounds [130 x %struct.complex], ptr %17, i64 0, i64 %352
  store float %359, ptr %360, align 8, !tbaa !44
  %361 = getelementptr inbounds i8, ptr %360, i64 4
  store float 0.000000e+00, ptr %361, align 4, !tbaa !46
  %exitcond253 = icmp eq i64 %353, 33
  br i1 %exitcond253, label %362, label %.preheader, !llvm.loop !48

362:                                              ; preds = %.preheader
  store i8 78, ptr %36, align 1, !tbaa !18
  %363 = call i32 @cmvch_(ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull %6, ptr noundef nonnull @c_b2, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %7, ptr noundef nonnull @c__1, ptr noundef nonnull @c_b1, ptr noundef nonnull %8, ptr noundef nonnull @c__1, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %17, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef nonnull %32, ptr noundef nonnull %31, ptr noundef nonnull @c_true, i64 noundef 1)
  %364 = call i64 @lce_(ptr noundef nonnull %17, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %364, ptr %26, align 8, !tbaa !11
  %365 = icmp eq i64 %364, 0
  %366 = load float, ptr %23, align 4
  %367 = fcmp une float %366, 0.000000e+00
  %or.cond11 = select i1 %365, i1 true, i1 %367
  br i1 %or.cond11, label %368, label %376

368:                                              ; preds = %362
  %369 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %369, ptr getelementptr inbounds (i8, ptr @MAIN__.io___78, i64 8), align 8, !tbaa !19
  %370 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___78) #5
  %371 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #5
  %372 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %26, i64 noundef 8) #5
  %373 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %23, i64 noundef 4) #5
  %374 = call i64 @e_wsfe() #5
  %375 = call i32 @s_stop(ptr noundef nonnull @.str.6, i64 noundef 0) #5
  br label %376

376:                                              ; preds = %362, %368
  store i8 84, ptr %36, align 1, !tbaa !18
  %377 = call i32 @cmvch_(ptr noundef nonnull %36, ptr noundef nonnull %6, ptr noundef nonnull %6, ptr noundef nonnull @c_b2, ptr noundef nonnull %4, ptr noundef nonnull @c__65, ptr noundef nonnull %7, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_b1, ptr noundef nonnull %8, ptr noundef nonnull @c_n1, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %17, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef nonnull %32, ptr noundef nonnull %31, ptr noundef nonnull @c_true, i64 noundef 1)
  %378 = call i64 @lce_(ptr noundef nonnull %17, ptr noundef nonnull %15, ptr noundef nonnull %6)
  store i64 %378, ptr %26, align 8, !tbaa !11
  %379 = icmp eq i64 %378, 0
  %380 = load float, ptr %23, align 4
  %381 = fcmp une float %380, 0.000000e+00
  %or.cond13 = select i1 %379, i1 true, i1 %381
  br i1 %or.cond13, label %382, label %390

382:                                              ; preds = %376
  %383 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %383, ptr getelementptr inbounds (i8, ptr @MAIN__.io___79, i64 8), align 8, !tbaa !19
  %384 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___79) #5
  %385 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %36, i64 noundef 1) #5
  %386 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %26, i64 noundef 8) #5
  %387 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef nonnull %23, i64 noundef 4) #5
  %388 = call i64 @e_wsfe() #5
  %389 = call i32 @s_stop(ptr noundef nonnull @.str.6, i64 noundef 0) #5
  br label %390

390:                                              ; preds = %376, %382
  store i64 1, ptr %37, align 8, !tbaa !11
  br label %391

391:                                              ; preds = %390, %443
  %392 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %392, ptr getelementptr inbounds (i8, ptr @MAIN__.io___81, i64 8), align 8, !tbaa !19
  %393 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___81) #5
  %394 = call i64 @e_wsle() #5
  %395 = load i64, ptr %37, align 8, !tbaa !11
  %396 = add nsw i64 %395, -1
  %397 = getelementptr inbounds [17 x i64], ptr %38, i64 0, i64 %396
  %398 = load i64, ptr %397, align 8, !tbaa !11
  %.not141 = icmp eq i64 %398, 0
  br i1 %.not141, label %399, label %406

399:                                              ; preds = %391
  %400 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %400, ptr getelementptr inbounds (i8, ptr @MAIN__.io___82, i64 8), align 8, !tbaa !19
  %401 = call i64 @s_wsfe(ptr noundef nonnull @MAIN__.io___82) #5
  %402 = load i64, ptr %37, align 8, !tbaa !11
  %403 = mul i64 %402, 6
  %gep236 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %403
  %404 = call i64 @do_fio(ptr noundef nonnull @c__1, ptr noundef %gep236, i64 noundef 6) #5
  %405 = call i64 @e_wsfe() #5
  br label %443

406:                                              ; preds = %391
  %407 = mul nsw i64 %396, 6
  %408 = getelementptr inbounds i8, ptr @MAIN__.snames, i64 %407
  %409 = call i32 @s_copy(ptr noundef nonnull @srnamc_, ptr noundef nonnull %408, i64 noundef 6, i64 noundef 6) #5
  %410 = load i64, ptr %43, align 8, !tbaa !11
  %.not142 = icmp eq i64 %410, 0
  br i1 %.not142, label %418, label %411

411:                                              ; preds = %406
  %412 = load i64, ptr %37, align 8, !tbaa !11
  %413 = mul i64 %412, 6
  %gep229 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %413
  %414 = call i32 @cchke_(ptr noundef nonnull %37, ptr noundef %gep229, ptr noundef nonnull %31, i64 noundef 6)
  %415 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %415, ptr getelementptr inbounds (i8, ptr @MAIN__.io___83, i64 8), align 8, !tbaa !19
  %416 = call i64 @s_wsle(ptr noundef nonnull @MAIN__.io___83) #5
  %417 = call i64 @e_wsle() #5
  br label %418

418:                                              ; preds = %411, %406
  store i64 0, ptr @infoc_, align 8, !tbaa !18
  store i64 1, ptr getelementptr inbounds (i8, ptr @infoc_, i64 16), align 8, !tbaa !18
  store i64 0, ptr %32, align 8, !tbaa !11
  %419 = load i64, ptr %37, align 8, !tbaa !11
  switch i64 %419, label %420 [
    i64 17, label %435
    i64 16, label %435
    i64 3, label %423
    i64 4, label %423
    i64 5, label %423
    i64 6, label %426
    i64 7, label %426
    i64 8, label %426
    i64 9, label %426
    i64 10, label %426
    i64 11, label %426
    i64 12, label %429
    i64 13, label %429
    i64 14, label %432
    i64 15, label %432
  ]

420:                                              ; preds = %418
  %421 = mul i64 %419, 6
  %gep235 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %421
  %422 = call i32 @cchk1_(ptr noundef %gep235, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %20, ptr noundef nonnull %11, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %28, ptr noundef nonnull %21, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %438

423:                                              ; preds = %418, %418, %418
  %424 = mul nuw nsw i64 %419, 6
  %gep233 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %424
  %425 = call i32 @cchk2_(ptr noundef %gep233, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %20, ptr noundef nonnull %11, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %28, ptr noundef nonnull %21, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, i64 noundef 6)
  br label %438

426:                                              ; preds = %418, %418, %418, %418, %418, %418
  %427 = mul nuw nsw i64 %419, 6
  %gep232 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %427
  %428 = call i32 @cchk3_(ptr noundef %gep232, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %20, ptr noundef nonnull %11, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %9, i64 noundef 6)
  br label %438

429:                                              ; preds = %418, %418
  %430 = mul nuw nsw i64 %419, 6
  %gep231 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %430
  %431 = call i32 @cchk4_(ptr noundef %gep231, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %9, i64 noundef 6)
  br label %438

432:                                              ; preds = %418, %418
  %433 = mul nuw nsw i64 %419, 6
  %gep230 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %433
  %434 = call i32 @cchk5_(ptr noundef %gep230, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %9, i64 noundef 6)
  br label %438

435:                                              ; preds = %418, %418
  %436 = mul nuw nsw i64 %419, 6
  %gep234 = getelementptr i8, ptr getelementptr (i8, ptr @MAIN__.snames, i64 -6), i64 %436
  %437 = call i32 @cchk6_(ptr noundef %gep234, ptr noundef nonnull %22, ptr noundef nonnull %41, ptr noundef nonnull %31, ptr noundef nonnull %29, ptr noundef nonnull %33, ptr noundef nonnull %30, ptr noundef nonnull %32, ptr noundef nonnull %34, ptr noundef nonnull %25, ptr noundef nonnull %24, ptr noundef nonnull %18, ptr noundef nonnull %27, ptr noundef nonnull %19, ptr noundef nonnull @c__65, ptr noundef nonnull @c__2, ptr noundef nonnull %4, ptr noundef nonnull %10, ptr noundef nonnull %12, ptr noundef nonnull %7, ptr noundef nonnull %16, ptr noundef nonnull %13, ptr noundef nonnull %8, ptr noundef nonnull %17, ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef nonnull %5, ptr noundef nonnull %9, i64 noundef 6)
  br label %438

438:                                              ; preds = %435, %432, %429, %426, %423, %420
  %439 = load i64, ptr %32, align 8, !tbaa !11
  %440 = icmp ne i64 %439, 0
  %441 = load i64, ptr %39, align 8
  %442 = icmp ne i64 %441, 0
  %or.cond15 = select i1 %440, i1 %442, i1 false
  br i1 %or.cond15, label %449, label %443

443:                                              ; preds = %399, %438
  %444 = load i64, ptr %37, align 8, !tbaa !11
  %445 = add nsw i64 %444, 1
  store i64 %445, ptr %37, align 8, !tbaa !11
  %446 = icmp slt i64 %444, 17
  br i1 %446, label %391, label %447, !llvm.loop !49

447:                                              ; preds = %443
  %448 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %448, ptr getelementptr inbounds (i8, ptr @MAIN__.io___90, i64 8), align 8, !tbaa !19
  br label %454

449:                                              ; preds = %438
  %450 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %450, ptr getelementptr inbounds (i8, ptr @MAIN__.io___91, i64 8), align 8, !tbaa !19
  br label %454

451:                                              ; preds = %199, %181, %172, %150, %142, %122, %113, %94
  %452 = call i64 @e_wsfe() #5
  %453 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %453, ptr getelementptr inbounds (i8, ptr @MAIN__.io___92, i64 8), align 8, !tbaa !19
  br label %454

454:                                              ; preds = %451, %449, %447
  %MAIN__.io___92.sink = phi ptr [ @MAIN__.io___92, %451 ], [ @MAIN__.io___91, %449 ], [ @MAIN__.io___90, %447 ]
  %455 = call i64 @s_wsfe(ptr noundef nonnull %MAIN__.io___92.sink) #5
  %456 = call i64 @e_wsfe() #5
  %457 = load i64, ptr %33, align 8, !tbaa !11
  %.not144 = icmp eq i64 %457, 0
  br i1 %.not144, label %463, label %458

458:                                              ; preds = %454
  store i64 0, ptr %3, align 8, !tbaa !35
  %459 = load i64, ptr %29, align 8, !tbaa !11
  %460 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 %459, ptr %460, align 8, !tbaa !37
  %461 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %461, align 8, !tbaa !38
  %462 = call i64 @f_clos(ptr noundef nonnull %3) #5
  br label %463

463:                                              ; preds = %458, %454
  store i64 0, ptr %3, align 8, !tbaa !35
  %464 = load i64, ptr %31, align 8, !tbaa !11
  %465 = getelementptr inbounds i8, ptr %3, i64 8
  store i64 %464, ptr %465, align 8, !tbaa !37
  %466 = getelementptr inbounds i8, ptr %3, i64 16
  store ptr null, ptr %466, align 8, !tbaa !38
  %467 = call i64 @f_clos(ptr noundef nonnull %3) #5
  %468 = call i32 @s_stop(ptr noundef nonnull @.str.6, i64 noundef 0) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %40) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #5
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %38) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %25) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %21) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %18) #5
  call void @llvm.lifetime.end.p0(i64 1040, ptr nonnull %17) #5
  call void @llvm.lifetime.end.p0(i64 1040, ptr nonnull %16) #5
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %15) #5
  call void @llvm.lifetime.end.p0(i64 1040, ptr nonnull %14) #5
  call void @llvm.lifetime.end.p0(i64 1040, ptr nonnull %13) #5
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %12) #5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %11) #5
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %10) #5
  call void @llvm.lifetime.end.p0(i64 1040, ptr nonnull %9) #5
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %7) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #5
  call void @llvm.lifetime.end.p0(i64 260, ptr nonnull %5) #5
  call void @llvm.lifetime.end.p0(i64 33800, ptr nonnull %4) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #5
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %2) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %1) #5
  ret i32 0
}

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

declare i64 @s_rsle(ptr noundef) local_unnamed_addr #2

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

declare i64 @e_rsle() local_unnamed_addr #2

declare i64 @f_open(ptr noundef) local_unnamed_addr #2

declare i64 @s_wsfe(ptr noundef) local_unnamed_addr #2

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

declare i64 @e_wsfe() local_unnamed_addr #2

declare i64 @s_wsle(ptr noundef) local_unnamed_addr #2

declare i64 @e_wsle() local_unnamed_addr #2

declare i64 @s_rsfe(ptr noundef) local_unnamed_addr #2

declare i64 @e_rsfe() local_unnamed_addr #2

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

declare i32 @s_stop(ptr noundef, i64 noundef) local_unnamed_addr #2

declare i64 @f_clos(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare dso_local double @sdiff_(ptr noundef, ptr noundef) local_unnamed_addr #0

; 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 #0

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

declare i32 @s_copy(ptr noundef, ptr noundef, i64 noundef, i64 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchke_(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk1_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk2_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk3_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk4_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk5_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @cchk6_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #4

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #5 = { 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, !7, i64 0}
!6 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !7, i64 56, !10, i64 64}
!7 = !{!"long", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!7, !7, i64 0}
!12 = !{!6, !7, i64 8}
!13 = !{!6, !7, i64 24}
!14 = !{!6, !10, i64 16}
!15 = !{!6, !7, i64 56}
!16 = !{!6, !10, i64 32}
!17 = !{!6, !10, i64 64}
!18 = !{!8, !8, i64 0}
!19 = !{!20, !7, i64 8}
!20 = !{!"", !7, i64 0, !7, i64 8, !7, i64 16, !10, i64 24, !7, i64 32}
!21 = distinct !{!21, !22}
!22 = !{!"llvm.loop.mustprogress"}
!23 = distinct !{!23, !22}
!24 = distinct !{!24, !22}
!25 = distinct !{!25, !22}
!26 = distinct !{!26, !22}
!27 = distinct !{!27, !22}
!28 = distinct !{!28, !22}
!29 = distinct !{!29, !22}
!30 = distinct !{!30, !22}
!31 = distinct !{!31, !22}
!32 = distinct !{!32, !22}
!33 = distinct !{!33, !22}
!34 = distinct !{!34, !22}
!35 = !{!36, !7, i64 0}
!36 = !{!"", !7, i64 0, !7, i64 8, !10, i64 16}
!37 = !{!36, !7, i64 8}
!38 = !{!36, !10, i64 16}
!39 = !{!40, !40, i64 0}
!40 = !{!"float", !8, i64 0}
!41 = distinct !{!41, !22, !42, !43}
!42 = !{!"llvm.loop.isvectorized", i32 1}
!43 = !{!"llvm.loop.unroll.runtime.disable"}
!44 = !{!45, !40, i64 0}
!45 = !{!"", !40, i64 0, !40, i64 4}
!46 = !{!45, !40, i64 4}
!47 = distinct !{!47, !22}
!48 = distinct !{!48, !22}
!49 = distinct !{!49, !22}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopIdiomRecognizePass,LoopLoadEliminationPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,LoopVectorizePass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass